/** * 操作日志假数据 * 对应接口:GET /admin/sys/operation/page * * 支持按 type、nickname、dateBegin/dateEnd 前端筛选, * 模拟后端分页行为。 */ import type { SysOperationLogVO, OperationLogQueryParams, PageData } from '@/api/logs'; const MOCK_LOGS: SysOperationLogVO[] = [ { type: 1, nickname: '张三', createDate: '2026-07-30 08:00:00', content: '下架赛事"第二十一届贝格林羽毛球大赛"', }, { type: 2, nickname: '张三', createDate: '2026-07-30 09:30:00', content: '上架赛事"第二十一届贝格林羽毛球大赛"', }, { type: 3, nickname: '李四', createDate: '2026-07-29 10:12:00', content: '禁用用户"王五(1003)"', }, { type: 4, nickname: '李四', createDate: '2026-07-29 10:20:00', content: '启用用户"王五(1003)"', }, { type: 1, nickname: '赵六', createDate: '2026-07-28 14:00:00', content: '下架赛事"春季马拉松大赛"', }, { type: 2, nickname: '赵六', createDate: '2026-07-28 15:00:00', content: '上架赛事"春季马拉松大赛"', }, { type: 3, nickname: '张三', createDate: '2026-07-27 09:00:00', content: '禁用用户"钱七(1005)"', }, { type: 4, nickname: '张三', createDate: '2026-07-27 09:15:00', content: '启用用户"钱七(1005)"', }, { type: 1, nickname: '孙八', createDate: '2026-07-26 16:30:00', content: '下架赛事"夏季游泳锦标赛"', }, { type: 2, nickname: '孙八', createDate: '2026-07-26 17:00:00', content: '上架赛事"夏季游泳锦标赛"', }, { type: 1, nickname: '李四', createDate: '2026-07-25 11:00:00', content: '下架赛事"秋季篮球邀请赛"', }, { type: 2, nickname: '李四', createDate: '2026-07-25 12:00:00', content: '上架赛事"秋季篮球邀请赛"', }, { type: 3, nickname: '周九', createDate: '2026-07-24 08:30:00', content: '禁用用户"吴十(1008)"', }, { type: 4, nickname: '周九', createDate: '2026-07-24 08:45:00', content: '启用用户"吴十(1008)"', }, { type: 1, nickname: '张三', createDate: '2026-07-23 13:00:00', content: '下架赛事"冬季滑雪挑战赛"', }, { type: 2, nickname: '张三', createDate: '2026-07-23 14:00:00', content: '上架赛事"冬季滑雪挑战赛"', }, { type: 3, nickname: '郑十一', createDate: '2026-07-22 10:00:00', content: '禁用用户"冯十二(1012)"', }, { type: 4, nickname: '郑十一', createDate: '2026-07-22 10:10:00', content: '启用用户"冯十二(1012)"', }, { type: 1, nickname: '孙八', createDate: '2026-07-21 15:30:00', content: '下架赛事"元旦全民健身跑"', }, { type: 2, nickname: '孙八', createDate: '2026-07-21 16:00:00', content: '上架赛事"元旦全民健身跑"', }, ]; /** 按日期范围过滤(dateBegin / dateEnd 格式 yyyy-MM-dd) */ function inDateRange(dateStr: string, begin?: string, end?: string): boolean { if (!begin && !end) return true; const d = dateStr.slice(0, 10); // yyyy-MM-dd if (begin && d < begin) return false; if (end && d > end) return false; return true; } export function buildMockOperationLogPage( page: number, limit: number, params: OperationLogQueryParams, ): PageData { let filtered = [...MOCK_LOGS]; // 按操作类型筛选(API 传 '1'/'2'/'3'/'4') if (params.type) { filtered = filtered.filter((item) => item.type === Number(params.type)); } // 按操作人昵称模糊筛选 if (params.nickname) { filtered = filtered.filter((item) => item.nickname.includes(params.nickname!)); } // 按日期范围筛选 filtered = filtered.filter((item) => inDateRange(item.createDate, params.dateBegin, params.dateEnd), ); const total = filtered.length; const start = (page - 1) * limit; const list = filtered.slice(start, start + limit); return { total, list }; }