Merge branch 'feature/GFRS-1991【待确定】APP检测结果优化-整理' into dev

# Conflicts:
#	src/assets/js/utils/request.js
This commit is contained in:
yang.huaxiang
2020-11-25 13:41:24 +08:00
3 changed files with 74 additions and 93 deletions

View File

@@ -118,105 +118,92 @@ const service = axios.create({
// request拦截器 // request拦截器
service.interceptors.request.use( service.interceptors.request.use(
async config => { config => {
let relativePath = config.url && config.url.split(configApp.API_VERSION)[1] let relativePath = config.url && config.url.split(configApp.API_VERSION)[1]
console.log(config.url.split(configApp.API_VERSION)[0]) if (whiteList.includes(relativePath)) {
if (whiteList.includes(relativePath)) { Toast.loading({
Toast.loading({ duration: 0, // 持续展示 toast
duration: 0, // 持续展示 toast forbidClick: true, // 禁用背景点击
forbidClick: true, // 禁用背景点击 loadingType: 'spinner',
loadingType: 'spinner', message: '加载中……'
message: '加载中……' })
})
}
/**
* 请求拦截处理(待添加 判断走统一网关处理)
*/
if (configApp.API_VERSION == 'v2' && config.url && /api\/$/.test(config.url.split(configApp.API_VERSION)[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 } if(config.url && /api\/$/.test(config.url.split(configApp.API_VERSION)[0]) && configApp.API_VERSION == 'v2'){
console.log('[调用请求加密服务][请求地址:' + config.url + '][加密后报文:]', config.data) 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 }
}
} }
} let token = CacheUtils.getLocItem('token')
let token = CacheUtils.getLocItem('token') /**
/** * 在HomeProduct页面获取代理人信息时, 客户端可能还未将token存储在本地
* 在HomeProduct页面获取代理人信息时, 客户端可能还未将token存储在本地 * 此时如果token为空, 调用客户端方法获取token并放入localstorage中
* 此时如果token为空, 调用客户端方法获取token并放入localstorage中 */
*/ if (relativePath === '/customer/agent/info' && !token) {
if (relativePath === '/customer/agent/info' && !token) { // 设备类型
// 设备类型 const target = device()
const target = device() // 安卓or苹果
// 安卓or苹果 if (target.isAndroid || target.isIphone) {
if (target.isAndroid || target.isIphone) { // eslint-disable-next-line no-undef
// eslint-disable-next-line no-undef const res = await EWebBridge.webCallAppInJs('getToken')
const res = await EWebBridge.webCallAppInJs('getToken') const token = JSON.parse(res).token
const token = JSON.parse(res).token CacheUtils.setLocItem('token', token)
CacheUtils.setLocItem('token', token) }
} }
config.headers['token'] = 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)
} }
config.headers['token'] = 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拦截器 // respone拦截器
service.interceptors.response.use( service.interceptors.response.use(
response => { response => {
console.log(response) let res = response.data
console.log('----------------') 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])){
let res = response.data if(res.response){// 正常情況返回必有response 节点
if ( res = JSON.parse(AESTools.AESDecrypt(res.response,configApp.REQ_PWD))
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 节点
console.log('[调用请求解密服务][请求地址:' + response.config.url + '][解密前报文:]', JSON.stringify(res.response))
res = JSON.parse(AESTools.AESDecrypt(res.response, configApp.REQ_PWD))
console.log('[调用请求解密服务][请求地址:' + response.config.url + '][解密后报文:]', res)
} }
} Toast.clear()
Toast.clear() if (res.code != 0) {
if (res.code != 0) { if (res.code == 10001 || res.code == 10002) {
if (res.code == 10001 || res.code == 10002) { Dialog.confirm({
Dialog.confirm({ confirmButtonText: '重新登录',
confirmButtonText: '重新登录', message: '你已被登出,可以取消继续留在该页面,或者重新登录'
message: '你已被登出,可以取消继续留在该页面,或者重新登录' }).then(() => {
}).then(() => { //eslint-disable-next-line
//eslint-disable-next-line EWebBridge.webCallAppInJs('bridge', {
EWebBridge.webCallAppInJs('bridge', { flag: 'login'
flag: 'login' })
}) })
}) } else {
//Toast.fail(res.msg)
}
return Promise.reject(res)
} else { } else {
//Toast.fail(res.msg) return res.content
} }
return Promise.reject(res) },
} else { error => {
return res.content Toast.clear()
console.log('err' + error) // for debug
//Toast.fail(error.message)
return Promise.reject(error)
} }
},
error => {
Toast.clear()
console.log('err' + error) // for debug
//Toast.fail(error.message)
return Promise.reject(error)
}
) )
export default service export default service

