// 配置axios 使用配置好的axios发请求
// 处理js最大安全数值 在每次请求携带token 响应后获取有效数据 响应失败token失效(TODO)
// 导出一个发请求的工具函数
import axios from ‘axios’
import JSONBIGINT from ‘json-bigint’
import store from ‘@/store’
// 创建一个新的axios实例
const instance = axios.create({
// 基准地址
baseURL: ‘http://ttapi.research.itcast.cn/’,
// 转换原始数据格式
transformResponse: [(data) => {
// data 原始数据(json格式字符串)
try {
return JSONBIGINT.parse(data)
}async err => {
// 实现token失效处理
// 1. 判断是否是401状态
// 2. 如果未登录(拦截到登录页面,预留回跳功能)
// 3. token失效,发请求给后台刷新token
// 3.1 刷新成功 更新vuex中token和本地存储的token
// 3.2 刷新成功 把原本失败的请求继续发送出去
// 3.3 刷新失败 删除vuex中token和本地存储的token (拦截到登录页面,预留回跳功能)
if (err.response && err.response.status === 401) {
// 拦截登录的跳转地址配置 &#