From 502cf3507f8e27a04e4fb406eb582b3bf1a5f0d3 Mon Sep 17 00:00:00 2001 From: WindowBird <13870814+windows-bird@user.noreply.gitee.com> Date: Fri, 14 Nov 2025 11:36:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=95=B0=E7=BB=84=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E8=BD=AC=E5=8C=96=E4=B8=BA=E4=B8=8D=E8=A7=84=E8=8C=83?= =?UTF-8?q?url,=E5=85=BC=E5=AE=B9=E5=90=8E=E7=AB=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/utils.js | 26 ++++++++++++++++++++++++++ api/verify.js | 38 ++++++++------------------------------ 2 files changed, 34 insertions(+), 30 deletions(-) create mode 100644 api/utils.js diff --git a/api/utils.js b/api/utils.js new file mode 100644 index 0000000..7537fef --- /dev/null +++ b/api/utils.js @@ -0,0 +1,26 @@ +/** + * 将参数对象中的数组转换为查询字符串 + * @param {Object} params - 参数对象 + * @returns {Object} { params: 处理后的参数对象, queryString: 查询字符串 } + */ +export const convertArrayParamsToQuery = (params = {}) => { + const processedParams = { ...params }; + let queryString = ''; + + Object.keys(processedParams).forEach(key => { + if (Array.isArray(processedParams[key])) { + const arrayValue = processedParams[key]; + // 为数组中的每个元素添加查询参数 + arrayValue.forEach(item => { + queryString += `&${key}=${encodeURIComponent(item)}`; + }); + // 从参数对象中删除数组 + delete processedParams[key]; + } + }); + + return { + params: processedParams, + queryString: queryString.slice(1) + }; +}; \ No newline at end of file diff --git a/api/verify.js b/api/verify.js index ac72e90..7dfb94b 100644 --- a/api/verify.js +++ b/api/verify.js @@ -1,37 +1,15 @@ +import {convertArrayParamsToQuery} from "@/api/utils"; // 审批相关 API export const getVerifyList = (params = {}) => { - // 处理 createTimeList 参数,如果是数组则转换为重复参数格式 - const processedParams = { ...params }; + // 使用通用函数处理数组参数 + const { params: processedParams, queryString } = convertArrayParamsToQuery(params); - if (Array.isArray(processedParams.createTimeList)) { - const tempList = processedParams.createTimeList; + // 构建请求 URL(去掉查询字符串开头的 &) + const url = queryString + ? `/bst/verify/list?${queryString}` + : '/bst/verify/list'; - // 删除原来的 createTimeList,因为我们要手动处理 - delete processedParams.createTimeList; - - // 构建查询字符串 - let queryString = ''; - tempList.forEach(date => { - queryString += `&createTimeList=${encodeURIComponent(date)}`; - }); - - return uni.$uv.http.get(`/bst/verify/list?${queryString}`, { - params: { - pageNum: 1, - pageSize: 20, - orderByColumn: 'createTime', - isAsc: 'descending', - bstType: 'UPDATE_TASK', - ...processedParams - }, - custom: { - auth: true - } - }); - } - - // 如果不是数组,正常处理 - return uni.$uv.http.get('/bst/verify/list', { + return uni.$uv.http.get(url, { params: { pageNum: 1, pageSize: 20,