From b71a7584740f22d0622848adb9be4fe10b18f1bb Mon Sep 17 00:00:00 2001 From: rjl <98n9@163.com> Date: Fri, 6 Feb 2026 17:45:44 +0800 Subject: [PATCH] =?UTF-8?q?feat(user):=20=E9=87=8D=E6=9E=84=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=AB=AF=E7=AB=9E=E8=B5=9B=E6=B5=81=E7=A8=8B=E5=B9=B6?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=B0=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将原单页竞赛流程拆分为独立路由页面(首页、封面、规则、抽题、答题、图解、组别、队伍) - 新增 Pinia store 管理竞赛状态、计时器和音频控制 - 添加 SCSS 变量文件定义主题色 - 更新路由配置和类型定义以支持新页面结构 - 重构 QuestionRenderer 组件优化样式 - 添加图标依赖并更新国际化配置 - 移动图片资源到用户目录并清理旧文件 --- apps/admin/package.json | 1 + .../admin/src/assets/imgs/user/cover-back.svg | 46 +++ .../src/assets/imgs/user/cover-bg-active.svg | 69 +++++ .../assets/imgs/{ => user}/event-card-bg.svg | 0 .../src/assets/imgs/{ => user}/home-bg.svg | 0 .../src/assets/imgs/{ => user}/q5-img.png | Bin .../src/assets/imgs/{ => user}/read-logo.png | Bin .../assets/imgs/{ => user}/reader-star.jpg | Bin .../src/assets/imgs/{ => user}/star-icon.svg | 0 .../src/assets/imgs/{ => user}/team-bg.svg | 0 .../src/assets/imgs/{ => user}/tianzige.svg | 0 .../src/assets/imgs/{ => user}/title-bg.svg | 0 .../custom/user/CompetitionLayout.vue | 262 ++++++++++++---- apps/admin/src/hooks/common/router.ts | 6 + apps/admin/src/locales/langs/en-us.ts | 14 +- apps/admin/src/locales/langs/zh-cn.ts | 14 +- apps/admin/src/router/elegant/imports.ts | 12 +- apps/admin/src/router/elegant/routes.ts | 134 ++++++--- apps/admin/src/router/elegant/transform.ts | 13 +- apps/admin/src/router/routes/index.ts | 10 + apps/admin/src/store/modules/competition.ts | 129 ++++++++ apps/admin/src/styles/scss/variables.scss | 12 + apps/admin/src/typings/components.d.ts | 6 + apps/admin/src/typings/elegant-router.d.ts | 26 +- apps/admin/src/utils/audio.ts | 121 ++++++++ .../modules/competition-card.vue | 2 +- apps/admin/src/views/user/analysis/index.vue | 165 ++++++++++ apps/admin/src/views/user/cover/index.vue | 284 ++++++++++++++++++ apps/admin/src/views/user/data/mock.ts | 2 +- apps/admin/src/views/user/draw/index.vue | 41 +++ apps/admin/src/views/user/game/index.vue | 152 ++++++++++ .../src/views/{ => user}/groups/index.vue | 46 +-- .../admin/src/views/{ => user}/home/index.vue | 64 +--- apps/admin/src/views/user/index.vue | 152 ---------- .../src/views/user/modules/IntroComp.vue | 37 --- .../views/user/modules/QuestionRenderer.vue | 15 +- apps/admin/src/views/user/rules/index.vue | 80 +++++ .../src/views/{ => user}/teams/index.vue | 118 ++------ pnpm-lock.yaml | 12 + 39 files changed, 1559 insertions(+), 486 deletions(-) create mode 100644 apps/admin/src/assets/imgs/user/cover-back.svg create mode 100644 apps/admin/src/assets/imgs/user/cover-bg-active.svg rename apps/admin/src/assets/imgs/{ => user}/event-card-bg.svg (100%) rename apps/admin/src/assets/imgs/{ => user}/home-bg.svg (100%) rename apps/admin/src/assets/imgs/{ => user}/q5-img.png (100%) rename apps/admin/src/assets/imgs/{ => user}/read-logo.png (100%) rename apps/admin/src/assets/imgs/{ => user}/reader-star.jpg (100%) rename apps/admin/src/assets/imgs/{ => user}/star-icon.svg (100%) rename apps/admin/src/assets/imgs/{ => user}/team-bg.svg (100%) rename apps/admin/src/assets/imgs/{ => user}/tianzige.svg (100%) rename apps/admin/src/assets/imgs/{ => user}/title-bg.svg (100%) create mode 100644 apps/admin/src/store/modules/competition.ts create mode 100644 apps/admin/src/styles/scss/variables.scss create mode 100644 apps/admin/src/utils/audio.ts create mode 100644 apps/admin/src/views/user/analysis/index.vue create mode 100644 apps/admin/src/views/user/cover/index.vue create mode 100644 apps/admin/src/views/user/draw/index.vue create mode 100644 apps/admin/src/views/user/game/index.vue rename apps/admin/src/views/{ => user}/groups/index.vue (81%) rename apps/admin/src/views/{ => user}/home/index.vue (76%) delete mode 100644 apps/admin/src/views/user/index.vue create mode 100644 apps/admin/src/views/user/rules/index.vue rename apps/admin/src/views/{ => user}/teams/index.vue (57%) diff --git a/apps/admin/package.json b/apps/admin/package.json index 2a7477d..cabe77b 100644 --- a/apps/admin/package.json +++ b/apps/admin/package.json @@ -52,6 +52,7 @@ "pinyin-pro": "^3.28.0", "quill-toolbar-tip": "^0.1.0", "tailwind-merge": "3.4.0", + "v-scale-screen": "^2.3.0", "vue": "3.5.26", "vue-draggable-plus": "0.6.0", "vue-i18n": "11.2.7", diff --git a/apps/admin/src/assets/imgs/user/cover-back.svg b/apps/admin/src/assets/imgs/user/cover-back.svg new file mode 100644 index 0000000..a665493 --- /dev/null +++ b/apps/admin/src/assets/imgs/user/cover-back.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/admin/src/assets/imgs/user/cover-bg-active.svg b/apps/admin/src/assets/imgs/user/cover-bg-active.svg new file mode 100644 index 0000000..6cac4bb --- /dev/null +++ b/apps/admin/src/assets/imgs/user/cover-bg-active.svg @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/admin/src/assets/imgs/event-card-bg.svg b/apps/admin/src/assets/imgs/user/event-card-bg.svg similarity index 100% rename from apps/admin/src/assets/imgs/event-card-bg.svg rename to apps/admin/src/assets/imgs/user/event-card-bg.svg diff --git a/apps/admin/src/assets/imgs/home-bg.svg b/apps/admin/src/assets/imgs/user/home-bg.svg similarity index 100% rename from apps/admin/src/assets/imgs/home-bg.svg rename to apps/admin/src/assets/imgs/user/home-bg.svg diff --git a/apps/admin/src/assets/imgs/q5-img.png b/apps/admin/src/assets/imgs/user/q5-img.png similarity index 100% rename from apps/admin/src/assets/imgs/q5-img.png rename to apps/admin/src/assets/imgs/user/q5-img.png diff --git a/apps/admin/src/assets/imgs/read-logo.png b/apps/admin/src/assets/imgs/user/read-logo.png similarity index 100% rename from apps/admin/src/assets/imgs/read-logo.png rename to apps/admin/src/assets/imgs/user/read-logo.png diff --git a/apps/admin/src/assets/imgs/reader-star.jpg b/apps/admin/src/assets/imgs/user/reader-star.jpg similarity index 100% rename from apps/admin/src/assets/imgs/reader-star.jpg rename to apps/admin/src/assets/imgs/user/reader-star.jpg diff --git a/apps/admin/src/assets/imgs/star-icon.svg b/apps/admin/src/assets/imgs/user/star-icon.svg similarity index 100% rename from apps/admin/src/assets/imgs/star-icon.svg rename to apps/admin/src/assets/imgs/user/star-icon.svg diff --git a/apps/admin/src/assets/imgs/team-bg.svg b/apps/admin/src/assets/imgs/user/team-bg.svg similarity index 100% rename from apps/admin/src/assets/imgs/team-bg.svg rename to apps/admin/src/assets/imgs/user/team-bg.svg diff --git a/apps/admin/src/assets/imgs/tianzige.svg b/apps/admin/src/assets/imgs/user/tianzige.svg similarity index 100% rename from apps/admin/src/assets/imgs/tianzige.svg rename to apps/admin/src/assets/imgs/user/tianzige.svg diff --git a/apps/admin/src/assets/imgs/title-bg.svg b/apps/admin/src/assets/imgs/user/title-bg.svg similarity index 100% rename from apps/admin/src/assets/imgs/title-bg.svg rename to apps/admin/src/assets/imgs/user/title-bg.svg diff --git a/apps/admin/src/components/custom/user/CompetitionLayout.vue b/apps/admin/src/components/custom/user/CompetitionLayout.vue index 029d2d9..5930747 100644 --- a/apps/admin/src/components/custom/user/CompetitionLayout.vue +++ b/apps/admin/src/components/custom/user/CompetitionLayout.vue @@ -1,6 +1,7 @@ diff --git a/apps/admin/src/views/user/cover/index.vue b/apps/admin/src/views/user/cover/index.vue new file mode 100644 index 0000000..8c0f5e7 --- /dev/null +++ b/apps/admin/src/views/user/cover/index.vue @@ -0,0 +1,284 @@ + + + + + diff --git a/apps/admin/src/views/user/data/mock.ts b/apps/admin/src/views/user/data/mock.ts index 15539e2..1d95d28 100644 --- a/apps/admin/src/views/user/data/mock.ts +++ b/apps/admin/src/views/user/data/mock.ts @@ -1,5 +1,5 @@ import type { CompetitionData } from '../types' -import img from '@/assets/imgs/q5-img.png' +import img from '@/assets/imgs/user/q5-img.png' /** * 模拟数据 diff --git a/apps/admin/src/views/user/draw/index.vue b/apps/admin/src/views/user/draw/index.vue new file mode 100644 index 0000000..a2c0b0e --- /dev/null +++ b/apps/admin/src/views/user/draw/index.vue @@ -0,0 +1,41 @@ + + + diff --git a/apps/admin/src/views/user/game/index.vue b/apps/admin/src/views/user/game/index.vue new file mode 100644 index 0000000..fad050b --- /dev/null +++ b/apps/admin/src/views/user/game/index.vue @@ -0,0 +1,152 @@ + + + + + diff --git a/apps/admin/src/views/groups/index.vue b/apps/admin/src/views/user/groups/index.vue similarity index 81% rename from apps/admin/src/views/groups/index.vue rename to apps/admin/src/views/user/groups/index.vue index 3aadfb6..c98a4b4 100644 --- a/apps/admin/src/views/groups/index.vue +++ b/apps/admin/src/views/user/groups/index.vue @@ -1,9 +1,9 @@ - - - - diff --git a/apps/admin/src/views/user/modules/IntroComp.vue b/apps/admin/src/views/user/modules/IntroComp.vue index dea1dba..3b78e1d 100644 --- a/apps/admin/src/views/user/modules/IntroComp.vue +++ b/apps/admin/src/views/user/modules/IntroComp.vue @@ -7,24 +7,6 @@ defineEmits(['back', 'draw']) diff --git a/apps/admin/src/views/user/modules/QuestionRenderer.vue b/apps/admin/src/views/user/modules/QuestionRenderer.vue index 2da2a86..5753fe5 100644 --- a/apps/admin/src/views/user/modules/QuestionRenderer.vue +++ b/apps/admin/src/views/user/modules/QuestionRenderer.vue @@ -16,10 +16,10 @@ const pinyinChars = computed(() => {