UniApp 路由导航守
UniApp 路由导航守大家平时做 Vue 项目路由守卫基本都是标配beforeEach 一写白名单、token 校验、跳转拦截一气呵成。但换到 UniApp 就会发现一个问题没有 Vue-Router也没有 beforeEach。很多人刚上手都会懵路由守卫到底怎么写其实 UniApp 有自己的方案就是官方提供的拦截器interceptor今天就把完整可落地、直接复制粘贴的路由守卫给你们。Vue 里是这样写的router.beforeEach((to,from,next){if(to.path/login)returnnext()consttokensessionStorage.getItem(token)if(!token)returnnext(/login)next()})逻辑很简单白名单直接过没 token 跳登录有 token 正常跳转但 UniApp 不这套它的页面跳转全靠uni.navigateTouni.redirectTouni.reLaunchuni.switchTab所以思路也很直接把这几个 API 全部拦截自己做校验。UniApp 路由守卫核心拦截器官方文档里其实写得很清楚uni.addInterceptor可以拦截几乎所有 uni 开头的 API包括路由、请求、扫码、支付等等。路由守卫本质就是拦截路由跳转 → 判断权限 → 放行 / 拦截跳登录拦截器最重要的就是一个方法invoke(args)return true 放行return false 拦截不执行原来的跳转懂这个整个路由守卫就通了。直接上代码utils/interceptor.js// 全局路由拦截器路由守卫// 在 App.vue onLaunch 中调用一次即可// 白名单不需要登录就能访问的页面constwhiteListnewSet([/pages/login/login,// /pages/register/register, 想加就加])// 核心校验逻辑functioncheckAuth(url){// 截取纯路径忽略 ? 参数constpathurl.split(?)[0]// 白名单直接放行if(whiteList.has(path)){returntrue}// 校验 tokenconsttokenuni.getStorageSync(token)return!!token}// 拦截器配置constrouteInterceptor{invoke(args){console.log(即将跳转,args.url)// 校验通过正常跳转if(checkAuth(args.url)){returntrue}// 未登录 → 跳登录并把原来要跳的地址带上uni.redirectTo({url:/pages/login/login?redirect${encodeURIComponent(args.url)}})// 拦截本次路由跳转returnfalse}}// 注册所有路由拦截exportfunctioninitRouteGuard(){uni.addInterceptor(navigateTo,routeInterceptor)uni.addInterceptor(redirectTo,routeInterceptor)uni.addInterceptor(reLaunch,routeInterceptor)uni.addInterceptor(switchTab,routeInterceptor)}在 App.vue 中启用非常关键为什么必须写在onLaunch因为拦截器必须在任何页面跳转之前就注册好onLaunch 是应用启动最早的生命周期只执行一次最适合干这事。script import { initRouteGuard } from /utils/interceptor.js export default { onLaunch() { // 启动路由守卫 initRouteGuard() }, onShow() {}, onHide() {} } /script登录成功后如何“回跳原来页面”拦截时我们拼了一个redirect参数/login?redirectxxx登录成功后这样跳回去就行asyncfunctionlogin(){// 登录请求...consttokenres.data.token uni.setStorageSync(token,token)// 获取当前页面实例constpagesgetCurrentPages()constcurrentpages[pages.length-1]constredirectcurrent.options.redirectif(redirect){// 跳回原来想访问的页面uni.redirectTo({url:decodeURIComponent(redirect)})}else{// 默认跳首页或 tabBaruni.switchTab({url:/pages/home/home})}}一些实用小细节tabBar 页面也能拦截switchTab 已经包含在拦截里没 token 照样跳登录。路径一定要写完整/pages/login/login别写错不然白名单不生效。navigateBack 一般不用拦截返回上一页通常不需要权限除非你有特殊场景。可扩展权限控制想加角色、验过期、验状态直接在checkAuth里加逻辑就行非常灵活。总结UniApp 没有 beforeEach但能用uni.addInterceptor实现一模一样的效果拦截 navigateTo / redirectTo / reLaunch / switchTab 四个 API 就够覆盖所有路由白名单 token 校验 最常用路由守卫必须在 App.vue onLaunch 里初始化否则不生效代码直接复制改改页面路径就能上线这套写法我在好几个 UniApp 项目里都在用H5、小程序、App 全端稳定没坑。