View File

@@ -19,7 +19,6 @@ const service = axios.create({
service.interceptors.request.use( service.interceptors.request.use(
config => { config => {
let relativePath = config.url && config.url.split(configApp.API_VERSION)[1] let relativePath = config.url && config.url.split(configApp.API_VERSION)[1]
console.log(config.url.split(configApp.API_VERSION)[0])
if (whiteList.includes(relativePath)) { if (whiteList.includes(relativePath)) {
Toast.loading({ Toast.loading({
duration: 0, // 持续展示 toast duration: 0, // 持续展示 toast
@@ -37,9 +36,7 @@ service.interceptors.request.use(
} }
if(!!config.data && config.data != null){ if(!!config.data && config.data != null){
let encrypt = AESTools.AESEncrypt(JSON.stringify(config.data),configApp.REQ_PWD) let encrypt = AESTools.AESEncrypt(JSON.stringify(config.data),configApp.REQ_PWD)
console.log("[调用请求加密服务][请求地址:"+config.url+"][加密前报文:]",JSON.stringify(config.data))
config.data = {"data": encrypt } config.data = {"data": encrypt }
console.log("[调用请求加密服务][请求地址:"+config.url+"][加密后报文:]",config.data)
} }
} }
config.headers['token'] = CacheUtils.getLocItem('token') config.headers['token'] = CacheUtils.getLocItem('token')
@@ -47,7 +44,6 @@ service.interceptors.request.use(
let timeStr = new Date().getTime() + ''; let timeStr = new Date().getTime() + '';
config.headers['timeStr'] = timeStr; config.headers['timeStr'] = timeStr;
config.headers['signature'] = MD5(timeStr + CacheUtils.getLocItem('token')); config.headers['signature'] = MD5(timeStr + CacheUtils.getLocItem('token'));
// config.headers['token'] = `f0003a753d1d492083248f723ab1b6e9`//TEST测试专用
return config return config
}, },
error => { error => {
@@ -64,9 +60,7 @@ service.interceptors.response.use(
let res = response.data 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( 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 节点 if(res.response){// 正常情況返回必有response 节点
console.log("[调用请求解密服务][请求地址:"+response.config.url+"][解密前报文:]",JSON.stringify(res.response))
res = JSON.parse(AESTools.AESDecrypt(res.response,configApp.REQ_PWD)) res = JSON.parse(AESTools.AESDecrypt(res.response,configApp.REQ_PWD))
console.log("[调用请求解密服务][请求地址:"+response.config.url+"][解密后报文:]",res)
} }
} }
Toast.clear() Toast.clear()

View File

@@ -35,7 +35,7 @@ switch (process.env.VUE_APP_FLAG) {
API_VERSION = 'v2' API_VERSION = 'v2'
break break
case 'prd': case 'prd':
apiDomain = 'https://iagentsales.e-guofu.com/api/v1' apiDomain = 'https://iagentsales.e-guofu.com/api/v2'
imgDomain = 'https://iagentsales-ud.e-guofu.com:8553/updown' imgDomain = 'https://iagentsales-ud.e-guofu.com:8553/updown'
assetsUrl = 'https://iagentsales-sr.e-guofu.com:8443/' assetsUrl = 'https://iagentsales-sr.e-guofu.com:8443/'
mainUrl = 'https://iagentsales.e-guofu.com' mainUrl = 'https://iagentsales.e-guofu.com'