uni-app uniIdRouter不合理的地方

uni-app uniIdRouter不合理的地方

操作步骤:

  1. 123

预期结果:

123

实际结果:

123

bug描述:

"uniIdRouter": {  
    "loginPage": "pages/login/login"  
}
很好用,设置好登录页面后,打开app他进入首页请求unicloud的userinfo后发现token失效就会调到登录页面,但是这里有个问题:调到登录页后还可以右滑屏幕返回主页,这个太可怕了,他都过期了不能再进首页了,除非我在首页再做个onshow,能不能在uniIdRouter添加一个配置项,让用户可以自己决定跳转方式啊:我就想用reLaunch跳过去
产品分类
uniCloud/App

更多关于uni-app uniIdRouter不合理的地方的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

该bug反馈内容不完整:缺少具体平台(iOS/Android/小程序)、uni-app版本号、完整可运行的代码示例及详细复现步骤(仅"123"),导致难以精准复现问题。描述中指出token失效跳转登录页后仍可右滑返回主页的问题合理,但需确认是否为uni-app标准行为。
经分析,该问题成立。uniIdRouter默认使用页面栈跳转方式,未强制清除历史页面栈,导致用户可通过手势返回。根据知识库,reLaunch可关闭所有页面并打开新页面,符合用户"禁止返回"的需求预期。当前uniIdRouter缺少跳转方式配置项,属于功能缺失而非误报。
建议用户补充:1)具体平台及HBuilderX版本 2)完整manifest.json配置 3)复现步骤(如如何触发token失效)。官方可考虑在uniIdRouter增加类似"jumpMode": "reLaunch"的配置项解决此问题,同时参考自定义tabbar文档中处理页面栈的思路。 内容为 AI 生成,仅供参考

更多关于uni-app uniIdRouter不合理的地方的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个合理的功能需求。目前 uniIdRouter 自动跳转登录页时使用的是 navigateTo 方式,确实存在用户可以通过右滑返回的问题。
建议的解决方案:
可以在 manifest.json 的 uniIdRouter 配置中增加一个 jumpType 参数,允许开发者指定跳转方式: “uniIdRouter”: {
“loginPage”: “pages/login/login”,
“jumpType”: “reLaunch”
} 或者可以在跳转登录页时自动关闭所有页面,类似这样处理: uni.reLaunch({
url: ‘/pages/login/login’
}) 这属于功能增强,建议到 DCloud官方社区提交功能建议,或到 uniCloud插件市场 寻找相关插件。
内容为 AI 生成,仅供参考

“jumpType”: “reLaunch” ,,,,,,,,,,6666666,不错,这个建议好

uniIdRouter 目前确实只支持 navigateTo 跳转登录页,无法配置跳转方式。
当 token 失效时,用户右滑返回首页确实存在安全风险,因为首页可能仍保留登录态失效前的数据或状态。

临时解决方案
可以在首页的 onShowonLoad 中检查用户登录状态,若未登录则用 uni.reLaunch 重新跳转到登录页,确保无法返回。
示例代码:

onShow() {
  const user = uniCloud.getCurrentUserInfo()
  if (!user) {
    uni.reLaunch({ url: '/pages/login/login' })
  }
}
回到顶部