用户管理增加查找筛选

后台用户列表此前仅分页,数据量大时无法定位用户。

- 后端:List 新增 ListQuery(关键词 + 状态),抽出 applyUserFilter
  对总数与列表查询统一加筛选;关键词为纯数字时同时按用户 ID 精确匹配,
  否则按手机号/昵称模糊匹配
- 前端:AdminUsersView 新增筛选栏(关键词:手机号/昵称/用户ID,
  状态:正常/已冻结/已禁用),回车/清空/选择即查,查询重置到第 1 页

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
yml2213
2026-06-17 00:58:14 +08:00
co-authored by Claude Opus 4.8
parent e75a39b03a
commit a88008f783
6 changed files with 120 additions and 17 deletions
+12 -7
View File
@@ -22,13 +22,18 @@ export interface AdminUserItem {
updated_at: string
}
export async function fetchAdminUsers(page = 1, pageSize = 20) {
const { data } = await apiClient.get<ApiResponse<PaginatedResult<AdminUserItem>>>(
'/admin/users',
{
params: { page, page_size: pageSize },
}
)
export interface AdminUserQuery {
keyword?: string
status?: '' | UserStatus
}
export async function fetchAdminUsers(page = 1, pageSize = 20, query: AdminUserQuery = {}) {
const params: Record<string, unknown> = { page, page_size: pageSize }
if (query.keyword) params.keyword = query.keyword
if (query.status) params.status = query.status
const { data } = await apiClient.get<ApiResponse<PaginatedResult<AdminUserItem>>>('/admin/users', {
params,
})
return data.data
}