import { appId } from "./api"; import { encryption } from "./encryption"; import { getItem, StorageKeys } from "../storage"; import { sm4Key } from "../network/api.js"; // 引入 sm-crypto 库 import { SM4Util } from '../util/sm4.js' const s4 = new SM4Util() /** * 配置信息,针对不同的平台进行配置 */ const envs = { //开发环境配置 development: { baseUrl: "http://192.168.100.63:8087/ifzt/api/interfaceMidGroundIn", }, //生产环境配置 https://testzeus.etcjz.cn/api/common/transmit/v1/send/zt production: { baseUrl: "https://testzeus.etcjz.cn/api/common/transmit/v1/send/zt", } } //https://etcfile.etcjz.cn 文件服务器 //公参 export function request(code, options = {}) { //公参 const Common = { agentId: "52010106004", channelId: "5201010200601130001", channelType: "1", staffId: "54623263cb4d4a289dccbc983b22a4af", terminalId: "999999999999", loginSource: "69af303ba2eb4608a099163f0d2a5dbd" } //Url 地址 //options.url = envs[process.env.NODE_ENV].baseUrl || '' + options.url options.url = 'http://192.168.100.63:8087/ifzt/api/interfaceMidGroundIn' // options.url = 'http://222.85.144.89:19002/ifzt/api/interfaceMidGroundIn' //判断baseUri是否为空 if (options.baseUrl) { options.url = options.baseUrl } //默认json数据格式提交 let contentType = 'application/x-www-form-urlencoded' //根据type判断数据传输格式 if (options.type && options.type === 2) { contentType = 'application/json;charset=UTF-8' } options.header = { 'content-type': contentType, 'Access-Token': getItem(StorageKeys.Token) } //默认POST提交 options.method = options.method ? options.method : 'POST' //设置请求超时时间 options.timeout = 60000 //判断code不为空 if (code) { options.data = encryption(code, Object.assign(Common, { ...options.data, 'appId': appId }), 2); } //是否显示加载中 if (options.showLoading) { wx.showLoading({ title: '请稍后', mask: true }); } //参数返回 return new Promise((resolve, reject) => { options.success = (res) => { // 请求返回后,隐藏loading(如果请求返回快的话,可能会没有loading) wx.hideLoading() if (res.data.statusCode !== 0 && res.data.statusCode !== 200) { if (res.data.statusCode == 600) { resolve(res.data) } else { wx.showModal({ title: '提示', content: res.data.errorMsg, success: function(res) { if (res.confirm) { console.log('用户点击确定'); } else if (res.cancel) { console.log('用户点击取消'); } } }); } reject(res.data.errorMsg) return } let content = s4.decryptData_CBC(res, sm4Key) content.data.bizContent = JSON.stringify(content.data.bizContent) resolve(content.data) } options.fail = (err) => { wx.hideLoading() console.log('请求错误', err) //处理请求错误 reject(err) } wx.request(options) }); }