mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-30 06:16:37 +08:00
bfd9de69af
Axios 默认序列化为 hosts[]=,Gin QueryArray("hosts") 读不到导致筛选失效;
后端兼容 hosts/hosts[],前端改为重复键序列化。
23 lines
710 B
TypeScript
23 lines
710 B
TypeScript
/**
|
|
* Serialize query params for Gin-compatible repeated array keys.
|
|
* Axios default uses hosts[]= which Gin QueryArray("hosts") ignores.
|
|
*/
|
|
export function serializeSearchParams(
|
|
params?: Record<string, unknown>,
|
|
): string {
|
|
if (!params) return '';
|
|
const search = new URLSearchParams();
|
|
for (const [key, value] of Object.entries(params)) {
|
|
if (value === undefined || value === null || value === '') continue;
|
|
if (Array.isArray(value)) {
|
|
for (const item of value) {
|
|
if (item === undefined || item === null || item === '') continue;
|
|
search.append(key, String(item));
|
|
}
|
|
continue;
|
|
}
|
|
search.append(key, String(value));
|
|
}
|
|
return search.toString();
|
|
}
|