import { getToken, refreshToken } from '@/utils/auth' import errorCode from '@/utils/errorCode' import axios from 'axios' import mpAdapter from 'axios-miniprogram-adapter' axios.defaults.adapter = mpAdapter // 创建axios实例 const service = axios.create({ // axios中请求配置有baseURL选项,表示请求URL公共部分 // baseURL: process.env.VUE_APP_BASE_API, // 超时 // timeout: 10000 }) // request拦截器 service.interceptors.request.use( async config => { // 是否需要设置 token if (config.headers.isLogin) { return config } config.headers['Authorization'] = 'Bearer ' + await getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 return config }, error => { console.log(error) Promise.reject(error) } ) // 响应拦截器 service.interceptors.response.use( res => { // 未设置状态码则默认成功状态 const code = res.data.code || 200; // 获取错误信息 const msg = errorCode[code] || res.data.msg || errorCode['default'] //重置Authorization时间 if (code !== 401) refreshToken() if (code === 401) { console.log('拦截器信息:' + msg) } else if (code === 500) { console.log('拦截器信息:' + msg) } else if (code === 502) { console.log('拦截器信息:' + msg) } else if (code !== 200) { console.log('拦截器信息:' + msg) } return res.data }, error => { console.log('err' + error) let { message } = error; if (message == "Network Error") { message = "后端接口连接异常"; } else if (message.includes("timeout")) { message = "系统接口请求超时"; } else if (message.includes("Request failed with status code")) { message = "系统接口" + message.substr(message.length - 3) + "异常"; } // Message({ // message: message, // type: 'error', // duration: 5 * 1000 // }) return Promise.reject(error) } ) export default service