相关新闻

【系统分析师】7.3 软件开发环境与工具

【系统分析师】7.3 软件开发环境与工具

🛠️ 一、概述:构建软件的“数字工作台”与“专业器具” 软件开发环境与工具 是指用于支持软件系统分析、设计、构造、测试、部署、维护和管理等一系列活动的集成化软件系统(环境)和专用程序(工具) 的统称…

2026/7/5 16:05:01 阅读更多 →
LeetCode数组题解:5大经典Python实战

LeetCode数组题解:5大经典Python实战

以下是针对LeetCode热门题目Top 100 Liked Questions中“普通数组”类题目的Python版本解法指南。普通数组题目通常涉及数组的基本操作,如遍历、排序、查找等。我将逐步介绍几个代表性题目,提供Python代码和简要解释,帮助您理解和实现。 1. …

2026/7/4 7:31:26 阅读更多 →
AI工程师的成长指南

AI工程师的成长指南

AI工程是目前最好的职业机会之一,但我一直看到人们花费数年学习却几乎没有成果。 如果你学习AI工程已经有一段时间了,仍然感觉被困在教程地狱中,我可以告诉你这不是关于努力——而是关于方向。 今天我们要讨论的是那些拖慢你速度的错误&…

2026/7/4 1:21:55 阅读更多 →

最新新闻

Unity Perception终极指南:如何快速生成高质量的合成数据集用于计算机视觉训练

Unity Perception终极指南:如何快速生成高质量的合成数据集用于计算机视觉训练

Unity Perception终极指南:如何快速生成高质量的合成数据集用于计算机视觉训练 【免费下载链接】com.unity.perception Perception toolkit for sim2real training and validation in Unity 项目地址: https://gitcode.com/gh_mirrors/co/com.unity.perception …

2026/7/6 15:40:34 阅读更多 →
原神启动器Plus:一键切换国服与国际服的桌面利器

原神启动器Plus:一键切换国服与国际服的桌面利器

原神启动器Plus:一键切换国服与国际服的桌面利器 【免费下载链接】Genshin.Launcher.Plus [原神启动器Plus] lightweight globalized Genshin Impact launcher. Support arbitrarily resolution ratio, account switching, client convertion, FPS unlocking and mo…

2026/7/6 15:40:34 阅读更多 →
如何用闲置安卓设备5步构建零成本家庭服务器?

如何用闲置安卓设备5步构建零成本家庭服务器?

如何用闲置安卓设备5步构建零成本家庭服务器? 【免费下载链接】amlogic-s9xxx-armbian Supports running Armbian on Amlogic, Allwinner, and Rockchip devices. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, …

2026/7/6 15:38:33 阅读更多 →
计算机Java毕设实战-基于前后端分离的病毒性疾病医药数据采集与分析系统的设计与实现 基于 SpringBoot 的冠状病毒靶标信息挖掘与数据整【完整源码+LW+部署说明+演示视频,全bao一条龙等】

计算机Java毕设实战-基于前后端分离的病毒性疾病医药数据采集与分析系统的设计与实现 基于 SpringBoot 的冠状病毒靶标信息挖掘与数据整【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/6 15:36:31 阅读更多 →
MultiOS-USB:一个U盘搞定所有操作系统安装与维护

MultiOS-USB:一个U盘搞定所有操作系统安装与维护

MultiOS-USB:一个U盘搞定所有操作系统安装与维护 【免费下载链接】MultiOS-USB Boot operating systems directly from ISO/WIM images 项目地址: https://gitcode.com/gh_mirrors/mu/MultiOS-USB 想象一下,您只需要一个U盘,就能随身携…

2026/7/6 15:36:31 阅读更多 →
Chatbox:打造你的AI工作站的终极桌面助手

Chatbox:打造你的AI工作站的终极桌面助手

Chatbox:打造你的AI工作站的终极桌面助手 【免费下载链接】chatbox Powerful AI Client 项目地址: https://gitcode.com/GitHub_Trending/ch/chatbox 在AI技术飞速发展的今天,拥有一款功能强大的桌面AI助手已成为提升工作效率的关键。Chatbox作为…

2026/7/6 15:32:27 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