1.名字越界问题

2.成员搜索框数量问题
3.成员搜索框共享标识问题
This commit is contained in:
fuenmao 2024-12-24 16:30:30 +08:00
parent 7f53a1a855
commit 8e9e4b2812
7 changed files with 123 additions and 74 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 929 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 B

View File

@ -39,7 +39,10 @@ class MeetingRoomUser extends Object{
@JsonKey(name: 'volume') @JsonKey(name: 'volume')
double? volume = 0.0; double? volume = 0.0;
MeetingRoomUser(this.uid,this.connectId,this.account,this.enableMicr,this.enableCamera,this.screenShareId,this.userName,this.roleId,this.roleName,this.isRoomManager,this.volume); @JsonKey(name: 'enableShare')
bool? enableShare;
MeetingRoomUser(this.uid,this.connectId,this.account,this.enableMicr,this.enableCamera,this.screenShareId,this.userName,this.roleId,this.roleName,this.isRoomManager,this.volume,this.enableShare);
factory MeetingRoomUser.fromJson(Map<String, dynamic> srcJson) => _$MeetingRoomUserFromJson(srcJson); factory MeetingRoomUser.fromJson(Map<String, dynamic> srcJson) => _$MeetingRoomUserFromJson(srcJson);

View File

@ -232,13 +232,30 @@ class MeetingMainLogic extends GetxController with RequestToolMixin {
} }
} }
} else { } else {
// if(state.remoteUid.value == UserStore.to.userInfoEntity.value!.screenShareId){
/*if(state.remoteUid.value == UserStore.to.userInfoEntity.value!.screenShareId){
// //
}else{ }else{
// //
changePageState(1); //
}*/ var isCurrentUserIsCamera = false;
for (var i = 0; i < state.cacheUsers.value.length; i++) {
if (state.remoteUid.value == state.cacheUsers.value[i].screenShareId) {
state.cacheUsers.value[i].enableShare = true;
isCurrentUserIsCamera = true;
}
}
if (isCurrentUserIsCamera == true) {
//
debugPrint("wgs输出===:当前会议室存在全员观看主播时,切换页面到视频状态");
changePageState(1);
} else {
// ID为空并切换页面到视频状态
debugPrint("wgs输出===当前会议室不存在全员观看主播时设置主播ID为空并切换页面到视频状态");
state.remoteUid.value = "";
changePageState(1);
}
}
} }
} }

View File

