From 9df556b837ec7efa59fcedb9cd2240e02a7bf6b0 Mon Sep 17 00:00:00 2001 From: hrxiang Date: Mon, 8 May 2023 18:55:09 +0800 Subject: [PATCH] 2.3.5+4 --- CHANGELOG.md | 4 ++ lib/src/models/meeting_info.dart | 117 ++++++++++++++++++++++--------- pubspec.yaml | 2 +- 3 files changed, 88 insertions(+), 35 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2642c9..2b93628 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.3.5+4 + +- Fix bug + ## 2.3.5+3 - Fix bug for signaling diff --git a/lib/src/models/meeting_info.dart b/lib/src/models/meeting_info.dart index 7b75f83..360da3c 100644 --- a/lib/src/models/meeting_info.dart +++ b/lib/src/models/meeting_info.dart @@ -25,60 +25,109 @@ class MeetingInfoList { class MeetingInfo { String? meetingID; String? meetingName; + String? ex; String? hostUserID; + List? inviteeUserIDList; //邀请列表 int? createTime; int? startTime; int? endTime; - bool? participantCanEnableVideo; - bool? onlyHostInviteUser; - bool? joinDisableVideo; - bool? participantCanUnmuteSelf; - bool? isMuteAllMicrophone; - List? inviteeUserIDList; + bool? participantCanUnmuteSelf; //成员是否能自己解除禁言 + bool? participantCanEnableVideo; //成员是否能开启视频 + bool? onlyHostInviteUser; //仅主持人可邀请用户 + bool? onlyHostShareScreen; //仅主持人可共享屏幕 + bool? joinDisableMicrophone; //加入是否默认关麦克风 + bool? joinDisableVideo; //加入是否默认关视频 + bool? isMuteAllVideo; // 是否全员禁用视频 + bool? isMuteAllMicrophone; // 是否全员禁用麦克风 + List? canScreenUserIDList; // 可共享屏幕的ID列表 + List? disableMicrophoneUserIDList; // 当前被禁言麦克风的id列表 + List? disableVideoUserIDList; // 当前禁用视频流的ID列表 + List? pinedUserIDList; // 置顶ID列表 + List? beWatchedUserIDList; // 正在被观看用户列表 - MeetingInfo( - {this.meetingID, - this.meetingName, - this.hostUserID, - this.createTime, - this.startTime, - this.endTime, - this.participantCanEnableVideo, - this.onlyHostInviteUser, - this.joinDisableVideo, - this.participantCanUnmuteSelf, - this.isMuteAllMicrophone, - this.inviteeUserIDList}); + MeetingInfo({ + this.meetingID, + this.meetingName, + this.ex, + this.hostUserID, + this.inviteeUserIDList, + this.createTime, + this.startTime, + this.endTime, + this.participantCanUnmuteSelf, + this.participantCanEnableVideo, + this.onlyHostInviteUser, + this.onlyHostShareScreen, + this.joinDisableMicrophone, + this.joinDisableVideo, + this.isMuteAllVideo, + this.isMuteAllMicrophone, + this.canScreenUserIDList, + this.disableMicrophoneUserIDList, + this.disableVideoUserIDList, + this.pinedUserIDList, + this.beWatchedUserIDList, + }); MeetingInfo.fromJson(Map json) { meetingID = json['meetingID']; meetingName = json['meetingName']; + ex = json['ex']; hostUserID = json['hostUserID']; + inviteeUserIDList = json['inviteeUserIDList'] == null + ? null + : (json['inviteeUserIDList'] as List).cast(); createTime = json['createTime']; startTime = json['startTime']; endTime = json['endTime']; + participantCanUnmuteSelf = json['participantCanUnmuteSelf']; participantCanEnableVideo = json['participantCanEnableVideo']; onlyHostInviteUser = json['onlyHostInviteUser']; + onlyHostShareScreen = json['onlyHostShareScreen']; + joinDisableMicrophone = json['joinDisableMicrophone']; joinDisableVideo = json['joinDisableVideo']; - participantCanUnmuteSelf = json['participantCanUnmuteSelf']; + isMuteAllVideo = json['isMuteAllVideo']; isMuteAllMicrophone = json['isMuteAllMicrophone']; - inviteeUserIDList = json['inviteeUserIDList']?.cast(); + canScreenUserIDList = json['canScreenUserIDList'] == null + ? null + : (json['canScreenUserIDList'] as List).cast(); + disableMicrophoneUserIDList = json['disableMicrophoneUserIDList'] == null + ? null + : (json['disableMicrophoneUserIDList'] as List).cast(); + disableVideoUserIDList = json['disableVideoUserIDList'] == null + ? null + : (json['disableVideoUserIDList'] as List).cast(); + pinedUserIDList = json['pinedUserIDList'] == null + ? null + : (json['pinedUserIDList'] as List).cast(); + beWatchedUserIDList = json['beWatchedUserIDList'] == null + ? null + : (json['beWatchedUserIDList'] as List).cast(); } Map toJson() { - final data = Map(); - data['meetingID'] = this.meetingID; - data['meetingName'] = this.meetingName; - data['hostUserID'] = this.hostUserID; - data['createTime'] = this.createTime; - data['startTime'] = this.startTime; - data['endTime'] = this.endTime; - data['participantCanEnableVideo'] = this.participantCanEnableVideo; - data['onlyHostInviteUser'] = this.onlyHostInviteUser; - data['joinDisableVideo'] = this.joinDisableVideo; - data['participantCanUnmuteSelf'] = this.participantCanUnmuteSelf; - data['isMuteAllMicrophone'] = this.isMuteAllMicrophone; - data['inviteeUserIDList'] = this.inviteeUserIDList; + final data = {}; + data['meetingID'] = meetingID; + data['meetingName'] = meetingName; + data['ex'] = ex; + data['hostUserID'] = hostUserID; + data['inviteeUserIDList'] = inviteeUserIDList; + data['createTime'] = createTime; + data['startTime'] = startTime; + data['endTime'] = endTime; + data['participantCanUnmuteSelf'] = participantCanUnmuteSelf; + data['participantCanEnableVideo'] = participantCanEnableVideo; + data['onlyHostInviteUser'] = onlyHostInviteUser; + data['onlyHostShareScreen'] = onlyHostShareScreen; + data['joinDisableMicrophone'] = joinDisableMicrophone; + data['joinDisableVideo'] = joinDisableVideo; + data['isMuteAllVideo'] = isMuteAllVideo; + data['isMuteAllMicrophone'] = isMuteAllMicrophone; + data['canScreenUserIDList'] = canScreenUserIDList; + data['disableMicrophoneUserIDList'] = disableMicrophoneUserIDList; + data['disableVideoUserIDList'] = disableVideoUserIDList; + data['pinedUserIDList'] = pinedUserIDList; + data['beWatchedUserIDList'] = beWatchedUserIDList; return data; } } diff --git a/pubspec.yaml b/pubspec.yaml index 801d7d9..7532078 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_openim_sdk description: An instant messaging plug-in that supports Android and IOS. And the server is also all open source. -version: 2.3.5+3 +version: 2.3.5+4 homepage: https://www.rentsoft.cn repository: https://github.com/OpenIMSDK/Open-IM-SDK-Flutter