emis-sapp/common/request.js

107 lines
2.5 KiB
JavaScript
Raw Normal View History

2024-05-31 10:42:15 +00:00
import { dealRequest, getCommonReqData } from "./manageServer"
2023-12-12 00:50:19 +00:00
import { showToast } from "./untool"
2024-05-31 10:42:15 +00:00
import { host } from "./api"
import { getSessionXToken } from "@/session"
2023-12-12 00:50:19 +00:00
2024-05-31 10:42:15 +00:00
const coreRequestBase = (url, reqParams, options = {}, methodType = "POST", coreParams = {}) => {
2024-06-21 04:59:09 +00:00
// get请求 需要转成query参
if(methodType.toLocaleLowerCase() == 'get') {
url = url + (url.indexOf('?') == -1 ? '?': '') + tansGetParamsToQuery(reqParams)
reqParams = {}
}
2024-05-31 10:42:15 +00:00
return new Promise((resolve, reject) => {
2023-12-12 00:50:19 +00:00
uni.request({
url,
data: reqParams,
header: options,
2024-05-31 10:42:15 +00:00
method: methodType,
...coreParams,
success: (res) => {
2023-12-12 00:50:19 +00:00
resolve(res)
},
2024-05-31 10:42:15 +00:00
fail: (e) => {
2023-12-12 00:50:19 +00:00
reject(e)
}
})
})
}
2024-05-31 10:42:15 +00:00
const baseParam = {}
2024-06-21 04:59:09 +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-12 00:50:19 +00:00
// 请求处理
2024-05-31 10:42:15 +00:00
let coreRequest = function(url, params = {}, options = {}, methodType, coreParams = {}) {
let comReqData = getCommonReqData()
// 统一把emo转unicode
// emoUnicode(params)
const reqParams = {
...baseParam,
...params,
}
url = `${host}${url}`
options = {
...comReqData.header,
2024-07-13 17:06:04 +00:00
...options,
2024-05-31 10:42:15 +00:00
}
return dealRequest({
def: coreRequestBase(url, reqParams, options, methodType, coreParams),
url,
param: reqParams,
coreParams,
reqHeader: options
}).then(res => {
// 解析unicode
// emoUnicode(res, 2)
return res
})
2023-12-12 00:50:19 +00:00
}
2024-09-02 09:06:25 +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 }
}
2023-12-12 00:50:19 +00:00
export {
2024-09-02 09:06:25 +00:00
coreDownloadRequest,
2024-05-31 10:42:15 +00:00
coreRequest
2023-12-12 00:50:19 +00:00
}