emis-app/common/request.js

108 lines
2.6 KiB
JavaScript
Raw Normal View History

2024-05-10 10:30:41 +00:00
import { dealRequest, getCommonReqData } from "./manageServer"
2024-04-27 12:44:15 +00:00
import { showToast } from "./untool"
import { host } from "./api"
import { getSessionXToken } from "@/session"
2024-04-27 12:44:15 +00:00
2024-05-11 05:11:46 +00:00
const coreRequestBase = (url, reqParams, options = {}, methodType = "POST", coreParams = {}) => {
2024-06-21 04:55:51 +00:00
// get请求 需要转成query参
if(methodType.toLocaleLowerCase() == 'get') {
url = url + (url.indexOf('?') == -1 ? '?': '') + tansGetParamsToQuery(reqParams)
reqParams = {}
}
2024-02-21 11:52:20 +00:00
return new Promise((resolve, reject) => {
2023-12-18 16:30:33 +00:00
uni.request({
2024-05-11 10:46:26 +00:00
url,
2023-12-18 16:30:33 +00:00
data: reqParams,
2024-05-11 10:46:26 +00:00
header: options,
method: methodType,
2024-09-18 08:05:45 +00:00
timeout: 10*60*1000, // 请求超时
2024-05-11 05:11:46 +00:00
...coreParams,
2024-02-21 11:52:20 +00:00
success: (res) => {
2023-12-18 16:30:33 +00:00
resolve(res)
},
2024-02-21 11:52:20 +00:00
fail: (e) => {
2023-12-18 16:30:33 +00:00
reject(e)
}
})
})
}
2024-05-11 10:46:26 +00:00
const baseParam = {}
2024-06-21 04:55:51 +00:00
/**
* 参数处理
* @param {*} params 参数
*/
export function tansGetParamsToQuery(params) {
let result = ''
for (const propName of Object.keys(params)) {
const value = params[propName];
var part = encodeURIComponent(propName) + "=";
if (value !== null && typeof (value) !== "undefined") {
if (typeof value === 'object') {
for (const key of Object.keys(value)) {
if (value[key] !== null && typeof (value[key]) !== 'undefined') {
let params = propName + '[' + key + ']';
var subPart = encodeURIComponent(params) + "=";
result += subPart + encodeURIComponent(value[key]) + "&";
}
}
} else {
result += part + encodeURIComponent(value) + "&";
}
}
}
return result
}
2023-12-18 16:30:33 +00:00
// 请求处理
2024-05-11 10:46:26 +00:00
let coreRequest = function(url, params = {}, options = {}, methodType, coreParams = {}) {
let comReqData = getCommonReqData()
2024-02-21 11:52:20 +00:00
// 统一把emo转unicode
// emoUnicode(params)
const reqParams = {
2024-05-11 10:46:26 +00:00
...baseParam,
2024-02-21 11:52:20 +00:00
...params,
}
2024-05-11 10:46:26 +00:00
url = `${host}${url}`
options = {
...options,
...comReqData.header,
}
return dealRequest({
def: coreRequestBase(url, reqParams, options, methodType, coreParams),
url,
param: reqParams,
coreParams,
reqHeader: options
}).then(res => {
2024-02-21 11:52:20 +00:00
// 解析unicode
// emoUnicode(res, 2)
return res
})
2023-12-18 16:30:33 +00:00
}
2024-09-18 08:05:45 +00:00
const coreDownloadRequest = (url, params = {}, options = {}, methodType = 'GET', coreParams = {})=> {
let comReqData = getCommonReqData()
// 统一把emo转unicode
// emoUnicode(params)
const reqParams = {
...baseParam,
...params,
}
url = `${host}${url}`
options = {
...comReqData.header,
...options,
}
// get请求 需要转成query参
url = url + (url.indexOf('?') == -1 ? '?': '') + tansGetParamsToQuery(reqParams)
return { url, header: options }
2024-09-02 09:14:59 +00:00
}
2024-09-18 08:05:45 +00:00
export {
2024-09-02 09:14:59 +00:00
coreDownloadRequest,
2024-03-04 05:36:23 +00:00
coreRequest
2023-12-18 16:30:33 +00:00
}