import {Message} from 'element-ui' const Cookie = process.client ? require('js-cookie') : undefined export default function ({app, $axios, store, redirect}) { $axios.onRequest(config => { let fingerprint = store.state.fingerprint; if (fingerprint) { config.headers['fingerprint'] = fingerprint } let token = store.state.oauth?.accessToken; if (token) { // if (!(config.url.indexOf('console') > -1 || config.url.indexOf('comments') > -1)) { // } config.headers['Authorization'] = token } }) $axios.onResponse(response => { return new Promise((resolve, reject) => { //返回数据逻辑处理 比如:error_code错误处理 let message; if (typeof (response.data.data) !== 'undefined') { message = response.data.data.message } else if (typeof (response.data) !== 'undefined') { message = response.data.message } if (response.data.success) { resolve(response.data); } else { if (response.data.code === 0) { Message.error(message ? message : '服务异常') } else if (response.data.code === 401) { Cookie.remove('auth'); store.commit('setAuth', null); window.location.reload() } else if (response.data.code === 402) { Cookie.remove('auth'); store.commit('setAuth', null); window.location.reload() } else if (response.data.code === 404) { Message.error('操作失败,请稍后再试......') } else if (response.data.code === 500) { Message.error('服务器正在开小差,请稍后再试......') } else { Message.error(response.data.message); } } reject(response); }) }); $axios.onError(error => { const code = parseInt(error.response && error.response.status) if (code === 400) { redirect('/400'); } else { console.log(error.data); } }) }