From cb1016eabd02fe7422ecf902ac61aa539e12dd2f Mon Sep 17 00:00:00 2001 From: Zyronon Date: Sun, 12 Oct 2025 19:53:49 +0800 Subject: [PATCH] save --- ...nd_dictionary.json => recommend_word.json} | 0 public/list/{dictionary.json => word.json} | 0 scripts/generate-sitemap.js | 2 +- scripts/push-sitemap.js | 2 +- src/apis/index.ts | 19 +++- src/config/env.ts | 4 +- src/pages/article/ArticlesPage.vue | 10 ++- src/pages/article/BookDetail.vue | 3 +- src/pages/word/DictDetail.vue | 88 ++++++++++--------- src/pages/word/WordsPage.vue | 20 +++-- .../ChangeLastPracticeIndexDialog.vue | 6 +- .../word/components/PracticeSettingDialog.vue | 16 ++-- src/stores/base.ts | 11 ++- 13 files changed, 112 insertions(+), 69 deletions(-) rename public/list/{recommend_dictionary.json => recommend_word.json} (100%) rename public/list/{dictionary.json => word.json} (100%) diff --git a/public/list/recommend_dictionary.json b/public/list/recommend_word.json similarity index 100% rename from public/list/recommend_dictionary.json rename to public/list/recommend_word.json diff --git a/public/list/dictionary.json b/public/list/word.json similarity index 100% rename from public/list/dictionary.json rename to public/list/word.json diff --git a/scripts/generate-sitemap.js b/scripts/generate-sitemap.js index dbcb79bf..b0663a3d 100644 --- a/scripts/generate-sitemap.js +++ b/scripts/generate-sitemap.js @@ -2,7 +2,7 @@ const {SitemapStream, streamToPromise} = require('sitemap') const {createWriteStream} = require('fs') const {resolve} = require('path') const bookList = require('../public/list/article.json') -const dictList = require('../public/list/dictionary.json') +const dictList = require('../public/list/word.json') // 你的网站域名 const SITE_URL = 'https://2study.top' diff --git a/scripts/push-sitemap.js b/scripts/push-sitemap.js index 91632fe4..07c29cff 100644 --- a/scripts/push-sitemap.js +++ b/scripts/push-sitemap.js @@ -1,6 +1,6 @@ const fs = require("fs"); const bookList = require('../public/list/article.json') -const dictList = require('../public/list/dictionary.json') +const dictList = require('../public/list/word.json') async function pushUrls() { // 配置区:改成你的 diff --git a/src/apis/index.ts b/src/apis/index.ts index d216ed8b..d41055cc 100644 --- a/src/apis/index.ts +++ b/src/apis/index.ts @@ -1,16 +1,27 @@ import http from "@/utils/http.ts"; import { Dict } from "@/types/types.ts"; +import { cloneDeep } from "@/utils"; + +function remove(data?: any) { + if (data) { + let s = cloneDeep(data) + delete s.words + delete s.articles + delete s.statistics + return s; + } +} export function dictListVersion() { return http('dicts/dictListVersion', null, null, 'get') } -export function myDictList() { - return http('dicts/myDictList', null, null, 'get') +export function myDictList(params?) { + return http('dicts/myDictList', null, params, 'get') } export function add2MyDict(data) { - return http('dicts/add2MyDict', null, data, 'get') + return http('dicts/add2MyDict', remove(data), null, 'post') } export function addStat(data) { @@ -22,5 +33,5 @@ export function detail(params?, data?) { } export function setDictProp(params?, data?) { - return http('dicts/setDictProp', data, params, 'post') + return http('dicts/setDictProp', remove(data), remove(params), 'post') } diff --git a/src/config/env.ts b/src/config/env.ts index cef24200..d7dce183 100644 --- a/src/config/env.ts +++ b/src/config/env.ts @@ -23,8 +23,8 @@ export const RESOURCE_PATH = ENV.API + 'static' export const DICT_LIST = { WORD: { - ALL: '/list/dictionary.json', - RECOMMENDED: '/list/recommend_dictionary.json', + ALL: '/list/word.json', + RECOMMENDED: '/list/recommend_word.json', }, ARTICLE: { ALL: '/list/article.json', diff --git a/src/pages/article/ArticlesPage.vue b/src/pages/article/ArticlesPage.vue index 22d79f37..139a2bd0 100644 --- a/src/pages/article/ArticlesPage.vue +++ b/src/pages/article/ArticlesPage.vue @@ -18,7 +18,8 @@ import dayjs from "dayjs"; import isBetween from "dayjs/plugin/isBetween"; import isoWeek from 'dayjs/plugin/isoWeek' import { useFetch } from "@vueuse/core"; -import { DICT_LIST, PracticeSaveArticleKey } from "@/config/env.ts"; +import { CAN_REQUEST, DICT_LIST, PracticeSaveArticleKey } from "@/config/env.ts"; +import { myDictList } from "@/apis"; dayjs.extend(isoWeek) dayjs.extend(isBetween); @@ -35,6 +36,12 @@ watch(() => store.load, n => { }, {immediate: true}) async function init() { + if (CAN_REQUEST) { + let res = await myDictList({type: "article"}) + if (res.success) { + store.setState(Object.assign(store.$state, res.data)) + } + } if (store.article.studyIndex >= 1) { if (!store.sbook.custom && !store.sbook.articles.length) { store.article.bookList[store.article.studyIndex] = await _getDictDataByUrl(store.sbook, DictType.article) @@ -156,7 +163,6 @@ const weekList = $computed(() => { const {data: recommendBookList, isFetching} = useFetch(resourceWrap(DICT_LIST.ARTICLE.RECOMMENDED)).json() -