4 changed files with 960 additions and 1005 deletions
File diff suppressed because it is too large
@ -1,220 +1,219 @@ |
|||
import Vue from 'vue' |
|||
import axios from 'axios' |
|||
import qs from 'qs' |
|||
import md5 from 'js-md5'; |
|||
import constant from './constant.js'; |
|||
|
|||
let baseURL = ''; |
|||
let key = ''; |
|||
// #ifdef H5
|
|||
baseURL = constant.H5 |
|||
key = constant.H5_KEY |
|||
// #endif
|
|||
// #ifdef APP-PLUS
|
|||
baseURL = constant.APP |
|||
key = constant.APP_KEY |
|||
// #endif
|
|||
const service = axios.create({ |
|||
withCredentials: true, |
|||
crossDomain: true, |
|||
baseURL, |
|||
timeout: 160000 |
|||
}) |
|||
|
|||
// request拦截器,在请求之前做一些处理
|
|||
service.interceptors.request.use( |
|||
config => { |
|||
// console.log('showDialog' + Vue.prototype.$showDialog)
|
|||
if (Vue.prototype.$showDialog) { |
|||
uni.showLoading({ |
|||
title: 'loading', |
|||
mask: true |
|||
}) |
|||
} |
|||
const ticket = uni.getStorageSync('ticket') |
|||
let dataStr = []; |
|||
if (config.method == 'get') { |
|||
if (config.url.split('?').length > 1) { |
|||
dataStr = config.url.split('?')[1].split('&'); |
|||
} |
|||
|
|||
} |
|||
import Vue from 'vue' |
|||
import axios from 'axios' |
|||
import qs from 'qs' |
|||
import md5 from 'js-md5'; |
|||
import constant from './constant.js'; |
|||
|
|||
let baseURL = ''; |
|||
let key = ''; |
|||
// #ifdef H5
|
|||
baseURL = constant.H5 |
|||
key = constant.H5_KEY |
|||
// #endif
|
|||
// #ifdef APP-PLUS
|
|||
baseURL = constant.APP |
|||
key = constant.APP_KEY |
|||
// #endif
|
|||
const service = axios.create({ |
|||
withCredentials: true, |
|||
crossDomain: true, |
|||
baseURL: constant.BASE_URL, |
|||
timeout: 160000 |
|||
}) |
|||
console.log(constant.BASE_URL) |
|||
|
|||
// request拦截器,在请求之前做一些处理
|
|||
service.interceptors.request.use( |
|||
config => { |
|||
const language = uni.getStorageSync("language") || 'en_US'; |
|||
console.log('语言', uni.getStorageSync('language')) |
|||
if (constant.SHOW_DIALOG) { |
|||
uni.showLoading({ |
|||
title: 'loading', |
|||
mask: true |
|||
}) |
|||
} |
|||
if (config.url.indexOf('market') > -1) { |
|||
config.baseURL = Vue.prototype.MARKET_URL; |
|||
} |
|||
const ticket = uni.getStorageSync('ticket') |
|||
if (ticket != '') { |
|||
config.data['ticket'] = ticket |
|||
} |
|||
if (Vue.prototype.$showDialog) { |
|||
uni.showLoading({ |
|||
title: 'loading', |
|||
mask: true |
|||
}) |
|||
} |
|||
// if (store.state.token) {
|
|||
// // 给请求头添加user-token
|
|||
// config.headers["user-token"] = store.state.token;
|
|||
// }
|
|||
//const ticket = Vue.prototype.$store.state.ticket
|
|||
|
|||
|
|||
let dataStr = []; |
|||
if (config.method == 'get') { |
|||
|
|||
if (config.url.split('?').length > 1) { |
|||
dataStr = config.url.split('?')[1].split('&'); |
|||
} |
|||
|
|||
} |
|||
|
|||
if (config.method == 'post') { |
|||
dataStr = qs.stringify(config.data).split('&'); |
|||
// dataStr = JSON.stringify(config.data);
|
|||
// dataStr = config.data;
|
|||
|
|||
// dataStr = config.data.name;
|
|||
|
|||
} |
|||
config.data = {}; |
|||
dataStr.forEach(function (e) { |
|||
console.log(e, 666666) |
|||
config.data[e.split('=')[0]] = e.split('=')[1]; |
|||
}); |
|||
// console.log(ticket)
|
|||
if (ticket != '') { |
|||
config.data['ticket'] = ticket |
|||
} |
|||
var keys = []; |
|||
let sign = ''; |
|||
for (var k in config.data) |
|||
keys.push(k); |
|||
keys.sort(function (a, b) { |
|||
return a < b ? -1 : 1; |
|||
}) |
|||
// console.log("keys===========");
|
|||
keys.forEach(function (e) { |
|||
if (config.data[e] || config.data[e] == '') { |
|||
sign += e + '=' + config.data[e] + '&' |
|||
} |
|||
|
|||
}); |
|||
|
|||
// console.log("签名参数===========");
|
|||
// console.log(config.url);
|
|||
// console.log(sign + key);
|
|||
sign = md5(sign + key); |
|||
// console.log("提交参数===========");
|
|||
// console.log(qs.stringify(config.data));
|
|||
if (config.method == 'post') { |
|||
// console.log(config.data,666666)
|
|||
config.data['sign'] = sign |
|||
config.data = qs.stringify(config.data) |
|||
// config.data = config.data.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");
|
|||
// if(config.url == ){
|
|||
|
|||
// #ifdef H5
|
|||
if (config.url == '/api/index/goodsList') { |
|||
config.data = config.data.replaceAll('20', ""); |
|||
config.data = config.data.replaceAll('26', ""); |
|||
config.data = config.data.replaceAll('2F', "/"); |
|||
config.data = config.data.replaceAll('28', ""); |
|||
config.data = config.data.replaceAll('29', ""); |
|||
// config.data = config.data.replaceAll('%C2%AE', "®");
|
|||
} |
|||
// #endif
|
|||
// #ifdef APP-PLUS
|
|||
if (config.url == '/api/index/goodsList') { |
|||
config.data = config.data.replace(new RegExp('20', "gm"), ""); |
|||
config.data = config.data.replace(new RegExp('26', "gm"), ""); |
|||
config.data = config.data.replace(new RegExp('2F', "gm"), "/"); |
|||
config.data = config.data.replace(new RegExp('28', "gm"), ""); |
|||
config.data = config.data.replace(new RegExp('29', "gm"), ""); |
|||
// config.data = config.data.replaceAll('%C2%AE', "®");
|
|||
} |
|||
// #endif
|
|||
|
|||
|
|||
// config.data = config.data.replaceAll('2528',"(");
|
|||
// config.data = config.data.replaceAll('2529',")");
|
|||
// config.data = config.data.replaceAll('252',"%2F");
|
|||
|
|||
// }
|
|||
|
|||
} |
|||
if (config.method == 'get') { |
|||
if (ticket != '') { |
|||
config.url = config.url + '&ticket=' + ticket + '&sign=' + sign |
|||
} else { |
|||
config.url = config.url + '?sign=' + sign |
|||
} |
|||
} |
|||
// console.log(config)
|
|||
return config; |
|||
}, |
|||
error => { |
|||
// console.log(error); // for debug
|
|||
return Promise.reject(error); |
|||
} |
|||
); |
|||
|
|||
//配置成功后的拦截器
|
|||
service.interceptors.response.use(res => { |
|||
console.log('过期了吗') |
|||
uni.hideLoading() |
|||
// console.log(res)
|
|||
// console.log(res.data)
|
|||
// console.log(res.data.data[0].nameAlias)
|
|||
if (res.data.success || res.data.errCode === 'USER.0017') { |
|||
// console.log(res.data.success)
|
|||
return res.data |
|||
} else { |
|||
uni.showToast({ |
|||
title: res.data.errMsg, |
|||
icon: 'none', |
|||
duration: 1500 |
|||
}) |
|||
if (res.data.errCode === 'USER.0010') { |
|||
|
|||
uni.removeStorage({ |
|||
key: 'logInfo', |
|||
success: function (res) { |
|||
uni.reLaunch({ url: '/pages/login/index' }) |
|||
}, |
|||
fail: (err) => { |
|||
} |
|||
}); |
|||
|
|||
|
|||
// #ifdef H5
|
|||
var url = location.href; |
|||
if (url.indexOf('pages') > -1) { |
|||
uni.setStorage({ |
|||
key: 'url', |
|||
data: url, |
|||
success: function () { |
|||
console.log('success') |
|||
} |
|||
}); |
|||
} else { |
|||
uni.removeStorageSync('url') |
|||
} |
|||
// #endif
|
|||
|
|||
|
|||
} |
|||
uni.$emit('refreshQrCode') |
|||
return Promise.reject(res.data.errMsg); |
|||
} |
|||
}, error => { |
|||
return Promise.reject(error) |
|||
}) |
|||
|
|||
|
|||
axios.defaults.adapter = function (config) { //自己定义个适配器,用来适配uniapp的语法
|
|||
return new Promise((resolve, reject) => { |
|||
// console.log(config)
|
|||
var settle = require('axios/lib/core/settle'); |
|||
var buildURL = require('axios/lib/helpers/buildURL'); |
|||
uni.request({ |
|||
method: config.method.toUpperCase(), |
|||
url: config.baseURL + buildURL(config.url, config.params, config.paramsSerializer), |
|||
header: config.headers, |
|||
data: config.data, |
|||
dataType: config.dataType, |
|||
responseType: config.responseType, |
|||
sslVerify: config.sslVerify, |
|||
complete: function complete(response) { |
|||
//console.log("执行完成:",config.baseURL + buildURL(config.url, config.params, config.paramsSerializer),response.data)
|
|||
response = { |
|||
data: response.data, |
|||
status: response.statusCode, |
|||
errMsg: response.errMsg, |
|||
header: response.header, |
|||
config: config |
|||
}; |
|||
|
|||
settle(resolve, reject, response); |
|||
}, |
|||
fail: res => { |
|||
uni.showToast({ |
|||
title: res, |
|||
icon: 'none', |
|||
duration: 1500 |
|||
}) |
|||
} |
|||
}) |
|||
}) |
|||
} |
|||
console.log(config.data) |
|||
dataStr = config.data.split('&'); |
|||
|
|||
|
|||
|
|||
} |
|||
//console.log(config.url,111111,config.data,dataStr)
|
|||
config.data = {}; |
|||
|
|||
dataStr.forEach(function(e) { |
|||
config.data[e.split('=')[0]] = e.split('=')[1]; |
|||
}); |
|||
|
|||
|
|||
var keys = []; |
|||
let sign = ''; |
|||
|
|||
var t = Date.now() - 2901; |
|||
// config.headers["timestamp"] = t;
|
|||
// config.data["timestamp"] = t
|
|||
|
|||
for (var k in config.data) |
|||
keys.push(k); |
|||
keys.sort(function(a, b) { |
|||
return a < b ? -1 : 1; |
|||
}) |
|||
|
|||
|
|||
//console.log("keys===========",keys);
|
|||
|
|||
|
|||
keys.forEach(function(e) { |
|||
|
|||
if (config.data[e] || config.data[e] == '') { |
|||
sign += e + '=' + config.data[e] + '&' |
|||
} |
|||
|
|||
}); |
|||
|
|||
|
|||
key = "key=" + constant.KEY; |
|||
sign = md5(sign + key); |
|||
config.data['timestamp'] = null |
|||
if (config.method == 'post') { |
|||
config.data['sign'] = sign |
|||
|
|||
config.data = qs.stringify(config.data).replace("timestamp=&", "") |
|||
|
|||
|
|||
} |
|||
if (config.method == 'get') { |
|||
|
|||
config.url = config.url + '&sign=' + sign |
|||
} |
|||
|
|||
return config; |
|||
}, |
|||
error => { |
|||
// console.log(error); // for debug
|
|||
uni.hideLoading(); |
|||
return Promise.reject(error); |
|||
} |
|||
); |
|||
|
|||
//配置成功后的拦截器
|
|||
service.interceptors.response.use(res => { |
|||
console.log('过期了吗', res) |
|||
uni.hideLoading() |
|||
// console.log(res)
|
|||
// console.log(res.data)
|
|||
// console.log(res.data.data[0].nameAlias)
|
|||
if (res.data.success || res.data.errCode === 'USER.0017') { |
|||
// console.log(res.data.success)
|
|||
return res.data |
|||
} else { |
|||
uni.showToast({ |
|||
title: res.data.errMsg, |
|||
icon: 'none', |
|||
duration: 1500 |
|||
}) |
|||
if (res.data.errCode === 'USER.0010') { |
|||
|
|||
uni.removeStorage({ |
|||
key: 'logInfo', |
|||
success: function(res) { |
|||
uni.reLaunch({ |
|||
url: '/pages/login/index' |
|||
}) |
|||
}, |
|||
fail: (err) => {} |
|||
}); |
|||
|
|||
|
|||
// #ifdef H5
|
|||
var url = location.href; |
|||
if (url.indexOf('pages') > -1) { |
|||
uni.setStorage({ |
|||
key: 'url', |
|||
data: url, |
|||
success: function() { |
|||
console.log('success') |
|||
} |
|||
}); |
|||
} else { |
|||
uni.removeStorageSync('url') |
|||
} |
|||
// #endif
|
|||
|
|||
|
|||
} |
|||
uni.$emit('refreshQrCode') |
|||
return Promise.reject(res.data.errMsg); |
|||
} |
|||
}, error => { |
|||
uni.hideLoading(); |
|||
return Promise.reject(error) |
|||
}) |
|||
|
|||
|
|||
axios.defaults.adapter = function(config) { //自己定义个适配器,用来适配uniapp的语法
|
|||
return new Promise((resolve, reject) => { |
|||
// console.log(config)
|
|||
var settle = require('axios/lib/core/settle'); |
|||
var buildURL = require('axios/lib/helpers/buildURL'); |
|||
uni.request({ |
|||
method: config.method.toUpperCase(), |
|||
url: config.baseURL + buildURL(config.url, config.params, config.paramsSerializer), |
|||
header: config.headers, |
|||
data: config.data, |
|||
dataType: config.dataType, |
|||
responseType: config.responseType, |
|||
sslVerify: config.sslVerify, |
|||
complete: function complete(response) { |
|||
//console.log("执行完成:",config.baseURL + buildURL(config.url, config.params, config.paramsSerializer),response.data)
|
|||
response = { |
|||
data: response.data, |
|||
status: response.statusCode, |
|||
errMsg: response.errMsg, |
|||
header: response.header, |
|||
config: config |
|||
}; |
|||
|
|||
settle(resolve, reject, response); |
|||
}, |
|||
fail: res => { |
|||
uni.showLoading({ |
|||
title: res, |
|||
mask: true |
|||
}) |
|||
} |
|||
}) |
|||
}) |
|||
} |
|||
export default service |
|||
|
@ -1,14 +1,14 @@ |
|||
const H5 = '/start'; |
|||
const H5_KEY = 'key=PBcGdWvA7dUintx7WNOR11cOdCrEpasM'; |
|||
|
|||
const APP = 'https://api.wingold6.com'; //正式
|
|||
// const APP = 'https://apitest.luck-work.com'; //测试
|
|||
const APP_KEY = 'key=PBcGdWvA7dUintx7WNOR11cOdCrEpasM'; |
|||
const showDialog = true |
|||
const IS_TEST = true; |
|||
const BASE_URL = IS_TEST?'https://sapi.payairs.com':''; |
|||
const MARKET_URL = IS_TEST?'https://market.acefinex.com':''; |
|||
const KEY = IS_TEST?'jsabdjhfbsjndfksnjndja,sndmbstart':''; |
|||
const WSSURL = IS_TEST?'wss://market.acefinex.com/wss/':''; |
|||
const SHOW_DIALOG=true |
|||
export default { |
|||
H5, |
|||
H5_KEY, |
|||
APP, |
|||
APP_KEY, |
|||
showDialog, |
|||
IS_TEST, |
|||
BASE_URL, |
|||
MARKET_URL, |
|||
KEY, |
|||
WSSURL, |
|||
SHOW_DIALOG |
|||
} |
Loading…
Reference in new issue