航格瑞
航格瑞
  • 发布:2022-09-01 11:52
  • 更新:2022-09-02 14:13
  • 阅读:474

【报Bug】云对象token失效跳转登录页功能无限循环跳转刷新

分类:uni-app

产品分类: 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页面,而且开发运行时没事
只有编译出来才会出现这问题

2022-09-01 11:52 负责人:DCloud_uniCloud_WYQ 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

提供一个简单的能复现问题的demo吧,也可以升级到3.6.0-alpha看看还有没有这个问题。

该问题目前已经被锁定, 无法添加新回复