get('/token', function ($request, $response) use ($app, $appId, $appCertificate) { // Get parameters $channelName = $request->getQueryParam('channelName'); $uid = $request->getQueryParam('uid', 0); $role = $request->getQueryParam('role', RtcRole::SUBSCRIBER); $expireTime = $request->getQueryParam('expireTime', 3600); try { // Generate token $token = generateToken($channelName, $uid, $role, $expireTime); // Respond with JSON $response->withJson(['token' => $token]); } catch (Exception $e) { // Handle error $response->withStatus(500)->withJson(['error' => $e->getMessage()]); } }); // Start server $app->run($port);