Selaa lähdekoodia

fix 直播列表状态冲突

tiedan 4 vuotta sitten
vanhempi
commit
dc4f23891f

+ 8 - 6
components/trtc-room/trtc-room.js

@@ -1507,6 +1507,7 @@ Component({
     _pusherStateChangeHandler(event) {
       const code = event.detail.code
       const message = event.detail.message
+      console.log("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!",code)
       console.log(TAG_NAME, 'pusherStateChange:', code, event)
       switch (code) {
         case 0: // 未知状态码,不做处理
@@ -1545,16 +1546,17 @@ Component({
         case 1019:
           console.log(TAG_NAME, '退出房间', code)
           // 20200421 iOS 仍然没有1019事件通知退房,退房事件移动到 exitRoom 方法里,但不是后端通知的退房成功
-          // this._emitter.emit(EVENT.LOCAL_LEAVE, { userID: this.data.pusher.userID })
+         //this._emitter.emit(EVENT.LOCAL_LEAVE, { userID: this.data.pusher.userID })
+          //孙喆:20201020 ios有1019事件
           break
         case 2003:
           console.log(TAG_NAME, '渲染首帧视频', code)
           break
-        case 1020:
-        case 1031:
-        case 1032:
-        case 1033:
-        case 1034:
+        case 1020://远端用户全量列表更新
+        case 1031://远端用户进房
+        case 1032://远端用户退房
+        case 1033://远端视频状态更新
+        case 1034://远端音频状态更新
           // 通过 userController 处理 1020 1031 1032 1033 1034
           this.userController.userEventHandler(event)
           break

+ 1 - 0
pages/onlineClass/onlineClass.js

@@ -33,6 +33,7 @@ Page({
           })
         } else {
           this.setData({
+            zbArr:[],
             showNull: true
           })
         }

+ 67 - 45
pages/zbDetails/zbDetails.js

@@ -63,32 +63,32 @@ Page({
               })
               _this.getjyList(imResponse.data.groupList[i])
             }
-            if (_this.data.currentGroup == null) {
-              let promise = _this.data.tim.joinGroup({
-                groupID: _this.data.roomIdandcourseId,
-                type: TIM.TYPES.GRP_MEETING
-              });
-              promise.then((imResponse) => {
-                switch (imResponse.data.status) {
-                  case TIM.TYPES.JOIN_STATUS_WAIT_APPROVAL:
-                    break; // 等待管理员同意
-                  case TIM.TYPES.JOIN_STATUS_SUCCESS: // 加群成功
-                    console.log(imResponse.data.group, "加群成功"); // 加入的群组资料
-                    break;
-                  case TIM.TYPES.JOIN_STATUS_ALREADY_IN_GROUP: // 已经在群中
-                    break;
-                  default:
-                    break;
-                }
-                _this.setData({
-                  currentGroup: imResponse.data.group
-                })
-                _this.getjyList(imResponse.data.group)
-                console.log(_this.data.currentGroup, "0000000000000000")
-              }).catch(function (imError) {
-                console.warn('申请加群失败的相关信息', imError); // 申请加群失败的相关信息
-              });
-            }
+          }
+          if (_this.data.currentGroup == null) {
+            let promise = _this.data.tim.joinGroup({
+              groupID: _this.data.roomIdandcourseId,
+              type: TIM.TYPES.GRP_MEETING
+            });
+            promise.then((imResponse) => {
+              switch (imResponse.data.status) {
+                case TIM.TYPES.JOIN_STATUS_WAIT_APPROVAL:
+                  break; // 等待管理员同意
+                case TIM.TYPES.JOIN_STATUS_SUCCESS: // 加群成功
+                  console.log(imResponse.data.group, "加群成功"); // 加入的群组资料
+                  break;
+                case TIM.TYPES.JOIN_STATUS_ALREADY_IN_GROUP: // 已经在群中
+                  break;
+                default:
+                  break;
+              }
+              _this.setData({
+                currentGroup: imResponse.data.group
+              })
+              _this.getjyList(imResponse.data.group)
+              console.log(_this.data.currentGroup, "0000000000000000")
+            }).catch(function (imError) {
+              console.warn('申请加群失败的相关信息', imError); // 申请加群失败的相关信息
+            });
           }
         }
       }).catch(function (imError) {
@@ -422,35 +422,32 @@ Page({
     });
   },
   bindTRTCRoomEvent: function () {
-    console.log(this.data.roomIdandcourseId, typeof (this.data.roomIdandcourseId), "我开始监听了。。。。。")
-    this.trtcRoomContext.enterRoom({
-      roomID: Number(this.data.roomIdandcourseId) //课程id
-      // userID: this.data.rtcConfig.userID
-    })
+    console.log(this.data.roomIdandcourseId, typeof (this.data.roomIdandcourseId), "bindTRTCRoomEvent 绑定监听")
+
     const TRTC_EVENT = this.trtcRoomContext.EVENT
     this.trtcRoomContext.on(TRTC_EVENT.LOCAL_JOIN, (event) => {
-      console.log('我加入房间了', event)
+      console.log('zbdetail绑定-我加入房间了', event)
     })
     this.trtcRoomContext.on(TRTC_EVENT.LOCAL_LEAVE, (event) => {
-      console.log('我离开房间了', event)
+      console.log('zbdetail-绑定我离开房间了', event)
     })
     this.trtcRoomContext.on(TRTC_EVENT.ERROR, (event) => {
-      console.log('进入房间出错了', event)
+      console.log('zbdetail-绑定进入房间出错了', event)
     })
     // 远端用户进入房间
     this.trtcRoomContext.on(TRTC_EVENT.REMOTE_USER_JOIN, (event) => {
-      console.log('远端用户进入房间')
+      console.log('zbdetail绑定-远端用户进入房间')
     })
     // 远端用户退出
     this.trtcRoomContext.on(TRTC_EVENT.REMOTE_USER_LEAVE, (event) => {
-      console.log('远端用户退出')
+      console.log('zbdetail绑定-远端用户退出')
     })
     this.trtcRoomContext.on(TRTC_EVENT.REMOTE_AUDIO_ADD, (event) => {
-      console.log(event, "lalalallalalalalal")
+      console.log(event, "zbdetail绑定-远程音频加入事件")
       this.trtcRoomContext.subscribeRemoteAudio({
         userID: event.data.userID
       }).then(() => {
-        console.log("音频订阅成功")
+        console.log("zbdetail绑定-音频订阅成功")
       })
     })
     // 远端用户取消推送音频
@@ -477,14 +474,39 @@ Page({
         console.log("远端视频取消订阅")
       })
     })
