按上面方法

- 发布:2022-09-01 11:52
- 更新:2022-09-02 14:13
- 阅读:474
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Win10
HBuilderX类型: 正式
HBuilderX版本号: 3.5.3
浏览器平台: Chrome
浏览器版本: 98
项目创建方式: HBuilderX
操作步骤:
预期结果:
正常
正常
实际结果:
不正常
不正常
bug描述:
项目使用的vue3
pages.json 内容如下,login没开启 needLogin,
uniIdRouter 里指定了 pages/login 页面为登录页
{
"path": "pages/login",
"style": {
"leftWindow": false,
"topWindow": true
}, {
"path": "pages/home",
"needLogin": true
},
},
"uniIdRouter": {
"loginPage": "pages/login",
"needLogin": [
],
"resToLogin": true
}
首页是 login.vue, onReady 事件里调用对象数检查用户token状态,未登录或过期就弹出提示让用户重新登录
调试运行时,确实没得问题,只要出现token失效他也正常让用户登录
但编译后,login.vue,调用云对象,uniapp发现token失效就会跳转到login.vue,但现在已经是login.vue页了,他又跳了,就造成login.vue刷新
他就这样一直跳登录页,登录页又调用云对象,发现token失效又跳转到login.vue页,就1秒N次在这循环,直到浏览器崩溃
因为调用云对象后我写的代码才检查结果, 但uniapp根本不给我机会检查就会跳转刷新
当然了有个token回调可以删除token,让云对象下次不在调用
我怀疑问题出在uniapp对页面的判断,明明已经在login页面了,他发现token失效又跳转login页面,而且开发运行时没事
只有编译出来才会出现这问题
1 个回复
DCloud_uniCloud_WYQ
提供一个简单的能复现问题的demo吧,也可以升级到3.6.0-alpha看看还有没有这个问题。