这篇文章主要为大家详细介绍了vue-resource请求实现http登录拦截或者路由拦截的方法,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!
本文介绍了vue-resource请求实现http登录拦截或者路由拦截的方法,分享给大家,具体如下:
项目需求
【图片暂缺】
以上是登录超时,登录弹窗框自动弹出来
代码片段
路由文件
代码如下:
export default [
{
name: 'root',
path: '',
component: function (resolve) {
require(['你的vue文件路径地址'], resolve);
},
children: [
{
name: 'applicationLayout',
path: '/app/applicationLayout/:appId',
component: function (resolve) {
require(['你的vue文件路径地址'], resolve);
},
meta: {
requireAuth: true, // 需要登录才能进入的页面可以增加一个meta属性
}
}
]
]
main.js 入口文件中加入以下代码
代码如下:
const UNAUTHORIZED_CODE = 401;
router.beforeEach((to, from, next) => {
if (to.meta.requireAuth) {
if (storage.get('platformUser')) {
store.dispatch('loginUser', JSON.parse(storage.get('platformUser'))); //将用户信息存储到vuex中,供全局使用
next();
} else {
store.dispatch('initLoginModal', {state: true}); //显示登录弹窗
next();
}
} else {
next();
}
});
//拦截http请求中返回401状态码,并针对其显示登录弹窗
Vue.http.interceptors.push((request, next) => {
next((response) => {
if (response.body.status === UNAUTHORIZED_CODE) { //与后台约定登录失效的返回码
store.dispatch('initLoginModal', {state: true}); //显示登录弹窗
store.dispatch('removeUser'); //移出浏览器中存储的用户信息
}
return response;
});
});
以上便能实现登录之前针对某些特定路由的拦截,和后台接口授权失效时前端业务逻辑操作处理, 整篇文章仅作知识点积累,如有不妥之处,请多多包涵。希望对大家的学习有所帮助,也希望大家多多支持四海网。
本文来自:http://www.q1010.com/184/5249-0.html
注:关于vue-resource请求实现http登录拦截或者路由拦截的方法的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:vue.js
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。