From 8be7c938fcbbe57ea7a781fbd170d654653e90f9 Mon Sep 17 00:00:00 2001 From: zyronon Date: Wed, 17 Sep 2025 01:26:41 +0800 Subject: [PATCH] fix:bug --- src/assets/css/style.scss | 2 +- src/pages/pc/article/BookDetail.vue | 36 ++++++++++++++++++-- src/pages/pc/article/components/EditBook.vue | 11 +++--- 3 files changed, 40 insertions(+), 9 deletions(-) diff --git a/src/assets/css/style.scss b/src/assets/css/style.scss index cbdb4187..c42f7e1a 100644 --- a/src/assets/css/style.scss +++ b/src/assets/css/style.scss @@ -25,7 +25,7 @@ --toolbar-width: 50rem; --panel-width: 24rem; - --space: 1rem; + --space: 0.9rem; --stat-gap: 1rem; --shadow: rgba(0, 0, 0, 0.08) 0px 4px 12px; --word-panel-margin-left: calc(50% + var(--toolbar-width) / 2 + 1rem); diff --git a/src/pages/pc/article/BookDetail.vue b/src/pages/pc/article/BookDetail.vue index f505496f..5ac81581 100644 --- a/src/pages/pc/article/BookDetail.vue +++ b/src/pages/pc/article/BookDetail.vue @@ -5,18 +5,20 @@ import BackIcon from "@/pages/pc/components/BackIcon.vue"; import Empty from "@/components/Empty.vue"; import ArticleList from "@/pages/pc/components/list/ArticleList.vue"; import {useBaseStore} from "@/stores/base.ts"; -import {Article, DictId, DictType} from "@/types/types.ts"; +import {Article, Dict, DictId, DictType} from "@/types/types.ts"; import {useRuntimeStore} from "@/stores/runtime.ts"; import BaseButton from "@/components/BaseButton.vue"; import {useRoute, useRouter} from "vue-router"; import EditBook from "@/pages/pc/article/components/EditBook.vue"; import {computed, onMounted} from "vue"; -import {_getDictDataByUrl, useNav} from "@/utils"; +import {_getDictDataByUrl, cloneDeep, useNav} from "@/utils"; import BaseIcon from "@/components/BaseIcon.vue"; import {useArticleOptions} from "@/hooks/dict.ts"; import {getDefaultArticle, getDefaultDict} from "@/types/func.ts"; import Toast from "@/pages/pc/components/base/toast/Toast.ts"; import ArticleAudio from "@/pages/pc/article/components/ArticleAudio.vue"; +import {MessageBox} from "@/utils/MessageBox.tsx"; +import book_list from "@/assets/book-list.json"; const runtimeStore = useRuntimeStore() const base = useBaseStore() @@ -95,6 +97,33 @@ const { toggleArticleCollect } = useArticleOptions() +function reset() { + MessageBox.confirm( + '继续此操作会重置所有文章,并从官方书籍获取最新文章列表,学习记录不会被重置。确认恢复默认吗?', + '恢复默认', + async () => { + debugger + let dict = book_list.flat().find(v => v.url === runtimeStore.editDict.url) as Dict + if (dict && dict.id) { + dict = await _getDictDataByUrl(dict, DictType.article) + let rIndex = base.article.bookList.findIndex(v => v.id === runtimeStore.editDict.id) + if (rIndex > -1) { + let item = base.article.bookList[rIndex] + item.custom = false + item.id = dict.id + item.articles = dict.articles + if (item.lastLearnIndex >= item.articles.length) { + item.lastLearnIndex = item.articles.length - 1 + } + runtimeStore.editDict = item + Toast.success('恢复成功') + return + } + } + Toast.error('恢复失败') + } + ) +}