-  },
-  onLoad(options) {
-    console.log(options, "99999");
-    this.setData({
-      roomIdandcourseId: options.id
+
+
+
+
+
+
+
+    this.trtcRoomContext.enterRoom({
+      roomID: Number(this.data.roomIdandcourseId) //课程id
+      // userID: this.data.rtcConfig.userID
     })
+
+
+
   },
+  // onLoad(options) {
+  // console.log(options, "99999");
+  // this.setData({
+  //   roomIdandcourseId: options.id
+  // })
+  // },
   async onShow() {
+    // 获取当前小程序的页面栈
+    let pages = getCurrentPages();
+    // 数组中索引最大的页面--当前页面
+    let currentPage = pages[pages.length - 1];
+    // 打印出当前页面中的 options
+    console.log(currentPage.options.id, 'wwww')
+    this.setData({
+      roomIdandcourseId: currentPage.options.id
+    })
+
+
 
     const sessionKey = await tools.checkSessionAndLogin();
     const information = await tools.request('/wx/student/selStudentSessionKeyEcho', {
@@ -517,13 +539,13 @@ Page({
     this.onTim();
   },
   onHide() {
-    console.log("onhide了")
+    console.log("zbdetail-onhide了")
     this.trtcRoomContext.unpublishLocalVideo();
     this.trtcRoomContext.unpublishLocalAudio();
     this.offTim();
   },
   onUnload() {
-    console.log("onUnload")
+    console.log("zbdetail-onUnload")
     this.trtcRoomContext.unpublishLocalVideo();
     this.trtcRoomContext.unpublishLocalAudio();
     this.offTim();

+ 1 - 1
utils/util.js

@@ -8,7 +8,7 @@
   // publicUrl:'http://10.16.4.19:80'//hyb
   // publicUrl:'http://10.16.4.26:80'//zxq
   // publicUrl:'http://10.20.1.207:80'//dailin
-  
+  //publicUrl:"http://10.16.8.26"//houwei 调试-孙喆
 };
 const formatTime = date => {
   const year = date.getFullYear()