vue+axios完美实现前端路由拦截

Posted ymoonwind

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue+axios完美实现前端路由拦截相关的知识,希望对你有一定的参考价值。

一、路由拦截

1.首先在router的index.js里配置一个自定义字段requireAuth,用该字段来判断进入该路由是否需要登录。如果已经登陆则进入该路由,反之则进入登录页面。

如图是路由配置:

技术图片

2.在main.js里面利用vue-router的beforeEach钩子函数对路由进行判断。

实例代码如下所示:

技术图片

解释下这段代码,当我们在登录的时候,利用sessionStorage保存了用户的token值,如果我们进入某一个需要登录的路由并且能够拿到token值的话,则可以直接next();反之进入登录页选择登录。

当然还有一种情况,那就是用户并非主动退出登录,而是token自动失效。此时token值依然保存在本地,需要用户重新登录。这时候就需要结合 http 拦截器 + 后端接口返回的http 状态码来判断。

二、拦截器

当返回401状态码,用户则需要重新登录。

技术图片

 

以上是关于vue+axios完美实现前端路由拦截的主要内容,如果未能解决你的问题,请参考以下文章

vue+axios 前端实现登录拦截(路由拦截http拦截)

vue+axios 前端实现登录拦截(路由拦截http拦截)

vue+axios 前端实现登录拦截

vue+axios实现http拦截及路由拦截

vue+axios实现http拦截及路由拦截

Vue+axios 实现http拦截及路由拦截