feat:修改类型结构

This commit is contained in:
zyronon
2025-08-06 00:33:45 +08:00
parent 6a330e574f
commit 83a0d846e0
24 changed files with 5303 additions and 2628 deletions

View File

@@ -5,7 +5,7 @@ import "vue-activity-calendar/style.css";
import {useRouter} from "vue-router";
import BasePage from "@/pages/pc/components/BasePage.vue";
import {_getDictDataByUrl, useNav} from "@/utils";
import {DictResource, DictType, getDefaultDict} from "@/types/types.ts";
import {DictResource, DictType} from "@/types/types.ts";
import {useRuntimeStore} from "@/stores/runtime.ts";
import BaseIcon from "@/components/BaseIcon.vue";
import Book from "@/pages/pc/components/Book.vue";
@@ -13,6 +13,7 @@ import {ElMessage, ElProgress} from 'element-plus';
import BaseButton from "@/components/BaseButton.vue";
import PopConfirm from "@/pages/pc/components/PopConfirm.vue";
import {onMounted, watch} from "vue";
import {getDefaultDict} from "@/types/func.ts";
const {nav} = useNav()
const base = useBaseStore()

View File

@@ -1,6 +1,6 @@
<script setup lang="ts">
import {onMounted, onUnmounted} from "vue";
import {Article, getDefaultArticle} from "@/types/types.ts";
import {Article} from "@/types/types.ts";
import BaseButton from "@/components/BaseButton.vue";
import {cloneDeep} from "@/utils";
import {useBaseStore} from "@/stores/base.ts";
@@ -16,6 +16,7 @@ import EditArticle2 from "@/pages/pc/article/components/EditArticle2.vue";
import BaseIcon from "@/components/BaseIcon.vue";
import {_nextTick} from "@/utils";
import {ElMessage} from "element-plus";
import {getDefaultArticle} from "@/types/func.ts";
const emit = defineEmits<{
importData: [val: Event]

View File

@@ -5,7 +5,7 @@ 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, getDefaultArticle, getDefaultDict} from "@/types/types.ts";
import {Article, DictId, DictType} from "@/types/types.ts";
import {useRuntimeStore} from "@/stores/runtime.ts";
import BaseButton from "@/components/BaseButton.vue";
import {useRoute, useRouter} from "vue-router";
@@ -14,6 +14,7 @@ import {computed, onMounted} from "vue";
import {_getDictDataByUrl} from "@/utils";
import BaseIcon from "@/components/BaseIcon.vue";
import {useArticleOptions} from "@/hooks/dict.ts";
import {getDefaultArticle, getDefaultDict} from "@/types/func.ts";
const runtimeStore = useRuntimeStore()
const base = useBaseStore()

View File

@@ -2,7 +2,7 @@
import "vue-activity-calendar/style.css";
import {useNav} from "@/utils";
import BasePage from "@/pages/pc/components/BasePage.vue";
import {DictResource, getDefaultDict} from "@/types/types.ts";
import {DictResource} from "@/types/types.ts";
import {useRuntimeStore} from "@/stores/runtime.ts";
import BaseIcon from "@/components/BaseIcon.vue";
import Empty from "@/components/Empty.vue";
@@ -13,6 +13,7 @@ import BackIcon from "@/pages/pc/components/BackIcon.vue";
import {useRouter} from "vue-router";
import {enArticle} from "@/assets/dictionary.ts";
import {computed} from "vue";
import {getDefaultDict} from "@/types/func.ts";
const {nav} = useNav()
const runtimeStore = useRuntimeStore()

View File

