spark-common-uniapp
Version:
124 lines (115 loc) • 4.25 kB
JavaScript
import jm from '@/utils/secret.js'
import dayjs from 'dayjs';
let requests = (requests_config) => {
let app = getApp()
// 定义默认参数
let default_config = {
domain_name: requests_config.domain_name || app.globalData.env.VUE_APP_DOMAIN_NAME, // 域名
base_url: requests_config.base_url || app.globalData.env.VUE_APP_BASE_URL, // 根路由
url: requests_config.url || '/', // 路由
timeout: requests_config.timeout || 3 * 20 * 3000, // 超时时长
header: requests_config.header || {
'Content-Type': 'application/json;charset=utf-8'
}, // 请求头
method: requests_config.method || 'POST', // 请求方式
data: requests_config.data || {}, // 请求数据
show_loading: requests_config.show_loading === false ? false : true, // 显示加载提示
}
// 显示加载提示
if (default_config.show_loading) {
uni.showLoading({
title: '加载中...',
mask: true
})
}
console.log(`${default_config.url}发送的数据:`, default_config.data);
let full_path =
`${default_config.domain_name + default_config.base_url + default_config.url}${app.globalData.token ? '&token=' + app.globalData.token : ''}`
let temp_url = default_config.ur;
return new Promise((resolve, reject) => {
let timestamp = dayjs().valueOf();
let source = default_config.data;
console.log('时间戳', timestamp);
let temp1 = JSON.stringify(source)
// 加密 ECflqr2Twcsi8Ysy
let JM2 = jm.encrypt(temp1, 'ECflqr2Twcsi8Ysy');
// 解密
let JM3 = jm.decrypt(JM2, 'ECflqr2Twcsi8Ysy')
// let sign = jm.get_sign(JM2, timestamp);
let md5 = jm.get_md5(JM2 + timestamp);
console.log('加密码原串', temp1);
console.log("加密码后字符串", JM2);
// console.log('验签sign:', sign);
console.log('验签md5:', md5);
console.log('加密解密后字符串', JM3)
default_config.header['timestamp'] = timestamp;
console.log('default_config.url', default_config.url);
// default_config.data= {'data':JM2}
if (default_config.data.encrypt !== 'N' && default_config.url !== '/login?app_id=1689021501669395771') {
default_config.header['Is-Encrypt'] = "TRUE";
default_config.header['sign'] = md5;
default_config.data = {
'data': JM2
}
}
uni.request({
url: full_path,
timeout: default_config.timeout,
header: default_config.header,
method: default_config.method,
data: JSON.stringify(default_config.data),
success(res) {
let resp_data = res;
console.log('resp_data', resp_data);
let resp_sign = resp_data.header.sign;
let timestamp = resp_data.header.timestamp;
let is_encrypt = resp_data.header['is-encrypt'];
console.log(`${default_config.url}返回的数据:`, res.data.data);
if (default_config.data.encrypt !== 'N' && default_config.url !== '/login?app_id=1689021501669395771') {
let resp_emp = res.data.data;
console.log('temp==', resp_emp);
let temp_temp = jm.decrypt(resp_emp, 'ECflqr2Twcsi8Ysy')
let aa = JSON.parse(temp_temp);
let b = JSON.parse(aa);
resp_data['data'] = b;
console.log('temp2222==', b);
}
// 关闭加载提示
if (default_config.show_loading) {
uni.hideLoading()
}
uni.stopPullDownRefresh()
if (resp_data.data.return_code === 0) {
resolve && resolve(resp_data.data.data);
} else if (resp_data.data.return_code === 10000) {
uni.showToast({
title: resp_data.data.return_msg,
icon: 'none',
duration: 2000
})
} else {
uni.showToast({
title: resp_data.data.return_msg,
icon: 'none',
mask: true,
duration: 2000
})
}
},
fail(err) {
console.log('errr', err);
if (default_config.show_loading) {
uni.hideLoading()
}
uni.stopPullDownRefresh()
uni.showToast({
title: full_path,
icon: 'none',
mask: true,
duration: 2000
})
}
})
});
}
export default requests