diff --git a/lib/rtc/rtc_manager.dart b/lib/rtc/rtc_manager.dart index fc954bc..787f1ef 100644 --- a/lib/rtc/rtc_manager.dart +++ b/lib/rtc/rtc_manager.dart @@ -1,6 +1,7 @@ import 'dart:convert'; import 'package:agora_rtc_engine/agora_rtc_engine.dart'; +import 'package:agora_token_generator/agora_token_generator.dart'; import 'package:dating_touchme_app/rtc/rtm_manager.dart'; import 'package:flutter/foundation.dart'; import 'package:get/get.dart'; @@ -260,6 +261,16 @@ class RTCManager { onConnectionLost!(connection); } }, + onTokenPrivilegeWillExpire: (RtcConnection connection, String token) { + String rtcToken = RtcTokenBuilder.buildTokenWithUid( + appId: '4c2ea9dcb4c5440593a418df0fdd512d', + appCertificate: '16f34b45181a4fae8acdb1a28762fcfa', + channelName: _currentChannelId ?? '', + uid: _currentUid ?? 0, + tokenExpireSeconds: 3600, // 2 hours + ); + _engine?.renewToken(rtcToken); + }, onError: (ErrorCodeType err, String msg) { print('RTC Engine 错误:$err,消息:$msg'); if (onError != null) { diff --git a/lib/widget/live/live_room_user_header.dart b/lib/widget/live/live_room_user_header.dart index 348c611..e9fb077 100644 --- a/lib/widget/live/live_room_user_header.dart +++ b/lib/widget/live/live_room_user_header.dart @@ -138,14 +138,11 @@ class LiveRoomUserHeader extends StatelessWidget { if (hasGuests) SizedBox(height: 15.w), GestureDetector( onTap: () async { - // 关闭弹窗 SmartDialog.dismiss(); - // 隐藏 overlay - overlayController.hide(); - // 返回上一页 Get.back(); - // 调用结束直播方法 + overlayController.hide(); await roomController.leaveChannel(); + // 隐藏 overlay }, child: Row( mainAxisAlignment: MainAxisAlignment.center,