import MD5 from 'js-md5' export default { common: { data: {}, header: {}, method: "GET", dataType: "json" }, request(options = {}) { options.data = options.data || this.common.data; options.header = options.header || {}; options.method = options.method || this.common.method; options.dataType = options.dataType || this.common.dataType; return new Promise((resolve, reject) => { const app = getApp() let url = options.url let sessionID = app.globalData.userdata?.session_id || "" if (sessionID) { if (url.includes("?")) { url = `${options.url}&sessionid=${encodeURI(sessionID)}` } else { url = `${options.url}?sessionid=${encodeURI(sessionID)}` } } // console.log("request:", url, options); uni.request({ url: url, data: options.data, header: options.header, method: options.method, dataType: options.dataType, success: (result) => { // console.log("result", result) if (result.statusCode != 200) { return reject({ errMsg: "访问失败,状态码:" + result.statusCode }) } if (options.raw) { return resolve(result.data); } var ret = result.data if (typeof ret == 'string') { try { try { try { ret = JSON.parse(ret.replace(/\\"/g, '"')); } catch (ex) { ret = JSON.parse(ret.replace(/\\/g, '\\\\')) } } catch (ex) { ret = JSON.parse(ret.replace(/\\"/g, "'").replace( /[\r\n]/g, '
').replace(/[\t]/g, ' ')); } } catch (ex) { console.log(ret) return reject({ errMsg: '将【json string】转换为【json object】失败' }) } } if (ret.code == '00000' || ret.err_code == 0) { resolve(ret.result); } else if (ret.code == '1102' || ret.err_code == 1102 || ret.errCode == 1102) { uni.reLaunch({ url: '/pages/loading/loading' }) } else if (ret.code == '12201' || ret.err_code == 12201 || ret.errCode == 12201) { reject({ errMsg: ret.msg || ret.err_msg || ret.errMsg || '未知错误!', errCode: 12201 }); } else { reject({ errMsg: ret.msg || ret.err_msg || ret.errMsg || '未知错误!' }); } }, fail: (err) => { console.log("fail", err) return reject(err); } }) }) }, requestGungho(options = {}) { options.data = options.data || this.common.data; options.header = options.header || {}; options.method = options.method || this.common.method; options.dataType = options.dataType || this.common.dataType; return new Promise((resolve, reject) => { const app = getApp() let url = options.url //验证信息 const token = app.globalData.userdata ? `login=${encodeURI(app.globalData.userdata.user_login)}&userName=${encodeURI(app.globalData.userdata.user_name)}&sessionId=${encodeURI(app.globalData.userdata.session_id)}` : "login=sa" if (url.includes("?")) { url = `${options.url}&${token}` } else { url = `${options.url}?${token}` } // console.log("requestGungho ",url,options) uni.request({ url: url, data: options.data, header: options.header, method: options.method, dataType: options.dataType, success: (result) => { // console.log("result", result) if (result.statusCode != 200) { return reject({ errMsg: "访问失败,状态码:" + result.statusCode }) } if (options.raw) { return resolve(result.data); } var ret = result.data if (typeof ret == 'string') { try { try { try { ret = JSON.parse(ret.replace(/\\"/g, '"')); } catch (ex) { ret = JSON.parse(ret.replace(/\\/g, '\\\\')) } } catch (ex) { ret = JSON.parse(ret.replace(/\\"/g, "'").replace( /[\r\n]/g, '
').replace(/[\t]/g, ' ')); } } catch (ex) { console.log(ret) return reject({ errMsg: '将【json string】转换为【json object】失败' }) } } if (ret.code == '00000' || ret.err_code == 0) { resolve(ret.result); } else if (ret.code == '1102' || ret.err_code == 1102 || ret.errCode == 1102) { uni.reLaunch({ url: '/pages/loading/loading' }) } else { reject({ errMsg: ret.msg || ret.err_msg || ret.errMsg }); } }, fail: (err) => { console.log("requestGungho fail", err) return reject(err); } }) }) }, /** * 服务器间授权验证,就是登录前调用接口 */ verifyRequest(options) { const time = new Date().getTime() / 1000; const appKey = "OpenInfo" const appSecret = "OpenInfoSecret" const verify = MD5(`${appKey}${appSecret}${time}`) options.data = options.data || this.common.data; options.header = { 'AppKey': appKey, 'ReqTime': `${time}`, 'ReqVerify': verify, 'content-type': 'application/json' } options.method = options.method || this.common.method; options.dataType = options.dataType || this.common.dataType; return new Promise((resolve, reject) => { uni.request({ url: options.url, data: options.data, header: options.header, method: options.method, dataType: options.dataType, success: (result) => { if (result.statusCode != 200) { return reject({ errMsg: "访问失败,状态码:" + result.statusCode }) } if (options.raw) { return resolve(result.data); } var ret = result.data if (typeof ret == 'string') { try { try { try { ret = JSON.parse(ret.replace(/\\"/g, '"')); } catch (ex) { ret = JSON.parse(ret.replace(/\\/g, '\\\\')) } } catch (ex) { ret = JSON.parse(ret.replace(/\\"/g, "'").replace( /[\r\n]/g, '
').replace(/[\t]/g, ' ')); } } catch (ex) { console.log(ret) return reject({ errMsg: '将【json string】转换为【json object】失败' }) } } if (ret.code == '00000' || ret.err_code == 0) { resolve(ret.result); } else { reject({ errMsg: ret.msg || ret.err_msg || ret.errMsg }); } }, fail: (err) => { console.log("fail", err) return reject(err); } }) }) }, }