From 11606dfb68088df669bf9e77585477aaf7eaa9b6 Mon Sep 17 00:00:00 2001 From: Zyronon Date: Wed, 7 Jan 2026 19:36:19 +0800 Subject: [PATCH] refactor --- src/components/user/Code.vue | 66 ++++ src/components/user/Notice.vue | 15 + src/config/env.ts | 1 + .../articles.vue} | 0 .../batch-edit-article.vue} | 2 +- .../book-detail.vue} | 2 +- .../BookList.vue => (articles)/book-list.vue} | 28 +- .../practice-aritcles/[id].vue} | 0 src/pages/{user => (user)}/login.vue | 9 +- src/pages/{user/User.vue => (user)/user.vue} | 258 +++++++-------- .../{user/VipIntro.vue => (user)/vip.vue} | 300 +++++++++--------- .../dict-detail.vue} | 10 +- .../DictList.vue => (words)/dict-list.vue} | 38 +-- .../practice-words/[id].vue} | 0 .../words-test/[id].vue} | 2 +- .../{word/WordsPage.vue => (words)/words.vue} | 2 +- src/router.ts | 54 ++-- src/utils/index.ts | 27 +- 18 files changed, 418 insertions(+), 396 deletions(-) create mode 100644 src/components/user/Code.vue create mode 100644 src/components/user/Notice.vue rename src/pages/{article/ArticlesPage.vue => (articles)/articles.vue} (100%) rename src/pages/{article/BatchEditArticlePage.vue => (articles)/batch-edit-article.vue} (99%) rename src/pages/{article/BookDetail.vue => (articles)/book-detail.vue} (99%) rename src/pages/{article/BookList.vue => (articles)/book-list.vue} (81%) rename src/pages/{article/PracticeArticles.vue => (articles)/practice-aritcles/[id].vue} (100%) rename src/pages/{user => (user)}/login.vue (98%) rename src/pages/{user/User.vue => (user)/user.vue} (70%) rename src/pages/{user/VipIntro.vue => (user)/vip.vue} (68%) rename src/pages/{word/DictDetail.vue => (words)/dict-detail.vue} (99%) rename src/pages/{word/DictList.vue => (words)/dict-list.vue} (87%) rename src/pages/{word/PracticeWords.vue => (words)/practice-words/[id].vue} (100%) rename src/pages/{word/WordTest.vue => (words)/words-test/[id].vue} (99%) rename src/pages/{word/WordsPage.vue => (words)/words.vue} (99%) diff --git a/src/components/user/Code.vue b/src/components/user/Code.vue new file mode 100644 index 00000000..bfef15d3 --- /dev/null +++ b/src/components/user/Code.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/src/components/user/Notice.vue b/src/components/user/Notice.vue new file mode 100644 index 00000000..6364751e --- /dev/null +++ b/src/components/user/Notice.vue @@ -0,0 +1,15 @@ + + + diff --git a/src/config/env.ts b/src/config/env.ts index d16930ff..0f8b02e3 100644 --- a/src/config/env.ts +++ b/src/config/env.ts @@ -13,6 +13,7 @@ const common = { const map = { DEV: { API: 'http://localhost/', + RESOURCE_URL: 'https://dicts.2study.top/', }, } diff --git a/src/pages/article/ArticlesPage.vue b/src/pages/(articles)/articles.vue similarity index 100% rename from src/pages/article/ArticlesPage.vue rename to src/pages/(articles)/articles.vue diff --git a/src/pages/article/BatchEditArticlePage.vue b/src/pages/(articles)/batch-edit-article.vue similarity index 99% rename from src/pages/article/BatchEditArticlePage.vue rename to src/pages/(articles)/batch-edit-article.vue index 1f8b0c68..18722e23 100644 --- a/src/pages/article/BatchEditArticlePage.vue +++ b/src/pages/(articles)/batch-edit-article.vue @@ -283,7 +283,7 @@ function updateList(e) { :loading="exportLoading" :disabled="!article.id" @click="exportData({ type: 'item', data: article })" - >当前 + >当前 diff --git a/src/pages/article/BookDetail.vue b/src/pages/(articles)/book-detail.vue similarity index 99% rename from src/pages/article/BookDetail.vue rename to src/pages/(articles)/book-detail.vue index 754f591c..272db150 100644 --- a/src/pages/article/BookDetail.vue +++ b/src/pages/(articles)/book-detail.vue @@ -319,7 +319,7 @@ watch([() => displayMode, () => selectArticle.id, () => showTranslate], () => { v-for="(s, n) in w.split(' ').filter(Boolean)" :class="`inline-block word-${i}-${j}-${n}`" :key="`${i}-${j}-${n}`" - >{{ s }} + >{{ s }} diff --git a/src/pages/article/BookList.vue b/src/pages/(articles)/book-list.vue similarity index 81% rename from src/pages/article/BookList.vue rename to src/pages/(articles)/book-list.vue index b6d2a75f..efbf1e6b 100644 --- a/src/pages/article/BookList.vue +++ b/src/pages/(articles)/book-list.vue @@ -38,10 +38,10 @@ const searchList = computed(() => { let s = searchKey.toLowerCase() return bookList.value.filter((item) => { return item.id.toLowerCase().includes(s) - || item.name.toLowerCase().includes(s) - || item.category.toLowerCase().includes(s) - || item.tags.join('').replace('所有', '').toLowerCase().includes(s) - || item?.url?.toLowerCase?.().includes?.(s) + || item.name.toLowerCase().includes(s) + || item.category.toLowerCase().includes(s) + || item.tags.join('').replace('所有', '').toLowerCase().includes(s) + || item?.url?.toLowerCase?.().includes?.(s) }) } return [] @@ -68,20 +68,20 @@ const searchList = computed(() => {
+ v-if="searchList.length " + @selectDict="selectDict" + :list="searchList" + quantifier="篇" + :select-id="'-1'"/>
+ v-if="bookList?.length " + @selectDict="selectDict" + :list="bookList" + quantifier="篇" + :select-id="'-1'"/>
diff --git a/src/pages/article/PracticeArticles.vue b/src/pages/(articles)/practice-aritcles/[id].vue similarity index 100% rename from src/pages/article/PracticeArticles.vue rename to src/pages/(articles)/practice-aritcles/[id].vue diff --git a/src/pages/user/login.vue b/src/pages/(user)/login.vue similarity index 98% rename from src/pages/user/login.vue rename to src/pages/(user)/login.vue index b5655137..2ad37800 100644 --- a/src/pages/user/login.vue +++ b/src/pages/(user)/login.vue @@ -10,16 +10,15 @@ import { accountRules, codeRules, passwordRules, phoneRules } from '@/utils/vali import Toast from '@/components/base/toast/Toast.ts' import FormItem from '@/components/base/form/FormItem.vue' import Form from '@/components/base/form/Form.vue' -import Notice from '@/pages/user/Notice.vue' +import Notice from '@/components/user/Notice.vue' import { FormInstance } from '@/components/base/form/types.ts' import { PASSWORD_CONFIG, PHONE_CONFIG } from '@/config/auth.ts' -import Code from '@/pages/user/Code.vue' -import { isNewUser, jump2Feedback, sleep, useNav } from '@/utils' +import Code from '@/components/user/Code.vue' +import { jump2Feedback, sleep, useNav } from '@/utils' import Header from '@/components/Header.vue' import PopConfirm from '@/components/PopConfirm.vue' import { useExport } from '@/hooks/export.ts' -import { getProgress, upload, uploadImportData } from '@/apis' -import { Exception } from 'sass' +import { getProgress, uploadImportData } from '@/apis' import { CodeType, ImportStatus } from '@/types/enum.ts' // 状态管理 diff --git a/src/pages/user/User.vue b/src/pages/(user)/user.vue similarity index 70% rename from src/pages/user/User.vue rename to src/pages/(user)/user.vue index f06c88d5..186d7652 100644 --- a/src/pages/user/User.vue +++ b/src/pages/(user)/user.vue @@ -1,23 +1,23 @@ @@ -254,21 +259,15 @@ function onFileChange(e) {
- +

- + 欢迎使用

登录,开启您的学习之旅

保存进度、同步数据、解锁个性化内容
- - 登录 - + 登录

还没有账户? 立即注册 @@ -287,20 +286,17 @@ function onFileChange(e) {

用户名
- + {{ userStore.user?.username }}
在此设置用户名
- +
-
+ @@ -327,20 +323,17 @@ function onFileChange(e) {
手机号
- + {{ userStore.user?.phone }}
在此设置手机号
- +
- +
- +
- +
@@ -371,24 +357,24 @@ function onFileChange(e) { placeholder="请输入新手机号验证码" :max-length="PHONE_CONFIG.codeLength" /> - +
- +
- 原手机号不可用,点此申诉 + 原手机号不可用,点此申诉
取消 @@ -403,20 +389,17 @@ function onFileChange(e) {
电子邮箱
- + {{ userStore.user?.email }}
在此设置邮箱
- +
-
+ - +
- +
@@ -455,7 +435,6 @@ function onFileChange(e) {
-
@@ -463,22 +442,13 @@ function onFileChange(e) {
在此输入密码
- +
-
+ - + @@ -510,15 +480,10 @@ function onFileChange(e) {
- -
-
- 联系 {{ APP_NAME }} 客服 -
- +
+
联系 {{ APP_NAME }} 客服
+
@@ -528,32 +493,26 @@ function onFileChange(e) {
同步进度
- - + +
-
-
- 给 {{ APP_NAME }} 提交意见 -
- +
+
给 {{ APP_NAME }} 提交意见
+
- - 登出 - + 登出
@@ -566,12 +525,11 @@ function onFileChange(e) {
- +
订阅信息
-
当前无订阅
- {{ - userStore.user?.member ? '管理订阅' : '会员介绍' - }} + {{ userStore.user?.member ? '管理订阅' : '会员介绍' }}
diff --git a/src/pages/user/VipIntro.vue b/src/pages/(user)/vip.vue similarity index 68% rename from src/pages/user/VipIntro.vue rename to src/pages/(user)/vip.vue index 8c43650d..0ba0c0f5 100644 --- a/src/pages/user/VipIntro.vue +++ b/src/pages/(user)/vip.vue @@ -1,11 +1,11 @@