diff --git a/public/wechat.png b/public/wechat.png index 082f1c0c..8707b7a5 100644 Binary files a/public/wechat.png and b/public/wechat.png differ diff --git a/src/App.vue b/src/App.vue index ab2e91db..57d53c11 100644 --- a/src/App.vue +++ b/src/App.vue @@ -62,7 +62,9 @@ async function init() { store.load = true setTheme(settingStore.theme) - if (!settingStore.first) { + if (settingStore.first) { + set(APP_VERSION.key,APP_VERSION.version) + }else { get(APP_VERSION.key).then(r => { runtimeStore.isNew = r ? (APP_VERSION.version > Number(r)) : true }) diff --git a/src/pages/article/components/TypingArticle.vue b/src/pages/article/components/TypingArticle.vue index 82fbe26e..4aca1364 100644 --- a/src/pages/article/components/TypingArticle.vue +++ b/src/pages/article/components/TypingArticle.vue @@ -245,6 +245,7 @@ function nextSentence() { } function onTyping(e: KeyboardEvent) { + debugger if (!props.article.sections.length) return if (isTyping || isEnd) return; isTyping = true; @@ -277,12 +278,16 @@ function onTyping(e: KeyboardEvent) { if (e.code === 'Space') { next() } else { - wrong = ' ' - playBeep() - setTimeout(() => { - wrong = '' - wrong = input = '' - }, 500) + // 如果在第一个单词的最后一位上, 不按空格的直接输入下一个字母的话 + next() + isTyping = false + onTyping(e) + // wrong = ' ' + // playBeep() + // setTimeout(() => { + // wrong = '' + // wrong = input = '' + // }, 500) } } else { //如果是首句首词 diff --git a/src/pages/setting/Setting.vue b/src/pages/setting/Setting.vue index ef6a57e3..4cc8da5e 100644 --- a/src/pages/setting/Setting.vue +++ b/src/pages/setting/Setting.vue @@ -555,7 +555,7 @@ function importOldData() {
@@ -684,6 +684,22 @@ function importOldData() {
+
+
+
+
更新日期:2025/11/14
+
更新内容:新增文章练习时可跳过空格:如果在单词的最后一位上,不按空格直接输入下一个字母的话,自动跳下一个单词, 按空格也自动跳下一个单词
+
+
+
+
+
+
+
更新日期:2025/11/13
+
更新内容:新增文章练习时“输入时忽略符号/数字”选项
+
+
+
diff --git a/src/pages/word/WordsPage.vue b/src/pages/word/WordsPage.vue index b35d2f5a..5441f55e 100644 --- a/src/pages/word/WordsPage.vue +++ b/src/pages/word/WordsPage.vue @@ -86,6 +86,8 @@ function startPractice() { complete: store.sdict.complete, wordPracticeMode: settingStore.wordPracticeMode }) + //把是否是第一次设置为false + settingStore.first = false nav('practice-words/' + store.sdict.id, {}, {taskWords: currentStudy}) } else { window.umami?.track('no-dict') diff --git a/src/stores/setting.ts b/src/stores/setting.ts index ffc64f4c..68ad1709 100644 --- a/src/stores/setting.ts +++ b/src/stores/setting.ts @@ -116,14 +116,8 @@ export const useSettingStore = defineStore("setting", { this.$patch(obj) }, init() { - return new Promise(async (resolve) => { - //TODO 后面记得删除了 - let configStr = localStorage.getItem(SAVE_SETTING_KEY.key) - let configStr2 = await get(SAVE_SETTING_KEY.key) - if (configStr2) { - //兼容localStorage.getItem - configStr = configStr2 - } + return new Promise(async resolve => { + let configStr = await get(SAVE_SETTING_KEY.key) let data = checkAndUpgradeSaveSetting(configStr) if (CAN_REQUEST) { let res = await getSetting()