优化二维码池筛选和日期中文化

This commit is contained in:
yml2213
2026-06-19 19:16:52 +08:00
parent f4343ed8a5
commit fcf0230e04
5 changed files with 408 additions and 35 deletions
@@ -2,6 +2,8 @@ import { apiClient } from '@/shared/api/client'
import type { ApiResponse, PaginatedResult } from '@/shared/types/types'
export type QrCodeStatus = 'unused' | 'used' | 'disabled'
export type QrCodeBooleanFilter = 'true' | 'false'
export type QrCodeExpireStatus = 'valid' | 'expired' | 'permanent' | 'expiring_soon'
export interface ChatQrCode {
id: number
@@ -34,6 +36,12 @@ export interface QrCodeOcrResult {
export interface QrCodeListQuery {
status?: QrCodeStatus
keyword?: string
wecom_renamed?: QrCodeBooleanFilter
bound?: QrCodeBooleanFilter
expire_status?: QrCodeExpireStatus
created_start?: string
created_end?: string
page?: number
limit?: number
}
@@ -63,7 +71,17 @@ export async function fetchQrCodes(query: QrCodeListQuery = {}) {
const { data } = await apiClient.get<ApiResponse<PaginatedResult<ChatQrCode>>>(
'/admin/chats/qrcodes',
{
params: { status: query.status || undefined, page: query.page || 1, limit: query.limit || 20 },
params: {
status: query.status || undefined,
keyword: query.keyword?.trim() || undefined,
wecom_renamed: query.wecom_renamed || undefined,
bound: query.bound || undefined,
expire_status: query.expire_status || undefined,
created_start: query.created_start || undefined,
created_end: query.created_end || undefined,
page: query.page || 1,
limit: query.limit || 20,
},
silent: true,
}
)