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')
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);

View File

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

View File

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