diff --git a/apps/admin/src/components/custom/user/CompetitionLayout.vue b/apps/admin/src/components/custom/user/CompetitionLayout.vue index 5930747..1f2df3d 100644 --- a/apps/admin/src/components/custom/user/CompetitionLayout.vue +++ b/apps/admin/src/components/custom/user/CompetitionLayout.vue @@ -140,8 +140,6 @@ onMounted(() => { diff --git a/apps/admin/src/views/user copy/modules/AnswerAnalysisComp.vue b/apps/admin/src/views/user copy/modules/AnswerAnalysisComp.vue deleted file mode 100644 index b55ffa5..0000000 --- a/apps/admin/src/views/user copy/modules/AnswerAnalysisComp.vue +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - 返回 - - - - - - - - - - - - - - - 答题图解 - - - - - - - 下一题 - - - - - - - 备注:由AI模型评判 - - - - - - {{ team.name }} - - - - - - - - - - - (点击放大查看详情) - - - - - - - 写了数量{{ team.writtenCount }},正确{{ team.correctCount }}个,积分{{ team.score }} - - - - 评委当场评 - - - - - - - - - - - - - - - - 点击任意处关闭 - - - - - - - diff --git a/apps/admin/src/views/user copy/modules/CoverComp.vue b/apps/admin/src/views/user copy/modules/CoverComp.vue deleted file mode 100644 index 0f3e3ca..0000000 --- a/apps/admin/src/views/user copy/modules/CoverComp.vue +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - {{ title }} - - - - - - - - - - - - - - - - - - - - - {{ node.moduleName.slice(0, 2) }} - {{ node.moduleName.slice(2) }} - - - - - - - - - - 准备开始 - - - - - - diff --git a/apps/admin/src/views/user copy/modules/GameComp.vue b/apps/admin/src/views/user copy/modules/GameComp.vue deleted file mode 100644 index 86b38b7..0000000 --- a/apps/admin/src/views/user copy/modules/GameComp.vue +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - 返回 - - - - - - - - - - - - - - - {{ node.moduleName }} - ({{ uiTemplatesMapping[node.uiTemplate] }}) - - - - - - - 倒计时 {{ formattedTime }} - - - - - - {{ node.description }} - - - - - - - - - - - - - - - - - 答题进度 - - - - - 答题数量 - - - - 正确数量 - - - - - - - - - - - {{ item.total }} - - - - {{ item.correct - }} - - - - {{ item.group }} - - - - - - - - diff --git a/apps/admin/src/views/user copy/modules/IntroComp.vue b/apps/admin/src/views/user copy/modules/IntroComp.vue deleted file mode 100644 index dea1dba..0000000 --- a/apps/admin/src/views/user copy/modules/IntroComp.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - {{ node.moduleName }} - - - - - - - - {{ node.description }} - - - - - - - 抽题 - - - - - - - 返回 - - - - - - 开始答题 - - - - diff --git a/apps/admin/src/views/user copy/modules/QuestionRenderer copy.vue b/apps/admin/src/views/user copy/modules/QuestionRenderer copy.vue deleted file mode 100644 index ccf654d..0000000 --- a/apps/admin/src/views/user copy/modules/QuestionRenderer copy.vue +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - “{{ content.pinyin }}” - - - - - - - - “{{ content.mainText }}” - - - - - - - {{ content.component }} - - - - - - - - - - - - - - - - - - - - - - {{ char }} - - - - - - - - {{ content.requirement }} - - - - - - - - - - - - - - - - - {{ content.questionText }} - - - - - - - - - {{ option.label }} - - {{ option.text }} - - - - - - - 未知的题目模板: {{ template }} - - - diff --git a/apps/admin/src/views/user copy/modules/QuestionRenderer.vue b/apps/admin/src/views/user copy/modules/QuestionRenderer.vue deleted file mode 100644 index 2da2a86..0000000 --- a/apps/admin/src/views/user copy/modules/QuestionRenderer.vue +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - - “{{ content.title }}” - - - - - - - - “{{ content.title }}” - - - - - - - {{ content.title }} - - - - - - - - - - - - - - - - - - - - - - {{ char }} - - - - - - - - {{ content.title }} - - - - - - - - - - - - - - - - - {{ content.title }} - - - - - - - - - - - - - - - - - - - - {{ option.text }} - - - - - - {{ option.label }} - - - - {{ option.text }} - - - - - - - - 未知的题目模板: {{ template }} - - - - - diff --git a/apps/admin/src/views/user copy/readme.md b/apps/admin/src/views/user copy/readme.md deleted file mode 100644 index c6cf668..0000000 --- a/apps/admin/src/views/user copy/readme.md +++ /dev/null @@ -1,41 +0,0 @@ -### 一、 文字版流程说明 - -1. 封面 (COVER) - - 动作 :点击“开始比赛”按钮。 - - 跳转 :进入第一轮的【抽题/介绍页面】。 - -2. 抽题/介绍页面 (INTRO) - - 展示 :当前环节名称(如“汉字听一听”)、规则说明、大圆形的“抽题”按钮。 - - 动作 :点击“抽题”或“开始答题”按钮。 - - 跳转 :进入当前题目的【答题页面】,同时开始倒计时。 - -3. 答题页面 (GAME) - - 展示 :题目内容(如拼音、图片)、倒计时、实时答题进度图表。 - - 触发条件 A :倒计时归零。 - - 触发条件 B :点击隐藏的“下一题”区域(手动结束)。 - - 跳转 :停止计时,进入当前题目的【答题图解页面】。 - -4. 答题图解页面 (ANSWER_ANALYSIS) - - 展示 :4个战队的答题原笔迹(支持点击放大)、AI评分结果、人工改分输入框。 - - 动作 :点击右上角“下一题”按钮。 - - 逻辑判断 : - - 情况 A(本轮还有题) :索引指向下一题 -> 回到【抽题/介绍页面】 (准备抽取下一题)。 - - 情况 B(本轮已结束,还有下一轮) :索引指向下一轮第一题 -> 回到【抽题/介绍页面】 (展示新环节介绍)。 - - 情况 C(全场结束) :提示“全场比赛结束” -> 回到【封面】 。 - -阅读之星 -feat(user): 新增用户端答题流程页面与相关功能 - -- 新增用户端答题流程主页面,包含封面、介绍、答题、答题图解四个状态 - -- 新增用户端组件:封面、介绍页、答题页、答题图解页、题目渲染器 - -- 新增用户端类型定义、模拟数据及业务常量 - -- 新增用户路由及类型声明 - -- 优化题库分类树,改为扁平化列表结构 - -- 完善比赛创建功能,增加轮次类型、题目分数类型及关联AP字段 - -- 修复模板删除函数调用参数错误 diff --git a/apps/admin/src/views/user copy/types.ts b/apps/admin/src/views/user copy/types.ts deleted file mode 100644 index fe7b6dc..0000000 --- a/apps/admin/src/views/user copy/types.ts +++ /dev/null @@ -1,64 +0,0 @@ -export type UiTemplateType = - | 'TEMPLATE_DICTATION_HINT' // 汉字听写-提示 (jiu) - | 'TEMPLATE_DICTATION_HOMOPHONE' // 汉字听写-同音 (tang) - | 'TEMPLATE_COMPONENT_ADD' // 汉字加一加 (车) - | 'TEMPLATE_WORD_DICTATION' // 词语听写 (zhi re) - | 'TEMPLATE_IDIOM_TEXT_REQ' // 成语-文字要求 (反义字) - | 'TEMPLATE_IDIOM_IMAGE' // 成语-看图 - | 'TEMPLATE_POETRY_MULTIPLE_CHOICE' // 诗词理解-选择题 - -export interface QuestionOption { - label: string // A, B, C - text: string // 选项文本/值 - image?: string // 选项图片 - renderType?: 'text' | 'image' | 'tianzige' | 'mixed' // 关键字段:控制选项渲染样式 -} - -export interface QuestionContent { - // 核心标准字段 (对应数据库列) - title: string // 题干/主要内容 (原 word, questionText, mainText, pinyin, requirement, component) - titleImage?: string // 题干图片 (原 image) - titleAudio?: string // 题干音频 (原 soundUrl) - options?: QuestionOption[] // 选项列表 - - // 扩展元数据 (对应数据库 JSON 字段) - meta?: { - hint?: string // 提示 - example?: string // 示例 - pinyin?: string // 如果 title 是汉字,这里存拼音;反之亦然 - definition?: string // 释义 - strokeCount?: number // 笔画数 - radicals?: string // 部首 - [key: string]: any - } -} - -export interface Question { - id: string - content: QuestionContent - answer: string[] -} - -export interface NodeConfig { - timeLimit: number - questionCount: number - scorePerQuestion: number -} - -export interface ActivityNode { - nodeId: string - roundTitle: string - moduleName: string - batchName: string - description: string - uiTemplate: UiTemplateType - config: NodeConfig - questions: Question[] -} - -export interface CompetitionData { - activityInfo: { - name: string - } - nodes: ActivityNode[] -} diff --git a/apps/admin/src/views/user/cover/index.vue b/apps/admin/src/views/user/cover/index.vue index 8c0f5e7..0fca496 100644 --- a/apps/admin/src/views/user/cover/index.vue +++ b/apps/admin/src/views/user/cover/index.vue @@ -101,8 +101,6 @@ function toggleFlip(index: number) {