@@ -1,6 +1,6 @@
<script setup lang="ts">
import {Article, getDefaultArticle, Sentence, TranslateEngine} from "@/types/types.ts";
import {Article, Sentence, TranslateEngine} from "@/types/types.ts";
import BaseButton from "@/components/BaseButton.vue";
import EditAbleText from "@/pages/pc/components/EditAbleText.vue";
import {Icon} from "@iconify/vue";
@@ -13,6 +13,7 @@ import {ElInputNumber, ElMessage, ElOption, ElPopover, ElSelect, ElUpload, Uploa
import * as Comparison from "string-comparison"
import BaseIcon from "@/components/BaseIcon.vue";
import Dialog from "@/pages/pc/components/dialog/Dialog.vue";
import {getDefaultArticle} from "@/types/func.ts";
interface IProps {
article?: Article,

View File

@@ -1,6 +1,6 @@
<script setup lang="ts">
import {Dict, DictType, getDefaultDict} from "@/types/types.ts";
import {Dict, DictType} from "@/types/types.ts";
import {cloneDeep} from "@/utils";
import {ElForm, ElFormItem, ElInput, ElSelect, ElOption, FormInstance, FormRules, ElMessage} from "element-plus";
@@ -8,6 +8,7 @@ import {onMounted, reactive} from "vue";
import {useRuntimeStore} from "@/stores/runtime.ts";
import {useBaseStore} from "@/stores/base.ts";
import BaseButton from "@/components/BaseButton.vue";
import {getDefaultDict} from "@/types/func.ts";
const props = defineProps<{
isAdd: boolean,

View File

@@ -1,9 +1,10 @@
<script setup lang="ts">
import {Article, getDefaultArticle} from "@/types/types.ts";
import {Article} from "@/types/types.ts";
import Dialog from "@/pages/pc/components/dialog/Dialog.vue";
import {useDisableEventListener} from "@/hooks/event.ts";
import EditArticle2 from "@/pages/pc/article/components/EditArticle2.vue";
import {getDefaultArticle} from "@/types/func.ts";
interface IProps {
article?: Article

View File

@@ -1,6 +1,6 @@
<script setup lang="ts">
import {computed, onMounted, onUnmounted, watch} from "vue"
import {Article, ArticleWord, getDefaultArticle, Sentence, Word} from "@/types/types.ts";
import {Article, ArticleWord, Sentence, Word} from "@/types/types.ts";
import {useBaseStore} from "@/stores/base.ts";
import {usePracticeStore} from "@/stores/practice.ts";
import {useSettingStore} from "@/stores/setting.ts";
@@ -12,6 +12,7 @@ import ContextMenu from '@imengyu/vue3-context-menu'
import {getTranslateText} from "@/hooks/article.ts";
import BaseButton from "@/components/BaseButton.vue";
import QuestionForm from "@/pages/pc/article/components/QuestionForm.vue";
import {getDefaultArticle} from "@/types/func.ts";
interface IProps {
article: Article,

View File

@@ -1,6 +1,6 @@
<script setup lang="ts">
import TypingArticle from "./TypingArticle.vue";
import {Article, ArticleItem, ArticleWord, DisplayStatistics, getDefaultArticle, ShortcutKey, Word} from "@/types/types.ts";
import {Article, ArticleItem, ArticleWord, DisplayStatistics, ShortcutKey, Word} from "@/types/types.ts";
import {cloneDeep} from "@/utils";
import Panel from "../../components/Panel.vue";
import {onMounted, onUnmounted} from "vue";
@@ -17,6 +17,7 @@ import {useOnKeyboardEventListener} from "@/hooks/event.ts";
import {genArticleSectionData, usePlaySentenceAudio} from "@/hooks/article.ts";
import {ElProgress} from 'element-plus';
import router from "@/router.ts";
import {getDefaultArticle} from "@/types/func.ts";
const store = useBaseStore()
const statisticsStore = usePracticeStore()

View File

@@ -1,5 +1,5 @@
<script setup lang="tsx">
import {DictId, getDefaultDict, Word} from "@/types/types.ts";
import {DictId, Word} from "@/types/types.ts";
import BasePage from "@/pages/pc/components/BasePage.vue";
import {computed, onMounted, reactive, shallowReactive} from "vue";
@@ -17,6 +17,7 @@ import BaseButton from "@/components/BaseButton.vue";
import {useRoute, useRouter} from "vue-router";
import {useBaseStore} from "@/stores/base.ts";
import EditBook from "@/pages/pc/article/components/EditBook.vue";
import {getDefaultDict} from "@/types/func.ts";
const runtimeStore = useRuntimeStore()
const base = useBaseStore()

View File

@@ -2,7 +2,7 @@
import "vue-activity-calendar/style.css";
import {useNav} from "@/utils";
import BasePage from "@/pages/pc/components/BasePage.vue";
import {DictResource, getDefaultDict} from "@/types/types.ts";
import {DictResource} from "@/types/types.ts";
import {useRuntimeStore} from "@/stores/runtime.ts";
import BaseIcon from "@/components/BaseIcon.vue";
import Empty from "@/components/Empty.vue";
@@ -16,6 +16,7 @@ import {useRouter} from "vue-router";
import {groupBy} from "@/utils";
import {dictionaryResources} from "@/assets/dictionary.ts";
import {computed} from "vue";
import {getDefaultDict} from "@/types/func.ts";
const {nav} = useNav()
const runtimeStore = useRuntimeStore()

View File

@@ -6,7 +6,7 @@ import Statistics from "@/pages/pc/word/Statistics.vue";
import {emitter, EventKey, useEvents} from "@/utils/eventBus.ts";
import {useSettingStore} from "@/stores/setting.ts";
import {useRuntimeStore} from "@/stores/runtime.ts";
import {getDefaultWord, ShortcutKey, StudyData, Word} from "@/types/types.ts";
import {ShortcutKey, StudyData, Word} from "@/types/types.ts";
import {useOnKeyboardEventListener, useStartKeyboardEventListener} from "@/hooks/event.ts";
import useTheme from "@/hooks/theme.ts";
import {getCurrentStudyWord, useWordOptions} from "@/hooks/dict.ts";
@@ -24,6 +24,7 @@ import {useBaseStore} from "@/stores/base.ts";
import {usePracticeStore} from "@/stores/practice.ts";
import {dictionaryResources} from "@/assets/dictionary.ts";
import {ElMessage} from "element-plus";
import {getDefaultWord} from "@/types/func.ts";
interface IProps {
new: Word[],

View File

@@ -8,7 +8,7 @@ import BaseIcon from "@/components/BaseIcon.vue";
import Dialog from "@/pages/pc/components/dialog/Dialog.vue";
import {_dateFormat, _getAccomplishDate, _getAccomplishDays, _getDictDataByUrl, useNav} from "@/utils";
import BasePage from "@/pages/pc/components/BasePage.vue";
import {DictResource, getDefaultDict} from "@/types/types.ts";
import {DictResource} from "@/types/types.ts";
import {onMounted, watch} from "vue";
import {getCurrentStudyWord} from "@/hooks/dict.ts";
import {useRuntimeStore} from "@/stores/runtime.ts";
@@ -16,6 +16,7 @@ import Book from "@/pages/pc/components/Book.vue";
import PopConfirm from "@/pages/pc/components/PopConfirm.vue";
import {ElMessage, ElProgress, ElSlider} from 'element-plus';
import BaseButton from "@/components/BaseButton.vue";
import {getDefaultDict} from "@/types/func.ts";
const store = useBaseStore()
const router = useRouter()

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import {getDefaultWord, ShortcutKey, Word} from "@/types/types.ts";
import {ShortcutKey, Word} from "@/types/types.ts";
import VolumeIcon from "@/components/icon/VolumeIcon.vue";
import {useSettingStore} from "@/stores/setting.ts";
import {usePlayBeep, usePlayCorrect, usePlayKeyboardAudio, usePlayWordAudio, useTTsPlayAudio} from "@/hooks/sound.ts";
@@ -8,6 +8,7 @@ import {nextTick, onMounted, onUnmounted, watch} from "vue";
import Tooltip from "@/pages/pc/components/Tooltip.vue";
import SentenceHightLightWord from "@/pages/pc/word/components/SentenceHightLightWord.vue";
import {usePracticeStore} from "@/stores/practice.ts";
import {getDefaultWord} from "@/types/func.ts";
interface IProps {
word: Word,