From 0898ef264e53207a87606be83df89bf8a990c7dd Mon Sep 17 00:00:00 2001 From: Xwite <1797350009@qq.com> Date: Sat, 5 Oct 2024 08:25:49 +0800 Subject: [PATCH] fix(modues/web): deal with readingRecent tag clik event; remove keyup eventListener when addToBookShelfConfirm visible --- modules/web/src/views/BookChapter.vue | 3 +++ modules/web/src/views/BookShelf.vue | 14 +++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/modules/web/src/views/BookChapter.vue b/modules/web/src/views/BookChapter.vue index 5bf0806a7c2..ebcc9901df7 100644 --- a/modules/web/src/views/BookChapter.vue +++ b/modules/web/src/views/BookChapter.vue @@ -568,6 +568,9 @@ const addToBookShelfConfirm = async () => { } }; onBeforeRouteLeave(async (to, from, next) => { + console.log("onBeforeRouteLeave"); + // 弹窗时停止响应按键翻页 + window.removeEventListener("keyup", handleKeyPress); await addToBookShelfConfirm(); next(); }); diff --git a/modules/web/src/views/BookShelf.vue b/modules/web/src/views/BookShelf.vue index 8d17c362bc0..500e650408e 100644 --- a/modules/web/src/views/BookShelf.vue +++ b/modules/web/src/views/BookShelf.vue @@ -32,6 +32,8 @@ readingRecent.author, readingRecent.chapterIndex, readingRecent.chapterPos, + readingRecent.isSeachBook, + true, ) " :class="{ 'no-point': readingRecent.url == '' }" @@ -110,6 +112,7 @@ export default defineComponent({ url: "", chapterIndex: 0, chapterPos: 0, + isSeachBook: false, }); const shelfWrapper = ref(null); const { showLoading, closeLoading, loadingWrapper, isLoading } = useLoading( @@ -249,20 +252,28 @@ export default defineComponent({ chapterIndex, chapterPos, isSeachBook, + fromReadRecentClick = false, ) => { if (bookName === "尚无阅读记录") return; + // 最近书籍不再书架上 自动搜索 + if (isSeachBook === true && fromReadRecentClick) { + searchWord.value = bookName; + searchBook(); + return; + } sessionStorage.setItem("bookUrl", bookUrl); sessionStorage.setItem("bookName", bookName); sessionStorage.setItem("bookAuthor", bookAuthor); sessionStorage.setItem("chapterIndex", chapterIndex); sessionStorage.setItem("chapterPos", chapterPos); - sessionStorage.setItem("isSeachBook", isSeachBook); + sessionStorage.setItem("isSeachBook", String(isSeachBook)); readingRecent.value = { name: bookName, author: bookAuthor, url: bookUrl, chapterIndex: chapterIndex, chapterPos: chapterPos, + isSeachBook, }; localStorage.setItem( "readingRecent", @@ -343,6 +354,7 @@ export default defineComponent({ searchBook, books, handleBookClick, + toDetail, isSearching, SearchIcon, githubUrl,