import { appId, envs } from "./api"; import { encryption } from "./encryption"; import { getItem, StorageKeys } from "../storage"; import { sm4Key } from "../network/api.js"; import { SM4Util } from '../util/sm4.js' const s4 = new SM4Util() //请求 export function request(code, options = {}) { //公参 const Common = { agentId: "52010106004", channelId: "5201010200601130001", channelType: "1", staffId: "54623263cb4d4a289dccbc983b22a4af", terminalId: "999999999999", loginSource: getItem("loginSource"), rbacSource: 'MINI_PROGRAM' } //Url 地址 /api/interfaceMidGroundIn // options.url = 'https://' + envs[process.env.NODE_ENV].baseUrl + '/api/interfaceMidGroundIn' options.url = 'http://' + envs[process.env.NODE_ENV].baseUrl + '/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) { uni.showLoading({ title: '请稍后', mask: true }); } console.log('请求参数:', options.data) //参数返回 return new Promise((resolve, reject) => { options.success = (res) => { console.log('请求成功返回参数:', res) // 请求返回后,隐藏loading(如果请求返回快的话,可能会没有loading) uni.hideLoading() if (res.data.statusCode !== 0) { if (res.data.statusCode == 600) { resolve(res.data) } else if (res.data.statusCode == 401) { uni.showModal({ title: '提示', content: res.data.errorMsg, confirmText: '去登录', showCancel: false, success: function(res) { if (res.confirm) { uni.navigateTo({ url: '/login/login', }) } } }); } else { uni.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 = res // let content = s4.decryptData_CBC(res, sm4Key) // console.log(content); // content.data.bizContent = JSON.stringify(content.data.bizContent) // console.log(content.data); resolve(content.data) } options.fail = (err) => { console.log('请求失败返回参数:', res) uni.hideLoading() console.log('请求错误', err) // if (err == 'openId无效,请核实传参!') { // setItem(StorageKeys.OpenId, openId); // } //处理请求错误 reject(err) } uni.getNetworkType({ success: function(res) { if (res.networkType == 'none') { uni.showModal({ title: '提示', content: "网络异常", success: function(res) { if (res.confirm) { console.log('用户点击确定'); } else if (res.cancel) { console.log('用户点击取消'); } } }); } else { uni.request(options) } console.log("res.networkType", res.networkType); } }); }); }