feat(user): 重构用户端竞赛流程,集成后端API并优化交互体验

- 新增 `activityinfo` store 管理活动信息,支持持久化
- 重构 `competition` store,分离数据层与流程控制,新增音效管理
- 新增游戏API模块 (`game.ts`),实现抽题、题目详情、提交结果等接口
- 用户端页面全面对接后端数据:首页轮播展示活动列表,组别/队伍页动态加载,封面页显示题目卡片
- 抽题页改为竹签翻转动画,游戏页集成题目详情与倒计时
- 优化布局组件,支持点击返回首页,统一路由参数传递
- 更新类型定义,支持富文本题目渲染
- 添加 `activityinfo` 拼写检查词条
This commit is contained in:
2026-02-10 08:45:26 +08:00
parent 0fd8ef527a
commit 61a7412fc1
23 changed files with 962 additions and 643 deletions

View File

@ -59,6 +59,7 @@ declare module 'vue' {
IconIcOutlineTitle: typeof import('~icons/ic/outline-title')['default']
IconIcRoundAccessTime: typeof import('~icons/ic/round-access-time')['default']
IconIcRoundArrowBack: typeof import('~icons/ic/round-arrow-back')['default']
IconIcRoundArrowForward: typeof import('~icons/ic/round-arrow-forward')['default']
IconIcRoundArrowLeft: typeof import('~icons/ic/round-arrow-left')['default']
IconIcRoundArrowRight: typeof import('~icons/ic/round-arrow-right')['default']
IconIcRoundDelete: typeof import('~icons/ic/round-delete')['default']
@ -227,6 +228,7 @@ declare global {
const IconIcOutlineTitle: typeof import('~icons/ic/outline-title')['default']
const IconIcRoundAccessTime: typeof import('~icons/ic/round-access-time')['default']
const IconIcRoundArrowBack: typeof import('~icons/ic/round-arrow-back')['default']
const IconIcRoundArrowForward: typeof import('~icons/ic/round-arrow-forward')['default']
const IconIcRoundArrowLeft: typeof import('~icons/ic/round-arrow-left')['default']
const IconIcRoundArrowRight: typeof import('~icons/ic/round-arrow-right')['default']
const IconIcRoundDelete: typeof import('~icons/ic/round-delete')['default']