axios拦截
来源:互联网 发布:苹果壁纸软件下载 编辑:程序博客网 时间:2024/06/17 05:52
之前写了一篇axios的增删改查 现在在这个基础上添加一下axios拦截
之前做登陆的时候,我都是将用户名和密码存储在cookie里面,登出的时候,再清除cookie,现在有了axios,可以直接判断在当前页面,增加一个meta属性,属性为true,即已登录,为false,则跳转到其他页面。
首先在路由的js页面,分配路径,然后给user页面一个meta属性 requireAuth
在判断是否登录 没有则跳转到login页面
import Vue from 'vue'import Router from 'vue-router'import A from '../components/A'import B from '../components/B'import C from '../components/C'import User from '../components/User'import Login from '../components/Login'Vue.use(Router)const router = new Router({ routes: [ { path: '/', redirect:'A' }, { path: '/A', name: 'A', component:A }, { path: '/B', name: 'B', component:B }, { path: '/C', name: 'C', component:C },{ path: '/Login', name: 'Login', component:Login },{ path: '/User', name: 'User', // 需要登录才能进入的页面可以增加一个meta属性 meta: { requireAuth: true }, component:User }]})// 判断是否需要登录权限 以及是否登录router.beforeEach((to, from, next) => { if (to.matched.some(res => res.meta.requireAuth)) {// 判断是否需要登录权限 if (localStorage.getItem('username')) {// 判断是否登录 next() } else {// 没登录则跳转到登录界面 next({ path: '/Login', query: {redirect: to.fullPath} }) } } else { next() }})export default router
还有就是在api.js页面,加入element的loding 和 message
import {Loading,Message} from 'element-ui' var loadingstatus// POST传参序列化axios.interceptors.request.use((config) => { loadingstatus= Loading.service({fullscreen:true}) return config}, (error) => { loadinginstatus.close() Message.error({ message:'加载超时' }) return Promise.reject(error)})// 返回状态判断axios.interceptors.response.use((res) => { loadingstatus.close() return res}, (error) => { loadingstatus.close() Message.error({ message:'加载失败' }) return Promise.reject(error)})
效果图(因为没有后台,所以只是模拟一下登录与未登录)
当屏蔽这一段meta时。user页面正常显示
当meta正常,user页面由于没有登录,所以显示login页面
阅读全文
0 0
- axios拦截
- vue+axios 登录拦截
- axios实现登录拦截
- axios拦截token
- vue开发:vue+axios实现登录拦截
- axios的拦截请求与响应
- axios拦截设置和错误处理
- axios window.open 拦截处理方法
- axios拦截设置和错误处理
- 【vue+axios】前端实现登录拦截
- Vue+axios 实现http拦截及路由拦截实例
- Axios
- axios
- axios
- axios
- Axios
- axios
- axios
- 手写的js图片上传加载工具
- C#实现复杂XML的序列化与反序列化
- iframe里面内容高度自适应
- 求一个数是否是另一个数的n次方幂、一个数是否是2的n次方幂
- js的内部类和系统函数
- axios拦截
- 字符数组
- 1108: 打印数字图形(函数专题)
- OpenGL MSAA多采样中的蒙版(stencil)使用
- PCB线宽和电流关系公式?
- ###hibernate的load()懒加载报错:LazyInitializationException: could not initialize proxy -no Session
- Android获取包名下的所有文件
- Okhttp+RecyclerView组合(可用)
- Java面试问题列表