六、基于Vue3的开发-【导航守卫】-登录访问拦截器

登录访问拦截器

1、参考文档

javascript 复制代码
	https://router.vuejs.org/zh/guide/advanced/navigation-guards.html

2、具体配置(一般配置在router/index.js中)

javascript 复制代码
const router = createRouter({ ... })

//添加访问拦截器
// ---to: 即将要进入的目标 用一种标准化的方式
// ---from: 当前导航正要离开的路由 
router.beforeEach((to, from) => {
  // ...
  // 返回 false 以取消导航
  return false
})

3、参考配置

javascript 复制代码
//-------------------一般配置在router/index.js中----------------------------------------------
//添加访问拦截器
// -----------to: 即将要进入的目标 用一种标准化的方式
// -----------from: 当前导航正要离开的路由 用一种标准化的方式
router.beforeEach((to) => {
  const userStore = useUserStore()
  //判断有没有token 并且不是登录页
  if (!userStore.token && to.path !== '/login') {
    return '/login'
  }
  // 其它情况就直接放行
  return true
})
相关推荐
用泥种荷花6 小时前
从 0 到 1 做一个支持 NFC 写入的小程序,需要哪些 API?
前端
qq_12084093716 小时前
Three.js 工程向:Clock、deltaTime 与固定步长主循环
开发语言·javascript·ecmascript
90程序员6 小时前
纯浏览器解析 APK 信息,不用服务器 | 开源了一个小工具
前端·apk
用户11481867894846 小时前
Vosk-Browser 实现浏览器离线语音转文字
前端·javascript
江上清风山间明月7 小时前
Vite现代化的前端构建工具详解
前端·webpack·nodejs·vite
PBitW7 小时前
apijson 让前端自己定义接口 —— 但不推荐
前端·apijson
存在X7 小时前
前端自动化编译Jenkins
前端·github
军军君017 小时前
数字孪生监控大屏实战模板:云数据中心展示平台
前端·javascript·vue.js·typescript·前端框架·es6·echarts
吴声子夜歌7 小时前
Vue3——使用axios实现Ajax请求
前端·javascript·ajax·axios
qq4356947017 小时前
JavaWeb05
前端·html