import { dealRequest, getCommonReqData } from "./manageServer" import { showToast } from "./untool" import { host } from "./api" import { getSessionXToken } from "@/session" const coreRequestBase = (url, reqParams, options = {}, methodType = "POST", coreParams = {}) => { // get请求 需要转成query参 if(methodType.toLocaleLowerCase() == 'get') { url = url + (url.indexOf('?') == -1 ? '?': '') + tansGetParamsToQuery(reqParams) reqParams = {} } return new Promise((resolve, reject) => { uni.request({ url, data: reqParams, header: options, method: methodType, timeout: 10*60*1000, // 请求超时 ...coreParams, success: (res) => { resolve(res) }, fail: (e) => { reject(e) } }) }) } const baseParam = {} /** * 参数处理 * @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 } // 请求处理 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, ...options, } return dealRequest({ def: coreRequestBase(url, reqParams, options, methodType, coreParams), url, param: reqParams, coreParams, reqHeader: options }).then(res => { // 解析unicode // emoUnicode(res, 2) return res }) } 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 } } export { coreDownloadRequest, coreRequest }