feat: 对接赛事列表相关接口文档 更新测试数据

This commit is contained in:
ZhuRui
2026-07-29 16:49:33 +08:00
parent bf09234c8c
commit 444b6f60a5
12 changed files with 1146 additions and 343 deletions
+12
View File
@@ -0,0 +1,12 @@
/**
* 全局假数据开关
*
* true = 所有 API 使用假数据(模拟真实网络延时 2s 后返回假数据)
* false = 走真实后端接口
*
* 对接后端接口后将此值改为 false 即可切换。
*/
export const USE_MOCK = true;
/** 模拟网络延时(毫秒) */
export const MOCK_DELAY = 850;
+39
View File
@@ -0,0 +1,39 @@
/**
* 赛事详情弹窗假数据
*
* 使用页面:`src/pages/events/list/components/EventDetailModal.tsx`
* 对应接口:`GET /manager/tm/info`
* 类型:`TournamentAdminInfoVO`
*/
import type { TournamentAdminInfoVO } from '@/api/events';
export const MOCK_EVENT_DETAIL: TournamentAdminInfoVO = {
name: '第二届全国地学羽毛球邀请赛',
startTimeBegin: '2026-05-26 08:00',
startTimeEnd: '2026-05-31 22:00',
descr:
'赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍赛事介绍。',
signupTimeBegin: '2026-05-24 08:00',
signupTimeEnd: '2026-05-26 22:00',
venueArea: '北京市 北京市 东城区',
venue: '李宁体育馆',
venueNo: '李宁体育馆',
isPublic: '1',
isRequireIdCardImg: '0',
isRequireIdCardNo: '0',
createTime: '2026-05-26 08:00',
createNickname: '张三',
signupCount: '100',
dropoutCount: '1',
dtotalLimit: '1000',
matchTotalCount: '50',
matchCount: '50',
img: 'https://picsum.photos/seed/eventcover/600/300',
notice:
'赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告赛事公告。',
categoryList: [
{ id: '1', name: '男子单打', type: '1' },
{ id: '2', name: '女子双打', type: '2' },
],
groupInfoList: ['男子小组1(循环赛)', '女子小组1(淘汰赛)'],
};
+268
View File
@@ -0,0 +1,268 @@
/**
* 赛事列表页假数据
*
* 使用页面:`src/pages/events/list/index.tsx`
* 对应接口:`GET /manager/tm/page`
* 类型:`TournamentAdminVO[]`
*/
import type { TournamentAdminVO, PageData } from '@/api/events';
export const MOCK_EVENT_LIST: TournamentAdminVO[] = [
{
id: 'EV202607010001',
name: '2026全国青少年羽毛球锦标赛暨体育文化交流大会',
startTimeBegin: '2026-08-12 09:00',
startTimeEnd: '2026-08-15 18:00',
venueArea: '广东省 深圳市 南山区',
venue: '深圳湾体育中心',
isPublic: '1',
isRequireIdCardImg: '1',
isRequireIdCardNo: '1',
createNickname: '张运营',
createPhone: '13800138001',
createTime: '2026-07-10 08:11:07',
status: '0',
signupCount: '128',
dropoutCount: '5',
rulesDescr: '一、赛事目的:推动羽毛球运动发展。\n二、参赛资格:身体健康、年龄符合要求。',
rulesDescrImg: 'https://picsum.photos/seed/rules/300/200',
rulesDescrImgList: [
'https://picsum.photos/seed/rule1/300/200',
'https://picsum.photos/seed/rule2/300/200',
],
},
{
id: 'EV202607010002',
name: '国际马拉松城市联赛',
startTimeBegin: '2026-08-12 09:00',
startTimeEnd: '2026-08-15 18:00',
venueArea: '广东省 深圳市 南山区',
venue: '深圳湾体育中心',
isPublic: '0',
isRequireIdCardImg: '0',
isRequireIdCardNo: '0',
createNickname: '李管理',
createPhone: '13900139002',
createTime: '2026-07-09 11:28:20',
status: '1',
signupCount: '256',
dropoutCount: '12',
rulesDescr: '一、赛事目的:推动马拉松运动发展。',
rulesDescrImg: 'https://picsum.photos/seed/rules/300/200',
rulesDescrImgList: ['https://picsum.photos/seed/rule1/300/200'],
},
{
id: 'EV202607010003',
name: '全民健身运动会',
startTimeBegin: '2026-08-12 09:00',
startTimeEnd: '2026-08-15 18:00',
venueArea: '广东省 深圳市 南山区',
venue: '深圳湾体育中心',
isPublic: '1',
isRequireIdCardImg: '1',
isRequireIdCardNo: '1',
createNickname: '王策划',
createPhone: '13700137003',
createTime: '2026-07-08 14:45:33',
status: '2',
signupCount: '512',
dropoutCount: '8',
rulesDescr: '一、赛事目的:促进全民健身。',
rulesDescrImg: 'https://picsum.photos/seed/rules/300/200',
rulesDescrImgList: ['https://picsum.photos/seed/rule1/300/200'],
},
{
id: 'EV202607010004',
name: '2026全国青少年羽毛球锦标赛暨体育文化交流大会',
startTimeBegin: '2026-08-12 09:00',
startTimeEnd: '2026-08-15 18:00',
venueArea: '广东省 深圳市 南山区',
venue: '深圳湾体育中心',
isPublic: '0',
isRequireIdCardImg: '0',
isRequireIdCardNo: '0',
createNickname: '赵赛事',
createPhone: '13600136004',
createTime: '2026-07-07 18:02:46',
status: '3',
signupCount: '64',
dropoutCount: '3',
rulesDescr: '一、赛事目的:交流体育文化。',
rulesDescrImg: 'https://picsum.photos/seed/rules/300/200',
rulesDescrImgList: [],
},
{
id: 'EV202607010005',
name: '国际马拉松城市联赛',
startTimeBegin: '2026-08-12 09:00',
startTimeEnd: '2026-08-15 18:00',
venueArea: '广东省 深圳市 南山区',
venue: '深圳湾体育中心',
isPublic: '1',
isRequireIdCardImg: '1',
isRequireIdCardNo: '1',
createNickname: '张运营',
createPhone: '13800138001',
createTime: '2026-07-06 21:19:59',
status: '4',
signupCount: '0',
dropoutCount: '0',
rulesDescr: '一、赛事目的:推动城市体育交流。',
rulesDescrImg: 'https://picsum.photos/seed/rules/300/200',
rulesDescrImgList: ['https://picsum.photos/seed/rule1/300/200'],
},
{
id: 'EV202607010006',
name: '全民健身运动会',
startTimeBegin: '2026-08-12 09:00',
startTimeEnd: '2026-08-15 18:00',
venueArea: '广东省 深圳市 南山区',
venue: '深圳湾体育中心',
isPublic: '0',
isRequireIdCardImg: '0',
isRequireIdCardNo: '0',
createNickname: '李管理',
createPhone: '13900139002',
createTime: '2026-07-05 00:36:12',
status: '0',
signupCount: '128',
dropoutCount: '5',
rulesDescr: '一、赛事目的:增强全民体质。',
rulesDescrImg: 'https://picsum.photos/seed/rules/300/200',
rulesDescrImgList: [],
},
{
id: 'EV202607010007',
name: '2026全国青少年羽毛球锦标赛暨体育文化交流大会',
startTimeBegin: '2026-08-12 09:00',
startTimeEnd: '2026-08-15 18:00',
venueArea: '广东省 深圳市 南山区',
venue: '深圳湾体育中心',
isPublic: '1',
isRequireIdCardImg: '1',
isRequireIdCardNo: '1',
createNickname: '王策划',
createPhone: '13700137003',
createTime: '2026-07-04 03:53:25',
status: '1',
signupCount: '256',
dropoutCount: '12',
rulesDescr: '一、赛事目的:选拔青少年人才。',
rulesDescrImg: 'https://picsum.photos/seed/rules/300/200',
rulesDescrImgList: [
'https://picsum.photos/seed/rule1/300/200',
'https://picsum.photos/seed/rule2/300/200',
],
},
{
id: 'EV202607010008',
name: '国际马拉松城市联赛',
startTimeBegin: '2026-08-12 09:00',
startTimeEnd: '2026-08-15 18:00',
venueArea: '广东省 深圳市 南山区',
venue: '深圳湾体育中心',
isPublic: '0',
isRequireIdCardImg: '0',
isRequireIdCardNo: '0',
createNickname: '赵赛事',
createPhone: '13600136004',
createTime: '2026-07-03 07:10:38',
status: '2',
signupCount: '512',
dropoutCount: '8',
rulesDescr: '一、赛事目的:连接城市与运动。',
rulesDescrImg: 'https://picsum.photos/seed/rules/300/200',
rulesDescrImgList: [],
},
{
id: 'EV202607010009',
name: '全民健身运动会',
startTimeBegin: '2026-08-12 09:00',
startTimeEnd: '2026-08-15 18:00',
venueArea: '广东省 深圳市 南山区',
venue: '深圳湾体育中心',
isPublic: '1',
isRequireIdCardImg: '1',
isRequireIdCardNo: '1',
createNickname: '张运营',
createPhone: '13800138001',
createTime: '2026-07-02 10:27:51',
status: '3',
signupCount: '64',
dropoutCount: '3',
rulesDescr: '一、赛事目的:全民参与、共享健康。',
rulesDescrImg: 'https://picsum.photos/seed/rules/300/200',
rulesDescrImgList: ['https://picsum.photos/seed/rule1/300/200'],
},
{
id: 'EV202607010010',
name: '2026全国青少年羽毛球锦标赛暨体育文化交流大会',
startTimeBegin: '2026-08-12 09:00',
startTimeEnd: '2026-08-15 18:00',
venueArea: '广东省 深圳市 南山区',
venue: '深圳湾体育中心',
isPublic: '0',
isRequireIdCardImg: '0',
isRequireIdCardNo: '0',
createNickname: '李管理',
createPhone: '13900139002',
createTime: '2026-07-01 13:44:04',
status: '4',
signupCount: '0',
dropoutCount: '0',
rulesDescr: '一、赛事目的:培养后备力量。',
rulesDescrImg: 'https://picsum.photos/seed/rules/300/200',
rulesDescrImgList: [],
},
{
id: 'EV202607010011',
name: '国际马拉松城市联赛',
startTimeBegin: '2026-08-12 09:00',
startTimeEnd: '2026-08-15 18:00',
venueArea: '广东省 深圳市 南山区',
venue: '深圳湾体育中心',
isPublic: '1',
isRequireIdCardImg: '1',
isRequireIdCardNo: '1',
createNickname: '王策划',
createPhone: '13700137003',
createTime: '2026-06-30 17:01:17',
status: '0',
signupCount: '128',
dropoutCount: '5',
rulesDescr: '一、赛事目的:推广城市品牌。',
rulesDescrImg: 'https://picsum.photos/seed/rules/300/200',
rulesDescrImgList: [
'https://picsum.photos/seed/rule1/300/200',
'https://picsum.photos/seed/rule2/300/200',
'https://picsum.photos/seed/rule3/300/200',
],
},
{
id: 'EV202607010012',
name: '全民健身运动会',
startTimeBegin: '2026-08-12 09:00',
startTimeEnd: '2026-08-15 18:00',
venueArea: '广东省 深圳市 南山区',
venue: '深圳湾体育中心',
isPublic: '0',
isRequireIdCardImg: '0',
isRequireIdCardNo: '0',
createNickname: '赵赛事',
createPhone: '13600136004',
createTime: '2026-06-29 20:18:30',
status: '1',
signupCount: '256',
dropoutCount: '12',
rulesDescr: '一、赛事目的:丰富群众体育生活。',
rulesDescrImg: 'https://picsum.photos/seed/rules/300/200',
rulesDescrImgList: [],
},
];
/** 构建分页响应 */
export function buildMockEventListPage(page: number, limit: number): PageData<TournamentAdminVO> {
const start = (page - 1) * limit;
const list = MOCK_EVENT_LIST.slice(start, start + limit);
return { total: MOCK_EVENT_LIST.length, list };
}
+96
View File
@@ -0,0 +1,96 @@
/**
* 赛事详情 — 人员列表假数据
*
* 使用页面:`src/pages/events/list/components/EventDetailModal.tsx`
* 对应接口:`GET /manager/tm/info/signupPage`
* 类型:`TournamentAdminInfoSignupVO[]`
*/
import type { TournamentAdminInfoSignupVO, PageData, SignupListQueryParams } from '@/api/events';
export const MOCK_SIGNUP_LIST: TournamentAdminInfoSignupVO[] = [
{
realName: '张三',
gender: '1',
phone: '13800138001',
idCard: '110101199001011234',
idCardImg: 'https://picsum.photos/seed/idcard1/96/64',
idCardImgList: [
'https://picsum.photos/seed/idcard1a/96/64',
'https://picsum.photos/seed/idcard1b/96/64',
],
},
{
realName: '李四',
gender: '1',
phone: '13900139002',
idCard: '110101199002022345',
idCardImg: 'https://picsum.photos/seed/idcard2/96/64',
idCardImgList: [
'https://picsum.photos/seed/idcard2a/96/64',
'https://picsum.photos/seed/idcard2b/96/64',
],
},
{
realName: '王芳',
gender: '2',
phone: '13700137003',
idCard: '110101199103033456',
idCardImg: '',
idCardImgList: [],
},
{
realName: '赵六',
gender: '1',
phone: '13600136004',
idCard: '110101199204044567',
idCardImg: 'https://picsum.photos/seed/idcard4/96/64',
idCardImgList: ['https://picsum.photos/seed/idcard4a/96/64'],
},
{
realName: '孙七',
gender: '2',
phone: '13500135005',
idCard: '110101199305055678',
idCardImg: '',
idCardImgList: [],
},
{
realName: '周八',
gender: '1',
phone: '13400134006',
idCard: '110101199406066789',
idCardImg: 'https://picsum.photos/seed/idcard6/96/64',
idCardImgList: [
'https://picsum.photos/seed/idcard6a/96/64',
'https://picsum.photos/seed/idcard6b/96/64',
],
},
{
realName: '吴九',
gender: '2',
phone: '13300133007',
idCard: '110101199507077890',
idCardImg: '',
idCardImgList: [],
},
{
realName: '郑十',
gender: '1',
phone: '13200132008',
idCard: '110101199608088901',
idCardImg: 'https://picsum.photos/seed/idcard8/96/64',
idCardImgList: ['https://picsum.photos/seed/idcard8a/96/64'],
},
];
/** 构建分页响应 */
export function buildMockSignupListPage(
params: SignupListQueryParams,
): PageData<TournamentAdminInfoSignupVO> {
// mock 模式下忽略 categoryId 过滤,直接分页返回
const page = Number(params.page) || 1;
const limit = Number(params.limit) || 10;
const start = (page - 1) * limit;
const list = MOCK_SIGNUP_LIST.slice(start, start + limit);
return { total: MOCK_SIGNUP_LIST.length, list };
}