|
@@ -1,9 +1,19 @@
|
|
|
|
|
+import Vue from 'vue'
|
|
|
import Axios from 'axios'
|
|
import Axios from 'axios'
|
|
|
import store from '@/store'
|
|
import store from '@/store'
|
|
|
-import { Toast } from 'vant'
|
|
|
|
|
import Config from 'submodule/utils/config'
|
|
import Config from 'submodule/utils/config'
|
|
|
const Base64 = require('js-base64').Base64
|
|
const Base64 = require('js-base64').Base64
|
|
|
-
|
|
|
|
|
|
|
+const message = (msg) => {
|
|
|
|
|
+ if (Vue.prototype.$toast) {
|
|
|
|
|
+ Vue.prototype.$toast(msg)
|
|
|
|
|
+ } else if (Vue.prototype.$message) {
|
|
|
|
|
+ Vue.prototype.$message({
|
|
|
|
|
+ message: msg,
|
|
|
|
|
+ type: 'error',
|
|
|
|
|
+ duration: 3 * 1000
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
const axios = Axios.create({
|
|
const axios = Axios.create({
|
|
|
timeout: 30000,
|
|
timeout: 30000,
|
|
|
baseURL: process.env.VUE_APP_BASE_URL
|
|
baseURL: process.env.VUE_APP_BASE_URL
|
|
@@ -23,8 +33,8 @@ axios.interceptors.request.use(
|
|
|
}
|
|
}
|
|
|
config.headers = headers
|
|
config.headers = headers
|
|
|
} else {
|
|
} else {
|
|
|
- config.headers.Authorization = 'Bearer ' + store.getters.mwxtoken
|
|
|
|
|
- config.headers.Identifier = store.getters.mwxidntf
|
|
|
|
|
|
|
+ config.headers.Authorization = 'Bearer ' + (store.getters.mwxtoken || store.getters.woptoken)
|
|
|
|
|
+ config.headers.Identifier = (store.getters.mwxidntf || store.getters.wopidntf)
|
|
|
}
|
|
}
|
|
|
store.getters.debug && console.log('axios.interceptors.request.use...', config)
|
|
store.getters.debug && console.log('axios.interceptors.request.use...', config)
|
|
|
|
|
|
|
@@ -40,15 +50,29 @@ axios.interceptors.response.use(
|
|
|
response => {
|
|
response => {
|
|
|
store.getters.debug && console.log('axios.interceptors.response.use...', response)
|
|
store.getters.debug && console.log('axios.interceptors.response.use...', response)
|
|
|
if (response.config.responseType === 'blob') {
|
|
if (response.config.responseType === 'blob') {
|
|
|
- return response.data
|
|
|
|
|
|
|
+ if (response.status === 200) {
|
|
|
|
|
+ return response.data
|
|
|
|
|
+ } else {
|
|
|
|
|
+ const msg = '文件导出失败!'
|
|
|
|
|
+ message(msg)
|
|
|
|
|
+ return Promise.reject(msg)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // 登录已超时,请重新登录
|
|
|
|
|
+ if (response.data.code === 2814) {
|
|
|
|
|
+ message(response.data.message)
|
|
|
|
|
+ store.dispatch('clear').then(() => {
|
|
|
|
|
+ location.reload() // 为了重新实例化vue-router对象 避免bug
|
|
|
|
|
+ })
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
if (response.data.code === 0) {
|
|
if (response.data.code === 0) {
|
|
|
if (response.config.url.includes('pay/member/upload_org_pic')) {
|
|
if (response.config.url.includes('pay/member/upload_org_pic')) {
|
|
|
- Toast(response.data.message)
|
|
|
|
|
|
|
+ message(response.data.message)
|
|
|
}
|
|
}
|
|
|
return Promise.resolve(response.data.data)
|
|
return Promise.resolve(response.data.data)
|
|
|
} else {
|
|
} else {
|
|
|
- Toast(response.data.message)
|
|
|
|
|
|
|
+ message(response.data.message)
|
|
|
return Promise.reject(response.data)
|
|
return Promise.reject(response.data)
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
@@ -71,13 +95,13 @@ axios.interceptors.response.use(
|
|
|
} else {
|
|
} else {
|
|
|
err.message = '连接服务器失败!'
|
|
err.message = '连接服务器失败!'
|
|
|
}
|
|
}
|
|
|
- Toast(err.message)
|
|
|
|
|
|
|
+ message(err.message)
|
|
|
return Promise.reject(err.message)
|
|
return Promise.reject(err.message)
|
|
|
}
|
|
}
|
|
|
)
|
|
)
|
|
|
export default (urlObj, data = {}, method = 'POST', responseType = 'json') => {
|
|
export default (urlObj, data = {}, method = 'POST', responseType = 'json') => {
|
|
|
store.commit('webapi/set', { urlObj, value: Config.enums.request.before.storeValue })
|
|
store.commit('webapi/set', { urlObj, value: Config.enums.request.before.storeValue })
|
|
|
- return axios({ url: urlObj.realUrl, method, data, responseType }).then(res => {
|
|
|
|
|
|
|
+ return axios({ url: urlObj.realUrl, method, data, responseType: urlObj.responseType || responseType }).then(res => {
|
|
|
store.commit('webapi/set', { urlObj, value: Config.enums.request.sus.storeValue })
|
|
store.commit('webapi/set', { urlObj, value: Config.enums.request.sus.storeValue })
|
|
|
return res
|
|
return res
|
|
|
}).catch(err => {
|
|
}).catch(err => {
|