UNPKG

guci-date

Version:

A golden bottle of sake costs ten thousand yuan, and a jade plate costs ten thousand yuan.

53 lines (52 loc) 1.96 kB
// // 封装axios用于发请求 import axios from 'axios' import router from '@/router'; import { Message } from 'element-ui'; import apiBaseUrl from "../../config/api"; // // 创建一个新的axios实例 const request = axios.create({ baseURL: apiBaseUrl, timeout: 99999, }) // // 添加请求拦截器 request.interceptors.request.use(function (config) { config.headers["authorization"] = sessionStorage.getItem('tokenInfo') ? sessionStorage.getItem('tokenInfo') : '' // config.headers["auth"] = localStorage.getItem('tokenInfo') config.headers["Username"] = JSON.parse(window.localStorage.getItem('admin')).adminNo; // console.log(config); return config }, function (error) { console.log("请求失败"); // 对错误做处理 return Promise.reject(error) }) // 添加响应拦截器(注意:函数都有返回值) request.interceptors.response.use(function (response) { return response.data }, function (error) { // 对响应错误做点什么 普通错误 + 401情况 console.log(error) // 外面包一层error.response判断可以防止error.response为空 时内部代码报错 if (error.response) { // 请求拦截器中 判断请求中是否验证token 是否过期 如果过期就返回 -1 跳转登录界面 if (error.code === -1) { Message.error('登录已过期,请重新登录') sessionStorage.removeItem('tokenInfo'); router.push('/') } if (error.response.status === 402 || error.response.status === 403) { // 清空token 跳转到登录页 给个提示 Message.error('登录已过期,请重新登录') // 提交清除token的mutation sessionStorage.removeItem('tokenInfo'); // 跳转到登录页 router.push('/') } else { // 给个提示 Message.error(error.response.data.message) } } return Promise.reject(error) }) // 导出 export default request