vue router 用户登陆功能的实例代码


Posted in Javascript onApril 24, 2019

有些路由页面需要用户登陆之后才能访问如(用户中心),如果用户没有登陆就访问这些页面的话就应该转换到登陆页面,登陆成功之后在进入该页面。

需要用到的知识点有:H5中的会话存储(sessionStorage)、vue-router路由前置操作、路由元信息(meta).

路由配置

在路由页面中添加auth字段信息用于验证当前路由页面是否需要登陆。

const router = new Router({
  mode: 'history',
  base: process.env.BASE_URL,
  routes: [
    {
      path: "/login",
      name: "login",
      component: () => import("./views/Login.vue")
    },
    {
      path: "/member",
      meta: {
        auth: true  // 用于判断当前路由是否需要登陆
      },
      component: () => import('./views/Member.vue')
    }
  ]
});

全局前置操作

// 登陆验证
const Token = "XH-TOKEN";
router.beforeEach((to, from, next) => {
  let validator = typeof to.meta.auth == "undefined" || !to.meta.auth || sessionStorage.getItem(Token);
  let result = validator ? {} : {
    name: "login",// 跳转到命名路由
    query: {
      url: to.fullPath  // 做一个来源页面,用于登陆成功之后跳转
    }
  };
  next(result);
});

注意:登陆成功之后要用 sesionStorage.setItem设置会话值

总结

以上所述是小编给大家介绍的vue router 用户登陆功能的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
asp.net+js 实现无刷新上传解析csv文件的代码
May 17 Javascript
动态加载脚本提升javascript性能
Feb 24 Javascript
jquery+css实现的红色线条横向二级菜单效果
Aug 22 Javascript
angularjs创建弹出框实现拖动效果
Aug 25 Javascript
js密码强度检测
Jan 07 Javascript
JavaScript中三种常见的排序方法
Feb 24 Javascript
angularjs封装$http为factory的方法
May 18 Javascript
详解基于node的前端项目编译时内存溢出问题
Aug 01 Javascript
基于daterangepicker日历插件使用参数注意的问题
Aug 10 Javascript
浅析vue中的MVVM实现原理
Mar 04 Javascript
vue项目中mock.js的使用及基本用法
May 22 Javascript
webpack proxy 使用(代理的使用)
Jan 10 Javascript
10个最受欢迎的 JavaScript框架(推荐)
Apr 24 #Javascript
vue.js多页面开发环境搭建过程
Apr 24 #Javascript
小程序实现订单倒计时功能
Apr 23 #Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
Apr 23 #Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
Apr 23 #Javascript
vue缓存的keepalive页面刷新数据的方法
Apr 23 #Javascript
Vue 指令实现按钮级别权限管理功能
Apr 23 #Javascript
You might like
php自动适应范围的分页代码
2008/08/05 PHP
PHP处理excel cvs表格的方法实例介绍
2013/05/13 PHP
详解PHP导入导出CSV文件
2014/11/03 PHP
php实现paypal 授权登录
2015/05/28 PHP
PHP+JS三级菜单联动菜单实现方法
2016/02/24 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
php简单处理XML数据的方法示例
2017/05/19 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
javascript中的变量是传值还是传址的?
2010/04/19 Javascript
跟我学Nodejs(三)--- Node.js模块
2014/05/25 NodeJs
js操作浏览器的参数方法
2017/01/21 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
javascript设计模式 ? 职责链模式原理与用法实例分析
2020/04/16 Javascript
基于JS实现快速读取TXT文件
2020/08/25 Javascript
vue-drawer-layout实现手势滑出菜单栏
2020/11/19 Vue.js
Python实现更改图片尺寸大小的方法(基于Pillow包)
2016/09/19 Python
python中通过预先编译正则表达式提高效率
2017/09/25 Python
python队列queue模块详解
2018/04/27 Python
通过pykafka接收Kafka消息队列的方法
2018/12/27 Python
详解Python_shutil模块
2019/03/15 Python
Django项目中使用JWT的实现代码
2019/11/04 Python
python使用opencv在Windows下调用摄像头实现解析
2019/11/26 Python
如何在mac环境中用python处理protobuf
2019/12/25 Python
Python虚拟环境库virtualenvwrapper安装及使用
2020/06/17 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
Sneaker Studio法国:购买运动鞋
2018/06/08 全球购物
JS原生实现轮播图的几种方法
2021/03/23 Javascript
求职者应聘的自我评价
2013/10/16 职场文书
自主招生自荐信指南
2014/02/04 职场文书
公务员政审个人鉴定
2014/02/25 职场文书
居委会个人对照检查材料思想汇报
2014/09/29 职场文书
违反单位工作制度检讨书
2014/10/25 职场文书
交通处罚决定书
2015/06/24 职场文书
2016年119消防宣传日活动总结
2016/04/05 职场文书
教你用python控制安卓手机
2021/05/13 Python
Win11显卡控制面板打开显卡设置方法
2022/04/20 数码科技