feat: 对接角色权限与操作日志相关接口字段
This commit is contained in:
+129
-141
@@ -1,181 +1,169 @@
|
||||
/**
|
||||
* 操作日志页假数据
|
||||
* 类型内联定义,避免循环引用。
|
||||
* 操作日志假数据
|
||||
* 对应接口:GET /admin/sys/operation/page
|
||||
*
|
||||
* 支持按 type、nickname、dateBegin/dateEnd 前端筛选,
|
||||
* 模拟后端分页行为。
|
||||
*/
|
||||
import type { SysOperationLogVO, OperationLogQueryParams, PageData } from '@/api/logs';
|
||||
|
||||
interface MockLogVO {
|
||||
opName: string;
|
||||
source: string;
|
||||
nickname: string;
|
||||
phone: string;
|
||||
tournamentName: string;
|
||||
obj: string;
|
||||
createDate: string;
|
||||
/** 操作内容详情(mock 扩展字段,API 暂无) */
|
||||
content?: string;
|
||||
}
|
||||
|
||||
const MOCK_LOGS: MockLogVO[] = [
|
||||
const MOCK_LOGS: SysOperationLogVO[] = [
|
||||
{
|
||||
opName: '删除赛事',
|
||||
source: '2',
|
||||
type: 1,
|
||||
nickname: '张三',
|
||||
phone: '12345678989',
|
||||
tournamentName: '第二十一届风林杯羽毛球大赛',
|
||||
obj: '第二十一届风林杯羽毛球大赛',
|
||||
createDate: '2026-05-26 08:00:00',
|
||||
content: '删除赛事',
|
||||
createDate: '2026-07-30 08:00:00',
|
||||
content: '下架赛事"第二十一届贝格林羽毛球大赛"',
|
||||
},
|
||||
{
|
||||
opName: '取消报名',
|
||||
source: '1',
|
||||
nickname: '',
|
||||
phone: '',
|
||||
tournamentName: '',
|
||||
obj: '张三',
|
||||
createDate: '2026-05-27 10:12:00',
|
||||
content: '选手"张三"取消报名',
|
||||
type: 2,
|
||||
nickname: '张三',
|
||||
createDate: '2026-07-30 09:30:00',
|
||||
content: '上架赛事"第二十一届贝格林羽毛球大赛"',
|
||||
},
|
||||
{
|
||||
opName: '编辑选手',
|
||||
source: '1',
|
||||
nickname: '',
|
||||
phone: '',
|
||||
tournamentName: '',
|
||||
obj: '李四',
|
||||
createDate: '2026-05-27 10:30:00',
|
||||
content: '修改姓名,修改前:李四,修改后:张三',
|
||||
type: 3,
|
||||
nickname: '李四',
|
||||
createDate: '2026-07-29 10:12:00',
|
||||
content: '禁用用户"王五(1003)"',
|
||||
},
|
||||
{
|
||||
opName: '编辑选手',
|
||||
source: '1',
|
||||
nickname: '',
|
||||
phone: '',
|
||||
tournamentName: '',
|
||||
obj: '李四',
|
||||
createDate: '2026-05-27 10:35:00',
|
||||
content:
|
||||
'修改手机号,修改前:1234567899,修改后:13425678997;修改组别,修改前:男子单打,修改后:男子双打',
|
||||
type: 4,
|
||||
nickname: '李四',
|
||||
createDate: '2026-07-29 10:20:00',
|
||||
content: '启用用户"王五(1003)"',
|
||||
},
|
||||
{
|
||||
opName: '批量生成对阵',
|
||||
source: '1',
|
||||
nickname: '',
|
||||
phone: '',
|
||||
tournamentName: '',
|
||||
obj: '男子小组A,男子小组B,男子小组C',
|
||||
createDate: '2026-05-27 11:00:00',
|
||||
content: '生成对阵',
|
||||
type: 1,
|
||||
nickname: '赵六',
|
||||
createDate: '2026-07-28 14:00:00',
|
||||
content: '下架赛事"春季马拉松大赛"',
|
||||
},
|
||||
{
|
||||
opName: '生成对阵',
|
||||
source: '1',
|
||||
nickname: '',
|
||||
phone: '',
|
||||
tournamentName: '',
|
||||
obj: '男子小组A',
|
||||
createDate: '2026-05-27 11:05:00',
|
||||
content: '生成对阵',
|
||||
type: 2,
|
||||
nickname: '赵六',
|
||||
createDate: '2026-07-28 15:00:00',
|
||||
content: '上架赛事"春季马拉松大赛"',
|
||||
},
|
||||
{
|
||||
opName: '批量删除对阵',
|
||||
source: '1',
|
||||
nickname: '',
|
||||
phone: '',
|
||||
tournamentName: '',
|
||||
obj: '男子小组A,男子小组B,男子小组C',
|
||||
createDate: '2026-05-27 11:10:00',
|
||||
content: '删除对阵',
|
||||
type: 3,
|
||||
nickname: '张三',
|
||||
createDate: '2026-07-27 09:00:00',
|
||||
content: '禁用用户"钱七(1005)"',
|
||||
},
|
||||
{
|
||||
opName: '删除对阵',
|
||||
source: '1',
|
||||
nickname: '',
|
||||
phone: '',
|
||||
tournamentName: '',
|
||||
obj: '男子小组A',
|
||||
createDate: '2026-05-27 11:15:00',
|
||||
content: '删除对阵',
|
||||
type: 4,
|
||||
nickname: '张三',
|
||||
createDate: '2026-07-27 09:15:00',
|
||||
content: '启用用户"钱七(1005)"',
|
||||
},
|
||||
{
|
||||
opName: '修改比分',
|
||||
source: '1',
|
||||
nickname: '',
|
||||
phone: '',
|
||||
tournamentName: '',
|
||||
obj: '男子小组A,张三李四,第一局',
|
||||
createDate: '2026-05-27 12:00:00',
|
||||
content: '修改前:比分"21:0",修改后:"0:21"',
|
||||
type: 1,
|
||||
nickname: '孙八',
|
||||
createDate: '2026-07-26 16:30:00',
|
||||
content: '下架赛事"夏季游泳锦标赛"',
|
||||
},
|
||||
{
|
||||
opName: '弃权',
|
||||
source: '1',
|
||||
nickname: '',
|
||||
phone: '',
|
||||
tournamentName: '',
|
||||
obj: '男子淘汰1,第一轮,张三李四',
|
||||
createDate: '2026-05-27 13:00:00',
|
||||
content: '选手"张三"弃权',
|
||||
type: 2,
|
||||
nickname: '孙八',
|
||||
createDate: '2026-07-26 17:00:00',
|
||||
content: '上架赛事"夏季游泳锦标赛"',
|
||||
},
|
||||
{
|
||||
opName: '弃权',
|
||||
source: '1',
|
||||
nickname: '',
|
||||
phone: '',
|
||||
tournamentName: '',
|
||||
obj: '男子小组A,张三李四',
|
||||
createDate: '2026-05-27 13:10:00',
|
||||
content: '双方弃权,选手"张三"、"李四"',
|
||||
type: 1,
|
||||
nickname: '李四',
|
||||
createDate: '2026-07-25 11:00:00',
|
||||
content: '下架赛事"秋季篮球邀请赛"',
|
||||
},
|
||||
{
|
||||
opName: '修改对阵',
|
||||
source: '1',
|
||||
nickname: '',
|
||||
phone: '',
|
||||
tournamentName: '',
|
||||
obj: '男子小组A,张三李四,1',
|
||||
createDate: '2026-05-27 14:00:00',
|
||||
content: '修改前:比分"21:10",修改后:比分"21:0"',
|
||||
type: 2,
|
||||
nickname: '李四',
|
||||
createDate: '2026-07-25 12:00:00',
|
||||
content: '上架赛事"秋季篮球邀请赛"',
|
||||
},
|
||||
{
|
||||
opName: '修改对阵',
|
||||
source: '1',
|
||||
nickname: '',
|
||||
phone: '',
|
||||
tournamentName: '',
|
||||
obj: '男子小组A,张三李四,双打名额,选手 场地名额',
|
||||
createDate: '2026-05-27 14:30:00',
|
||||
content:
|
||||
'修改前:比分"21:0",对局状态已完成,对阵时间:08:50-09:00,场地号:羽1,修改后:比分"0:0",对局状态为未开始,对阵时间:08:50-09:00,场地号:羽2',
|
||||
type: 3,
|
||||
nickname: '周九',
|
||||
createDate: '2026-07-24 08:30:00',
|
||||
content: '禁用用户"吴十(1008)"',
|
||||
},
|
||||
{
|
||||
opName: '修改场地',
|
||||
source: '1',
|
||||
nickname: '',
|
||||
phone: '',
|
||||
tournamentName: '',
|
||||
obj: '羽1',
|
||||
createDate: '2026-05-27 15:00:00',
|
||||
content: '修改前:羽1,修改后:羽3',
|
||||
type: 4,
|
||||
nickname: '周九',
|
||||
createDate: '2026-07-24 08:45:00',
|
||||
content: '启用用户"吴十(1008)"',
|
||||
},
|
||||
{
|
||||
opName: '修改种子',
|
||||
source: '1',
|
||||
nickname: '',
|
||||
phone: '',
|
||||
tournamentName: '',
|
||||
obj: '张某某,张三 场地名额',
|
||||
createDate: '2026-05-27 15:30:00',
|
||||
content: '修改前:1号种子,修改后:2号种子',
|
||||
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: '上架赛事"元旦全民健身跑"',
|
||||
},
|
||||
];
|
||||
|
||||
interface MockPageData<T> {
|
||||
total: number;
|
||||
list: T[];
|
||||
/** 按日期范围过滤(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): MockPageData<MockLogVO> {
|
||||
export function buildMockOperationLogPage(
|
||||
page: number,
|
||||
limit: number,
|
||||
params: OperationLogQueryParams,
|
||||
): PageData<SysOperationLogVO> {
|
||||
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;
|
||||
return { total: MOCK_LOGS.length, list: MOCK_LOGS.slice(start, start + limit) };
|
||||
const list = filtered.slice(start, start + limit);
|
||||
|
||||
return { total, list };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user