You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.2 KiB
50 lines
1.2 KiB
import 'package:get/get.dart';
|
|
|
|
/// 全局 Overlay 控制器
|
|
class OverlayController extends GetxController {
|
|
/// overlay 是否显示(直播房间)
|
|
final showOverlay = false.obs;
|
|
|
|
/// 视频通话 overlay 是否显示
|
|
final showVideoCallOverlay = false.obs;
|
|
|
|
/// 视频通话信息
|
|
String? videoCallTargetUserId;
|
|
String? videoCallTargetUserName;
|
|
String? videoCallTargetAvatarUrl;
|
|
|
|
/// 显示 overlay(直播房间)
|
|
void show() {
|
|
showOverlay.value = true;
|
|
}
|
|
|
|
/// 隐藏 overlay(直播房间)
|
|
void hide() {
|
|
showOverlay.value = false;
|
|
}
|
|
|
|
/// 切换 overlay 显示状态(直播房间)
|
|
void toggle() {
|
|
showOverlay.value = !showOverlay.value;
|
|
}
|
|
|
|
/// 显示视频通话 overlay
|
|
void showVideoCall({
|
|
required String targetUserId,
|
|
String? targetUserName,
|
|
String? targetAvatarUrl,
|
|
}) {
|
|
videoCallTargetUserId = targetUserId;
|
|
videoCallTargetUserName = targetUserName;
|
|
videoCallTargetAvatarUrl = targetAvatarUrl;
|
|
showVideoCallOverlay.value = true;
|
|
}
|
|
|
|
/// 隐藏视频通话 overlay
|
|
void hideVideoCall() {
|
|
showVideoCallOverlay.value = false;
|
|
videoCallTargetUserId = null;
|
|
videoCallTargetUserName = null;
|
|
videoCallTargetAvatarUrl = null;
|
|
}
|
|
}
|