记一个开发遇到的奇怪的问题(h5跳转小程序进行视频通话遇到的)
问题1:
当h5页面跳转到小程序后先监测各种该开启的授权都开启后,就进行websocket连接,但是
由于是从h5跳转过去的,在移动端手机上的表现是,h5会被后台挂起,像浏览器的window.open(path, ‘_blank’)
操作一样,新开了一个界面出来。
h5被挂起就可能会出现一个有点恶心的问题,而且我们不知道用户会有什么奇怪的操作;
例如可能出现的情况:
ws连接中,视频另一端还没接通,但是客户把小程序切到后台了,然后重新又点击拨打,从h5跳转到小程序
那么这算是一个新的页面,新的任务,上次的操作按理说应该全部重置,但是奇怪的是,可能所有的数据都重置
了,但是上次创建的ws对象竟然还存在,并且,第二次再进行创建之前可以监控到上次的ws对象存在,第二次进入
会强制关闭第一次的ws,那么关闭ws的后续动作就展示在了第二次ws连接的任务上,这就是一个bug。
所有数据重置的表现在于,我第一次ws连接成功的时候有自己保管ws的连接状态,但是第二次进入页面的时候发现
跳过了这个状态的判断,表现为未连接,说明数据被重置了,但是竟然第一次的ws对象还依然存在
问题2:
点击跳转小程序进行视频通话请求,跳入小程序的瞬间同时发送了两个请求,这个问题,到最后也没排查出问题原因,到底是onshow走了两次,还是存在两个页面栈,用localStorage也没解决问题,最后试了下relanch页面,后面也没有复现,不明问题