Files
ebiz-h5/src/assets/js/utils/request.js
邓晓坤 ff8a261f79 提交
2019-09-12 16:22:38 +08:00

66 lines
1.7 KiB
JavaScript

import axios from 'axios'
import { Dialog, Toast } from 'vant'
let whiteList = ['/sale/order/orderList', '/proposal/proposal/list']
// 创建axios实例
const service = axios.create({
timeout: 66666666 // 请求超时时间
})
// request拦截器
service.interceptors.request.use(
config => {
let relativePath = config.url && config.url.split('v1')[1]
if (whiteList.includes(relativePath)) {
Toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
}
// config.headers['token'] = window.localStorage.getItem('token')
config.headers['token'] = '3692d9e914f34383a0a57cbf5c2de929'
// 873c5f2248b44789a9ebbe4262cac8e5
return config
},
error => {
// Do something with request error
Promise.reject(error)
}
)
// respone拦截器
service.interceptors.response.use(
response => {
const res = response.data
Toast.clear()
if (res.code != 0) {
if (res.code == 10001 || res.code == 10002) {
Dialog.confirm({
confirmButtonText: '重新登录',
message: '你已被登出,可以取消继续留在该页面,或者重新登录'
}).then(() => {
//eslint-disable-next-line
EWebBridge.webCallAppInJs('bridge', {
flag: 'login'
})
})
} else {
//Toast.fail(res.msg)
}
return Promise.reject(res)
} else {
return response.data.content
}
},
error => {
console.log('err' + error) // for debug
//Toast.fail(error.message)
return Promise.reject(error)
}
)
export default service