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,
|
'<br>').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,
|
'<br>').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,
|
'<br>').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);
|
}
|
})
|
})
|
},
|
}
|