feat(mobile): 实现全局路由守卫功能,自动处理用户未登录跳转

✨ 新增功能:
- 全局路由守卫模块 (route-guard.js)
- 多层次权限验证 (登录状态+Token存在+Token过期检查)
- 自动拦截机制 (页面级+跳转级+HTTP级+应用级)
- 401响应自动处理和跳转
- 路由守卫测试页面

🔧 技术实现:
- checkPageAccess() 全局页面权限检查
- guardedNavigate/guardedSwitchTab 带权限检查的跳转
- handleUnauthorized() HTTP拦截器401处理
- 公开页面配置管理
- 优雅的错误提示和跳转逻辑

📱 页面集成:
- App.vue 初始化路由守卫
- profile/workbench 页面添加权限检查
- index 页面优化跳转逻辑
- 新增测试页面验证功能

📚 文档完善:
- 移动端路由守卫使用指南
- 详细的变更记录和技术说明
- 最佳实践和注意事项

🎯 核心效果:
用户登录失效或未登录时,访问任何需要权限的页面都自动跳转到登录页,提升安全性和用户体验。
This commit is contained in:
zlwu committed 2025-07-04 22:28:49 +08:00
1 parent 5589cba249
commit afe3e234e9
33 files changed
+5023 -356

No files matched your search

+32
View File
@@ -1,5 +1,22 @@
{
"easycom": {
"autoscan": true,
"custom": {
"^u-(.*)": "uview-plus/components/u-$1/u-$1.vue",
"^up-(.*)": "uview-plus/components/u-$1/u-$1.vue",
"^uv-(.*)": "uview-plus/components/u-$1/u-$1.vue"
}
},
"pages": [
{
"path": "pages/login/index",
"style": {
"navigationBarTitleText": "登录",
"navigationStyle": "custom",
"navigationBarBackgroundColor": "transparent",
"backgroundColor": "transparent"
}
},
{
"path": "pages/index/index",
"style": {
@@ -20,6 +37,21 @@
"navigationBarTitleText": "我的",
"navigationStyle": "custom"
}
},
{
"path": "pages/iconfont-demo/index",
"style": {
"navigationBarTitleText": "图标演示",
"navigationBarBackgroundColor": "#5d87ff",
"navigationBarTextStyle": "white"
}
},
{
"path": "pages/test-route/index",
"style": {
"navigationBarTitleText": "路由守卫测试",
"navigationStyle": "custom"
}
}
],
"globalStyle": {