cocos creator 开发微信小游戏,A用户通过wx.shareAppMessage分享链接携带roomId = 1,B用户打开A分享链接进入到首页,首页通过 wx.getLaunchOptionsSync检测到携带了 roomId 参数,就加入了房间,此时用户B退出了房间返回了首页(通过director.loadScene("HallScene") 跳转),但是首页再次访问到了wx.shareAppMessage分享的roomId参数,再次加入了房间。
尝试解决方案,添加一个缓存在用户退出房间之后,本地缓存中存入一个 outRoomId 状态,不在加入房间,可以实现。
问题:但是用户想再次加入房间,退出小游戏,想再次点击了邀请的链接加入房间,但是这时保存的 outRoomId 还存在,导致无法加入房间,该如何解决这个问题呢?
已解决,通过ws.onShow 生命周期判断就行,如果不是分享连接点击进去的不会携带参数