vue vue-router实现路由拦截功能

1、目录结构

2、设置路由拦截、

路由配置如下,在这里自定义了一个对象的参数meta: {authRequired: true}来标记哪些路由是需要登录验证的,导航被触发的时候只要判断是否目标路由中是否有meta这个对象,且meta包含authRequired属性,其值为true。这里访问带有meta对象的路由是被拦截的。
 {path: '/config',name: 'config',meta: { requireAuth: true},component: Config},{path: '/about1',name: 'about1',meta: { requireAuth: true},component: About1},{path: '/app',name: 'app',component: App},{path: '/application',name: 'application',meta: { requireAuth: true},component: Application},

3、全局函数beforeEach

main.js通过router.beforeEach全局函数,每次路由跳转都会出发函数判断是否有登录信息

router.beforeEach((to, from, next) => {if (to.matched.some(res => res.meta.requireAuth)) { // 验证是否需要登陆var id=window.sessionStorage.getItem('userId');console.log(id)if (id) { // 查询本地存储信息是否已经登陆next();} else {next({path: '/login', // 未登录则跳转至login页面redirect:  '/main2' // 登陆成功后回到当前页面,这里传值给login页面,to.fullPath为当前点击的页面});}} else {next();}
}

4、在登陆界面利用sessionStorage将信息存入到全局变量

  login() {axios.get('http://192.168.56.1:8081/sel/1', {// /gr/goods/adduserid: this.loginForm.userid,pwd: this.loginForm.pwd,}).then((res) => {console.log(res);console.log(res.data.msg);this.$store.commit('setUserId',this.loginForm.userid);this.$store.commit('setUserPwd',this.loginForm.pwd);console.log(this.loginForm.userid);console.log(this.loginForm.userpwd);console.log("打印的id为:"+sessionStorage.getItem('userId'));console.log("打印的pwd为:"+sessionStorage.getItem('userPwd'));

注意:

之后每次进行路由的时候都会判断登录信息,在注销的时候调用函数,;利用sessionStroage.clear()将全局信息清楚。防止注销之后路由拦截失效

vue vue-router实现路由拦截功能相关推荐

  1. uniapp通过uni.addInterceptor实现路由拦截功能

    扒了插件市场的uni-start,抽出来的简单的路由拦截功能. 项目结构 |--|-- App.vue|-- index.html|-- main.js|-- manifest.json|-- pag ...

  2. 四十三、在Vue使用router,路由的管理

    @Author:Runsen @Date:2020/7/17 管理路由是一项必不可少的功能.今天,Runsen学习Vue Router. 文章目录 安装Vue Router Vue Router使用 ...

  3. 2020用vue实现仿美团导航切换功能和淘宝购物车功能,实现默认第一个导航显示效果?

    总结:之前一直未写过同时实现跳转当前页面和跳转新页面的项目,要么是当前,要么是新页面,今天更新一个两个同时实现的项目. :相信很多人都遇到过router-link通过to跳转页面有时候会不显示内容的b ...

  4. react实现路由跳转拦截功能(导航守卫)

    react实现路由跳转拦截功能(导航守卫) 背景 方法1:通过Prompt组件实现react路由跳转拦截功能 Prompt组件介绍 Prompt组件示例 自定义Prompt组件的提示弹窗 方法2:通过 ...

  5. Vue+axios(interceptors) 实现http拦截 + router路由拦截 (双拦截)+ 请求自带loading效果...

    axios interceptors 拦截器 //interceptors.js// vue axios配置 发起请求加载loading请求结束关闭loading // http request 请求 ...

  6. Vue Router路由常用功能总结

    Vue Router路由常用功能总结 一.前言 二.安装 1. vueCLI安装 2. npm安装 三.路由配置及使用: 1. 基本配置: 2. 动态路由: 3. 嵌套路由: 四.编程式的导航 五.重 ...

  7. vue 定义全局弹框_VUE路由拦截:Vue自定义全局弹窗组件

    前言 在任何一个平台中,如果需要增加用户黏度,除了用户需要的基本内容外,用户登录注册提交信息也是非常重要的一环,可以了解用户基本信息,用户喜欢等. 抛出前后端混合开发外,vue可以轻松的实现路由拦截. ...

  8. VUE 路径拦截, 开放页面, 基于动态路由, 拦截器

    vue 动态路由参考 https://router.vuejs.org/zh/guide/essentials/dynamic-matching.html main.js 只会加载一次, 我们在mia ...

  9. Vue.js-Day05【安装路由(vue-router)、如何使用vue-router、404配置、激活class、动态路由、编程式导航、路由嵌套、路由元信息、导航拦截】

    Vue.js实训[基础理论(5天)+项目实战(5天)]博客汇总表[详细笔记] 目   录 1.单页面应用 1.1.多页面应用 1.2.单页面应用 1.3.vue-router 2.安装vue-rout ...

最新文章

  1. 计算掩码、网络地址(最小主机地址,最高主机地址)、广播地址、IP地址范围、主机号...
  2. MySQL Transaction--快照读和当前读
  3. 从门禁系统的使用体验看良好的交互设计原则
  4. 聊聊flink的Tumbling Window
  5. 六十三、栈在括号匹配和表达式求值中的应用
  6. Hologres揭秘:优化COPY,批量导入性能提升5倍+
  7. mysql快捷创建数据库_mysql数据库快速入门(1)
  8. iis7+php7.1配置,IIS7.X配置PHP运行环境小结
  9. .NET Core 下使用 Kafka
  10. 第九集 生死穿越风火山,感受尘世间轮回
  11. 20191019:(leetcode习题)第K个语法符号
  12. 机器视觉算法包halcon介绍
  13. 自学考c语言计算机二级会,2级c语言(全国c语言二级考试题库)
  14. 数据库管理系统的概念及数据库管理系统的基本功能
  15. 现代数字图像处理技术提高及应用案例详解
  16. 抖音SEO,抖音排名优化,抖音排名规则
  17. ECDSA私钥der格式
  18. Android 热点开启流程
  19. 视频教程-Scratch趣味编程课堂-L1-其他
  20. Android端记录跑步运动轨迹数据的App

热门文章

  1. C4D R19学习之 001界面认识
  2. WEGAME更新游戏显示连接服务器失败,wegame更新失败怎么办?腾讯wegame更新失败的解决方法...
  3. java 基础 api
  4. Linux下通过shell脚本创建账户
  5. 领峰:贵金属平台哪个靠谱根据这几点来判断
  6. lenovo thinkpad L460 安装Win7阐述
  7. AWS服务器申请及部署(一年免费版)
  8. 倒计时定时器(爆炸定时器)、间隔定时器、通过点击按钮停止定时器、异步执行问题
  9. 又要发送1000万元DC|EP,数字人民币的这一年的“高光时刻”
  10. c语言李白喝酒答案,趣題C解(1)--李白喝酒問題