项目中使用axios拦截器实现异地登陆下线跳转登陆页面!

第一步:创建uilt文件夹/axios.js (名字随你取)

import axios from 'axios'
import router from '@/router/index.js'
import {Loading, Message} from 'element-ui'
const service = axios.create({
    baseURL: process.env.BASE_URL,  // api的base_url
    timeout: 8000  // 请求超时时间
});
service.interceptors.response.use(//利用axios拦截器实现拦截状态401代表重新登录
    response => {
        return response;
    },
    error => {
        if (error.response) {
            switch (error.response.status) {
                case 401:
                    // 返回 401 清除token信息并跳转到登录页面
                    Message.error("您的账号已被异地登录,或者请求有误,请重新登录!");
                    router.replace({
                        path: 'login',
                        query: {redirect: router.currentRoute.fullPath}
                    })
                    break;
                case 403:
                    Message.error("您的账号已被异地登录,或者请求有误,请重新登录!");
                    router.replace({
                        path: 'login',
                        query: {redirect: router.currentRoute.fullPath}
                    })
                    break;
            }
        }
        return Promise.reject(error.response.data)   // 返回接口返回的错误信息
    });
export default service

第二步:main.js中引入

import Vue from 'vue'
import App from '@/App'
import router from '@/router/index.js'
import store from './store'
import service from './uilt/axios.js'//引入js文件
import ElementUI from 'element-ui'
import echarts from 'echarts' //引入echarts
import 'element-ui/lib/theme-chalk/index.css'
Vue.prototype.$echarts = echarts //引入组件
Vue.config.productionTip = false
Vue.prototype.$axios = service
Vue.use(ElementUI);  
/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  store,
  components: { App },
  template: '<App/>'
})

因为我的需求只需要有限 所以并未封装完全欢迎各位大神指点指点

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值