@ -279,8 +279,8 @@ class MeetingMainPageState extends State<MeetingMainPage> {
child: Container( child: Container(
width: 200.w, width: 200.w,
height: 40.h, height: 40.h,
margin: margin: const EdgeInsets.only(
const EdgeInsets.only(left: 20, bottom: 40), left: 20, bottom: 40),
padding: const EdgeInsets.only(left: 20), padding: const EdgeInsets.only(left: 20),
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: const BorderRadius.only( borderRadius: const BorderRadius.only(
@ -293,7 +293,8 @@ class MeetingMainPageState extends State<MeetingMainPage> {
color: ColorUtil.Color_99_111_158), color: ColorUtil.Color_99_111_158),
), ),
child: Row( child: Row(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment:
CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
Image.asset( Image.asset(
@ -315,26 +316,28 @@ class MeetingMainPageState extends State<MeetingMainPage> {
Get.bottomSheet( Get.bottomSheet(
isScrollControlled: true, isScrollControlled: true,
chatBottomSheet(context)); chatBottomSheet(context));
Future.delayed(const Duration(milliseconds: 100), Future.delayed(
() { const Duration(milliseconds: 100), () {
state.chatController.jumpTo(state state.chatController.jumpTo(state
.chatController.position.maxScrollExtent); .chatController
}); .position
.maxScrollExtent);
});
}, },
), ),
Visibility( Visibility(
visible: state.isSpeak.value, visible: state.isSpeak.value,
child: GestureDetector( child: GestureDetector(
child: Container( child: Container(
width: 82.w, width: 82.w,
height: 40.h, height: 40.h,
margin: const EdgeInsets.only(left: 12, bottom: 40,right: 20), margin: const EdgeInsets.only(
left: 12, bottom: 40, right: 20),
alignment: Alignment.center, alignment: Alignment.center,
decoration: const BoxDecoration( decoration: const BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(99)), borderRadius: BorderRadius.all(
color: ColorUtil.Color_255_69_69 Radius.circular(99)),
), color: ColorUtil.Color_255_69_69),
child: Text( child: Text(
'结束发言', '结束发言',
style: TextStyle( style: TextStyle(
@ -417,7 +420,8 @@ class MeetingMainPageState extends State<MeetingMainPage> {
if (state.isSpeak.value == false) { if (state.isSpeak.value == false) {
Get.bottomSheet( Get.bottomSheet(
isScrollControlled: true, isScrollControlled: true,
applySpeakPermissionBottomSheet(context,1)); applySpeakPermissionBottomSheet(
context, 1));
} else { } else {
if (state.isOpenMicrophone.value == false) { if (state.isOpenMicrophone.value == false) {
logic.doHttpSetMicr(true); logic.doHttpSetMicr(true);
@ -446,7 +450,8 @@ class MeetingMainPageState extends State<MeetingMainPage> {
Text( Text(
/*state.isSpeak.value == false /*state.isSpeak.value == false
? '申请发言' ? '申请发言'
: */state.isOpenCamera.value == true : */
state.isOpenCamera.value == true
? "关闭视频" ? "关闭视频"
: "开启视频", : "开启视频",
style: TextStyle( style: TextStyle(
@ -459,7 +464,8 @@ class MeetingMainPageState extends State<MeetingMainPage> {
if (state.isSpeak.value == false) { if (state.isSpeak.value == false) {
Get.bottomSheet( Get.bottomSheet(
isScrollControlled: true, isScrollControlled: true,
applySpeakPermissionBottomSheet(context,2)); applySpeakPermissionBottomSheet(
context, 2));
} else { } else {
if (state.isOpenCamera.value == true) { if (state.isOpenCamera.value == true) {
logic.doHttpSetCamer(false); logic.doHttpSetCamer(false);
@ -763,14 +769,13 @@ class MeetingMainPageState extends State<MeetingMainPage> {
), ),
Expanded( Expanded(
child: GestureDetector( child: GestureDetector(
child: Container( child: Container(
color: ColorUtil.Color_57_57_57_08, color: ColorUtil.Color_57_57_57_08,
), ),
onTap: (){ onTap: () {
logic.changeMeetingInfoState(false); logic.changeMeetingInfoState(false);
}, },
) ))
)
], ],
), ),
); );
@ -784,13 +789,13 @@ class MeetingMainPageState extends State<MeetingMainPage> {
children: [ children: [
Expanded( Expanded(
child: GestureDetector( child: GestureDetector(
child: Container( child: Container(
color: ColorUtil.Color_57_57_57_08, color: ColorUtil.Color_57_57_57_08,
), ),
onTap: (){ onTap: () {
logic.changeMeetingAudioState(false); logic.changeMeetingAudioState(false);
}, },
)), )),
Container( Container(
color: ColorUtil.Color_57_57_57_08, color: ColorUtil.Color_57_57_57_08,
child: Container( child: Container(
@ -809,13 +814,13 @@ class MeetingMainPageState extends State<MeetingMainPage> {
), ),
Expanded( Expanded(
child: GestureDetector( child: GestureDetector(
child:Container( child: Container(
color: ColorUtil.Color_57_57_57_08, color: ColorUtil.Color_57_57_57_08,
), ),
onTap: (){ onTap: () {
logic.changeMeetingAudioState(false); logic.changeMeetingAudioState(false);
}, },
)) ))
], ],
), ),
); );
@ -874,7 +879,8 @@ class MeetingMainPageState extends State<MeetingMainPage> {
} }
/// ///
Widget applySpeakPermissionBottomSheet(BuildContext context, int defaulOpenState) { Widget applySpeakPermissionBottomSheet(
BuildContext context, int defaulOpenState) {
return Container( return Container(
height: 240.h, height: 240.h,
color: ColorUtil.Color_7_9_11, color: ColorUtil.Color_7_9_11,
@ -1070,13 +1076,15 @@ class MeetingMainPageState extends State<MeetingMainPage> {
Container( Container(
margin: margin:
const EdgeInsets.only(top: 18, left: 16, right: 16, bottom: 16), const EdgeInsets.only(top: 18, left: 16, right: 16, bottom: 16),
child: Text( child: GetBuilder<MeetingMainLogic>(builder: (controll) {
'会议中(${state.users.value.length}', return Text(
style: TextStyle( '会议中(${state.users.value.length}',
fontSize: 14.sp, style: TextStyle(
fontWeight: FontWeight.w500, fontSize: 14.sp,
color: ColorUtil.Color_85_117_242), fontWeight: FontWeight.w500,
), color: ColorUtil.Color_85_117_242),
);
}),
), ),
Expanded( Expanded(
child: ScrollConfiguration( child: ScrollConfiguration(
@ -1175,7 +1183,10 @@ class MeetingMainPageState extends State<MeetingMainPage> {
children: [ children: [
Container( Container(
child: Image.asset( child: Image.asset(
'assets/images/meeting_main_share_currently.png', state.users.value[index].enableShare ==
true
? 'assets/images/meeting_main_share_currently.png'
: 'assets/images/meeting_main_share_currently_n.png',
width: 17.w, width: 17.w,
height: 17.h, height: 17.h,
), ),
@ -1517,7 +1528,9 @@ class MeetingMainPageState extends State<MeetingMainPage> {
canvas: VideoCanvas( canvas: VideoCanvas(
uid: int.tryParse(state.remoteUid.value), uid: int.tryParse(state.remoteUid.value),
setupMode: VideoViewSetupMode.videoViewSetupAdd, setupMode: VideoViewSetupMode.videoViewSetupAdd,
renderMode: state.remoteUid.value.length == 9 ? RenderModeType.renderModeFit : RenderModeType.renderModeHidden), renderMode: state.remoteUid.value.length == 9
? RenderModeType.renderModeFit
: RenderModeType.renderModeHidden),
), ),
) )
: Container( : Container(
@ -1677,11 +1690,14 @@ class MeetingMainPageState extends State<MeetingMainPage> {
shapePath: shapePath:
ViewSvgPath.getMicrpphonePath()), ViewSvgPath.getMicrpphonePath()),
), ),
Text( SizedBox(
state.cacheUsers.value[index].userName, width: 70,
style: TextStyle( child: Text(
fontSize: 12.sp, state.cacheUsers.value[index].userName,
color: ColorUtil.Color_255_255_255), style: TextStyle(
fontSize: 12.sp,
color: ColorUtil.Color_255_255_255),
)
) )
], ],
) )
@ -1694,11 +1710,14 @@ class MeetingMainPageState extends State<MeetingMainPage> {
width: 20.w, width: 20.w,
height: 20.h, height: 20.h,
), ),
Text( SizedBox(
state.cacheUsers.value[index].userName, width: 70,
style: TextStyle( child: Text(
fontSize: 12.sp, state.cacheUsers.value[index].userName,
color: ColorUtil.Color_255_255_255), style: TextStyle(
fontSize: 12.sp,
color: ColorUtil.Color_255_255_255),
)
) )
], ],
), ),

View File

@ -72,11 +72,16 @@ class MeetingMainVoiceComponent extends StatelessWidget {
shapePath: ViewSvgPath.getMicrpphonePath() shapePath: ViewSvgPath.getMicrpphonePath()
), ),
), ),
Text( SizedBox(
users[index].userName, width: 70,
style: TextStyle( child: Text(
fontSize: 12.sp, users[index].userName,
color: ColorUtil.Color_255_255_255), maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle(
fontSize: 12.sp,
color: ColorUtil.Color_255_255_255),
),
) )
], ],
) )
@ -89,11 +94,16 @@ class MeetingMainVoiceComponent extends StatelessWidget {
width: 20.w, width: 20.w,
height: 20.h, height: 20.h,
), ),
Text( SizedBox(
users[index].userName, width: 70,
style: TextStyle( child: Text(
fontSize: 12.sp, users[index].userName,
color: ColorUtil.Color_255_255_255), maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle(
fontSize: 12.sp,
color: ColorUtil.Color_255_255_255),
),
) )
], ],
), ),