优化数组参数转化为不规范url,兼容后端接口
This commit is contained in:
parent
51e19b3266
commit
502cf3507f
26
api/utils.js
Normal file
26
api/utils.js
Normal file
|
|
@ -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)
|
||||
};
|
||||
};
|
||||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user