vue-router判断页面未登录自动跳转到登录页的方法示例


Posted in Javascript onNovember 04, 2018

1.定义路由的时候配置meta属性,requireAuth用来标记跳转的这个路由是否需要检测登录

下面的两个页面,登录页不需要检测,首页需要检测

const routers = [
{
   path: '/',
   component: App,
 children: [

  { 


path: '/login', 

  component: Login,
   meta: {
    title: '登录'

   }

 },

 { 


path: '/home', 

  component: Home,
   meta: {
    title: '首页',
    requireAuth: true
   }

 }

]
}
]
export default routers

2.main.js

返回遍历的某个路由对象,我们定义为record,检测这个对象是否拥有meta这个对象,如果有meta这个对象,检测meta对象是不是有requireAuth这个属性且为true

检测到需要登录权限后,我的做法是请求接口判断用户是否登录

如果未登录,跳转到登录页面;如果已经登录,确保要调用next()方法,否则钩子就不会被resolved

router.beforeEach((to, from, next) => {
 /* 页面title */
 if (to.meta.title) {
  document.title = to.meta.title
 }
 /* 判断该路由是否需要登录权限 */
 if (to.matched.some(record => record.meta.requireAuth)) {
  //是否登录
  axios.post('/home/user/isLogin')
    .then(function (response) {
      if (response.data.code == 0) {
        //未登录
        if (response.data.data.online == 0) {
          next({
            path: '/login',
          })
        } else {
          //已登录
          next()
        }
      }
    })
    .catch(function (error) {
      // Toast(error.data.msg);
    });

 }
 next();
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
前端开发的开始---基于面向对象的Ajax类
Sep 17 Javascript
读jQuery之十一 添加事件核心方法
Jul 31 Javascript
jQuery点缩略图弹出层显示大图片
Feb 13 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
Aug 26 Javascript
JS动态日期时间的获取方法
Sep 28 Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
Dec 05 Javascript
微信小程序 devtool隐藏的秘密
Jan 21 Javascript
vue实现div拖拽互换位置
Jul 29 Javascript
使用NestJS开发Node.js应用的方法
Dec 03 Javascript
javascript Canvas动态粒子连线
Jan 01 Javascript
javascript实现超好看的3D烟花特效
Jan 01 Javascript
原生jQuery实现只显示年份下拉框
Dec 24 jQuery
浅谈React碰到v-if
Nov 04 #Javascript
微信小程序实现顶部下拉菜单栏
Nov 04 #Javascript
微信小程序使用template标签实现五星评分功能
Nov 03 #Javascript
基于Vue-cli快速搭建项目的完整步骤
Nov 03 #Javascript
微信小程序实现笑脸评分功能
Nov 03 #Javascript
小程序实现五星点评效果
Nov 03 #Javascript
微信小程序实现星星评价效果
Nov 02 #Javascript
You might like
thinkphp文件引用与分支结构用法实例
2014/11/26 PHP
JS 树形递归实例代码
2010/05/18 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
动态加载脚本提升javascript性能
2014/02/24 Javascript
对JavaScript客户端应用编程的一些建议
2015/06/24 Javascript
谈谈impress.js初步理解
2015/09/09 Javascript
js实现人民币大写金额形式转换
2016/04/27 Javascript
jQuery内容筛选选择器实例代码
2017/02/06 Javascript
解析Angular 2+ 样式绑定方式
2018/01/15 Javascript
jQuery zTree搜索-关键字查询 递归无限层功能实现代码
2018/01/25 jQuery
node全局变量__dirname与__filename的区别
2019/01/14 Javascript
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python环境变量设置方法
2016/08/28 Python
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
2017/07/06 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
python dataframe 输出结果整行显示的方法
2018/06/14 Python
在python中利用opencv简单做图片比对的方法
2019/01/24 Python
学习python可以干什么
2019/02/26 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
python使用opencv resize图像不进行插值的操作
2020/07/05 Python
python获取整个网页源码的方法
2020/08/03 Python
基于django和dropzone.js实现上传文件
2020/11/24 Python
Python实现疫情地图可视化
2021/02/05 Python
thinkphp5 路由分发原理
2021/03/18 PHP
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
墨西哥皇宫度假村预订:Palace Resorts
2018/06/16 全球购物
怎样写演讲稿
2014/01/04 职场文书
展会邀请函范文
2014/01/26 职场文书
《油菜花开了》教学反思
2014/02/22 职场文书
商场周年庆活动方案
2014/08/19 职场文书
2015年城管执法工作总结
2015/07/23 职场文书
浅谈如何写好演讲稿?
2019/06/12 职场文书
毕业生就业推荐表自我鉴定
2019/06/20 职场文书
关于保护环境的建议书
2019/06/24 职场文书
SpringBoot中获取profile的方法详解
2022/04/08 Java/Android