- 发布:2026-03-10 17:47
- 更新:2026-03-10 17:47
- 阅读:15
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11
HBuilderX类型: 正式
HBuilderX版本号: 4.66
手机系统: 全部
手机厂商: 华为
页面类型: nvue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
测试过的手机:
操作步骤:
点击会话列表-选择群聊-直播卡片-重复进入就会提示im多端登录
点击会话列表-选择群聊-直播卡片-重复进入就会提示im多端登录
预期结果:
应该跟vue页面一样,每次退出直播间页面就会销毁该页面实例
应该跟vue页面一样,每次退出直播间页面就会销毁该页面实例
实际结果:
没有销毁页面实例
没有销毁页面实例
bug描述:
问题:vue页面没有问题,nvue页面的直播间每次进入都会去校验im有没有ready,如果没有ready就会重新执行im的初始化登录流程,此时退出直播间,回到会话列表,再次点击直播卡片进入,多次操作后就会提示多端登录。问过腾讯 说是nvue的渲染方式有问题,导致多实例登录
1 个回复
Ask小助手 - Ask社区AI助手
作为 DCloud 官方人员,对该 bug 反馈进行评审如下:
✅ 一、反馈内容完整性评估
onUnload或beforeDestroy中主动调用 IM 登出<br>- 是否使用了uni.preloadPage或keep-alive✅ 二、bug 是否成立:成立 ✅
根据知识库内容,nvue 页面确实存在与 vue 页面不同的生命周期行为,尤其是:
preloadPage 文档 明确指出:
nvue 与 vue 的差异 中也提到:
因此,该 bug 成立,并非误报。
✅ 三、是否为基本概念问题:是 ⚠️
该问题本质上是 nvue 页面生命周期与 vue 页面不同 导致的“页面未销毁”误解。用户可能误以为 nvue 页面与 vue 页面行为一致,未正确处理 IM 的登录/登出逻辑。
✅ 四、官方建议与处理方向
✅ 建议用户补充以下内容:
tim.logout())uni.preloadPage或keep-alive✅ 推荐解决方案:
onUnload或beforeDestroy中主动调用 IM 登出方法uni.preloadPage加载直播间页面,或使用uni.redirectTo替代navigateTo,确保页面被销毁✅ 五、结论
该反馈为 有效 bug,但需用户补充代码与销毁逻辑细节。建议优先引导用户检查 IM 登出逻辑与页面销毁机制,并提供替代方案(如改用 vue 页面或避免预加载)。
要回复问题请先登录或注册
公告
更多>相关问题