feat: 处理 ignore 干扰问题 优化文件依赖

This commit is contained in:
ZhuRui
2026-07-30 17:23:23 +08:00
parent 6b7a0fd284
commit 7606bb7d8d
10 changed files with 845 additions and 19 deletions
+27 -8
View File
@@ -1,13 +1,32 @@
/**
* 赛事操作日志假数据
*
* 类型内联,避免与 @/api/logs 循环引用。
*/
import type {
OperationLogQueryParams,
PageData,
TournamentAdminOperationPageVO,
} from '@/api/logs/types';
interface MockTournamentAdminOperationPageVO {
opName: string;
source: string;
nickname: string;
phone: string;
tournamentName: string;
obj: string;
content: string;
createDate: string;
}
const MOCK_EVENT_LOGS: TournamentAdminOperationPageVO[] = [
interface MockEventOperationLogQueryParams {
source?: string;
sourceNickname?: string;
sourcePhone?: string;
tournamentName?: string;
}
interface MockPageData<T> {
total: number;
list: T[];
}
const MOCK_EVENT_LOGS: MockTournamentAdminOperationPageVO[] = [
{
opName: '创建赛事',
source: 'PC',
@@ -33,8 +52,8 @@ const MOCK_EVENT_LOGS: TournamentAdminOperationPageVO[] = [
export function buildMockEventOperationLogPage(
page: number,
limit: number,
params: OperationLogQueryParams,
): PageData<TournamentAdminOperationPageVO> {
params: MockEventOperationLogQueryParams,
): MockPageData<MockTournamentAdminOperationPageVO> {
let filtered = [...MOCK_EVENT_LOGS];
if (params.source) {
+23 -10
View File
@@ -2,12 +2,28 @@
* 操作日志假数据
* 对应接口:GET /admin/sys/operation/page
*
* 支持按 type、nickname、dateBegin/dateEnd 前端筛选,
* 模拟后端分页行为。
* 类型内联,避免与 @/api/logs 循环引用。
*/
import type { SysOperationLogVO, OperationLogQueryParams, PageData } from '@/api/logs/types';
interface MockSysOperationLogVO {
type: number;
nickname: string;
createDate: string;
content: string;
}
const MOCK_LOGS: SysOperationLogVO[] = [
interface MockOperationLogQueryParams {
type?: string;
nickname?: string;
dateBegin?: string;
dateEnd?: string;
}
interface MockPageData<T> {
total: number;
list: T[];
}
const MOCK_LOGS: MockSysOperationLogVO[] = [
{
type: 1,
nickname: '张三',
@@ -133,7 +149,7 @@ const MOCK_LOGS: SysOperationLogVO[] = [
/** 按日期范围过滤(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
const d = dateStr.slice(0, 10);
if (begin && d < begin) return false;
if (end && d > end) return false;
return true;
@@ -142,21 +158,18 @@ function inDateRange(dateStr: string, begin?: string, end?: string): boolean {
export function buildMockOperationLogPage(
page: number,
limit: number,
params: OperationLogQueryParams,
): PageData<SysOperationLogVO> {
params: MockOperationLogQueryParams,
): MockPageData<MockSysOperationLogVO> {
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),
);