diff --git a/lib/pages/discover/live_room_page.dart b/lib/pages/discover/live_room_page.dart index 7927790..48ac2bc 100644 --- a/lib/pages/discover/live_room_page.dart +++ b/lib/pages/discover/live_room_page.dart @@ -1,6 +1,7 @@ import 'package:dating_touchme_app/controller/discover/room_controller.dart'; import 'package:dating_touchme_app/controller/global.dart'; import 'package:dating_touchme_app/controller/overlay_controller.dart'; +import 'package:dating_touchme_app/generated/assets.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:tdesign_flutter/tdesign_flutter.dart'; @@ -241,8 +242,14 @@ class _LiveRoomPageState extends State { final roomController = Get.find(); roomController.chatMessages.clear(); } - _overlayController.show(); - Get.back(); + // 如果还没有执行 pop,手动调用 Get.back() + if (!didPop) { + Get.back(); + } + // 等待页面关闭后再显示小窗口,确保小窗口能正确显示 + Future.delayed(const Duration(milliseconds: 200), () { + _overlayController.show(); + }); }, child: Scaffold( resizeToAvoidBottomInset: false, @@ -281,8 +288,8 @@ class _LiveRoomPageState extends State { final detail = _roomController.rtcChannelDetail.value; final anchorInfo = detail?.anchorInfo; - final userName = anchorInfo!.nickName; - final avatarAsset = anchorInfo.profilePhoto; + final userName = anchorInfo?.nickName ?? '用户'; + final avatarAsset = anchorInfo?.profilePhoto ?? Assets.imagesUserAvatar; const popularityText = '0'; // TODO: 使用真实数据 return LiveRoomUserHeader( @@ -296,8 +303,11 @@ class _LiveRoomPageState extends State { final roomController = Get.find(); roomController.chatMessages.clear(); } - _overlayController.show(); Get.back(); + // 等待页面关闭后再显示小窗口,确保小窗口能正确显示 + Future.delayed(const Duration(milliseconds: 200), () { + _overlayController.show(); + }); }, ); }),