parent
175ffa873c
commit
e1e6550e31
|
|
@ -171,20 +171,23 @@ class MeetingMainLogic extends GetxController with RequestToolMixin{
|
|||
/// --------------------------signalR Socket相关
|
||||
/// Socket长连接
|
||||
Future<void> signalRSocket() async {
|
||||
state.hubConnection.value = HubConnectionBuilder().withUrl('${RequestConfig().baseUrl}/session-manage',
|
||||
HttpConnectionOptions(
|
||||
transport: HttpTransportType.longPolling,
|
||||
state.hubConnection.value = HubConnectionBuilder()
|
||||
.withUrl('${RequestConfig().baseUrl}/session-manage', HttpConnectionOptions(
|
||||
transport: HttpTransportType.webSockets,
|
||||
accessTokenFactory: () async => await Future.value(UserStore.to.token),
|
||||
logging: (level, message) => debugPrint("wgs输出===:SignalR Socket-$message"),
|
||||
)).build();
|
||||
))
|
||||
// 配置断线重连策略:默认重连4次,分别间隔10秒 4秒 10秒 10秒
|
||||
.withAutomaticReconnect([10000, 4000, 10000, 10000]).build();
|
||||
|
||||
await state.hubConnection.value?.start();
|
||||
|
||||
joinMeetingToSocket();
|
||||
|
||||
/// 远端用户或主播加入会议室回调
|
||||
state.hubConnection.value?.on("UserJoined", (user){
|
||||
var jsonStr = const Utf8Decoder().convert(json.encode(user).runes.toList());
|
||||
state.hubConnection.value?.on("UserJoined", (e){
|
||||
// var jsonStr = const Utf8Decoder().convert(json.encode(user).runes.toList());
|
||||
var jsonStr = json.encode(e);
|
||||
var listDynamic = jsonDecode(jsonStr);
|
||||
List<MeetingRoomUser> meetingRoomUsers = (listDynamic as List<dynamic>).map((e) => MeetingRoomUser.fromJson((e as Map<String,dynamic>))).toList();
|
||||
state.cacheUsers.value.addAll(meetingRoomUsers);
|
||||
|
|
@ -193,8 +196,9 @@ class MeetingMainLogic extends GetxController with RequestToolMixin{
|
|||
});
|
||||
|
||||
/// 远端用户或主播离开会议室回调
|
||||
state.hubConnection.value?.on("UserLeave", (uid){
|
||||
var jsonStr = const Utf8Decoder().convert(json.encode(uid).runes.toList());
|
||||
state.hubConnection.value?.on("UserLeave", (e){
|
||||
// var jsonStr = const Utf8Decoder().convert(json.encode(uid).runes.toList());
|
||||
var jsonStr = json.encode(e);
|
||||
List listDynamic = jsonDecode(jsonStr);
|
||||
for(String uidStr in listDynamic){
|
||||
for(var j = 0; j < state.cacheUsers.value.length; j++){
|
||||
|
|
@ -209,7 +213,8 @@ class MeetingMainLogic extends GetxController with RequestToolMixin{
|
|||
|
||||
/// 申请/结束发言-管理员同意或拒绝回调
|
||||
state.hubConnection.value?.on("ManagerRefresh", (e){
|
||||
var jsonStr = const Utf8Decoder().convert(json.encode(e?[0]).runes.toList());
|
||||
// var jsonStr = const Utf8Decoder().convert(json.encode(e?[0]).runes.toList());
|
||||
var jsonStr = json.encode(e?[0]);
|
||||
var listDynamic = jsonDecode(jsonStr);
|
||||
MeetingRoomUser meetingRoomUser = MeetingRoomUser.fromJson(listDynamic);
|
||||
if(meetingRoomUser.isRoomManager == true){
|
||||
|
|
@ -246,7 +251,8 @@ class MeetingMainLogic extends GetxController with RequestToolMixin{
|
|||
|
||||
/// 会议室接收消息回调
|
||||
state.hubConnection.value?.on("ReceiveMessage", (e){
|
||||
var jsonStr = const Utf8Decoder().convert(json.encode(e).runes.toList());
|
||||
// var jsonStr = const Utf8Decoder().convert(json.encode(e).runes.toList());
|
||||
var jsonStr = json.encode(e);
|
||||
List list = json.decode(jsonStr);
|
||||
MeetingRoomMsg meetingRoomMsg = MeetingRoomMsg(list[0],list[1],list[2],0);
|
||||
state.meetingRoomMsgs.value.add(meetingRoomMsg);
|
||||
|
|
@ -259,8 +265,8 @@ class MeetingMainLogic extends GetxController with RequestToolMixin{
|
|||
|
||||
/// 被移除会议回调
|
||||
state.hubConnection.value?.on("ForceExitRoom", (e){
|
||||
var jsonStr = const Utf8Decoder().convert(json.encode(e).runes.toList());
|
||||
var listDynamic = jsonDecode(jsonStr);
|
||||
// var jsonStr = const Utf8Decoder().convert(json.encode(e).runes.toList());
|
||||
var jsonStr = json.encode(e);
|
||||
debugPrint("wgs输出===:Socket-被移除会议:$jsonStr");
|
||||
Get.back();
|
||||
ToastUtils.showSuccess("你已被移除会议");
|
||||
|
|
@ -289,7 +295,8 @@ class MeetingMainLogic extends GetxController with RequestToolMixin{
|
|||
|
||||
/// 单独用户开闭麦回调
|
||||
state.hubConnection.value?.on("OperMicr", (e){
|
||||
var jsonStr = const Utf8Decoder().convert(json.encode(e?[0]).runes.toList());
|
||||
// var jsonStr = const Utf8Decoder().convert(json.encode(e?[0]).runes.toList());
|
||||
var jsonStr = json.encode(e?[0]);
|
||||
var listDynamic = jsonDecode(jsonStr);
|
||||
MeetingRoomUser meetingRoomUser = MeetingRoomUser.fromJson(listDynamic);
|
||||
if(meetingRoomUser.enableMicr == true){
|
||||
|
|
|
|||
Loading…
Reference in New Issue