Bläddra i källkod

修复分享接口

gemercheung 3 år sedan
förälder
incheckning
88d19945b9
5 ändrade filer med 80 tillägg och 51 borttagningar
  1. 2 1
      config.js
  2. 6 1
      pages/shareRoom/shareRoom.js
  3. 68 47
      pages/webview/index.js
  4. 2 2
      pages/webview/index.wxml
  5. 2 0
      socket.js

+ 2 - 1
config.js

@@ -14,9 +14,10 @@ const dev = {
 //目前没有区分正式服测试服
 const mal = {
   env: 'pro',
-  // socketHost: 'wss://test-socket.4dkankan.com',
+
   // socketHost: 'ws://127.0.0.1:12000',
   // socketHost: 'wss://192.168.0.79:3031',
+  // socketHost: 'wss://test-socket.4dkankan.com',// 测试环境
   // requestHost: 'https://plaza-cszfb.4dkankan.com', // 测试环境
   // viewChildHost: 'https://cszfb.4dkankan.com', //测试环境
   // viewHost: 'https://cszfb.4dkankan.com'//测试环境

+ 6 - 1
pages/shareRoom/shareRoom.js

@@ -49,12 +49,17 @@ Page({
     this.shareCodeImg = data.shareWxQrCode
     this.sceneName = data.sceneName
 
+    const version = wx.getAccountInfoSync().miniProgram.envVersion;
+    console.log('version', version)
+
     let params = {
       scene: `${id}_${type}_1_${roomId}_1`,
-      page: vrLink.substr(1, vrLink.length - 1) //截掉page前的 /
+      page: vrLink.substr(1, vrLink.length - 1), //截掉page前的 /
+      envVersion: version || 'release'
     }
 
     // this.getMIniCode =remote.requestHost+'/statics/tmp/images/1634032649766.png'
+
     try {
       let codeData = await this.generateMicroAppCode(params)
       if (codeData) {

+ 68 - 47
pages/webview/index.js

@@ -41,10 +41,12 @@ Page({
       const scene = decodeURIComponent(options.scene)
 
       let arr = scene.split('_')
-      this.options.id = options.id
-      this.options.type = options.type
+
+      console.log('分拆的', arr)
+      this.options.id = options.id || arr[0]
+      this.options.type = options.type || arr[1]
       this.options.join = "true"
-      this.options.roomId = options.roomId
+      this.options.roomId = options.roomId || arr[3]
       this.options.many = "true"
     }
     // debugger
@@ -117,52 +119,71 @@ Page({
   //   })
   // },
   async init() {
-    let options = this.options
-    console.log('webview-option', options)
-
-    let {
-      url: base,
-      obj: m
-    } = await new Promise(r => this.getBrandDetail(options.id, options.type, (url, obj) => r({
-      url,
-      obj
-    })))
-
-    this.getBrand(options.id, m)
-    this.mcode = m
-    //TODO 有问题, 其他模式的房间号如何处理?
-    let socketOptions = await this.socketStart({
-      sceneId: this.mcode,
-      roomId: options.roomId || '888888'
-    })
-
-    let url = this.getUrl(base, socketOptions, this.data.join) + this.urlPj
+    try {
+      let options = this.options
+      console.log('webview-option', options)
+
+      let {
+        url: base,
+        obj: m
+      } = await new Promise(r => this.getBrandDetail(options.id, options.type, (url, obj) => r({
+        url,
+        obj
+      })))
+
+      this.getBrand(options.id, m)
+      this.mcode = m
+      //TODO 有问题, 其他模式的房间号如何处理?
+      let socketOptions = await this.socketStart({
+        sceneId: this.mcode,
+        roomId: options.roomId || '888888'
+      })
+
+      let url = this.getUrl(base, socketOptions, this.data.join) + this.urlPj
+
+      this.base = base
+      // socketOptions.nickname = socketOptions.nickname.replace(/[^\u4E00-\u9FA5A-Za-z0-9]/g, '')
+      this.setData({
+        urlTemp: url.split('').join(' ')
+      })
+      this.setData({
+        url,
+        loadUrl: true,
+        socketOptions,
+        reload: true,
+        hideWebView: false,
+        // debugerInfo: JSON.stringify({
+        //   userId: socketOptions.userId,
+        //   roomId: socketOptions.roomId,
+        //   num: socketOptions.sceneNumber,
+        //   userLimitNum: socketOptions.userLimitNum,
+        //   isAssistant: socketOptions.isAssistant,
+        //   role: socketOptions.role,
+        //   assistantId: socketOptions.assistantId
+        // })
+      })
+      this.recorderManager = wx.getRecorderManager()
+      this.brandId = options.id
+      this.joinUrl()
+      
+    } catch (error) {
+      this.setData({
+        hideWebView: true,
+      })
+      wx.showModal({
+        title: '提示',
+        content: '场景初始化有误,请稍后重试',
+        showCancel: false,
+        confirmColor: '#0075DC',
+        success: function (res) {
+          wx.switchTab({
+            url: '/pages/index/index'
+          });
 
-    this.base = base
-    // socketOptions.nickname = socketOptions.nickname.replace(/[^\u4E00-\u9FA5A-Za-z0-9]/g, '')
-    this.setData({
-      urlTemp: url.split('').join(' ')
-    })
-    this.setData({
-      url,
-      loadUrl: true,
-      socketOptions,
-      reload: true,
-      hideWebView: false,
-      // debugerInfo: JSON.stringify({
-      //   userId: socketOptions.userId,
-      //   roomId: socketOptions.roomId,
-      //   num: socketOptions.sceneNumber,
-      //   userLimitNum: socketOptions.userLimitNum,
-      //   isAssistant: socketOptions.isAssistant,
-      //   role: socketOptions.role,
-      //   assistantId: socketOptions.assistantId
-      // })
-    })
-    this.recorderManager = wx.getRecorderManager()
+        }
+      })
+    }
 
-    this.brandId = options.id
-    this.joinUrl()
     // this.mic()
   },
 

+ 2 - 2
pages/webview/index.wxml

@@ -278,10 +278,10 @@
       </cover-view>
     </cover-view>
 
-    <cover-view style="position: fixed;  font-size:10px; background-color: rgba(0,0,0,0.5); color: #fff;white-space:pre-wrap;z-index:989999" wx:if="{{debugerInfo}}">
+    <!-- <cover-view style="position: fixed;  font-size:10px; background-color: rgba(0,0,0,0.5); color: #fff;white-space:pre-wrap;z-index:989999" wx:if="{{debugerInfo}}">
       {{debugerInfo}}
       <cover-view bindtap="clearDebuger">清除</cover-view>
-    </cover-view>
+    </cover-view> -->
 
     <!-- <cover-view class="dialog invitation-view">
 		<cover-view bindtap="copy">{{webviewUrl}}</cover-view>

+ 2 - 0
socket.js

@@ -1374,10 +1374,12 @@ export default {
   },
 
   getBrandDetail: function (id, type, cb) {
+    console.log('getBrandDetail-params', id, type)
     util.request(api.BrandDetail, {
       id: id,
       type: type,
     }).then((res) => {
+      console.log('getBrandDetail', res)
       let base = res.data.brand.sceneUrl
       // let base = 'http://192.168.0.112:8080/shop.html?m=t-7Uqj9Fq&origin=fashilong'
       if (res.errno === 0) {