| | |
| | | import pkg from '../../package' |
| | | import { trim } from './util' |
| | | import cache from '../plugins/cache' |
| | | import { Message } from 'element-ui' |
| | | |
| | | axios.defaults.headers.common['Content-Type'] = 'application/json;charset=UTF-8' |
| | | const axiosInstance = axios.create({ |
| | |
| | | |
| | | // 新建请求拦截器 |
| | | axiosInstance.interceptors.request.use(config => { |
| | | // debugger |
| | | // 参数去空格 |
| | | if (config.trim === true) { |
| | | if (config.data != null) { |
| | |
| | | config.headers['eva-platform'] = `pc-${pkg.version}` |
| | | // 设置认证头 |
| | | const authToken = Cookies.get('eva-auth-token') |
| | | |
| | | if (authToken != null) { |
| | | config.headers['eva-auth-token'] = authToken |
| | | } |
| | | // debugger |
| | | return config |
| | | }, function (error) { |
| | | return Promise.reject(error) |
| | |
| | | |
| | | // 新建响应拦截器 |
| | | axiosInstance.interceptors.response.use((response) => { |
| | | |
| | | // console.log(response.status) |
| | | // debugger |
| | | // 请求失败 |
| | | if (response.status !== 200) { |
| | |
| | | } |
| | | // 未登录 |
| | | if (response.data.code === 401) { |
| | | // window.location.href = '/#/' |
| | | // debugger |
| | | if (response.config.autoLogin !== false) { |
| | | // window.location.href = process.env.VUE_APP_ROUTER_MODE === 'history' ? '/#/login' : '/login' |
| | | window.location.href = process.env.VUE_APP_CONTEXT_PATH |
| | | // window.location.href = '/hfznzzzd_web' |
| | | location.reload() |
| | | // window.location.href = process.env.VUE_APP_ROUTER_MODE === 'history' ? '/login' : '/#/login' |
| | | } |
| | | return Promise.reject(response.data) |
| | | } |
| | | // 业务失败 |
| | | if (!response.data.success) { |
| | | return Promise.reject(response.data) |
| | | Message.error(response.data.message) |
| | | return null |
| | | } |
| | | return response.data.data |
| | | if (response.data.data) { |
| | | return response.data.data |
| | | } else { |
| | | return response.data |
| | | } |
| | | |
| | | }, function (error) { |
| | | if (error.code == null) { |
| | | return Promise.reject(new Error('服务器繁忙,请稍后再试')) |
| | |
| | | __arguments: args, |
| | | __result_promise: null, |
| | | // 开启缓存 |
| | | cache () { |
| | | cache() { |
| | | const data = this.__cacheImpl.getJSON(cacheKey) |
| | | if (data != null) { |
| | | this.__result_promise = Promise.resolve(data) |
| | |
| | | } |
| | | return this |
| | | }, |
| | | then () { |
| | | then() { |
| | | return this.__access('then', arguments) |
| | | }, |
| | | catch () { |
| | | catch() { |
| | | return this.__access('catch', arguments) |
| | | }, |
| | | finally () { |
| | | finally() { |
| | | return this.__access('finally', arguments) |
| | | }, |
| | | __access (methodName, args) { |
| | | __access(methodName, args) { |
| | | if (this.__result_promise != null) { |
| | | return this.__result_promise |
| | | } |