mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-11 07:26:44 +08:00
189 lines
5.5 KiB
JavaScript
189 lines
5.5 KiB
JavaScript
import axios from 'axios'
|
|
import AESTools from '@/assets/js/utils/cryptoJsUtil'
|
|
import configApp from '@/config'
|
|
import { Dialog, Toast } from 'vant'
|
|
import CacheUtils from '@/assets/js/utils/cacheUtils'
|
|
let proposal = [
|
|
'/proposal/proposal/list',
|
|
'/proposal/proposal/toInsurance',
|
|
'/proposal/proposal/info',
|
|
'/proposal/proposal/demo',
|
|
'/proposal/proposal/saveOrUpdateProposal',
|
|
'/proposal/proposal/updateInsured',
|
|
'/proposal/file/getFile',
|
|
'/proposal/proposal/deleteProposal'
|
|
] //建议书
|
|
let sale = [
|
|
'/sale/order/orderList',
|
|
'/sale/order/saveOrUpdateOrderInfo',
|
|
'/sale/order/orderList',
|
|
'/sale/order/deleteOrderInfo',
|
|
'/sale/product/getDetail',
|
|
'/sale/order/saveOrUpdateOrderInfo',
|
|
'/sale/order/orderDetail',
|
|
'/customer/authcode/loginedSend',
|
|
'/uploadImage',
|
|
// '/customer/recognition',
|
|
'/sale/insure/underWrite',
|
|
'/sale/insure/acceptInsurance',
|
|
'/app/code/getCodeValue',
|
|
'/customer/token',
|
|
'/media/ebizSignInfo/sign',
|
|
'/sale/receiptSign/submit',
|
|
'/sale/order/orderDetail',
|
|
'/sale/record/check',
|
|
'/ppf/sign',
|
|
'/ppf/check',
|
|
'/sale/insure/selfToHuman',
|
|
'/sale/insure/orderPayStatusQuery'
|
|
] //在线投保
|
|
let agentEnter = [
|
|
'/agent/enter/share',
|
|
'/agent/enter/query',
|
|
'/agent/enter/saveOrUpdateInfo',
|
|
'/agent/enter/queryAll',
|
|
'/agent/enter/getImpart',
|
|
'/agent/agreement/query',
|
|
'/agent/agreement/signAgreement',
|
|
'/agent/enter/query',
|
|
'/agent/examineApprove/dispose' //入司增员审批
|
|
] //入司
|
|
let claims = [
|
|
`/claim/claimApply/progress`,
|
|
`/claim/claimApply/progressDetail`,
|
|
`/claim/claimReport/history`,
|
|
`/claim/claimApply/apply`,
|
|
`/edor/customer/customerList`,
|
|
`/edor/customer/customerInfo`,
|
|
`/claim/claimApply/query`,
|
|
`/claim/claimApply/delete`
|
|
]
|
|
let survey = [
|
|
//'/customer/question/getQuestionnaire', // 代理人下问卷查询 --ok
|
|
'/customer/question/getQuestion', // 问卷题库查询
|
|
'/customer/question/submit', // 问卷提交
|
|
//'/customer/question/shareSubmit', //问卷分享 --ok
|
|
//'/customer/question/getTableId', // id 查询 -- ok
|
|
'/customer/question/getAgentInfo' // 代理人详情
|
|
]
|
|
let manpower = [
|
|
'/customer/answer/queryList' //DISC性格分析
|
|
]
|
|
|
|
//保全
|
|
let preserve = [
|
|
'/edor/customer/customerList', //客户搜索
|
|
'/edor/policy/policyList', //保单列表
|
|
'/edor/edor/queryEdorList' //保全进度查询
|
|
]
|
|
|
|
let productStore = [
|
|
'/customer/shop/getShopList', //获取商城列表/详情
|
|
'/customer/shop/getShareList' //查询分享轨迹(转发记录)
|
|
]
|
|
|
|
// 卡单
|
|
let cardList = []
|
|
|
|
// 续期
|
|
let renewalManage = [
|
|
'/renewal/getRenewalList' //续期列表查询
|
|
]
|
|
|
|
let whiteList = [
|
|
'/customer/agent/getCustomersList',
|
|
...proposal,
|
|
...sale,
|
|
...agentEnter,
|
|
...claims,
|
|
...survey,
|
|
...manpower,
|
|
...productStore,
|
|
...preserve,
|
|
...renewalManage
|
|
]
|
|
|
|
// 创建axios实例
|
|
const service = axios.create({
|
|
timeout: 66666666 // 请求超时时间
|
|
})
|
|
|
|
// request拦截器
|
|
service.interceptors.request.use(
|
|
config => {
|
|
let relativePath = config.url && config.url.split('v1')[1]
|
|
console.log(config.url.split('v1')[0])
|
|
if (whiteList.includes(relativePath)) {
|
|
Toast.loading({
|
|
duration: 0, // 持续展示 toast
|
|
forbidClick: true, // 禁用背景点击
|
|
loadingType: 'spinner',
|
|
message: '加载中……'
|
|
})
|
|
}
|
|
/**
|
|
* 请求拦截处理(待添加 判断走统一网关处理)
|
|
*/
|
|
if(config.url && config.method == 'post' && /api\/$/.test(config.url.split('v1')[0])){
|
|
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)
|
|
console.log("[调用请求加密服务][请求地址:"+config.url+"][加密前报文:]",JSON.stringify(config.data))
|
|
config.data = {"data": encrypt }
|
|
console.log("[调用请求加密服务][请求地址:"+config.url+"][加密后报文:]",config.data)
|
|
}
|
|
}
|
|
config.headers['token'] = CacheUtils.getLocItem('token')
|
|
// config.headers['token'] = `f0003a753d1d492083248f723ab1b6e9`//TEST测试专用
|
|
return config
|
|
},
|
|
error => {
|
|
// Do something with request error
|
|
Promise.reject(error)
|
|
}
|
|
)
|
|
|
|
// respone拦截器
|
|
service.interceptors.response.use(
|
|
response => {
|
|
console.log(response)
|
|
let res = response.data
|
|
if(response.config.url && response.config.method == 'post' && /api\/$/.test(response.config.url.split('v1')[0])){
|
|
if(res.response){
|
|
console.log("[调用请求加密服务][请求地址:"+response.config.url+"][解密前报文:]",JSON.stringify(res.response))
|
|
res = AESTools.AESDecrypt(JSON.stringify(res.response),configApp.REQ_PWD)
|
|
console.log("[调用请求加密服务][请求地址:"+response.config.url+"][解密后报文:]",JSON.stringify(res))
|
|
}
|
|
}
|
|
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 => {
|
|
Toast.clear()
|
|
console.log('err' + error) // for debug
|
|
//Toast.fail(error.message)
|
|
return Promise.reject(error)
|
|
}
|
|
)
|
|
|
|
export default service
|