- 创建 app/modules/scoreboard 模块目录
- 添加配置常量 (EVENT_CATEGORIES, TEAM_GROUPS, EVENT_TYPES)
- 添加 API 工具函数 (fetchEvents, fetchTeams, fetchResults 等)
- 添加可复用组件 (ModuleLayout, StatCard, DataTable)
- 添加模块导出文件 (mod.ts)
- 添加模块使用文档 (README.md)
- 更新首页使用模块 API 函数
后续可通过 import { xxx } from '~/modules/scoreboard' 导入使用
51 lines
877 B
TypeScript
51 lines
877 B
TypeScript
/**
|
|
* 运动会记分板模块导出
|
|
*
|
|
* 使用示例:
|
|
* ```ts
|
|
* import {
|
|
* EVENT_CATEGORIES,
|
|
* TEAM_GROUPS,
|
|
* EVENT_TYPES,
|
|
* SCORING_RULES,
|
|
* API_ROUTES,
|
|
* fetchEvents,
|
|
* fetchTeams,
|
|
* fetchResults,
|
|
* fetchScoreboard
|
|
* } from '~/modules/scoreboard'
|
|
* ```
|
|
*/
|
|
|
|
// 配置常量
|
|
export {
|
|
EVENT_CATEGORIES,
|
|
TEAM_GROUPS,
|
|
EVENT_TYPES,
|
|
SCORING_RULES,
|
|
API_ROUTES,
|
|
PAGE_ROUTES,
|
|
scoreboardModule
|
|
} from './index'
|
|
|
|
// API 函数
|
|
export {
|
|
fetchConfig,
|
|
fetchEvents,
|
|
createEvent,
|
|
fetchTeams,
|
|
createTeam,
|
|
fetchResults,
|
|
createResult,
|
|
fetchScoreboard,
|
|
seedData
|
|
} from './api'
|
|
|
|
// Vue 组件
|
|
export { default as ModuleLayout } from './ModuleLayout.vue'
|
|
export { default as StatCard } from './StatCard.vue'
|
|
export { default as DataTable } from './DataTable.vue'
|
|
|
|
// 类型导出
|
|
export type { Column } from './DataTable.vue'
|