mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-22 00:06:45 +08:00
95 lines
3.2 KiB
JavaScript
95 lines
3.2 KiB
JavaScript
import axios from 'axios'
|
|
import { Dialog, Toast } from 'vant'
|
|
import CacheUtils from '@/assets/js/utils/cacheUtils'
|
|
import configApp from "@/config";
|
|
import AESTools from "@/assets/js/utils/cryptoJsUtil";
|
|
import MD5 from 'js-md5';
|
|
let sale = ['/sale/order/orderDetail'] //在线投保
|
|
|
|
// 卡单
|
|
let cardList = []
|
|
let whiteList = [...sale]
|
|
|
|
// 创建axios实例
|
|
const service = axios.create({
|
|
timeout: 66666666 // 请求超时时间
|
|
})
|
|
|
|
// request拦截器
|
|
service.interceptors.request.use(
|
|
config => {
|
|
let relativePath = config.url && config.url.split(configApp.API_VERSION)[1]
|
|
if (whiteList.includes(relativePath)) {
|
|
Toast.loading({
|
|
duration: 0, // 持续展示 toast
|
|
forbidClick: true, // 禁用背景点击
|
|
loadingType: 'spinner',
|
|
message: '加载中……'
|
|
})
|
|
}
|
|
/**
|
|
* 请求拦截处理(待添加 判断走统一网关处理)
|
|
*/
|
|
if(config.url && /api\/$/.test(config.url.split(configApp.API_VERSION)[0]) && configApp.API_VERSION == 'v2'){
|
|
if(!config.data || config.data == null){
|
|
config.data = {}
|
|
}
|
|
if(!!config.data && config.data != null){
|
|
let encrypt = AESTools.AESEncrypt(JSON.stringify(config.data),configApp.REQ_PWD)
|
|
config.data = {"data": encrypt }
|
|
}
|
|
}
|
|
config.headers['token'] = CacheUtils.getLocItem('token')
|
|
// 添加请时间戳
|
|
let timeStr = new Date().getTime() + '';
|
|
config.headers['timeStr'] = timeStr;
|
|
config.headers['signature'] = MD5(timeStr + CacheUtils.getLocItem('token'));
|
|
return config
|
|
},
|
|
error => {
|
|
// Do something with request error
|
|
Promise.reject(error)
|
|
}
|
|
)
|
|
|
|
// respone拦截器
|
|
service.interceptors.response.use(
|
|
response => {
|
|
console.log(response)
|
|
console.log('----------------')
|
|
let res = response.data
|
|
if( configApp.API_VERSION == 'v2' && response.config.url && response.headers['content-type'].match(/application\/json/) && /api\/$/.test(response.config.url.split(configApp.API_VERSION)[0])){
|
|
if(res.response){// 正常情況返回必有response 节点
|
|
res = JSON.parse(AESTools.AESDecrypt(res.response,configApp.REQ_PWD))
|
|
}
|
|
}
|
|
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 res.content
|
|
}
|
|
},
|
|
error => {
|
|
Toast.clear()
|
|
console.log('err' + error) // for debug
|
|
//Toast.fail(error.message)
|
|
return Promise.reject(error)
|
|
}
|
|
)
|
|
|
|
export default service
|