收藏
回答

小程序web-view打开的页面中进行webSocket长链接失败?

            this.socketTask = uni.connectSocket({
              url: `${env.VUE_APP_WEB_SCOCKET_URL}/ws/flux/chat?token=${getToken()}`,
              success: () => {
                console.log('【websocket创建成功】')
              },
              fail: () => {
                console.log('【websocket创建失败】')
              }
            })
            this.socketTask.onOpen(() => {
              console.log('【websocket连接成功】')
              this.sendData(data)
            })
            this.socketTask.onMessage(res => {
              this.connectLoading = false
              console.log('【websocket收到响应】', res)
              this.handleRes(res.data)
            })
            this.socketTask.onError(err => {
              console.log('【websocket连接异常】', err)
              this.closeTask()
            })

1、问题:我们使用uniapp框架开发了一个H5+微信小程序(A)双平台的项目,另一个小程序(B)使用web-view组件打开了我们的H5页面。我们在H5页面和A中均成功使用上述代码进行请求,但在B中查看日志会进入onError方法,uniapp并未打印有用错误信息。上述问题并非必现,我在微信开发者工具中使用A的appId建了一个测试小程序(C),用一个web-view组件展示H5页面,基本可以成功请求,但利用手机扫码打开A开发版,不能成功发起ws请求,手机通过打开调试工具偶尔又可以成功,但并非必成功。上述中AB小程序都将H5链接添加到业务域名中,且都将ws协议地址添加到服务器域名中。

2、期望:小程序B通过web-view打开H5页面成功发起ws请求返回内容。

3、测试小程序C(使用A的appId)代码及现象

// 只有一个web-view组件
<web-view src="https://aish.5gnewcall.cn/"/>


3.1、开发者工具成功

3.2、手机扫码体验失败

回答关注问题邀请回答
收藏
登录 后发表内容