diff --git a/admin/src/api/tracker/visitors.ts b/admin/src/api/tracker/visitors.ts index c4e6fd3..7ad50ef 100644 --- a/admin/src/api/tracker/visitors.ts +++ b/admin/src/api/tracker/visitors.ts @@ -90,8 +90,31 @@ export interface VisitorListResp { page: number } -/** 访客列表(筛选参数:search/country/device_type/online/is_new/show_bot/date_from/date_to/page) */ -export const getVisitors = (params: Record) => +/** + * 访客列表筛选参数。 + * online/is_new/show_bot 是后端字符串哨兵(仅 "1" 生效,见 visitors.py `_page_visitors`)—— + * 传 boolean true 会被序列化成 "true" 而被静默忽略(假筛选),类型层面直接锁死。 + */ +export interface VisitorListParams { + page?: number + country?: string + device_type?: string + /** 仅 "1" 生效:5 分钟内有行为的在线访客 */ + online?: '1' + /** 仅 "1" 生效:今天首次到访的新访客 */ + is_new?: '1' + /** 仅 "1" 生效:包含爬虫(默认排除) */ + show_bot?: '1' + /** visitor_id / last_ip 前缀模糊匹配 */ + search?: string + /** YYYY-MM-DD(非法值后端宽松忽略) */ + date_from?: string + /** YYYY-MM-DD */ + date_to?: string +} + +/** 访客列表(筛选参数见 VisitorListParams) */ +export const getVisitors = (params: VisitorListParams) => request.get({ url: '/admin/visitors', params }) /** 访客详情(404 时后端返回 visitor_not_found) */