+
@@ -12,8 +13,10 @@
diff --git a/modules/web/src/components/SourceTabForm.vue b/modules/web/src/components/SourceTabForm.vue
index f7df560ed..ee7e7c052 100644
--- a/modules/web/src/components/SourceTabForm.vue
+++ b/modules/web/src/components/SourceTabForm.vue
@@ -1,7 +1,7 @@
@@ -59,11 +59,7 @@
diff --git a/modules/web/src/components/ToolBar.vue b/modules/web/src/components/ToolBar.vue
index 41099d242..79df8042d 100644
--- a/modules/web/src/components/ToolBar.vue
+++ b/modules/web/src/components/ToolBar.vue
@@ -73,25 +73,27 @@ import { isInvaildSource } from "../utils/souce";
const store = useSourceStore();
const pull = () => {
const loadingMsg = ElMessage({
- message: '加载中……',
+ message: "加载中……",
showClose: true,
- duration: 0
- })
- API.getSources().then(({ data }) => {
- if (data.isSuccess) {
- store.changeTabName("editList");
- store.saveSources(data.data);
- ElMessage({
- message: `成功拉取${data.data.length}条源`,
- type: "success",
- });
- } else {
- ElMessage({
- message: data.errorMsg ?? "后端错误",
- type: "error",
- });
- }
- }).finally(() => loadingMsg.close());
+ duration: 0,
+ });
+ API.getSources()
+ .then(({ data }) => {
+ if (data.isSuccess) {
+ store.changeTabName("editList");
+ store.saveSources(data.data);
+ ElMessage({
+ message: `成功拉取${data.data.length}条源`,
+ type: "success",
+ });
+ } else {
+ ElMessage({
+ message: data.errorMsg ?? "后端错误",
+ type: "error",
+ });
+ }
+ })
+ .finally(() => loadingMsg.close());
};
const push = () => {
diff --git a/modules/web/src/plugins/utils.js b/modules/web/src/plugins/utils.js
index 399aa9615..ca98a7c14 100644
--- a/modules/web/src/plugins/utils.js
+++ b/modules/web/src/plugins/utils.js
@@ -1,7 +1,7 @@
import { formatDate } from "@vueuse/shared";
export const isLegadoUrl = (/** @type {string} */ url) =>
- /,\s*\s*\{/.test(url) ||
+ /,\s*\{/.test(url) ||
!(
url.startsWith("http") ||
url.startsWith("data:") ||
@@ -11,10 +11,6 @@ export const isLegadoUrl = (/** @type {string} */ url) =>
* @param {string} src
*/
export function getImageFromLegado(src) {
- //返回阅读代理的图片链接 已经代理的或者dataurl返回传入值
- if (!isLegadoUrl(src)) {
- return src;
- }
return (
(import.meta.env.VITE_API || location.origin) +
"/image?path=" +
diff --git a/modules/web/src/views/BookChapter.vue b/modules/web/src/views/BookChapter.vue
index 4d130a838..c59bcf242 100644
--- a/modules/web/src/views/BookChapter.vue
+++ b/modules/web/src/views/BookChapter.vue
@@ -85,7 +85,7 @@
{{ data.title }}
-
+
@@ -105,7 +105,7 @@ const loadingSerive = ref(null);
const content = ref();
watch(showLoading, (loading) => {
- if (!loading) return loadingSerive.value?.close();
+ if (!loading) return loadingSerive.value?.close();
loadingSerive.value = ElLoading.service({
target: content.value,
spinner: loadingSvg,
@@ -139,15 +139,13 @@ const {
showContent,
} = storeToRefs(store);
-const { chapterPos, index: chapterIndex} = toRefs(store.readingBook);
+const { chapterPos, index: chapterIndex } = toRefs(store.readingBook);
const { theme, infiniteLoading } = toRefs(store.config);
// 主题部分
const bodyColor = computed(() => settings.themes[theme.value].body);
-const chapterColor = computed(
- () => settings.themes[theme.value].content
-);
+const chapterColor = computed(() => settings.themes[theme.value].content);
const popupColor = computed(() => settings.themes[theme.value].popup);
const readWidth = computed(() => {
@@ -215,7 +213,6 @@ watch(popupColor, (color) => {
rightBarTheme.value.background = color;
});
-
watchEffect(() => {
if (chapterData.value.length > 0) {
store.setContentLoading(false);
diff --git a/modules/web/src/views/BookShelf.vue b/modules/web/src/views/BookShelf.vue
index 37bdc6ba1..f39abec94 100644
--- a/modules/web/src/views/BookShelf.vue
+++ b/modules/web/src/views/BookShelf.vue
@@ -147,7 +147,7 @@ const searchBook = () => {
() => {
showLoading.value = false;
if (books.value.length == 0) {
- ElMessage.info("搜索结果为空")
+ ElMessage.info("搜索结果为空");
}
}
);
@@ -224,7 +224,7 @@ const fetchBookShelfData = () => {
showLoading.value = false;
store.setConnectType("danger");
store.setConnectStatus("连接失败");
- ElMessage.error("后端连接失败")
+ ElMessage.error("后端连接失败");
store.setNewConnect(false);
throw error;
});
diff --git a/modules/web/src/views/SourceEditor.vue b/modules/web/src/views/SourceEditor.vue
index f2cd6ac70..bbd00990f 100644
--- a/modules/web/src/views/SourceEditor.vue
+++ b/modules/web/src/views/SourceEditor.vue
@@ -34,10 +34,5 @@ if (/bookSource/i.test(location.href)) {
width: 360px;
margin-right: 20px;
}
- #loading {
- position: fixed;
- top: 100px;
- left: 90vw;
- }
}
From 03c6d65cba9bf5aa7bf867173f45913c5734c611 Mon Sep 17 00:00:00 2001
From: Xwite
Date: Sun, 16 Apr 2023 12:15:52 +0000
Subject: [PATCH 2/2] Bump web v3.23.041620
---
...hapter-3e045df4.css => BookChapter-468f2c8e.css} | 2 +-
.../assets/web/vue/assets/BookChapter-d3c57abf.js | 1 -
.../assets/web/vue/assets/BookChapter-e6619d8a.js | 1 +
.../assets/web/vue/assets/BookShelf-3852f1dd.js | 1 -
.../assets/web/vue/assets/BookShelf-a8a609c2.css | 1 -
.../assets/web/vue/assets/BookShelf-e6a2af62.js | 1 +
.../assets/web/vue/assets/BookShelf-f637327a.css | 1 +
.../{config-7c50f05c.js => config-97894739.js} | 2 +-
.../assets/web/vue/assets/el-loading-15d78e2b.js | 1 -
.../assets/web/vue/assets/el-loading-5b5af897.js | 1 +
.../main/assets/web/vue/assets/index-71b7f9c4.css | 1 +
.../main/assets/web/vue/assets/index-964f1746.css | 1 -
.../main/assets/web/vue/assets/index-ab2e286b.js | 13 +++++++++++++
.../main/assets/web/vue/assets/index-cbd182e6.js | 13 -------------
app/src/main/assets/web/vue/index.html | 4 ++--
15 files changed, 22 insertions(+), 22 deletions(-)
rename app/src/main/assets/web/vue/assets/{BookChapter-3e045df4.css => BookChapter-468f2c8e.css} (78%)
delete mode 100644 app/src/main/assets/web/vue/assets/BookChapter-d3c57abf.js
create mode 100644 app/src/main/assets/web/vue/assets/BookChapter-e6619d8a.js
delete mode 100644 app/src/main/assets/web/vue/assets/BookShelf-3852f1dd.js
delete mode 100644 app/src/main/assets/web/vue/assets/BookShelf-a8a609c2.css
create mode 100644 app/src/main/assets/web/vue/assets/BookShelf-e6a2af62.js
create mode 100644 app/src/main/assets/web/vue/assets/BookShelf-f637327a.css
rename app/src/main/assets/web/vue/assets/{config-7c50f05c.js => config-97894739.js} (80%)
delete mode 100644 app/src/main/assets/web/vue/assets/el-loading-15d78e2b.js
create mode 100644 app/src/main/assets/web/vue/assets/el-loading-5b5af897.js
create mode 100644 app/src/main/assets/web/vue/assets/index-71b7f9c4.css
delete mode 100644 app/src/main/assets/web/vue/assets/index-964f1746.css
create mode 100644 app/src/main/assets/web/vue/assets/index-ab2e286b.js
delete mode 100644 app/src/main/assets/web/vue/assets/index-cbd182e6.js
diff --git a/app/src/main/assets/web/vue/assets/BookChapter-3e045df4.css b/app/src/main/assets/web/vue/assets/BookChapter-468f2c8e.css
similarity index 78%
rename from app/src/main/assets/web/vue/assets/BookChapter-3e045df4.css
rename to app/src/main/assets/web/vue/assets/BookChapter-468f2c8e.css
index 752db452d..6933362cb 100644
--- a/app/src/main/assets/web/vue/assets/BookChapter-3e045df4.css
+++ b/app/src/main/assets/web/vue/assets/BookChapter-468f2c8e.css
@@ -1 +1 @@
-@charset "UTF-8";p[data-v-f9132275]{display:block;word-wrap:break-word;word-break:break-all}p[data-v-f9132275] img{height:1em}.full[data-v-f9132275]{display:block;width:100%}.el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);min-width:150px;border-radius:var(--el-popover-border-radius);border:1px solid var(--el-popover-border-color);padding:var(--el-popover-padding);z-index:var(--el-index-popper);color:var(--el-text-color-regular);line-height:1.4;text-align:justify;font-size:var(--el-popover-font-size);box-shadow:var(--el-box-shadow-light);word-break:break-all;box-sizing:border-box}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);line-height:1;margin-bottom:12px}.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color:var(--el-text-color-primary);--el-popover-border-color:var(--el-text-color-primary);--el-popover-title-text-color:var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus,.el-popover.el-popper:focus:active{outline-width:0}@font-face{font-family:FZZCYSK;src:local("\263a"),url(./popfont-a80d6a88.ttf);font-style:normal;font-weight:400}@font-face{font-family:iconfont;src:url(./iconfont-9aaccea3.woff) format("woff")}[data-v-9f479a0b] .iconfont,[data-v-9f479a0b] .moon-icon{font-family:iconfont;font-style:normal}.settings-wrapper[data-v-9f479a0b]{user-select:none;margin:-13px;text-align:left;padding:40px 0 40px 24px;background:#ede7da url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX48dr48Nf58tv379X17NJtIBxUAAACFUlEQVQ4y1XRUZakMAgF0Af2AiDWApDZgHZqAV1nZv9rGh7Rj7Y8McUFEg1wvcMESMNVD/neU8Xcaz7nYYkYlYO6Ti82PBI4BvIEg1aj3wKwRvIMgZsUy5LdhCawPFh1sZs4SrlyN9fQKpv8s5dgZ2eLyqqJiu+WkCmUEybXkm3INS01WAiv0PapJ0CZc0SJQUzcWnZYbOOY20iFD8Bk+/j2A3wNxH7GdShFYS5ff237kXh9I9zSkQmIAhOsOSVfJ6DIXTMDaPnzkRJ92S1BQQmXl5LdirgRLLDdcYqcGPwe3QN4xCBiGNbrqq9wpW1XCecChwaQdVOsRDpPCpeoolPdxeXp3WNB9PHVzWBHlygy4NJCCrFHREv6bDt0VGwJZASkpONmm1UseGeFKAQexgaAkrfYWl3AGxWOLL2AIMBNbCXpktmS3k3vHeYjGCPBa43wJTurO3ZFVpQSJdAZGLoHTyk1upkjxMEaIxum3iIARcCa5kSkFAW5fi1mUlL9eyOsaanFmOMruwvEdE3ZYzsRSzo5ewRLXyVPPEvknt8ij4DvCg2O7xOgBCUprEzV4z1WekSpUgI8DT2mrnSOXKRfQavwuKA1F+tFnMKdJSUpMA7wQAifWRkMgjUKKZE4lBl6MCM4B1pq1P4uIjDE6Pq6rL0FnW1nIFmta5vrSvq/Ch4tpqG/ZNyyWa5jZPktq81eYv8Bt5s4iFITOp4AAAAASUVORK5CYII=) repeat}.settings-wrapper .settings-title[data-v-9f479a0b]{font-size:18px;line-height:22px;margin-bottom:28px;font-family:FZZCYSK;font-weight:400}.settings-wrapper .setting-list ul[data-v-9f479a0b]{list-style:none outside none;margin:0;padding:0}.settings-wrapper .setting-list ul li[data-v-9f479a0b]{list-style:none outside none}.settings-wrapper .setting-list ul li i[data-v-9f479a0b]{font:12px/16px PingFangSC-Regular,-apple-system,Simsun;display:inline-block;min-width:48px;margin-right:16px;vertical-align:middle;color:#666}.settings-wrapper .setting-list ul li .theme-item[data-v-9f479a0b]{line-height:32px;width:34px;height:34px;margin-right:16px;margin-top:5px;border-radius:100%;display:inline-block;cursor:pointer;text-align:center;vertical-align:middle}.settings-wrapper .setting-list ul li .theme-item .iconfont[data-v-9f479a0b]{display:none}.settings-wrapper .setting-list ul li .selected[data-v-9f479a0b]{color:#ed4259}.settings-wrapper .setting-list ul li .selected .iconfont[data-v-9f479a0b]{display:inline}.settings-wrapper .setting-list ul .font-list[data-v-9f479a0b],.settings-wrapper .setting-list ul .infinite-loading[data-v-9f479a0b]{margin-top:28px}.settings-wrapper .setting-list ul .font-list .font-item[data-v-9f479a0b],.settings-wrapper .setting-list ul .font-list .infinite-loading-item[data-v-9f479a0b],.settings-wrapper .setting-list ul .infinite-loading .font-item[data-v-9f479a0b],.settings-wrapper .setting-list ul .infinite-loading .infinite-loading-item[data-v-9f479a0b]{width:78px;height:34px;cursor:pointer;margin-right:16px;border-radius:2px;text-align:center;vertical-align:middle;display:inline-block;font:14px/34px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}.settings-wrapper .setting-list ul .font-list .font-item-input[data-v-9f479a0b],.settings-wrapper .setting-list ul .infinite-loading .font-item-input[data-v-9f479a0b]{width:168px;color:#000}.settings-wrapper .setting-list ul .font-list .selected[data-v-9f479a0b],.settings-wrapper .setting-list ul .infinite-loading .selected[data-v-9f479a0b]{color:#ed4259;border:1px solid #ed4259}.settings-wrapper .setting-list ul .font-list .font-item[data-v-9f479a0b]:hover,.settings-wrapper .setting-list ul .font-list .infinite-loading-item[data-v-9f479a0b]:hover,.settings-wrapper .setting-list ul .infinite-loading .font-item[data-v-9f479a0b]:hover,.settings-wrapper .setting-list ul .infinite-loading .infinite-loading-item[data-v-9f479a0b]:hover{border:1px solid #ed4259;color:#ed4259}.settings-wrapper .setting-list ul .font-size[data-v-9f479a0b],.settings-wrapper .setting-list ul .read-width[data-v-9f479a0b]{margin-top:28px}.settings-wrapper .setting-list ul .font-size .resize[data-v-9f479a0b],.settings-wrapper .setting-list ul .read-width .resize[data-v-9f479a0b]{display:inline-block;width:274px;height:34px;vertical-align:middle;border-radius:2px}.settings-wrapper .setting-list ul .font-size .resize span[data-v-9f479a0b],.settings-wrapper .setting-list ul .read-width .resize span[data-v-9f479a0b]{width:89px;height:34px;line-height:34px;display:inline-block;cursor:pointer;text-align:center;vertical-align:middle}.settings-wrapper .setting-list ul .font-size .resize span em[data-v-9f479a0b],.settings-wrapper .setting-list ul .read-width .resize span em[data-v-9f479a0b]{font-style:normal}.settings-wrapper .setting-list ul .font-size .resize .less[data-v-9f479a0b]:hover,.settings-wrapper .setting-list ul .font-size .resize .more[data-v-9f479a0b]:hover,.settings-wrapper .setting-list ul .read-width .resize .less[data-v-9f479a0b]:hover,.settings-wrapper .setting-list ul .read-width .resize .more[data-v-9f479a0b]:hover{color:#ed4259}.settings-wrapper .setting-list ul .font-size .resize .lang[data-v-9f479a0b],.settings-wrapper .setting-list ul .read-width .resize .lang[data-v-9f479a0b]{color:#a6a6a6;font-weight:400;font-family:FZZCYSK}.settings-wrapper .setting-list ul .font-size .resize b[data-v-9f479a0b],.settings-wrapper .setting-list ul .read-width .resize b[data-v-9f479a0b]{display:inline-block;height:20px;vertical-align:middle}.night[data-v-9f479a0b] .theme-item,.night[data-v-9f479a0b] .selected{border:1px solid #666}.night[data-v-9f479a0b] .moon-icon{color:#ed4259}.night[data-v-9f479a0b] .font-list .font-item,.night[data-v-9f479a0b] .font-list .infinite-loading-item,.night .infinite-loading .font-item[data-v-9f479a0b],.night .infinite-loading .infinite-loading-item[data-v-9f479a0b],.night[data-v-9f479a0b] .resize{border:1px solid #666;background:rgba(45,45,45,.5)}.night[data-v-9f479a0b] .resize b{border-right:1px solid #666}.day[data-v-9f479a0b] .theme-item{border:1px solid #e5e5e5}.day[data-v-9f479a0b] .selected{border:1px solid #ed4259}.day[data-v-9f479a0b] .moon-icon{display:inline;color:#fff3}.day[data-v-9f479a0b] .font-list .font-item,.day[data-v-9f479a0b] .font-list .infinite-loading-item,.day .infinite-loading .font-item[data-v-9f479a0b],.day .infinite-loading .infinite-loading-item[data-v-9f479a0b]{background:rgba(255,255,255,.5);border:1px solid rgba(0,0,0,.1)}.day[data-v-9f479a0b] .resize{border:1px solid #e5e5e5;background:rgba(255,255,255,.5)}.day[data-v-9f479a0b] .resize b{border-right:1px solid #e5e5e5}@media screen and (max-width: 500px){.settings-wrapper i[data-v-9f479a0b]{display:flex!important;flex-wrap:wrap;padding-bottom:5px!important}}.cata-wrapper[data-v-8da315d1]{margin:-16px;padding:18px 0 24px 25px}.cata-wrapper .title[data-v-8da315d1]{font-size:18px;font-weight:400;font-family:FZZCYSK;margin:0 0 20px;color:#ed4259;width:fit-content;border-bottom:1px solid #ed4259}.cata-wrapper .data-wrapper[data-v-8da315d1]{height:300px;overflow:auto}.cata-wrapper .data-wrapper .cata[data-v-8da315d1]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.cata-wrapper .data-wrapper .cata .selected[data-v-8da315d1]{color:#eb4259}.cata-wrapper .data-wrapper .cata .log[data-v-8da315d1]{width:50%;height:40px;cursor:pointer;float:left;font:16px/40px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}.cata-wrapper .data-wrapper .cata .log .log-text[data-v-8da315d1]{margin-right:26px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cata-wrapper .night[data-v-8da315d1] .log{border-bottom:1px solid #666}.cata-wrapper .day[data-v-8da315d1] .log{border-bottom:1px solid #f2f2f2}@media screen and (max-width: 500px){.cata-wrapper .data-wrapper .cata .log[data-v-8da315d1]{width:100%}}[data-v-23e7abbd] .pop-setting{margin-left:68px;top:0}[data-v-23e7abbd] .pop-cata{margin-left:10px}.chapter-wrapper[data-v-23e7abbd]{padding:0 4%;flex-direction:column;align-items:center}.chapter-wrapper[data-v-23e7abbd] .no-point{pointer-events:none}.chapter-wrapper .tool-bar[data-v-23e7abbd]{position:fixed;top:0;left:50%;z-index:100}.chapter-wrapper .tool-bar .tools[data-v-23e7abbd]{display:flex;flex-direction:column}.chapter-wrapper .tool-bar .tools .tool-icon[data-v-23e7abbd]{font-size:18px;width:58px;height:48px;text-align:center;padding-top:12px;cursor:pointer;outline:none}.chapter-wrapper .tool-bar .tools .tool-icon .iconfont[data-v-23e7abbd]{font-family:iconfont;width:16px;height:16px;font-size:16px;margin:0 auto 6px}.chapter-wrapper .tool-bar .tools .tool-icon .icon-text[data-v-23e7abbd]{font-size:12px}.chapter-wrapper .read-bar[data-v-23e7abbd]{position:fixed;bottom:0;right:50%;z-index:100}.chapter-wrapper .read-bar .tools[data-v-23e7abbd]{display:flex;flex-direction:column}.chapter-wrapper .read-bar .tools .tool-icon[data-v-23e7abbd]{font-size:18px;width:42px;height:31px;padding-top:12px;text-align:center;align-items:center;cursor:pointer;outline:none;margin-top:-1px}.chapter-wrapper .read-bar .tools .tool-icon .iconfont[data-v-23e7abbd]{font-family:iconfont;width:16px;height:16px;font-size:16px;margin:0 auto 6px}.chapter-wrapper .chapter[data-v-23e7abbd]{font-family:Microsoft YaHei,PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,sans-serif;text-align:left;padding:0 65px;min-height:100vh;width:670px;margin:0 auto}.chapter-wrapper .chapter[data-v-23e7abbd] .el-loading-mask{background-color:#0000}.chapter-wrapper .chapter[data-v-23e7abbd] .el-loading-spinner{font-size:36px;color:#b5b5b5}.chapter-wrapper .chapter[data-v-23e7abbd] .el-loading-text{font-weight:500;color:#b5b5b5}.chapter-wrapper .chapter .content[data-v-23e7abbd]{overflow:hidden;font-size:18px;line-height:1.8;font-family:Microsoft YaHei,PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,sans-serif}.chapter-wrapper .chapter .content .title[data-v-23e7abbd]{margin-bottom:57px;font:24px/32px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}.chapter-wrapper .chapter .content .bottom-bar[data-v-23e7abbd],.chapter-wrapper .chapter .content .top-bar[data-v-23e7abbd]{height:64px}.day[data-v-23e7abbd] .popup{box-shadow:0 2px 4px #0000001f,0 0 6px #0000000a}.day[data-v-23e7abbd] .tool-icon{border:1px solid rgba(0,0,0,.1);margin-top:-1px;color:#000}.day[data-v-23e7abbd] .tool-icon .icon-text{color:#0006}.day[data-v-23e7abbd] .chapter{border:1px solid #d8d8d8;color:#262626}.night[data-v-23e7abbd] .popup{box-shadow:0 2px 4px #0000007a,0 0 6px #00000029}.night[data-v-23e7abbd] .tool-icon{border:1px solid #444;margin-top:-1px;color:#666}.night[data-v-23e7abbd] .tool-icon .icon-text{color:#666}.night[data-v-23e7abbd] .chapter{border:1px solid #444;color:#666}.night[data-v-23e7abbd] .popper__arrow{background:#666}@media screen and (max-width: 750px){.chapter-wrapper[data-v-23e7abbd]{padding:0}.chapter-wrapper .tool-bar[data-v-23e7abbd]{left:0;width:100vw;margin-left:0!important}.chapter-wrapper .tool-bar .tools[data-v-23e7abbd]{flex-direction:row;justify-content:space-between}.chapter-wrapper .tool-bar .tools .tool-icon[data-v-23e7abbd]{border:none}.chapter-wrapper .read-bar[data-v-23e7abbd]{right:0;width:100vw;margin-right:0!important}.chapter-wrapper .read-bar .tools[data-v-23e7abbd]{flex-direction:row;justify-content:space-between;padding:0 15px}.chapter-wrapper .read-bar .tools .tool-icon[data-v-23e7abbd]{border:none;width:auto}.chapter-wrapper .read-bar .tools .tool-icon .iconfont[data-v-23e7abbd]{display:inline-block}.chapter-wrapper .chapter[data-v-23e7abbd]{width:100vw!important;padding:0 20px;box-sizing:border-box}}
+@charset "UTF-8";p[data-v-17a45a65]{display:block;word-wrap:break-word;word-break:break-all}p[data-v-17a45a65] img{height:1em}.full[data-v-17a45a65]{display:block;width:100%}.el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);min-width:150px;border-radius:var(--el-popover-border-radius);border:1px solid var(--el-popover-border-color);padding:var(--el-popover-padding);z-index:var(--el-index-popper);color:var(--el-text-color-regular);line-height:1.4;text-align:justify;font-size:var(--el-popover-font-size);box-shadow:var(--el-box-shadow-light);word-break:break-all;box-sizing:border-box}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);line-height:1;margin-bottom:12px}.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color:var(--el-text-color-primary);--el-popover-border-color:var(--el-text-color-primary);--el-popover-title-text-color:var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus,.el-popover.el-popper:focus:active{outline-width:0}@font-face{font-family:FZZCYSK;src:local("\263a"),url(./popfont-a80d6a88.ttf);font-style:normal;font-weight:400}@font-face{font-family:iconfont;src:url(./iconfont-9aaccea3.woff) format("woff")}[data-v-9f479a0b] .iconfont,[data-v-9f479a0b] .moon-icon{font-family:iconfont;font-style:normal}.settings-wrapper[data-v-9f479a0b]{user-select:none;margin:-13px;text-align:left;padding:40px 0 40px 24px;background:#ede7da url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX48dr48Nf58tv379X17NJtIBxUAAACFUlEQVQ4y1XRUZakMAgF0Af2AiDWApDZgHZqAV1nZv9rGh7Rj7Y8McUFEg1wvcMESMNVD/neU8Xcaz7nYYkYlYO6Ti82PBI4BvIEg1aj3wKwRvIMgZsUy5LdhCawPFh1sZs4SrlyN9fQKpv8s5dgZ2eLyqqJiu+WkCmUEybXkm3INS01WAiv0PapJ0CZc0SJQUzcWnZYbOOY20iFD8Bk+/j2A3wNxH7GdShFYS5ff237kXh9I9zSkQmIAhOsOSVfJ6DIXTMDaPnzkRJ92S1BQQmXl5LdirgRLLDdcYqcGPwe3QN4xCBiGNbrqq9wpW1XCecChwaQdVOsRDpPCpeoolPdxeXp3WNB9PHVzWBHlygy4NJCCrFHREv6bDt0VGwJZASkpONmm1UseGeFKAQexgaAkrfYWl3AGxWOLL2AIMBNbCXpktmS3k3vHeYjGCPBa43wJTurO3ZFVpQSJdAZGLoHTyk1upkjxMEaIxum3iIARcCa5kSkFAW5fi1mUlL9eyOsaanFmOMruwvEdE3ZYzsRSzo5ewRLXyVPPEvknt8ij4DvCg2O7xOgBCUprEzV4z1WekSpUgI8DT2mrnSOXKRfQavwuKA1F+tFnMKdJSUpMA7wQAifWRkMgjUKKZE4lBl6MCM4B1pq1P4uIjDE6Pq6rL0FnW1nIFmta5vrSvq/Ch4tpqG/ZNyyWa5jZPktq81eYv8Bt5s4iFITOp4AAAAASUVORK5CYII=) repeat}.settings-wrapper .settings-title[data-v-9f479a0b]{font-size:18px;line-height:22px;margin-bottom:28px;font-family:FZZCYSK;font-weight:400}.settings-wrapper .setting-list ul[data-v-9f479a0b]{list-style:none outside none;margin:0;padding:0}.settings-wrapper .setting-list ul li[data-v-9f479a0b]{list-style:none outside none}.settings-wrapper .setting-list ul li i[data-v-9f479a0b]{font:12px/16px PingFangSC-Regular,-apple-system,Simsun;display:inline-block;min-width:48px;margin-right:16px;vertical-align:middle;color:#666}.settings-wrapper .setting-list ul li .theme-item[data-v-9f479a0b]{line-height:32px;width:34px;height:34px;margin-right:16px;margin-top:5px;border-radius:100%;display:inline-block;cursor:pointer;text-align:center;vertical-align:middle}.settings-wrapper .setting-list ul li .theme-item .iconfont[data-v-9f479a0b]{display:none}.settings-wrapper .setting-list ul li .selected[data-v-9f479a0b]{color:#ed4259}.settings-wrapper .setting-list ul li .selected .iconfont[data-v-9f479a0b]{display:inline}.settings-wrapper .setting-list ul .font-list[data-v-9f479a0b],.settings-wrapper .setting-list ul .infinite-loading[data-v-9f479a0b]{margin-top:28px}.settings-wrapper .setting-list ul .font-list .font-item[data-v-9f479a0b],.settings-wrapper .setting-list ul .font-list .infinite-loading-item[data-v-9f479a0b],.settings-wrapper .setting-list ul .infinite-loading .font-item[data-v-9f479a0b],.settings-wrapper .setting-list ul .infinite-loading .infinite-loading-item[data-v-9f479a0b]{width:78px;height:34px;cursor:pointer;margin-right:16px;border-radius:2px;text-align:center;vertical-align:middle;display:inline-block;font:14px/34px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}.settings-wrapper .setting-list ul .font-list .font-item-input[data-v-9f479a0b],.settings-wrapper .setting-list ul .infinite-loading .font-item-input[data-v-9f479a0b]{width:168px;color:#000}.settings-wrapper .setting-list ul .font-list .selected[data-v-9f479a0b],.settings-wrapper .setting-list ul .infinite-loading .selected[data-v-9f479a0b]{color:#ed4259;border:1px solid #ed4259}.settings-wrapper .setting-list ul .font-list .font-item[data-v-9f479a0b]:hover,.settings-wrapper .setting-list ul .font-list .infinite-loading-item[data-v-9f479a0b]:hover,.settings-wrapper .setting-list ul .infinite-loading .font-item[data-v-9f479a0b]:hover,.settings-wrapper .setting-list ul .infinite-loading .infinite-loading-item[data-v-9f479a0b]:hover{border:1px solid #ed4259;color:#ed4259}.settings-wrapper .setting-list ul .font-size[data-v-9f479a0b],.settings-wrapper .setting-list ul .read-width[data-v-9f479a0b]{margin-top:28px}.settings-wrapper .setting-list ul .font-size .resize[data-v-9f479a0b],.settings-wrapper .setting-list ul .read-width .resize[data-v-9f479a0b]{display:inline-block;width:274px;height:34px;vertical-align:middle;border-radius:2px}.settings-wrapper .setting-list ul .font-size .resize span[data-v-9f479a0b],.settings-wrapper .setting-list ul .read-width .resize span[data-v-9f479a0b]{width:89px;height:34px;line-height:34px;display:inline-block;cursor:pointer;text-align:center;vertical-align:middle}.settings-wrapper .setting-list ul .font-size .resize span em[data-v-9f479a0b],.settings-wrapper .setting-list ul .read-width .resize span em[data-v-9f479a0b]{font-style:normal}.settings-wrapper .setting-list ul .font-size .resize .less[data-v-9f479a0b]:hover,.settings-wrapper .setting-list ul .font-size .resize .more[data-v-9f479a0b]:hover,.settings-wrapper .setting-list ul .read-width .resize .less[data-v-9f479a0b]:hover,.settings-wrapper .setting-list ul .read-width .resize .more[data-v-9f479a0b]:hover{color:#ed4259}.settings-wrapper .setting-list ul .font-size .resize .lang[data-v-9f479a0b],.settings-wrapper .setting-list ul .read-width .resize .lang[data-v-9f479a0b]{color:#a6a6a6;font-weight:400;font-family:FZZCYSK}.settings-wrapper .setting-list ul .font-size .resize b[data-v-9f479a0b],.settings-wrapper .setting-list ul .read-width .resize b[data-v-9f479a0b]{display:inline-block;height:20px;vertical-align:middle}.night[data-v-9f479a0b] .theme-item,.night[data-v-9f479a0b] .selected{border:1px solid #666}.night[data-v-9f479a0b] .moon-icon{color:#ed4259}.night[data-v-9f479a0b] .font-list .font-item,.night[data-v-9f479a0b] .font-list .infinite-loading-item,.night .infinite-loading .font-item[data-v-9f479a0b],.night .infinite-loading .infinite-loading-item[data-v-9f479a0b],.night[data-v-9f479a0b] .resize{border:1px solid #666;background:rgba(45,45,45,.5)}.night[data-v-9f479a0b] .resize b{border-right:1px solid #666}.day[data-v-9f479a0b] .theme-item{border:1px solid #e5e5e5}.day[data-v-9f479a0b] .selected{border:1px solid #ed4259}.day[data-v-9f479a0b] .moon-icon{display:inline;color:#fff3}.day[data-v-9f479a0b] .font-list .font-item,.day[data-v-9f479a0b] .font-list .infinite-loading-item,.day .infinite-loading .font-item[data-v-9f479a0b],.day .infinite-loading .infinite-loading-item[data-v-9f479a0b]{background:rgba(255,255,255,.5);border:1px solid rgba(0,0,0,.1)}.day[data-v-9f479a0b] .resize{border:1px solid #e5e5e5;background:rgba(255,255,255,.5)}.day[data-v-9f479a0b] .resize b{border-right:1px solid #e5e5e5}@media screen and (max-width: 500px){.settings-wrapper i[data-v-9f479a0b]{display:flex!important;flex-wrap:wrap;padding-bottom:5px!important}}.cata-wrapper[data-v-8da315d1]{margin:-16px;padding:18px 0 24px 25px}.cata-wrapper .title[data-v-8da315d1]{font-size:18px;font-weight:400;font-family:FZZCYSK;margin:0 0 20px;color:#ed4259;width:fit-content;border-bottom:1px solid #ed4259}.cata-wrapper .data-wrapper[data-v-8da315d1]{height:300px;overflow:auto}.cata-wrapper .data-wrapper .cata[data-v-8da315d1]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.cata-wrapper .data-wrapper .cata .selected[data-v-8da315d1]{color:#eb4259}.cata-wrapper .data-wrapper .cata .log[data-v-8da315d1]{width:50%;height:40px;cursor:pointer;float:left;font:16px/40px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}.cata-wrapper .data-wrapper .cata .log .log-text[data-v-8da315d1]{margin-right:26px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cata-wrapper .night[data-v-8da315d1] .log{border-bottom:1px solid #666}.cata-wrapper .day[data-v-8da315d1] .log{border-bottom:1px solid #f2f2f2}@media screen and (max-width: 500px){.cata-wrapper .data-wrapper .cata .log[data-v-8da315d1]{width:100%}}[data-v-ff1ea184] .pop-setting{margin-left:68px;top:0}[data-v-ff1ea184] .pop-cata{margin-left:10px}.chapter-wrapper[data-v-ff1ea184]{padding:0 4%;flex-direction:column;align-items:center}.chapter-wrapper[data-v-ff1ea184] .no-point{pointer-events:none}.chapter-wrapper .tool-bar[data-v-ff1ea184]{position:fixed;top:0;left:50%;z-index:100}.chapter-wrapper .tool-bar .tools[data-v-ff1ea184]{display:flex;flex-direction:column}.chapter-wrapper .tool-bar .tools .tool-icon[data-v-ff1ea184]{font-size:18px;width:58px;height:48px;text-align:center;padding-top:12px;cursor:pointer;outline:none}.chapter-wrapper .tool-bar .tools .tool-icon .iconfont[data-v-ff1ea184]{font-family:iconfont;width:16px;height:16px;font-size:16px;margin:0 auto 6px}.chapter-wrapper .tool-bar .tools .tool-icon .icon-text[data-v-ff1ea184]{font-size:12px}.chapter-wrapper .read-bar[data-v-ff1ea184]{position:fixed;bottom:0;right:50%;z-index:100}.chapter-wrapper .read-bar .tools[data-v-ff1ea184]{display:flex;flex-direction:column}.chapter-wrapper .read-bar .tools .tool-icon[data-v-ff1ea184]{font-size:18px;width:42px;height:31px;padding-top:12px;text-align:center;align-items:center;cursor:pointer;outline:none;margin-top:-1px}.chapter-wrapper .read-bar .tools .tool-icon .iconfont[data-v-ff1ea184]{font-family:iconfont;width:16px;height:16px;font-size:16px;margin:0 auto 6px}.chapter-wrapper .chapter[data-v-ff1ea184]{font-family:Microsoft YaHei,PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,sans-serif;text-align:left;padding:0 65px;min-height:100vh;width:670px;margin:0 auto}.chapter-wrapper .chapter[data-v-ff1ea184] .el-loading-mask{background-color:#0000}.chapter-wrapper .chapter[data-v-ff1ea184] .el-loading-spinner{font-size:36px;color:#b5b5b5}.chapter-wrapper .chapter[data-v-ff1ea184] .el-loading-text{font-weight:500;color:#b5b5b5}.chapter-wrapper .chapter .content[data-v-ff1ea184]{overflow:hidden;font-size:18px;line-height:1.8;font-family:Microsoft YaHei,PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,sans-serif}.chapter-wrapper .chapter .content .title[data-v-ff1ea184]{margin-bottom:57px;font:24px/32px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}.chapter-wrapper .chapter .content .bottom-bar[data-v-ff1ea184],.chapter-wrapper .chapter .content .top-bar[data-v-ff1ea184]{height:64px}.day[data-v-ff1ea184] .popup{box-shadow:0 2px 4px #0000001f,0 0 6px #0000000a}.day[data-v-ff1ea184] .tool-icon{border:1px solid rgba(0,0,0,.1);margin-top:-1px;color:#000}.day[data-v-ff1ea184] .tool-icon .icon-text{color:#0006}.day[data-v-ff1ea184] .chapter{border:1px solid #d8d8d8;color:#262626}.night[data-v-ff1ea184] .popup{box-shadow:0 2px 4px #0000007a,0 0 6px #00000029}.night[data-v-ff1ea184] .tool-icon{border:1px solid #444;margin-top:-1px;color:#666}.night[data-v-ff1ea184] .tool-icon .icon-text{color:#666}.night[data-v-ff1ea184] .chapter{border:1px solid #444;color:#666}.night[data-v-ff1ea184] .popper__arrow{background:#666}@media screen and (max-width: 750px){.chapter-wrapper[data-v-ff1ea184]{padding:0}.chapter-wrapper .tool-bar[data-v-ff1ea184]{left:0;width:100vw;margin-left:0!important}.chapter-wrapper .tool-bar .tools[data-v-ff1ea184]{flex-direction:row;justify-content:space-between}.chapter-wrapper .tool-bar .tools .tool-icon[data-v-ff1ea184]{border:none}.chapter-wrapper .read-bar[data-v-ff1ea184]{right:0;width:100vw;margin-right:0!important}.chapter-wrapper .read-bar .tools[data-v-ff1ea184]{flex-direction:row;justify-content:space-between;padding:0 15px}.chapter-wrapper .read-bar .tools .tool-icon[data-v-ff1ea184]{border:none;width:auto}.chapter-wrapper .read-bar .tools .tool-icon .iconfont[data-v-ff1ea184]{display:inline-block}.chapter-wrapper .chapter[data-v-ff1ea184]{width:100vw!important;padding:0 20px;box-sizing:border-box}}
diff --git a/app/src/main/assets/web/vue/assets/BookChapter-d3c57abf.js b/app/src/main/assets/web/vue/assets/BookChapter-d3c57abf.js
deleted file mode 100644
index 90deb9c03..000000000
--- a/app/src/main/assets/web/vue/assets/BookChapter-d3c57abf.js
+++ /dev/null
@@ -1 +0,0 @@
-import{_ as de,u as ue,A as ve}from"./index-cbd182e6.js";import{q as v,P as Z,a8 as Ae,o as r,d as g,M as ae,a9 as T,u as o,F as le,m as u,aa as Fe,R as ke,g as t,n as Q,t as X,e as q,w as W,a2 as Oe,v as re,ab as Pe,f as ce,K as ne,ac as Ke,D as Ne,ad as Se,p as me,i as be,ae as he,s as Ee,I as se,B as z,af as Le,a6 as He,c as ze,a7 as Je}from"./vendor-8be1f5fb.js";import{l as We}from"./el-loading-15d78e2b.js";const Te="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXr5djn4dTp49bt59rT6LKxAAACnElEQVQozw3NUUwScRzA8d8R6MF8YMIx8uk47hDSJbj14IPzOGc7jPLvwTGg5uAYDbe2tt56cLtznvEnS6yDqCcEaWi91DvrbLJZz7b1aFtz1aO+2OZWvn+/+4CHeB6BMYaqBLfjPNRY6RFT2JJYby+uAk4WUTrtlmJ4hgPYb2q1XGDQjaK8pgJHvqNaAX+KyuIkDXpgQinb46nOulnn4b5laUHTxLfseeArAoNOeJlOIjdoal0n1FA7tKFv5roK+YaHOqP3P0XyKHPHY+MhTRe5uCZnKhtJKw2eSrSoBDPLtpZuNcFNJcFyiCMxOaaHIfXz1e8HQbWLySrBQ4x0x1qlhnHlnz2HQEC6TNb0gTHXa7IKhcaHqkE015hk9whA0YeWiLIXf7Fa2CZo3DjqjB4tTuF8jIcbfcEx5z/w4sXpQhXW+ju0cqh7icTFmRMaG+v6CIvTjcSpHcH8JEsF3EPh3fRthYdVLLgI2fWXm85/pGFE4l046s70L+yKCcirGFR+jbpy3kMmiCGHrSezVONsn1RBixncyk2PcVWk7DlgxHo8iZwDyq5uAUD854dZhdIFYzKoQig2haUKi1lVufz2RZUZPZ41n/hrOQB6h0Hhg8I367FNoEHgeM/KY7szSeQwD8q2WE3HM35ZLl0K1MJiOtHIkBclRQUwZnyOWcNsRQQgVLj1PSqkjF9DsoOSaSg3iinKzvfmgsNFFfpP/2T3GLGvL4fHEfwIX1sVvXcPqLztehWGcfn9nI2U9nTfCgJPe/jFPLZwgVEzimBgAm0VIyK2tt1cE/AzQdLK+SxLSQ4aDCZnnId94OG2S1XwvnTbNk/ZnhyRCQT+sZM6z9g6LXL1BOBe+zJySiFkHAINCtnQokbCJ/apCv0foqPiZVfhpywAAAAASUVORK5CYII=",qe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAACVBMVEX28ef48+n69esoK7jYAAAB4UlEQVQozw2OsW4bQQxEhwLXkDrysGdEqRRgVShfQQq8wOr2jD0jSpXCLvwXbtKfADlFqgSwC/9ljqweZgYzQFnb/QGepYhA9jzmTc1WaSEtQpbFgjWATI00ZZtIckXx8q2Oe5yEByBy+RHOTcM+VVTadULsvxvRC/q8WTwgcWGD+Mnaqa0oy2gw2pKFzK+PzEsus5hP9AHojKslVynLlioVTBEN8cjDNnZoR1uMGTiZAAN47HxMtEkGUE9b8HWzkqNX5Lpk0yVziAJOs46rK1pG/xNuXLjz95fSDoJE5IqG23MAYPtWoeWPvfVtIV/Ng9oH3W0gGMPIOqd4MK4QZ55dV61gOb8Zxp7I9qayaGxp6Q91cmC0ZRdBwEQVHWzSAanlZwVWc9yljeTCeaHjBVvlPSLeyeBUT2rPdJegQI103jVS3uYkyIx1il6mslMDedZuOkwzolsagvPuQAfp7cYg7k9V1NOxfq64PNSvMdwONV4VYEmqlbpZy5OAakRKkjPnL4CBv5/OZRgoWHBmNbxB0LgB1I4vXFj93UoF2/0TPEsWwV9EhbIiTPqYoTHYoMn3enTDjmrFeDTIzaL1bUC/PBIMuF+vSSYSaxoVt90EO3Gu1zrMuMRGUk7Ffv3L+A931Gsb/yBoIgAAAABJRU5ErkJggg==",Ge="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEX6+fP8+/X+/ff///kbczPAAAACeElEQVQozxXHQUgUUQAG4P8936yzs6VvZNZmN9QxVxiF9OLBoOjtOC6rQq6ygXjI2fCQBdXBg4egtzFGdqkoI+zgBFbqkm3hQSxhFYLotOcubeKhOnVYoqQy+m4f5g5TvpX0xHLbLY9j8SMhJp+Jk4LfAUS2kVRIjILmnwGBTX42PhCVlDJQkIiy2nWAvaJ1h+oFIpJ0hMSYVbyyrgDWshcMpMyL1brPDQKWmduO+KTJ6XeXAMK9Yc3FpD7atyNwg6kt5XgFpLPhjUTFSYVn2abDiugGShwD8JTVRJVo/2ecuKtRb/qc4BK+9TboFfokog4T2Fn6Oqdnsjk90NMS76Rji6E0NmwkPBAZ4Xbkw8KoDAkAbEhkc78e9omxxgxg6qa5HvMv+UZbCV0qmHnSHKl5TxeA2XTCGWekR581mwC5crBH81PznASqB9va3TbkYAjJPLfg5uBfXaJgIgIBv9eessRIhxe7PA7kj6uUMeMaQ/OEQOYRaaHlqH2Gxwsl6E/pwVY5FH7uCypBZPKvDQyVziYBrAkMURe2MOOOxG/eQpp5PF+bFzUV5HtPj9GeiVSNZDELleifYTp9NAjsoiXg4cW+4ZORkdSMB/B74aAdjhsVakhgkugsbmqcDSLEoWp8zRjrux3tli6Q5uM3E+maT99Wy0RiP7tboiuRZle2c6CYeL2kcUc1KvPtQKucogMadKVTQOJYCeyCYlhQQ/Q7Etfd/vBygy9iqy+LyHeF46saCYvW6ingsbA9RBWtdi8GgUXW+oQx9/wP6bAAX1TWeV+CbShZDlQ9xT6SoSxZmKRAkmXb60kzEzkRF+Ccb94BGspGJoN/UzmyR4wjXHAAAAAASUVORK5CYII=",Ze="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAATlBMVEXdzaHh0KPgz6LdzKDezqLczJ7ezZ/fz6Dcy5zi0aXdzZ3fz6Tfz57h0KDg0aLcyZrg0KXi0qPfzZ3j06bh0qbdyJbfzJrhz5/cxpLZwo0vDconAAAFn0lEQVRIxxyPW5LjMAwDAT5FybLl2JnM3P+i6+wXWVC1GoQGaD0h4XM3Q5o4T0HgABHBi6pZ4CDXXcUOFd6VhqC3Kch4EI8w9oMXwvU6m5LOOvcxKMOhuu8i5+5cMjcgb0t4F2uvOoeI3/MlT4IqsbtM9UG2AGSXUOsxzPevnXzK1CSHytZLvx7VdQmUcJsJCxJh2nmHW12Qod1qPjt8pih47uQ9aGpoNWF+yElCt60oH7vdIU/MnlRPSBLC/VwqxcKR8PFqnADN9ih5ufqnTlG9KwCofvs7kKYqOPHTNMQ93j9qNImFw9vjHPZ0F1m8hUUVB/Q/TrRYDMXr9++APMFARAt6sPh6wVAXzxUGhZsFUwCNfPZ8/72TAHebAhvuOuT3gO1Vn5d9Jd5sBRkg0p2seL9B7ulkjFJFIt9HPpLzdSzzMP3UcodAfMqC6pBuET2heHK1itZf1GZ1bi0BwOSxiCS8f/JBHMPMM4XCu3Mt1uz9lJbDJRqsKDZuikzkvskQEz6hanfDfO494azY5JpqPqOF1RhxD9XYEdaNxiqWqakKgmPfmrsta8KAiwF4HBxGVUJAgeSqQaiRRZJ7D2jedhw5t1CIAKxag0CBA60BpoBE6DcUi8O5AuM4pLfN0kHLmeu2B4e6HofqbgxsTWUw3PAODqa1oDtyzgXBlusi1KFdclMPE8O3jvLJ8RNi5/RxDQVzVmXA233XQ4KummunfxvLOZo+iH37964YjP06995CTdu9hsvErqJNzmf4wTrZ5DL7+qW9EoLnadrx67b8dUtrJnBXaT1N1uvPaYRKpWkq52xNsMN7vv4Sdryt/f4MhQoMCKnvVxikai1CQ6ZsnwJDc8+3Y/z8HcfvYQNq66pnAu1Hwa+3KNSwbNu8h3nDPqTl9fl7tx8fBhFfdS0o0F3JUKEZtZG9b/LZEM95lzaR30OnWPzroMxyZYdBIMoMnpN0J+m7/40+/P4soFSUjgzE7yY5zrMJuoZv0CmpVguYx1pprfb5HOviRVhHUVi/352shxCYrYBZxGtVaxiAz/MsaGSIsB7R1t4zJXH//n7RTTQQwxqcGEqEvklFHUgiO2GvJV+jAIPR+N29usWDoiSOVrN3XuqT1egQJAAU9EwslVJC8u0rGcy+WPqktJhjfMpatIG6CDAb0v5H34MGKqiVRue7GGLZ9Otxtt4JIrAhxBDwDuqI9JavcO0A7GlqFt219tH/bln9jBXzaKWAEqJV0CBxs5TwM8EvUPHaa8S86vN303MVWOsl3goDBHPWSoQ9c0kQmCKljfsKNH1+ofEOHW8a9a7glZGS8fPieL/SRSs0LAhI4FDTnXs1QYtubv2+IXPZpHB4bhivRexBkYKsSrYXNjvMUbVXpVJ+N6haV72c1k2zrnv5IYBMJBYTSZx0KTkoM3vY93rU/qs7zHplc/3d2ACadhFWByrn9LUk2IWb5JywvawTQc3F0iz+lgsBmInAIemBJtft2plKIlAFOgcroigrG2XlDsAzywQECNyaI8yr2ogoh7D4qJOYmZBzQgoZAM1PAcB8sDrr1uE5CDMR+nWSSVUGUCHAs8Vd21HOE0FzNj37pX0sLp9p3K8k++xxpkmzDxK64rmTSJnDUuIgTeslui6lg92jonZXI4jqNiUuzN4IagcKMjCniMGCODoo8T4tGDprn2hRww+NrnYiCwokd9iiWrkmbRfXYGLAoZrjO1lVQKExjUy5fIkgJURmz2uGFdASwwlWx5gDVTMK7hP6ISRVsFbYNmqtZL9MQtio285PaekyzDhZmtdexCYB0SZcTmBdhvdbmAEonk8hwcHQuZN1kVqrhyKoHHsnQhQAjF7SG533Da2S4LGjx1LoZqp7XeKQLDUBmYmydG0NQHpMeR5lRIRQc1PQ2ASMQflF4YBDMt0/GFlEHeRwCcEAAAAASUVORK5CYII=",Ye="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAALVBMVEXx58b168ny6Mjz6sn06sf27Mvw5sTz6cbw5cLy58T37svv47/168v37s7t4Ltrv0//AAAEjUlEQVQ4yw2Ty2sTURxGf3dmOqmPxb0zmaStCnfmZpL6gpmbxIpUSMZGrSJkxsZiVZimNVaqMklrUnWTRq2KIDFWWx+IFrIRFxXEB4KIgqu6EBdu7M6FIPg32PW3+DhwDmBaYrK56KP4HGIsvg/uvOV0wK+qgBMlO9BujuH4DSJlOseqV5a/BEF97gt0ChyIPqBhXI9BtqtIB8vJB/LdCQ3OVjaLNX0g7+OmoI4e7nkemAqX6o8vg0yyQAyQS7IfgvFbI+6QyI3R4KELxw7kwM2ooQfyQigYnwY5MZbMlHI1DvnQVCoVcrt+R+bO7vPDif3ybNajwqAAe443dpfDsPt379VMWZzGRuqM79mQF+DUz9nt74bQ8J/O80MtVR51U02JKKmTCvTzLVf+vuxP/aHnPo9+2bW+zVsJ0Y630/CrfzX+b+UL+7O68Rczv+7lrMh5etfKXvhc2rk6KforxuoO2xB2tcxKfeXHt18rHOiHI/0RRjW/YGRDkHiwo3nzqL60o58C/bgRuaj7vk+QOwOhpnFNdjuWpKMCGP8Yapu9Ty5FTHKQLGSEFikjd9ADwP9ciaNNjc5qMH6w50AF/LKOsOYqsOG9GjKgc7ZXolqntm6fysJ6Ma6ll2CiqmOgE6O7x1wXExklbeqMYcwsmJmOoigt8SBg2WfilDSsAZJcBxDcrqtBXzFQJqZNHfscyIhoZlygAtyYAceah+elrFbI+46gEHDGiW878Kj7JpWyfhg6iyRMymV1MKBSeVpfgLHIohyTojI6sRyK1VpcqzVZeEBLOnA9unhGKUXPJDYtV9Dxuz4iA5xSkSWhCJdAiJR9PHlvfvbntbrR14FDqUNRAYDJmSnv3oKxuz5+7fiblgVJyYLTbgUM05P7LESkoXvyWNfb0aUU6FZizgQIa25VqKQZqFrk6v6BsqqIHlQmkQ9KrBhkC20/DrFsAFEEYLjM+lj2wYHXCwnNvZQR42XJ2iVK+UBXnI+OBE6oXpUUHiQ1yg0MhA03iwGbnOdQYc1CMiPIPQrCQJFH4L4BMFktAtKd9PN5gnU2Gra4KuK+V+mjtBRpAGIqDVe4wnSnajiFGO5d7smvhVQEMEYwqshrENIEaY7YeblJYtsb3QhAHWZCEKK67swwPMKw0If1Ta+6DgHmlgPzcUTSbi3rrv1Y64/BYEMPQ5SDHUOR022B4QRF6xLUPAaPX/V4IDI5N2BMwx4LqO1uO4j6uW7NvM7lATqGAxY/ZHVgoGZbu7SvkNR75x6qGSB23FdouENVwN7sCbewTdsXGrrnQ5ZZKOCOFtMTIzxlPu6eYmtL+nMFmoK7OeXajn86r9sqWbfmvHC4IagE5qfCPGZvLSq5F55hHIxJFa4/vRxHBlz0og4TojU1l/MOHJX17lybdF0mQhFO44JYUNt3UA473IXw/iPfDWtKG5oFSXIF5iU/VnyDSjxxeDk3jAXRyVyGTNB9FxH9qcFDNJpVbt2y9LytUXkK7Py6+z1RezHQqnoY8XcLimmd8dCnBhQCuaGpJCq3SoIlmYvLz8UkWhJw7T8k+Db/DYEKwgAAAABJRU5ErkJggg==",_e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX48dr48Nf58tv379X17NJtIBxUAAACFUlEQVQ4y1XRUZakMAgF0Af2AiDWApDZgHZqAV1nZv9rGh7Rj7Y8McUFEg1wvcMESMNVD/neU8Xcaz7nYYkYlYO6Ti82PBI4BvIEg1aj3wKwRvIMgZsUy5LdhCawPFh1sZs4SrlyN9fQKpv8s5dgZ2eLyqqJiu+WkCmUEybXkm3INS01WAiv0PapJ0CZc0SJQUzcWnZYbOOY20iFD8Bk+/j2A3wNxH7GdShFYS5ff237kXh9I9zSkQmIAhOsOSVfJ6DIXTMDaPnzkRJ92S1BQQmXl5LdirgRLLDdcYqcGPwe3QN4xCBiGNbrqq9wpW1XCecChwaQdVOsRDpPCpeoolPdxeXp3WNB9PHVzWBHlygy4NJCCrFHREv6bDt0VGwJZASkpONmm1UseGeFKAQexgaAkrfYWl3AGxWOLL2AIMBNbCXpktmS3k3vHeYjGCPBa43wJTurO3ZFVpQSJdAZGLoHTyk1upkjxMEaIxum3iIARcCa5kSkFAW5fi1mUlL9eyOsaanFmOMruwvEdE3ZYzsRSzo5ewRLXyVPPEvknt8ij4DvCg2O7xOgBCUprEzV4z1WekSpUgI8DT2mrnSOXKRfQavwuKA1F+tFnMKdJSUpMA7wQAifWRkMgjUKKZE4lBl6MCM4B1pq1P4uIjDE6Pq6rL0FnW1nIFmta5vrSvq/Ch4tpqG/ZNyyWa5jZPktq81eYv8Bt5s4iFITOp4AAAAASUVORK5CYII=",Xe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXN383Q4tDP4c/R5NEInCCXAAACVElEQVQozw3Hv2sTYRwH4M/79pJ7bZL2bXqtERJ97zjUpbZDhg6pfC8qibi8hLR0EaJ0EFxaCSWDxjfpj1zrYBcRBKE6SAfBJWsx9i8IQfdQxDlKtA6t2OnhQfN3lbG7ytYRywF8rVoPCNO0X2sQOKDpAnSDK2VwkHgmh5yLGT8qASt+2KofnNt2Xg1gf1UF8AoM6052cRMNaloLZb7RKQGrKKji2OefsZF+VqIvos5ZLVIZCX61JcwUdk56wASVkgQvzPfvmT2twTSwyYaC/Pl/UhAHorFhBgZtL6XdAZRp1tkPwC1NLa9CWs5prLhI85NBQsLdXvjDymG3/EbYfQhVNYqc3TtktQhWLY3ko0QsdMbSEp+64v0NfxyqLbIGdh6M2xHHlLBGqKTyQo4E/nebBgBfe1GpdeywYXc8CT7D3cKXuMXkBy4xN6o5OuKamYp3DVI6uccO9lxgd2CAlJgI2BGgaAgIJV/TYwKqu3WFccjbMuA+bVkWgS2bfnlRbD1Eb1sDyWMmjKYIBgGAWbqKRicfvzBkBIz3V5AKnguWdglQEysQsSuVzOg6ALy1pitA5ykGCsc857BRYcgCSZyFOdvoOigSGoPc5Ta73mgxshIcQE5sHMHd9D7yqITw7JO+GHVMxjhzYLcKPSEgmz3fU+BRy3iYNtiXLaBssCW8KguReqkQOTb3MStV0Ugt4U1eIs1RZWRII6Ww8xeNNItyGGQI4ZMlpg/3lQtkl2JFnBp1imRyFe0kK2Id3PCslMgiQNMS77gvFeDhG3cSkYvheeg/e7ClIh5oh+IAAAAASUVORK5CYII=",je="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXh7eHl8eXj7+Pn8+eTbH1KAAACPElEQVQozxWPQWrbQABF/0xn3JFKQRTZOIuUsbCCbOgdRoYEOauxkYPcTRyTlPQWIxEltrsRwQ6hK9nEQek6F+gNTE/Q3qLLusv34cN7SH3mFicdYW4gNIhJWXPBRVXzjcFD0IqeU4o4PRbAIVjyico0vJpIifqPfL80QN9DAQY5ucRHE/hpHxBldXe9GilaHKcKMlj6pho2zXgkNdBl0oJ8kiF1DSiJF1ZHBJkQr0Dbux/5I42Zp4cFahJDFGeW6/QjBwmFY/Q7vZ2SnoOdW2parv/Cnm81+m0xrEfiVXQ3W4nOXIqVYi3l6AAQBwMFkViVBANMto4enXHPNTkHBB0oVj4r5vHzCWayrgBvxtygDlDB2CNDjd80ZInY69aKVYZcfJ8DW+fWuc+syEODALx+ojqoafHsthTI+ZW27PGpIeo/cR6YKcbqIuIFhHmBrzAovzIOOJk1ucvcDzrMRYGVBH2yvcAOf0KiKwfRovBI3tm/kW1eemtfNWwIIXE2mJNhvoszfmMBfRCv0OPwd2321uDW3nx2q/BDxFVeoN1g7a6Im8yRnoawa8kbdXnU0cHeTMxKfZGlJgvLb3sKsxgglQnDdAfvj9LUnqWRDo0GiUmPwyU7TAsD7wHeIW3Nfy1qVGKoE9NgJCdYCAexNRob9yCn4DAQmXtQuUtera6bEmTTXhZy6h856xi4mnEl6BI9mfISkLbtJyZIMJIAUd5ZOBEu88KRAk71yxfItj/hpIB0Errv4gO1os4/UICf+o3kkqwAAAAASUVORK5CYII=",$e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX0/PTx+fH2/vbz+/P4//htSO9OAAAC5UlEQVQ4yyWT0QGjMAxDZTsDWKQDmJQBYrgBUsr+M517x0+LRWw9CyA+pC1YzndrMgHaNXVKQ+di13Of1qbur48nWhuRjj8i6ON8e7pNm7zyag/DBTfS9Z4Hup1fUuXMKY4HEE8QOHCByXkIkl7lDT239RtL9quO4JItmmhOAHXg45QuYKrQFLyGJcRvaTw6kQqZy6mkR6JAPFH/XqsQjEDRmUOA+MNLHGyMUT7AHApoAhjgjIJmCxy6XHdf648AWCdGe57IUDazCeTImQOY4/z+eVYVX2IjOw9RydeAeJwl79iGi4HpgQgHEchWraUZLtayu8scq0lHHHUKMY3Ml8hB7CS1jOckDLG9ccgNeX3124phOcjL9fPnWJhTXpLHeG9DRmHnTxHEaHakS2J51lwAJcUraNbuU7q4gMTDQj3Eripc/x+qFM5VEKAB1roQfAkX5/PxqnS2QpOrxfK1Zft0/omV5T+xCSBUAIbEIwUQgvAfxFE1O8dnk233+1UZiqJ1mAbsue6Yt8tF+yOrxC/YrUhzC4qPlE3EbR5hGKhhHdlrg7J9WunV7L7BcYQwAeE59u2tnN1c6gfVYrQiLSZ9OxZdWDXQq0+r0Pbarh3UqGCwauVvbiXuDsNxCtLDdW9rTF8oQYN4EoXXdfmwNguQP26n/tRjDeo+F2W7PjWtfSr6Bn/z+cXOLp4NnMV4RytvSW4B68m+XN9XfZTFGhO/S+cHTuTqZDC21ccA0N7QsePALaDQC3D1f94U9CWo+aq6BjB3v0rxIimBM12296M3aKPHjXLQE9KQKH4By8RHraJ3AgVto2r4xdFqlaPaiAHLl1ZF4P2pI6cYc+K8UZdcmxy7lqGc1IoPxLmIFuIeEZ6j2sQT88muEg1zwrEDTIX5U/ZmcsqfgVlBumiBLF4sAyhf9BFlXOPKLZ4H0iFb3VoHrGhtHTldKrOvP2/reu2zfV8CXMPqzRdlgd0a5eI7WwB/AYcgavcqxXWEAAAAAElFTkSuQmCC",et="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXM2t7O3ODQ3uLR4OTDp25yAAACdUlEQVQozw3P70sTcQDH8c/3/M7NG+j35mnHwjwh4hRy/QFK3zvPNbeIG1koPZmxfj2IDAwihL53zj0JYisfmEHcZJZOiBUG60lZiI8T/ANusuftgQ+kCPIPeMP7hS5mUrV9c1g6MQCAEZ8tDLHwofImAGRlX+SZK3Vu9rRRPuO4PK6/9nA4GIATsxlODS+rdCMhkAZivpYV0LWoQHSLSA4NfUg+6mY+7BKL2++F9LvnrBDYm6JO9i/YO3i/HJTGQ4pdIV82TbEDFG6vGYCd4wZchgK5J2CrKTLE+Tx0v+YGlIbdWJFcQl4ptBN8fUJQN1MCJLcZLYwUVVo+famGGty8EXJF5ofOEDzcodT3/Fb0I5sHmc1ZG7CcSl8COgxlXx09jT05OafjCZLIHJhGIaU6wDZHsuMQ41wbdjmQXbhKnMq1zlXSYrjCnyZblqexA7fC8RxS74tq2P3OxSQwTuJSApH8OZLzBBp1pOe0i3rdyDUA47GySZ31YmC4EQYSXvFSvieORGBxXF9aeVtUWKGS9WMC4Z9Y2uXnJ2nCUXVMbPOYqNYNmGWWQ7Evr+BWC+a0JAMTImcq/S4Z5INdQMeuOqDIMa9beilxfA60iC6sP1INcPDpmHBW8drZHNmqwyddJtVje9q8WGUgWAOzmbU4FCQBFi8B2Wk6pickBnYhJMenmJGuRmtt2IoKq9NuFGbNFR99sHnvrnLsLysKANDIsxbp6RNMAsoDSKuRpMwZbAAzI68QatIjmZ0aImyM3O8/4e2MNlOHZomFsa/fLDsysliHS+nlYLQJMnynxrH8QO4PaAV2Li8B/+52UgeGIVNFYf8B1XG/kFSmLcUAAAAASUVORK5CYII=",tt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXh7vLf7PDj8PTm8/ecW+lZAAACZElEQVQozw2RsU8TUQCHfz3fw7MS87jeI7DdmSMpDEoHE+P0HqGkvRR8vb5XC4NpN2RQZqcK9xJkwtriekcggerC4OZADDiT+A+goxv/gfwB3zd8H/T6vYF/pTZkCSmDNd3CBEtmZJP4N+CvvhecDvmntKsvwB17rpbIRTLOEoYkj9KZzRUuJsuBQFwgptyJ3Y7EL4V+ud5LO1UnMeQSSObqisiISZkbQBlliP3qWSk3GPQXjxv6VF2BTDO4ySx1zhuJXbA2wBNJF4t5vH9keg6wu5NvUpLtXrZ3OHC9ZsgVcZdOl38PM1y/L6m8GRiErj4AqezUjHGatGGIgs5NJDHh8Ua1IuB4035haVT6SaYWMoQ0eJ3rB/Gpnr3fB49YAy1Wa21YKqAHOmAveVw6CCMGMZh5bGtVI7jnZaiQNbta1Z+285oSoKoRbta1KZ/1bBdKH/RIxv2pRVpkoCmvpr097RWoo0CpMlTWllIenSjECU8mV43mHx2fIRfH/pncrJm3+58BWdbSqCS07/yiQnvHiCG4ZPGRFeAtfreoOubyctzHvLNHhjNvIhukxQzjU5O6QdOEzUp1Ef4d98Pxz+IPYX0bcpnT52dbedfz8y7C4R89RV+MjJkuCCx7mWDt4eyK/62lQB55xXGJK7p8u6bgRv4hVHylelYGGFs64W94tng8sAIVqSRJBpqRA9rFvAysS+9ak8s7557pz5HR4qhCRmWgplpTRJ+bhYfSAMO8/YBucWPuSdmFFtOnuWqvV2NbF6CJnbhNDzEZ/T0XSDrUydzkZCG1z/oIEyUFYxW/KPXNfwopuHDcO04UAAAAAElFTkSuQmCC",ot="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXm9PXq+Pno9vfs+vttWKBGAAACPElEQVQozw3RQWrbQACF4TfCMjPqZgIj4RRaxsZKE0PuMBZ2cLKaCI9RDAXFmJJknUWWI1O1UlamOMHJSjGkuFn3AD2Cr9CepDrAg+/xIxK4QwIqHHQkUhQ/WuphInVIFBojl8QXc012Tgq4RTtVHWVLZVFh1tEoI91uiN4joCqde8Ukn/zGM1B2W4ari2PtTwyw55Ld+Wways54qhGPyS6FzbIT3lIY8WwWdCq56Yolx6KmSKzoqrsCB5heAp4TGNQWJ1Pc6XlE5jQD5OlIX9I47A9uiUQcPQxcury/ToyxWJG/za6ki88crxKPocKS59Sl3EtBG7C89fCGflpfqoSzCeC4crioJA7F0V5+8MaSIk4qSCdwzpogmbqzEirVpGiS2dOVJvUuuqFEmhHao06KEpq+8lvHI14NJk3Qrmi9vBuRLwAz0qZB4hsDXQFXgtnlpDX3C6ug9BquSw/CYtwAzuTz5vuQNdr/YibhR68378ehZH30FSpjh71LpQkrsj+Q062h5WwZ5wlRoD6uQJy1DqvSYuCUapMBqT5YA4ZFw4KlWapxoUGlKWrx0eDQvmigu4WMYt97ruru98fYL8/0lG6CTOFcFWBhFK5gKw19h2JN808nh7xhkU6sWKLXdtkqBL6h+lULK5k19wFB/FldnGYf3LDeuf6IC2/MzJOSOP0qPxLqzaGIqtBcFIItrstkazONOkrc1D1czjuwEGESB4JJnjgSMN7PXAu7fZQpl1C236C+9mM4Af8P98Ch4R2TRl8AAAAASUVORK5CYII=",nt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXPz8/R0dHT09PU1NToNyAhAAACdElEQVQozw3NP0xTQQDH8d9d7sFrG+QeKVgQ4aoFCwFkYERyLY//0UB8GNGg1WAC0RBGJrzW4mCXQmpgvCYOwEAYiulSpYtza2KiW7s5FgNJFSV2/CzfL7RwpoJ20iadmgA8owOyaxmusKE44scBeb4vIv00dqYgmf6jzWcr7W6INbDQeZbQL9ytXeYgtFfzmW1Fek5msxJlwhyt6qDDxOLQzpVPompYrMPnEnhvLm7M5BxY5nowAj3zkydAkpC0FIG6g7AK+Ub25ybyNWVYwtpseP2rfrQwiGRpfqrnMuPeuvr2dA0p2YsHF2XghkrXKtZ8tLBjR7S2qIaYbKmyLd/QP+EogLjqqwNw5Lq1pDlMLkM5+gNoSvdq+Pxmz9/61EFq6GYM6GqaGvlN95zy3gsmEWI8K3k8OP9OmRLEPO6DP3Wv3g42COinJTZ33dcIvs4ESp6opMTjDs6mcYTEbFeUifuxh989yZrIx4lkpuixxz0nHLCekKbE17suKhYkMGhoYhTZtVBvg4bfq/1L1Im0AGMVpBFwumM0zwyuKiCMi5dqR4Flx47AGyF2xTbxqUdTwCH94BT3DozpLV5WuAL/N8rGtHKjotBOOuOtCJ9E21uqsyBoLOzaXbHPrK5PQBP+fBfeidvJAeMIAmzVt5IkJJ9DBWaZDAepYUhlQqHt0h72SJ3j8TZHom64f516xx9T5evgMPgwG82jZdJaJIDyWp6LAjOCclVyzNA3iTKzIULlBQEPaTXlPHok5gISclmyaWZlqY2aTHdRHpJOwTdDEQ3ZfKtbpclcNhyVClagmY+fIfyKukntPqBgnx5QvZHk/D/MK8JMClrSigAAAABJRU5ErkJggg==",st="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXe3t7a2trc3Nzg4OCXP9lCAAACoklEQVQozwXBzU/TYBwA4N+QEr4CNbSFwcFuowSqMRvEAwShHWAYNsu7dS0dLnGUSWT4kZB4lGzE4VtcwgIDJqcOWLJxcv4BOoQZuCPxSNSD4WSWLJGL8XmAIiyo2RgJ4A1pxQQlOxRAszLTdnPu2oQGb05RC5slJld7ZAIfo4O44Bn1ud59F0BcjnYOa17Jhwc6EdiKettncsXjT1f8KUBZUW41pK0Jc1Az4dEV3rkkPBtDSZ83Blyt0kSf2PRjzIykoBwINisPbPPtljdVE9iAXRfUPkXLVIgYrCccp5g687NdZbcJ+xa5VE/HhTtT23IKsN5jj/pcUd0dTZNAqCVw72n4gOwnTOC0vvHfaauT8d9zAoRRfPpISZRVyUiw8ELzOG1b2DZpFzkSrHLhq52twDEdyZHwvp2j4uv/bjvOf23/AcEtTuJbY5Cp4YcAer1IGkUzOo2rn8LQOKjFJw3NTw24nprQXY5aF4wxcqcSdbFQ00H4xFl8Drx4X4CikvAM1tuR8bKIBCBoLnKN10KJG4zKAsc7c9WEB9gnCi6BhVjqoco6t20ILAJuVctvaEZK732cRHDRmGfuihOam0o2CHByUZ/epCcVlRs2wmCnMqsd6aSim3ibBJtm1LGyXW3Bb7tJCPlFtUG+SvPdeEUAB60lNdo+VQbLcwRNVtT68FsLcr1+NotgNihlpExS1V2SFgNbeC8bEhgm8sM17wSi6Us2gxVWJU/5GKBpandvfyYbU1yHCLpCgWGbbPXn40rehEsUXKIJr9DMKgICfjc4bl1YfvUhE/YIECGRqjCxSM9hrybAIkND5OeWfFZsXkxB+qDzb7pUQ3EfQ3Ml6EChEt3D+iS01VqC7EQ/Z/DuPQcz4yChoFQJce2Qr+NNAv0HxofmpXGqgHkAAAAASUVORK5CYII=",at="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEXm5ubo6Ojp6enr6+vt7e1FnZagAAACrklEQVQ4yx1SixUbMQgT3AKAFwDcAfzpBN1/qMrJS5w7bCQhC6IGSUGYQJd6Ox9ZPXi1AGJBavhUTT0JjYPGAab9WcDYIxsmlnxkayX8mhxCmKHA75az5cfRbWybEExiu08xDSgGym0mwuf3j4SvHeQxDJJzh2zp4iOlrD8iOb4SXyC1wiOLRTcnrje+nGamFeXVKWkmzbFIPChkmJ6Fg7mBpV8n+JGOVCd4jv1thThkjeQGNeafpeV3rsEWLfyWc8tC9jOv6FQ8rRzHOOVB+jCYEUAJpDvh8xHNFm/Tm5p5lw94Pp3NhtKEfQsGvnXhowdZE73hPwxKvjDd4i4PCdd0fe3W5fO8ktAsUAacLgstpUw60JCiPLg2XpkgiqPIYYXJd9ksGIT3q+LlevypzItvO+s0F1dBzVr2QDMUkYmuyGcrIS44mVJ7JVKwQXjYuBYp0Uetecbswzsikzu3gUR8bJC/C8Gd/NAzI/xdUGOYQQHDZ8X2d5XuzGRUiXAi9si5CRgoiToRZPtzLJkd0FUHRHZwJf0BHT1sE7gcnh0jmKKlSSF4/GBirGk5+K9NKlGDCfc9JtPhg78JdabH0YQRKNZnJ8tFnPfXHJb4xum1TTCeEmyEdbyEJLjznMLHuFD2Y9NEkSleIBs7SiCbblhgctVi9ch++kDYnn1C9DA5TvdPsToXM55wI6k+8eKT1blwPTqWb5CFJ+7dTBmab+KHy+xwNtItXhZNSpHD2fxnynrxG3ZBKRe8KBpXk11AnadlccEhr9w1nBBvBylNkv7A8eqpGBCDqhitmWQXBjjdS6idr/QjXWLDeMzMbVDoJuM8zN7WenMZWXgZ2vX3F01J3jHZbwk1LRP+DWEvDJtOUoh/AIaBUz5VpWyhuyx4QtgL/NmgC6kM/JvNe+R/C/5aL7BKIbYAAAAASUVORK5CYII=",lt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAElBMVEUQERMODxESFBYWGBkaHB0eICLm6ozJAAACkUlEQVQ4yyWTUdLbMAiEASfvoOkBkBy/O5keIE0v8E/uf5h+68qZWALELgu2MG9PP9qyvCzTVhrrsPGOCjvTfXQZvtp/W3Gy6LCITqs4q/DZ+KYl76zKzHVYpY2wNY27nqN1sbLGcrLH3/ENH4oWlGctsDu8AO+HzTLlsYdh8MzP1m6YDMz0ACfcimvakBj+mwO/+5Uta5teOD379sxK1fUxmUhv8MU3jUT5gs26PMephFznkLcpQZ6/dPL9C/GWHcCxDN6oZhD5xBm5qoYBPA+PFE/H1tXDWcWl8TW7rS+4dUzAVy0BIrvC4/HcqW2TkG1HO8q9dC23INAg7NA4AFRFkDTM2lfELPyFzi1VddcpX2z0KjHBUDmdLNJ6dDps4ytrX+FPsZwE31wSL+6OWfHOAJ3+Y0Rk/MiKfmWNPg7oVP/U3Ck9FoCkC2gBpALOiqbMNTkOe8P4FWkTD2Y9Q3+5VmV0uLUJBl68U5uAK2Kl6QDXvLxbwweOL2sixW78uU8p0ysfc7cWrF1j6B1sPJ4WgclYSnJN1bzozrhEcFHmRzBkbJWqqdG+EYJXRFmT5jnLXPUNF6WBdoFbTxYsmDXVLU/WA7MExNc93sJS5hIXDeLxzMScHzdhKvEkibr6cQXYPrmtmTA7JcInISrTzRDvShTdka0uVGrsJAAR6tSn1sKziZtfKVjAxPrJsYgZO0bye+vKTZ/DgoAoLGNO6jYHimZYTL/3pLJHawquJukjBpfz8WOGVSVIWx9ywUfS5iENutidRM4NzkAmxgUSQ68xgNOU+ZLalr4TS2V+D2xqukZig+Z9DilR7Nouzwp1cp/3E5q6Rdlf08obKvAM4qZ6pMr+w3PmQALSSBfjyZn5DwrNRVbywBQiAAAAAElFTkSuQmCC",it="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEUWGBkYGhsdHyAfISI1t/v6AAAB5ElEQVQozxXQsYoTURSA4f/EeycZsDgDdySDjihk38Hy3GWi2J2BCaziQhaiaB+tt9AFu1kwvYUPsIXNPoB9BAUfwAfwEUzKv/v4odGrroyp9/rUaC6rZ5skv5F8qPsfYYP+yKUMymmAEEeW55oUR4o8jr05KNzJ07yvB7w0KKfLwcQUSjfmMU0PJfPHFoEVU+ohNrcKMEzMQ23FDnVSI2dqtYWI7KlLu6vE4UnyvKc3SJuL7lBbeEEl42ItpGLjzIT8PRJCmkRjVpVpsbJFVN0687okJNZiHAr5Z7MV0BnGIDc+THM1zlbieBc1Fq+tH5BH+OpnbWkj40hSqC8Lw2TvFuF0SUFJCk2IytXbjeqcRAt6NHpnrUkUU4KRzZs8RCK8N/Akn2W04LwxMU/V7XK0bDyN2RxfDyx7I4h5vjZby72V8UnOWumZL3qtYc+8DTE0siSBMXGhywx2dMYPnQHbxdFZ7deiNGxCCtD/QWnbwDoGhRYPDzUdUA3krjpnkvdAgDN4ddLkEQSov9qjd42HaDjI34gEqS9TUueAk+sc4qg5ws407KQYKs8G1jv4xBlqBVk6cb4dISZIwVi1Jzu4+HLk6lyfUxkXvwy+1Q+4WVdHIhwfybZ6CWVhxMEhShOgsP/HOW0MvZJeFwAAAABJRU5ErkJggg==",ct="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEUWGBkYGhsdHyAfISI1t/v6AAAB5ElEQVQozxXQsYoTURSA4f/EeycZsDgDdySDjihk38Hy3GWi2J2BCaziQhaiaB+tt9AFu1kwvYUPsIXNPoB9BAUfwAfwEUzKv/v4odGrroyp9/rUaC6rZ5skv5F8qPsfYYP+yKUMymmAEEeW55oUR4o8jr05KNzJ07yvB7w0KKfLwcQUSjfmMU0PJfPHFoEVU+ohNrcKMEzMQ23FDnVSI2dqtYWI7KlLu6vE4UnyvKc3SJuL7lBbeEEl42ItpGLjzIT8PRJCmkRjVpVpsbJFVN0687okJNZiHAr5Z7MV0BnGIDc+THM1zlbieBc1Fq+tH5BH+OpnbWkj40hSqC8Lw2TvFuF0SUFJCk2IytXbjeqcRAt6NHpnrUkUU4KRzZs8RCK8N/Akn2W04LwxMU/V7XK0bDyN2RxfDyx7I4h5vjZby72V8UnOWumZL3qtYc+8DTE0siSBMXGhywx2dMYPnQHbxdFZ7deiNGxCCtD/QWnbwDoGhRYPDzUdUA3krjpnkvdAgDN4ddLkEQSov9qjd42HaDjI34gEqS9TUueAk+sc4qg5ws407KQYKs8G1jv4xBlqBVk6cb4dISZIwVi1Jzu4+HLk6lyfUxkXvwy+1Q+4WVdHIhwfybZ6CWVhxMEhShOgsP/HOW0MvZJeFwAAAABJRU5ErkJggg==";var J={themes:[{body:"#ede7da url("+Te+") repeat",content:"#ede7da url("+qe+") repeat",popup:"#ede7da url("+Ge+") repeat"},{body:"#ede7da url("+Ze+") repeat",content:"#ede7da url("+Ye+") repeat",popup:"#ede7da url("+_e+") repeat"},{body:"#ede7da url("+Xe+") repeat",content:"#ede7da url("+je+") repeat",popup:"#ede7da url("+$e+") repeat"},{body:"#ede7da url("+et+") repeat",content:"#ede7da url("+tt+") repeat",popup:"#ede7da url("+ot+") repeat"},{body:"#ebcece repeat",content:"#f5e4e4 repeat",popup:"#faeceb repeat"},{body:"#ede7da url("+nt+") repeat",content:"#ede7da url("+st+") repeat",popup:"#ede7da url("+at+") repeat"},{body:"#ede7da url("+lt+") repeat",content:"#ede7da url("+it+") repeat",popup:"#ede7da url("+ct+") repeat"}],fonts:[{fontFamily:"Microsoft YaHei, PingFangSC-Regular, HelveticaNeue-Light, Helvetica Neue Light, sans-serif"},{fontFamily:"PingFangSC-Regular, -apple-system, Simsun"},{fontFamily:"Kaiti"}]};const At=["src"],rt=["innerHTML"],dt={__name:"ChapterContent",props:["carray"],setup(s){const a=s,c=ue(),h=v(()=>c.config.font>=0?J.fonts[c.config.font]:{fontFamily:c.config.customFontName}),l=v(()=>c.config.fontSize+"px"),D=v(()=>{let m=h.value;return m.fontSize=l.value,m});function B(m){const f=/
]*src="([^"]*(?:"[^>]+\})?)"[^>]*>/;return m.match(f)[1]}return Z(l,()=>{c.setShowContent(!1),Ae(()=>{c.setShowContent(!0)})}),(m,f)=>(r(!0),g(le,null,ae(a.carray,(d,i)=>(r(),g("div",{key:i},[/^\s*
]*src[^>]+>$/.test(d)?(r(),g("img",{key:0,class:"full",src:B(d),loading:"lazy"},null,8,At)):(r(),g("p",{key:1,style:T(o(D)),innerHTML:d},null,12,rt))]))),128))}},ut=de(dt,[["__scopeId","data-v-f9132275"]]);const C=s=>(me("data-v-9f479a0b"),s=s(),be(),s),gt=C(()=>t("div",{class:"settings-title"},"设置",-1)),pt={class:"setting-list"},ft={class:"theme-list"},vt=C(()=>t("i",null,"阅读主题",-1)),ht=["onClick"],mt={key:0,class:"iconfont"},bt={key:1,class:"moon-icon"},yt={class:"font-list"},Bt=C(()=>t("i",null,"正文字体",-1)),Ct=["onClick"],It={class:"font-list"},kt=C(()=>t("i",null,"自定字体",-1)),St=C(()=>t("p",null," 请确认输入的字体名称完整无误,并且该字体已经安装在您的设备上。 ",-1)),Et=C(()=>t("p",null,"确定保存吗?",-1)),wt={style:{"text-align":"right",margin:"0"}},Ut=C(()=>t("span",{type:"text",class:"font-item"},"保存",-1)),Qt={class:"font-size"},Dt=C(()=>t("i",null,"字体大小",-1)),Vt={class:"resize"},Mt=C(()=>t("em",{class:"iconfont"},"",-1)),xt=[Mt],Rt=C(()=>t("b",null,null,-1)),Ft={class:"lang"},Ot=C(()=>t("b",null,null,-1)),Pt=C(()=>t("em",{class:"iconfont"},"",-1)),Kt=[Pt],Nt={key:0,class:"read-width"},Lt=C(()=>t("i",null,"页面宽度",-1)),Ht={class:"resize"},zt=C(()=>t("em",{class:"iconfont"},"",-1)),Jt=[zt],Wt=C(()=>t("b",null,null,-1)),Tt={class:"lang"},qt=C(()=>t("b",null,null,-1)),Gt=C(()=>t("em",{class:"iconfont"},"",-1)),Zt=[Gt],Yt={class:"infinite-loading"},_t=C(()=>t("i",null,"无限加载",-1)),Xt={__name:"ReadSettings",setup(s){const a=ue(),c=u(0),h=u(a.config.theme==6),l=u(""),D=Fe([{background:"rgba(250, 245, 235, 0.8)"},{background:"rgba(245, 234, 204, 0.8)"},{background:"rgba(230, 242, 230, 0.8)"},{background:"rgba(228, 241, 245, 0.8)"},{background:"rgba(245, 228, 228, 0.8)"},{background:"rgba(224, 224, 224, 0.8)"},{background:"rgba(0, 0, 0, 0.5)"}]),B=u({display:"inline",color:"rgba(255,255,255,0.2)"}),m=u(["雅黑","宋体","楷书"]),f=u(a.config.customFontName),d=u(!1);ke(()=>{var b=a.config;c.value=b.theme,c.value==6?l.value="":l.value=""});const i=v(()=>a.config),V=v(()=>({background:J.themes[i.value.theme].popup})),x=v(()=>a.config.theme),S=v(()=>a.config.font),E=v(()=>a.config.fontSize),K=v(()=>a.config.readWidth),H=v(()=>a.config.infiniteLoading),R=b=>{b==6?(h.value=!0,l.value="",B.value.color="#ed4259"):(h.value=!1,l.value="",B.value.color="rgba(255,255,255,0.2)"),i.value.theme=b,N(i.value)},F=b=>{i.value.font=b,N(i.value)},p=()=>{i.value.font=-1,i.value.customFontName=f.value,N(i.value)},I=()=>{i.value.fontSize<48&&(i.value.fontSize+=2),N(i.value)},j=()=>{i.value.fontSize>12&&(i.value.fontSize-=2),N(i.value)},ge=()=>{i.value.readWidth+=160,N(i.value)},ie=()=>{i.value.readWidth>640&&(i.value.readWidth-=160),N(i.value)},$=b=>{i.value.infiniteLoading=b,N(i.value)},N=b=>{a.setConfig(b),localStorage.setItem("config",JSON.stringify(b)),ee(b)},ee=b=>{ve.saveReadConfig(b)};return(b,k)=>{const te=Ke,Y=Ne,G=Se;return r(),g("div",{class:Q(["settings-wrapper",{night:o(h),day:!o(h)}]),style:T(o(V))},[gt,t("div",pt,[t("ul",null,[t("li",ft,[vt,(r(!0),g(le,null,ae(o(D),(w,L)=>(r(),g("span",{class:Q(["theme-item",{selected:o(x)==L}]),key:L,style:T(w),ref_for:!0,ref:"themes",onClick:pe=>R(L)},[L<6?(r(),g("em",mt,"")):(r(),g("em",bt,X(o(l)),1))],14,ht))),128))]),t("li",yt,[Bt,(r(!0),g(le,null,ae(o(m),(w,L)=>(r(),g("span",{class:Q(["font-item",{selected:o(S)==L}]),key:L,onClick:pe=>F(L)},X(w),11,Ct))),128))]),t("li",It,[kt,q(te,{effect:"dark",content:"自定义的字体名称",placement:"top"},{default:W(()=>[Oe(t("input",{type:"text",class:"font-item font-item-input","onUpdate:modelValue":k[0]||(k[0]=w=>re(f)?f.value=w:null),placeholder:"请输入自定义的字体名称"},null,512),[[Pe,o(f)]])]),_:1}),q(G,{placement:"top",width:"180",trigger:"click",visible:o(d),"onUpdate:visible":k[3]||(k[3]=w=>re(d)?d.value=w:null)},{reference:W(()=>[Ut]),default:W(()=>[St,Et,t("div",wt,[q(Y,{size:"small",plain:"",onClick:k[1]||(k[1]=w=>d.value=!1)},{default:W(()=>[ce("取消")]),_:1}),q(Y,{type:"primary",size:"small",onClick:k[2]||(k[2]=w=>{p(),d.value=!1})},{default:W(()=>[ce("确定")]),_:1})])]),_:1},8,["visible"])]),t("li",Qt,[Dt,t("div",Vt,[t("span",{class:"less",onClick:j},xt),Rt,ce(),t("span",Ft,X(o(E)),1),Ot,t("span",{class:"more",onClick:I},Kt)])]),o(a).miniInterface?ne("",!0):(r(),g("li",Nt,[Lt,t("div",Ht,[t("span",{class:"less",onClick:ie},Jt),Wt,ce(),t("span",Tt,X(o(K)),1),qt,t("span",{class:"more",onClick:ge},Zt)])])),t("li",Yt,[_t,(r(),g("span",{class:Q(["infinite-loading-item",{selected:o(H)==!1}]),key:0,onClick:k[4]||(k[4]=w=>$(!1))},"关闭",2)),(r(),g("span",{class:Q(["infinite-loading-item",{selected:o(H)==!0}]),key:1,onClick:k[5]||(k[5]=w=>$(!0))},"开启",2))])])])],6)}}},jt=de(Xt,[["__scopeId","data-v-9f479a0b"]]),$t=(s,a,c,h)=>(s/=h/2,s<1?c/2*s*s+a:(s--,-c/2*(s*(s-2)-1)+a)),eo=()=>{let s,a,c,h,l,D,B,m,f,d,i,V,x;function S(){let p=s.scrollTop||s.scrollY||s.pageYOffset;return p=typeof p>"u"?0:p,p}function E(p){const I=p.getBoundingClientRect().top,j=s.getBoundingClientRect?s.getBoundingClientRect().top:0;return I-j+c}function K(p){s.scrollTo?s.scrollTo(0,p):s.scrollTop=p}function H(p){d||(d=p),i=p-d,V=D(i,c,m,f),K(V),i(me("data-v-8da315d1"),s=s(),be(),s),oo=to(()=>t("div",{class:"title"},"目录",-1)),no={class:"cata"},so=["onClick"],ao={class:"log-text"},lo={__name:"PopCatalog",emits:["getContent"],setup(s,{emit:a}){const c=ue(),h=u(!1),{index:l}=he(c.readingBook),{catalog:D,popCataVisible:B}=Ee(c),m=v(()=>c.config.theme),f=v(()=>({background:J.themes[m.value].popup}));se(()=>{h.value=m.value==6});const d=u(),i=u();Z(B,()=>{Ae(()=>{let S=i.value;_(d.value[l.value],{container:S,duration:0})})});const V=S=>S==l.value,x=S=>{l.value=D.value.indexOf(S),c.setPopCataVisible(!1),c.setContentLoading(!0),a("getContent",l.value)};return(S,E)=>(r(),g("div",{class:"cata-wrapper",style:T(o(f))},[oo,t("div",{class:Q(["data-wrapper",{night:o(h),day:!o(h)}]),ref_key:"cataData",ref:i},[t("div",no,[(r(!0),g(le,null,ae(o(D),(K,H)=>(r(),g("div",{class:Q(["log",{selected:V(H)}]),key:K.durChapterIndex,onClick:R=>x(K),ref_for:!0,ref_key:"cata",ref:d},[t("div",ao,X(K.title),1)],10,so))),128))])],2)],4))}},io=de(lo,[["__scopeId","data-v-8da315d1"]]);const M=s=>(me("data-v-23e7abbd"),s=s(),be(),s),co={class:"tools"},Ao=M(()=>t("div",{class:"iconfont"},"",-1)),ro=M(()=>t("div",{class:"icon-text"},"目录",-1)),uo=[Ao,ro],go=M(()=>t("div",{class:"iconfont"},"",-1)),po=M(()=>t("div",{class:"icon-text"},"设置",-1)),fo=[go,po],vo=M(()=>t("div",{class:"iconfont"},"",-1)),ho=M(()=>t("div",{class:"icon-text"},"书架",-1)),mo=[vo,ho],bo=M(()=>t("div",{class:"iconfont"},"",-1)),yo=M(()=>t("div",{class:"icon-text"},"顶部",-1)),Bo=[bo,yo],Co=M(()=>t("div",{class:"iconfont"},"",-1)),Io=M(()=>t("div",{class:"icon-text"},"底部",-1)),ko=[Co,Io],So={class:"tools"},Eo=M(()=>t("div",{class:"iconfont"},"",-1)),wo={key:0},Uo={key:0},Qo=M(()=>t("div",{class:"iconfont"},"",-1)),Do=M(()=>t("div",{class:"chapter-bar"},null,-1)),Vo={class:"content"},Mo=["index"],xo={__name:"BookChapter",setup(s){const a=u(!1),c=u(null),h=u();Z(a,e=>{var n;if(!e)return(n=c.value)==null?void 0:n.close();c.value=Je.service({target:h.value,spinner:We,text:"正在获取信息",lock:!0})});const l=ue();try{const e=JSON.parse(localStorage.getItem("config"));e!=null&&l.setConfig(e)}catch{localStorage.removeItem("config")}const D=u(),B=u(!0),m=u(!1),f=u([]),d=u(null),i=u(null),{catalog:V,popCataVisible:x,readSettingsVisible:S,miniInterface:E,showContent:K}=Ee(l),{chapterPos:H,index:R}=he(l.readingBook),{theme:F,infiniteLoading:p}=he(l.config),I=v(()=>J.themes[F.value].body),j=v(()=>J.themes[F.value].content),ge=v(()=>J.themes[F.value].popup),ie=v(()=>E.value?window.innerWidth+"px":l.config.readWidth-130+"px"),$=v(()=>E.value?window.innerWidth-33:l.config.readWidth-33),N=v(()=>({background:J.themes[F.value].body})),ee=v(()=>({background:J.themes[F.value].content,width:ie.value})),b=v(()=>({background:J.themes[F.value].popup,marginLeft:E.value?0:-(l.config.readWidth/2+68)+"px",display:E.value&&!m.value?"none":"block"})),k=v(()=>({background:J.themes[F.value].popup,marginRight:E.value?0:-(l.config.readWidth/2+52)+"px",display:E.value&&!m.value?"none":"block"})),te=u(!1);se(()=>{te.value=F.value==6}),Z(I,e=>{N.value.background=e}),Z(j,e=>{ee.value.background=e}),Z(ie,e=>{ee.value.width=e;let n=-((parseInt(e)+130)/2+68)+"px",O=-((parseInt(e)+130)/2+52)+"px";b.value.marginLeft=n,k.value.marginRight=O}),Z(ge,e=>{b.value.background=e,k.value.background=e}),se(()=>{f.value.length>0&&(l.setContentLoading(!1),xe())}),se(()=>{var e;document.title=((e=V.value[R.value])==null?void 0:e.title)||document.title,l.saveBookProcess()}),se(()=>{var e,n;p.value?(n=d.value)==null||n.observe(D.value):(e=d.value)==null||e.disconnect()});const Y=u(),G=(e,n=!0,O=0)=>{n&&(l.setShowContent(!1),a.value=!0,_(Y.value,{duration:0}),Ue(e,O));let y=sessionStorage.getItem("bookUrl"),{title:P,index:U}=V.value[e];ve.getBookContent(y,U).then(A=>{if(A.data.isSuccess){let Re=A.data.data.split(/\n+/);fe({index:e,content:Re,title:P},n)}else{z({message:A.data.errorMsg,type:"error"});let oe=[A.data.errorMsg];fe({index:e,content:oe,title:P},n)}if(l.setContentLoading(!0),a.value=!1,B.value=!1,l.setShowContent(!0),!A.data.isSuccess)throw A.data},A=>{throw z({message:"获取章节内容失败",type:"error"}),fe({index:e,content:["获取章节内容失败!"],title:P},n),a.value=!1,l.setShowContent(!0),A})},w=u(),L=u(),pe=()=>{_(Y.value)},we=()=>{_(L.value)},ye=()=>{l.setContentLoading(!0);let e=R.value+1;typeof V.value[e]<"u"?(z({message:"下一章",type:"info"}),G(e)):z({message:"本章是最后一章",type:"error"})},Be=()=>{l.setContentLoading(!0);let e=R.value-1;typeof V.value[e]<"u"?(z({message:"上一章",type:"info"}),G(e)):z({message:"本章是第一章",type:"error"})},Ue=(e,n=H.value)=>{let O=sessionStorage.getItem("bookUrl");var y=JSON.parse(localStorage.getItem(O));y.index=e,y.chapterPos=n,localStorage.setItem(O,JSON.stringify(y)),y=JSON.parse(localStorage.getItem("readingRecent")),y.chapterIndex=e,y.chapterPos=n,localStorage.setItem("readingRecent",JSON.stringify(y)),R.value=e,H.value=n,sessionStorage.setItem("chapterIndex",e),sessionStorage.setItem("chapterPos",String(n))},fe=async(e,n)=>{n&&f.value.splice(0),f.value.push(e)},Qe=()=>{let e=f.value.slice(-1)[0].index;V.value.length-1>e&&G(e+1,!1)},De=He(),Ce=()=>{De.push("/")},Ie=e=>{switch(e.key){case"ArrowLeft":e.stopPropagation(),e.preventDefault(),Be();break;case"ArrowRight":e.stopPropagation(),e.preventDefault(),ye();break;case"ArrowUp":e.stopPropagation(),e.preventDefault(),document.documentElement.scrollTop===0?z({message:"已到达页面顶部",type:"warn"}):_(0-document.documentElement.clientHeight+100);break;case"ArrowDown":e.stopPropagation(),e.preventDefault(),document.documentElement.clientHeight+document.documentElement.scrollTop===document.documentElement.scrollHeight?z({message:"已到达页面底部",type:"warn"}):_(document.documentElement.clientHeight-100);break}},Ve=e=>{if(!a.value)for(let{isIntersecting:n}of e){if(!n)return;Qe()}},Me=e=>{Ae(()=>{for(let{isIntersecting:n,target:O,boundingClientRect:y}of e){let P=O.querySelector(".title");if(!P)return;let U=parseInt(P.getAttribute("index"));n?R.value=U:y.top<0?R.value=U+1:R.value=U-1}})},xe=()=>{Ae(()=>{let e=w.value;e&&e.forEach(n=>i.value.observe(n))})};return ke(()=>{a.value=!0;let e=sessionStorage.getItem("bookUrl"),n=sessionStorage.getItem("bookName"),O=sessionStorage.getItem("bookAuthor"),y=Number(sessionStorage.getItem("chapterIndex")||0),P=Number(sessionStorage.getItem("chapterPos")||0);var U=JSON.parse(localStorage.getItem(e));(U==null||y!=U.index||P!=U.chapterPos)&&(U={bookName:n,bookAuthor:O,bookUrl:e,index:y,chapterPos:P},localStorage.setItem(e,JSON.stringify(U))),ve.getChapterList(e).then(A=>{if(a.value=!1,!A.data.isSuccess){z({message:A.data.errorMsg,type:"error"}),setTimeout(Ce,500);return}let oe=A.data.data;l.setCatalog(oe),l.setReadingBook(U),G(y,!0,P),window.addEventListener("keyup",Ie),d.value=new IntersectionObserver(Ve,{rootMargin:"-100% 0% 20% 0%"}),p.value&&d.value.observe(D.value),i.value=new IntersectionObserver(Me),document.title=null,document.title=n+" | "+V.value[y].title},A=>{throw a.value=!1,z({message:"获取书籍目录失败",type:"error"}),A})}),Le(()=>{var e,n;window.removeEventListener("keyup",Ie),S.value=!1,x.value=!1,(e=d.value)==null||e.disconnect(),(n=i.value)==null||n.disconnect()}),(e,n)=>{const O=io,y=Se,P=jt,U=ut;return r(),g("div",{class:Q(["chapter-wrapper",{night:o(te),day:!o(te)}]),style:T(o(N)),onClick:n[2]||(n[2]=A=>m.value=!o(m))},[t("div",{class:"tool-bar",style:T(o(b))},[t("div",co,[q(y,{placement:"right",width:o($),trigger:"click","show-arrow":!1,visible:o(x),"onUpdate:visible":n[0]||(n[0]=A=>re(x)?x.value=A:null),"popper-class":"pop-cata"},{reference:W(()=>[t("div",{class:Q(["tool-icon",{"no-point":o(B)}])},uo,2)]),default:W(()=>[q(O,{onGetContent:G,class:"popup"})]),_:1},8,["width","visible"]),q(y,{placement:"right",width:o($),trigger:"click","show-arrow":!1,visible:o(S),"onUpdate:visible":n[1]||(n[1]=A=>re(S)?S.value=A:null),"popper-class":"pop-setting"},{reference:W(()=>[t("div",{class:Q(["tool-icon",{"no-point":o(B)}])},fo,2)]),default:W(()=>[q(P,{class:"popup"})]),_:1},8,["width","visible"]),t("div",{class:"tool-icon",onClick:Ce},mo),t("div",{class:Q(["tool-icon",{"no-point":o(B)}]),onClick:pe},Bo,2),t("div",{class:Q(["tool-icon",{"no-point":o(B)}]),onClick:we},ko,2)])],4),t("div",{class:"read-bar",style:T(o(k))},[t("div",So,[t("div",{class:Q(["tool-icon",{"no-point":o(B)}]),onClick:Be},[Eo,o(E)?(r(),g("span",wo,"上一章")):ne("",!0)],2),t("div",{class:Q(["tool-icon",{"no-point":o(B)}]),onClick:ye},[o(E)?(r(),g("span",Uo,"下一章")):ne("",!0),Qo],2)])],4),Do,t("div",{class:"chapter",ref_key:"content",ref:h,style:T(o(ee))},[t("div",Vo,[t("div",{class:"top-bar",ref_key:"top",ref:Y},null,512),(r(!0),g(le,null,ae(o(f),A=>(r(),g("div",{key:A.index,ref_for:!0,ref_key:"chapter",ref:w},[o(K)?(r(),g("div",{key:0,class:"title",index:A.index},X(A.title),9,Mo)):ne("",!0),o(K)?(r(),ze(U,{key:1,carray:A.content},null,8,["carray"])):ne("",!0)]))),128)),t("div",{class:"loading",ref_key:"loading",ref:D},null,512),t("div",{class:"bottom-bar",ref_key:"bottom",ref:L},null,512)])],4)],6)}}},Po=de(xo,[["__scopeId","data-v-23e7abbd"]]);export{Po as default};
diff --git a/app/src/main/assets/web/vue/assets/BookChapter-e6619d8a.js b/app/src/main/assets/web/vue/assets/BookChapter-e6619d8a.js
new file mode 100644
index 000000000..f94cf5dc3
--- /dev/null
+++ b/app/src/main/assets/web/vue/assets/BookChapter-e6619d8a.js
@@ -0,0 +1 @@
+import{i as Re,g as ke,l as Pe}from"./el-loading-5b5af897.js";import{_ as de,u as ue,A as ve}from"./index-ab2e286b.js";import{q as m,P as Z,a8 as re,o as A,d as p,M as ae,a9 as T,u as o,F as le,m as g,aa as Ke,R as Se,g as t,n as Q,t as X,e as q,w as W,a2 as Ne,v as Ae,ab as Le,f as ce,K as ne,ac as He,D as ze,ad as Ee,p as me,i as ye,ae as he,s as we,I as se,B as z,af as Je,a6 as We,c as Te,a7 as qe}from"./vendor-8be1f5fb.js";const Ge="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXr5djn4dTp49bt59rT6LKxAAACnElEQVQozw3NUUwScRzA8d8R6MF8YMIx8uk47hDSJbj14IPzOGc7jPLvwTGg5uAYDbe2tt56cLtznvEnS6yDqCcEaWi91DvrbLJZz7b1aFtz1aO+2OZWvn+/+4CHeB6BMYaqBLfjPNRY6RFT2JJYby+uAk4WUTrtlmJ4hgPYb2q1XGDQjaK8pgJHvqNaAX+KyuIkDXpgQinb46nOulnn4b5laUHTxLfseeArAoNOeJlOIjdoal0n1FA7tKFv5roK+YaHOqP3P0XyKHPHY+MhTRe5uCZnKhtJKw2eSrSoBDPLtpZuNcFNJcFyiCMxOaaHIfXz1e8HQbWLySrBQ4x0x1qlhnHlnz2HQEC6TNb0gTHXa7IKhcaHqkE015hk9whA0YeWiLIXf7Fa2CZo3DjqjB4tTuF8jIcbfcEx5z/w4sXpQhXW+ju0cqh7icTFmRMaG+v6CIvTjcSpHcH8JEsF3EPh3fRthYdVLLgI2fWXm85/pGFE4l046s70L+yKCcirGFR+jbpy3kMmiCGHrSezVONsn1RBixncyk2PcVWk7DlgxHo8iZwDyq5uAUD854dZhdIFYzKoQig2haUKi1lVufz2RZUZPZ41n/hrOQB6h0Hhg8I367FNoEHgeM/KY7szSeQwD8q2WE3HM35ZLl0K1MJiOtHIkBclRQUwZnyOWcNsRQQgVLj1PSqkjF9DsoOSaSg3iinKzvfmgsNFFfpP/2T3GLGvL4fHEfwIX1sVvXcPqLztehWGcfn9nI2U9nTfCgJPe/jFPLZwgVEzimBgAm0VIyK2tt1cE/AzQdLK+SxLSQ4aDCZnnId94OG2S1XwvnTbNk/ZnhyRCQT+sZM6z9g6LXL1BOBe+zJySiFkHAINCtnQokbCJ/apCv0foqPiZVfhpywAAAAASUVORK5CYII=",Ze="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAACVBMVEX28ef48+n69esoK7jYAAAB4UlEQVQozw2OsW4bQQxEhwLXkDrysGdEqRRgVShfQQq8wOr2jD0jSpXCLvwXbtKfADlFqgSwC/9ljqweZgYzQFnb/QGepYhA9jzmTc1WaSEtQpbFgjWATI00ZZtIckXx8q2Oe5yEByBy+RHOTcM+VVTadULsvxvRC/q8WTwgcWGD+Mnaqa0oy2gw2pKFzK+PzEsus5hP9AHojKslVynLlioVTBEN8cjDNnZoR1uMGTiZAAN47HxMtEkGUE9b8HWzkqNX5Lpk0yVziAJOs46rK1pG/xNuXLjz95fSDoJE5IqG23MAYPtWoeWPvfVtIV/Ng9oH3W0gGMPIOqd4MK4QZ55dV61gOb8Zxp7I9qayaGxp6Q91cmC0ZRdBwEQVHWzSAanlZwVWc9yljeTCeaHjBVvlPSLeyeBUT2rPdJegQI103jVS3uYkyIx1il6mslMDedZuOkwzolsagvPuQAfp7cYg7k9V1NOxfq64PNSvMdwONV4VYEmqlbpZy5OAakRKkjPnL4CBv5/OZRgoWHBmNbxB0LgB1I4vXFj93UoF2/0TPEsWwV9EhbIiTPqYoTHYoMn3enTDjmrFeDTIzaL1bUC/PBIMuF+vSSYSaxoVt90EO3Gu1zrMuMRGUk7Ffv3L+A931Gsb/yBoIgAAAABJRU5ErkJggg==",Ye="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEX6+fP8+/X+/ff///kbczPAAAACeElEQVQozxXHQUgUUQAG4P8936yzs6VvZNZmN9QxVxiF9OLBoOjtOC6rQq6ygXjI2fCQBdXBg4egtzFGdqkoI+zgBFbqkm3hQSxhFYLotOcubeKhOnVYoqQy+m4f5g5TvpX0xHLbLY9j8SMhJp+Jk4LfAUS2kVRIjILmnwGBTX42PhCVlDJQkIiy2nWAvaJ1h+oFIpJ0hMSYVbyyrgDWshcMpMyL1brPDQKWmduO+KTJ6XeXAMK9Yc3FpD7atyNwg6kt5XgFpLPhjUTFSYVn2abDiugGShwD8JTVRJVo/2ecuKtRb/qc4BK+9TboFfokog4T2Fn6Oqdnsjk90NMS76Rji6E0NmwkPBAZ4Xbkw8KoDAkAbEhkc78e9omxxgxg6qa5HvMv+UZbCV0qmHnSHKl5TxeA2XTCGWekR581mwC5crBH81PznASqB9va3TbkYAjJPLfg5uBfXaJgIgIBv9eessRIhxe7PA7kj6uUMeMaQ/OEQOYRaaHlqH2Gxwsl6E/pwVY5FH7uCypBZPKvDQyVziYBrAkMURe2MOOOxG/eQpp5PF+bFzUV5HtPj9GeiVSNZDELleifYTp9NAjsoiXg4cW+4ZORkdSMB/B74aAdjhsVakhgkugsbmqcDSLEoWp8zRjrux3tli6Q5uM3E+maT99Wy0RiP7tboiuRZle2c6CYeL2kcUc1KvPtQKucogMadKVTQOJYCeyCYlhQQ/Q7Etfd/vBygy9iqy+LyHeF46saCYvW6ingsbA9RBWtdi8GgUXW+oQx9/wP6bAAX1TWeV+CbShZDlQ9xT6SoSxZmKRAkmXb60kzEzkRF+Ccb94BGspGJoN/UzmyR4wjXHAAAAAASUVORK5CYII=",_e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAATlBMVEXdzaHh0KPgz6LdzKDezqLczJ7ezZ/fz6Dcy5zi0aXdzZ3fz6Tfz57h0KDg0aLcyZrg0KXi0qPfzZ3j06bh0qbdyJbfzJrhz5/cxpLZwo0vDconAAAFn0lEQVRIxxyPW5LjMAwDAT5FybLl2JnM3P+i6+wXWVC1GoQGaD0h4XM3Q5o4T0HgABHBi6pZ4CDXXcUOFd6VhqC3Kch4EI8w9oMXwvU6m5LOOvcxKMOhuu8i5+5cMjcgb0t4F2uvOoeI3/MlT4IqsbtM9UG2AGSXUOsxzPevnXzK1CSHytZLvx7VdQmUcJsJCxJh2nmHW12Qod1qPjt8pih47uQ9aGpoNWF+yElCt60oH7vdIU/MnlRPSBLC/VwqxcKR8PFqnADN9ih5ufqnTlG9KwCofvs7kKYqOPHTNMQ93j9qNImFw9vjHPZ0F1m8hUUVB/Q/TrRYDMXr9++APMFARAt6sPh6wVAXzxUGhZsFUwCNfPZ8/72TAHebAhvuOuT3gO1Vn5d9Jd5sBRkg0p2seL9B7ulkjFJFIt9HPpLzdSzzMP3UcodAfMqC6pBuET2heHK1itZf1GZ1bi0BwOSxiCS8f/JBHMPMM4XCu3Mt1uz9lJbDJRqsKDZuikzkvskQEz6hanfDfO494azY5JpqPqOF1RhxD9XYEdaNxiqWqakKgmPfmrsta8KAiwF4HBxGVUJAgeSqQaiRRZJ7D2jedhw5t1CIAKxag0CBA60BpoBE6DcUi8O5AuM4pLfN0kHLmeu2B4e6HofqbgxsTWUw3PAODqa1oDtyzgXBlusi1KFdclMPE8O3jvLJ8RNi5/RxDQVzVmXA233XQ4KummunfxvLOZo+iH37964YjP06995CTdu9hsvErqJNzmf4wTrZ5DL7+qW9EoLnadrx67b8dUtrJnBXaT1N1uvPaYRKpWkq52xNsMN7vv4Sdryt/f4MhQoMCKnvVxikai1CQ6ZsnwJDc8+3Y/z8HcfvYQNq66pnAu1Hwa+3KNSwbNu8h3nDPqTl9fl7tx8fBhFfdS0o0F3JUKEZtZG9b/LZEM95lzaR30OnWPzroMxyZYdBIMoMnpN0J+m7/40+/P4soFSUjgzE7yY5zrMJuoZv0CmpVguYx1pprfb5HOviRVhHUVi/352shxCYrYBZxGtVaxiAz/MsaGSIsB7R1t4zJXH//n7RTTQQwxqcGEqEvklFHUgiO2GvJV+jAIPR+N29usWDoiSOVrN3XuqT1egQJAAU9EwslVJC8u0rGcy+WPqktJhjfMpatIG6CDAb0v5H34MGKqiVRue7GGLZ9Otxtt4JIrAhxBDwDuqI9JavcO0A7GlqFt219tH/bln9jBXzaKWAEqJV0CBxs5TwM8EvUPHaa8S86vN303MVWOsl3goDBHPWSoQ9c0kQmCKljfsKNH1+ofEOHW8a9a7glZGS8fPieL/SRSs0LAhI4FDTnXs1QYtubv2+IXPZpHB4bhivRexBkYKsSrYXNjvMUbVXpVJ+N6haV72c1k2zrnv5IYBMJBYTSZx0KTkoM3vY93rU/qs7zHplc/3d2ACadhFWByrn9LUk2IWb5JywvawTQc3F0iz+lgsBmInAIemBJtft2plKIlAFOgcroigrG2XlDsAzywQECNyaI8yr2ogoh7D4qJOYmZBzQgoZAM1PAcB8sDrr1uE5CDMR+nWSSVUGUCHAs8Vd21HOE0FzNj37pX0sLp9p3K8k++xxpkmzDxK64rmTSJnDUuIgTeslui6lg92jonZXI4jqNiUuzN4IagcKMjCniMGCODoo8T4tGDprn2hRww+NrnYiCwokd9iiWrkmbRfXYGLAoZrjO1lVQKExjUy5fIkgJURmz2uGFdASwwlWx5gDVTMK7hP6ISRVsFbYNmqtZL9MQtio285PaekyzDhZmtdexCYB0SZcTmBdhvdbmAEonk8hwcHQuZN1kVqrhyKoHHsnQhQAjF7SG533Da2S4LGjx1LoZqp7XeKQLDUBmYmydG0NQHpMeR5lRIRQc1PQ2ASMQflF4YBDMt0/GFlEHeRwCcEAAAAASUVORK5CYII=",Xe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAALVBMVEXx58b168ny6Mjz6sn06sf27Mvw5sTz6cbw5cLy58T37svv47/168v37s7t4Ltrv0//AAAEjUlEQVQ4yw2Ty2sTURxGf3dmOqmPxb0zmaStCnfmZpL6gpmbxIpUSMZGrSJkxsZiVZimNVaqMklrUnWTRq2KIDFWWx+IFrIRFxXEB4KIgqu6EBdu7M6FIPg32PW3+DhwDmBaYrK56KP4HGIsvg/uvOV0wK+qgBMlO9BujuH4DSJlOseqV5a/BEF97gt0ChyIPqBhXI9BtqtIB8vJB/LdCQ3OVjaLNX0g7+OmoI4e7nkemAqX6o8vg0yyQAyQS7IfgvFbI+6QyI3R4KELxw7kwM2ooQfyQigYnwY5MZbMlHI1DvnQVCoVcrt+R+bO7vPDif3ybNajwqAAe443dpfDsPt379VMWZzGRuqM79mQF+DUz9nt74bQ8J/O80MtVR51U02JKKmTCvTzLVf+vuxP/aHnPo9+2bW+zVsJ0Y630/CrfzX+b+UL+7O68Rczv+7lrMh5etfKXvhc2rk6KforxuoO2xB2tcxKfeXHt18rHOiHI/0RRjW/YGRDkHiwo3nzqL60o58C/bgRuaj7vk+QOwOhpnFNdjuWpKMCGP8Yapu9Ty5FTHKQLGSEFikjd9ADwP9ciaNNjc5qMH6w50AF/LKOsOYqsOG9GjKgc7ZXolqntm6fysJ6Ma6ll2CiqmOgE6O7x1wXExklbeqMYcwsmJmOoigt8SBg2WfilDSsAZJcBxDcrqtBXzFQJqZNHfscyIhoZlygAtyYAceah+elrFbI+46gEHDGiW878Kj7JpWyfhg6iyRMymV1MKBSeVpfgLHIohyTojI6sRyK1VpcqzVZeEBLOnA9unhGKUXPJDYtV9Dxuz4iA5xSkSWhCJdAiJR9PHlvfvbntbrR14FDqUNRAYDJmSnv3oKxuz5+7fiblgVJyYLTbgUM05P7LESkoXvyWNfb0aUU6FZizgQIa25VqKQZqFrk6v6BsqqIHlQmkQ9KrBhkC20/DrFsAFEEYLjM+lj2wYHXCwnNvZQR42XJ2iVK+UBXnI+OBE6oXpUUHiQ1yg0MhA03iwGbnOdQYc1CMiPIPQrCQJFH4L4BMFktAtKd9PN5gnU2Gra4KuK+V+mjtBRpAGIqDVe4wnSnajiFGO5d7smvhVQEMEYwqshrENIEaY7YeblJYtsb3QhAHWZCEKK67swwPMKw0If1Ta+6DgHmlgPzcUTSbi3rrv1Y64/BYEMPQ5SDHUOR022B4QRF6xLUPAaPX/V4IDI5N2BMwx4LqO1uO4j6uW7NvM7lATqGAxY/ZHVgoGZbu7SvkNR75x6qGSB23FdouENVwN7sCbewTdsXGrrnQ5ZZKOCOFtMTIzxlPu6eYmtL+nMFmoK7OeXajn86r9sqWbfmvHC4IagE5qfCPGZvLSq5F55hHIxJFa4/vRxHBlz0og4TojU1l/MOHJX17lybdF0mQhFO44JYUNt3UA473IXw/iPfDWtKG5oFSXIF5iU/VnyDSjxxeDk3jAXRyVyGTNB9FxH9qcFDNJpVbt2y9LytUXkK7Py6+z1RezHQqnoY8XcLimmd8dCnBhQCuaGpJCq3SoIlmYvLz8UkWhJw7T8k+Db/DYEKwgAAAABJRU5ErkJggg==",je="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX48dr48Nf58tv379X17NJtIBxUAAACFUlEQVQ4y1XRUZakMAgF0Af2AiDWApDZgHZqAV1nZv9rGh7Rj7Y8McUFEg1wvcMESMNVD/neU8Xcaz7nYYkYlYO6Ti82PBI4BvIEg1aj3wKwRvIMgZsUy5LdhCawPFh1sZs4SrlyN9fQKpv8s5dgZ2eLyqqJiu+WkCmUEybXkm3INS01WAiv0PapJ0CZc0SJQUzcWnZYbOOY20iFD8Bk+/j2A3wNxH7GdShFYS5ff237kXh9I9zSkQmIAhOsOSVfJ6DIXTMDaPnzkRJ92S1BQQmXl5LdirgRLLDdcYqcGPwe3QN4xCBiGNbrqq9wpW1XCecChwaQdVOsRDpPCpeoolPdxeXp3WNB9PHVzWBHlygy4NJCCrFHREv6bDt0VGwJZASkpONmm1UseGeFKAQexgaAkrfYWl3AGxWOLL2AIMBNbCXpktmS3k3vHeYjGCPBa43wJTurO3ZFVpQSJdAZGLoHTyk1upkjxMEaIxum3iIARcCa5kSkFAW5fi1mUlL9eyOsaanFmOMruwvEdE3ZYzsRSzo5ewRLXyVPPEvknt8ij4DvCg2O7xOgBCUprEzV4z1WekSpUgI8DT2mrnSOXKRfQavwuKA1F+tFnMKdJSUpMA7wQAifWRkMgjUKKZE4lBl6MCM4B1pq1P4uIjDE6Pq6rL0FnW1nIFmta5vrSvq/Ch4tpqG/ZNyyWa5jZPktq81eYv8Bt5s4iFITOp4AAAAASUVORK5CYII=",$e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXN383Q4tDP4c/R5NEInCCXAAACVElEQVQozw3Hv2sTYRwH4M/79pJ7bZL2bXqtERJ97zjUpbZDhg6pfC8qibi8hLR0EaJ0EFxaCSWDxjfpj1zrYBcRBKE6SAfBJWsx9i8IQfdQxDlKtA6t2OnhQfN3lbG7ytYRywF8rVoPCNO0X2sQOKDpAnSDK2VwkHgmh5yLGT8qASt+2KofnNt2Xg1gf1UF8AoM6052cRMNaloLZb7RKQGrKKji2OefsZF+VqIvos5ZLVIZCX61JcwUdk56wASVkgQvzPfvmT2twTSwyYaC/Pl/UhAHorFhBgZtL6XdAZRp1tkPwC1NLa9CWs5prLhI85NBQsLdXvjDymG3/EbYfQhVNYqc3TtktQhWLY3ko0QsdMbSEp+64v0NfxyqLbIGdh6M2xHHlLBGqKTyQo4E/nebBgBfe1GpdeywYXc8CT7D3cKXuMXkBy4xN6o5OuKamYp3DVI6uccO9lxgd2CAlJgI2BGgaAgIJV/TYwKqu3WFccjbMuA+bVkWgS2bfnlRbD1Eb1sDyWMmjKYIBgGAWbqKRicfvzBkBIz3V5AKnguWdglQEysQsSuVzOg6ALy1pitA5ykGCsc857BRYcgCSZyFOdvoOigSGoPc5Ta73mgxshIcQE5sHMHd9D7yqITw7JO+GHVMxjhzYLcKPSEgmz3fU+BRy3iYNtiXLaBssCW8KguReqkQOTb3MStV0Ugt4U1eIs1RZWRII6Ww8xeNNItyGGQI4ZMlpg/3lQtkl2JFnBp1imRyFe0kK2Id3PCslMgiQNMS77gvFeDhG3cSkYvheeg/e7ClIh5oh+IAAAAASUVORK5CYII=",et="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXh7eHl8eXj7+Pn8+eTbH1KAAACPElEQVQozxWPQWrbQABF/0xn3JFKQRTZOIuUsbCCbOgdRoYEOauxkYPcTRyTlPQWIxEltrsRwQ6hK9nEQek6F+gNTE/Q3qLLusv34cN7SH3mFicdYW4gNIhJWXPBRVXzjcFD0IqeU4o4PRbAIVjyico0vJpIifqPfL80QN9DAQY5ucRHE/hpHxBldXe9GilaHKcKMlj6pho2zXgkNdBl0oJ8kiF1DSiJF1ZHBJkQr0Dbux/5I42Zp4cFahJDFGeW6/QjBwmFY/Q7vZ2SnoOdW2parv/Cnm81+m0xrEfiVXQ3W4nOXIqVYi3l6AAQBwMFkViVBANMto4enXHPNTkHBB0oVj4r5vHzCWayrgBvxtygDlDB2CNDjd80ZInY69aKVYZcfJ8DW+fWuc+syEODALx+ojqoafHsthTI+ZW27PGpIeo/cR6YKcbqIuIFhHmBrzAovzIOOJk1ucvcDzrMRYGVBH2yvcAOf0KiKwfRovBI3tm/kW1eemtfNWwIIXE2mJNhvoszfmMBfRCv0OPwd2321uDW3nx2q/BDxFVeoN1g7a6Im8yRnoawa8kbdXnU0cHeTMxKfZGlJgvLb3sKsxgglQnDdAfvj9LUnqWRDo0GiUmPwyU7TAsD7wHeIW3Nfy1qVGKoE9NgJCdYCAexNRob9yCn4DAQmXtQuUtera6bEmTTXhZy6h856xi4mnEl6BI9mfISkLbtJyZIMJIAUd5ZOBEu88KRAk71yxfItj/hpIB0Errv4gO1os4/UICf+o3kkqwAAAAASUVORK5CYII=",tt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX0/PTx+fH2/vbz+/P4//htSO9OAAAC5UlEQVQ4yyWT0QGjMAxDZTsDWKQDmJQBYrgBUsr+M517x0+LRWw9CyA+pC1YzndrMgHaNXVKQ+di13Of1qbur48nWhuRjj8i6ON8e7pNm7zyag/DBTfS9Z4Hup1fUuXMKY4HEE8QOHCByXkIkl7lDT239RtL9quO4JItmmhOAHXg45QuYKrQFLyGJcRvaTw6kQqZy6mkR6JAPFH/XqsQjEDRmUOA+MNLHGyMUT7AHApoAhjgjIJmCxy6XHdf648AWCdGe57IUDazCeTImQOY4/z+eVYVX2IjOw9RydeAeJwl79iGi4HpgQgHEchWraUZLtayu8scq0lHHHUKMY3Ml8hB7CS1jOckDLG9ccgNeX3124phOcjL9fPnWJhTXpLHeG9DRmHnTxHEaHakS2J51lwAJcUraNbuU7q4gMTDQj3Eripc/x+qFM5VEKAB1roQfAkX5/PxqnS2QpOrxfK1Zft0/omV5T+xCSBUAIbEIwUQgvAfxFE1O8dnk233+1UZiqJ1mAbsue6Yt8tF+yOrxC/YrUhzC4qPlE3EbR5hGKhhHdlrg7J9WunV7L7BcYQwAeE59u2tnN1c6gfVYrQiLSZ9OxZdWDXQq0+r0Pbarh3UqGCwauVvbiXuDsNxCtLDdW9rTF8oQYN4EoXXdfmwNguQP26n/tRjDeo+F2W7PjWtfSr6Bn/z+cXOLp4NnMV4RytvSW4B68m+XN9XfZTFGhO/S+cHTuTqZDC21ccA0N7QsePALaDQC3D1f94U9CWo+aq6BjB3v0rxIimBM12296M3aKPHjXLQE9KQKH4By8RHraJ3AgVto2r4xdFqlaPaiAHLl1ZF4P2pI6cYc+K8UZdcmxy7lqGc1IoPxLmIFuIeEZ6j2sQT88muEg1zwrEDTIX5U/ZmcsqfgVlBumiBLF4sAyhf9BFlXOPKLZ4H0iFb3VoHrGhtHTldKrOvP2/reu2zfV8CXMPqzRdlgd0a5eI7WwB/AYcgavcqxXWEAAAAAElFTkSuQmCC",ot="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXM2t7O3ODQ3uLR4OTDp25yAAACdUlEQVQozw3P70sTcQDH8c/3/M7NG+j35mnHwjwh4hRy/QFK3zvPNbeIG1koPZmxfj2IDAwihL53zj0JYisfmEHcZJZOiBUG60lZiI8T/ANusuftgQ+kCPIPeMP7hS5mUrV9c1g6MQCAEZ8tDLHwofImAGRlX+SZK3Vu9rRRPuO4PK6/9nA4GIATsxlODS+rdCMhkAZivpYV0LWoQHSLSA4NfUg+6mY+7BKL2++F9LvnrBDYm6JO9i/YO3i/HJTGQ4pdIV82TbEDFG6vGYCd4wZchgK5J2CrKTLE+Tx0v+YGlIbdWJFcQl4ptBN8fUJQN1MCJLcZLYwUVVo+famGGty8EXJF5ofOEDzcodT3/Fb0I5sHmc1ZG7CcSl8COgxlXx09jT05OafjCZLIHJhGIaU6wDZHsuMQ41wbdjmQXbhKnMq1zlXSYrjCnyZblqexA7fC8RxS74tq2P3OxSQwTuJSApH8OZLzBBp1pOe0i3rdyDUA47GySZ31YmC4EQYSXvFSvieORGBxXF9aeVtUWKGS9WMC4Z9Y2uXnJ2nCUXVMbPOYqNYNmGWWQ7Evr+BWC+a0JAMTImcq/S4Z5INdQMeuOqDIMa9beilxfA60iC6sP1INcPDpmHBW8drZHNmqwyddJtVje9q8WGUgWAOzmbU4FCQBFi8B2Wk6pickBnYhJMenmJGuRmtt2IoKq9NuFGbNFR99sHnvrnLsLysKANDIsxbp6RNMAsoDSKuRpMwZbAAzI68QatIjmZ0aImyM3O8/4e2MNlOHZomFsa/fLDsysliHS+nlYLQJMnynxrH8QO4PaAV2Li8B/+52UgeGIVNFYf8B1XG/kFSmLcUAAAAASUVORK5CYII=",nt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXh7vLf7PDj8PTm8/ecW+lZAAACZElEQVQozw2RsU8TUQCHfz3fw7MS87jeI7DdmSMpDEoHE+P0HqGkvRR8vb5XC4NpN2RQZqcK9xJkwtriekcggerC4OZADDiT+A+goxv/gfwB3zd8H/T6vYF/pTZkCSmDNd3CBEtmZJP4N+CvvhecDvmntKsvwB17rpbIRTLOEoYkj9KZzRUuJsuBQFwgptyJ3Y7EL4V+ud5LO1UnMeQSSObqisiISZkbQBlliP3qWSk3GPQXjxv6VF2BTDO4ySx1zhuJXbA2wBNJF4t5vH9keg6wu5NvUpLtXrZ3OHC9ZsgVcZdOl38PM1y/L6m8GRiErj4AqezUjHGatGGIgs5NJDHh8Ua1IuB4035haVT6SaYWMoQ0eJ3rB/Gpnr3fB49YAy1Wa21YKqAHOmAveVw6CCMGMZh5bGtVI7jnZaiQNbta1Z+285oSoKoRbta1KZ/1bBdKH/RIxv2pRVpkoCmvpr097RWoo0CpMlTWllIenSjECU8mV43mHx2fIRfH/pncrJm3+58BWdbSqCS07/yiQnvHiCG4ZPGRFeAtfreoOubyctzHvLNHhjNvIhukxQzjU5O6QdOEzUp1Ef4d98Pxz+IPYX0bcpnT52dbedfz8y7C4R89RV+MjJkuCCx7mWDt4eyK/62lQB55xXGJK7p8u6bgRv4hVHylelYGGFs64W94tng8sAIVqSRJBpqRA9rFvAysS+9ak8s7557pz5HR4qhCRmWgplpTRJ+bhYfSAMO8/YBucWPuSdmFFtOnuWqvV2NbF6CJnbhNDzEZ/T0XSDrUydzkZCG1z/oIEyUFYxW/KPXNfwopuHDcO04UAAAAAElFTkSuQmCC",st="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXm9PXq+Pno9vfs+vttWKBGAAACPElEQVQozw3RQWrbQACF4TfCMjPqZgIj4RRaxsZKE0PuMBZ2cLKaCI9RDAXFmJJknUWWI1O1UlamOMHJSjGkuFn3AD2Cr9CepDrAg+/xIxK4QwIqHHQkUhQ/WuphInVIFBojl8QXc012Tgq4RTtVHWVLZVFh1tEoI91uiN4joCqde8Ukn/zGM1B2W4ari2PtTwyw55Ld+Wways54qhGPyS6FzbIT3lIY8WwWdCq56Yolx6KmSKzoqrsCB5heAp4TGNQWJ1Pc6XlE5jQD5OlIX9I47A9uiUQcPQxcury/ToyxWJG/za6ki88crxKPocKS59Sl3EtBG7C89fCGflpfqoSzCeC4crioJA7F0V5+8MaSIk4qSCdwzpogmbqzEirVpGiS2dOVJvUuuqFEmhHao06KEpq+8lvHI14NJk3Qrmi9vBuRLwAz0qZB4hsDXQFXgtnlpDX3C6ug9BquSw/CYtwAzuTz5vuQNdr/YibhR68378ehZH30FSpjh71LpQkrsj+Q062h5WwZ5wlRoD6uQJy1DqvSYuCUapMBqT5YA4ZFw4KlWapxoUGlKWrx0eDQvmigu4WMYt97ruru98fYL8/0lG6CTOFcFWBhFK5gKw19h2JN808nh7xhkU6sWKLXdtkqBL6h+lULK5k19wFB/FldnGYf3LDeuf6IC2/MzJOSOP0qPxLqzaGIqtBcFIItrstkazONOkrc1D1czjuwEGESB4JJnjgSMN7PXAu7fZQpl1C236C+9mM4Af8P98Ch4R2TRl8AAAAASUVORK5CYII=",at="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXPz8/R0dHT09PU1NToNyAhAAACdElEQVQozw3NP0xTQQDH8d9d7sFrG+QeKVgQ4aoFCwFkYERyLY//0UB8GNGg1WAC0RBGJrzW4mCXQmpgvCYOwEAYiulSpYtza2KiW7s5FgNJFSV2/CzfL7RwpoJ20iadmgA8owOyaxmusKE44scBeb4vIv00dqYgmf6jzWcr7W6INbDQeZbQL9ytXeYgtFfzmW1Fek5msxJlwhyt6qDDxOLQzpVPompYrMPnEnhvLm7M5BxY5nowAj3zkydAkpC0FIG6g7AK+Ub25ybyNWVYwtpseP2rfrQwiGRpfqrnMuPeuvr2dA0p2YsHF2XghkrXKtZ8tLBjR7S2qIaYbKmyLd/QP+EogLjqqwNw5Lq1pDlMLkM5+gNoSvdq+Pxmz9/61EFq6GYM6GqaGvlN95zy3gsmEWI8K3k8OP9OmRLEPO6DP3Wv3g42COinJTZ33dcIvs4ESp6opMTjDs6mcYTEbFeUifuxh989yZrIx4lkpuixxz0nHLCekKbE17suKhYkMGhoYhTZtVBvg4bfq/1L1Im0AGMVpBFwumM0zwyuKiCMi5dqR4Flx47AGyF2xTbxqUdTwCH94BT3DozpLV5WuAL/N8rGtHKjotBOOuOtCJ9E21uqsyBoLOzaXbHPrK5PQBP+fBfeidvJAeMIAmzVt5IkJJ9DBWaZDAepYUhlQqHt0h72SJ3j8TZHom64f516xx9T5evgMPgwG82jZdJaJIDyWp6LAjOCclVyzNA3iTKzIULlBQEPaTXlPHok5gISclmyaWZlqY2aTHdRHpJOwTdDEQ3ZfKtbpclcNhyVClagmY+fIfyKukntPqBgnx5QvZHk/D/MK8JMClrSigAAAABJRU5ErkJggg==",lt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXe3t7a2trc3Nzg4OCXP9lCAAACoklEQVQozwXBzU/TYBwA4N+QEr4CNbSFwcFuowSqMRvEAwShHWAYNsu7dS0dLnGUSWT4kZB4lGzE4VtcwgIDJqcOWLJxcv4BOoQZuCPxSNSD4WSWLJGL8XmAIiyo2RgJ4A1pxQQlOxRAszLTdnPu2oQGb05RC5slJld7ZAIfo4O44Bn1ud59F0BcjnYOa17Jhwc6EdiKettncsXjT1f8KUBZUW41pK0Jc1Az4dEV3rkkPBtDSZ83Blyt0kSf2PRjzIykoBwINisPbPPtljdVE9iAXRfUPkXLVIgYrCccp5g687NdZbcJ+xa5VE/HhTtT23IKsN5jj/pcUd0dTZNAqCVw72n4gOwnTOC0vvHfaauT8d9zAoRRfPpISZRVyUiw8ELzOG1b2DZpFzkSrHLhq52twDEdyZHwvp2j4uv/bjvOf23/AcEtTuJbY5Cp4YcAer1IGkUzOo2rn8LQOKjFJw3NTw24nprQXY5aF4wxcqcSdbFQ00H4xFl8Drx4X4CikvAM1tuR8bKIBCBoLnKN10KJG4zKAsc7c9WEB9gnCi6BhVjqoco6t20ILAJuVctvaEZK732cRHDRmGfuihOam0o2CHByUZ/epCcVlRs2wmCnMqsd6aSim3ibBJtm1LGyXW3Bb7tJCPlFtUG+SvPdeEUAB60lNdo+VQbLcwRNVtT68FsLcr1+NotgNihlpExS1V2SFgNbeC8bEhgm8sM17wSi6Us2gxVWJU/5GKBpandvfyYbU1yHCLpCgWGbbPXn40rehEsUXKIJr9DMKgICfjc4bl1YfvUhE/YIECGRqjCxSM9hrybAIkND5OeWfFZsXkxB+qDzb7pUQ3EfQ3Ml6EChEt3D+iS01VqC7EQ/Z/DuPQcz4yChoFQJce2Qr+NNAv0HxofmpXGqgHkAAAAASUVORK5CYII=",it="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEXm5ubo6Ojp6enr6+vt7e1FnZagAAACrklEQVQ4yx1SixUbMQgT3AKAFwDcAfzpBN1/qMrJS5w7bCQhC6IGSUGYQJd6Ox9ZPXi1AGJBavhUTT0JjYPGAab9WcDYIxsmlnxkayX8mhxCmKHA75az5cfRbWybEExiu08xDSgGym0mwuf3j4SvHeQxDJJzh2zp4iOlrD8iOb4SXyC1wiOLRTcnrje+nGamFeXVKWkmzbFIPChkmJ6Fg7mBpV8n+JGOVCd4jv1thThkjeQGNeafpeV3rsEWLfyWc8tC9jOv6FQ8rRzHOOVB+jCYEUAJpDvh8xHNFm/Tm5p5lw94Pp3NhtKEfQsGvnXhowdZE73hPwxKvjDd4i4PCdd0fe3W5fO8ktAsUAacLgstpUw60JCiPLg2XpkgiqPIYYXJd9ksGIT3q+LlevypzItvO+s0F1dBzVr2QDMUkYmuyGcrIS44mVJ7JVKwQXjYuBYp0Uetecbswzsikzu3gUR8bJC/C8Gd/NAzI/xdUGOYQQHDZ8X2d5XuzGRUiXAi9si5CRgoiToRZPtzLJkd0FUHRHZwJf0BHT1sE7gcnh0jmKKlSSF4/GBirGk5+K9NKlGDCfc9JtPhg78JdabH0YQRKNZnJ8tFnPfXHJb4xum1TTCeEmyEdbyEJLjznMLHuFD2Y9NEkSleIBs7SiCbblhgctVi9ch++kDYnn1C9DA5TvdPsToXM55wI6k+8eKT1blwPTqWb5CFJ+7dTBmab+KHy+xwNtItXhZNSpHD2fxnynrxG3ZBKRe8KBpXk11AnadlccEhr9w1nBBvBylNkv7A8eqpGBCDqhitmWQXBjjdS6idr/QjXWLDeMzMbVDoJuM8zN7WenMZWXgZ2vX3F01J3jHZbwk1LRP+DWEvDJtOUoh/AIaBUz5VpWyhuyx4QtgL/NmgC6kM/JvNe+R/C/5aL7BKIbYAAAAASUVORK5CYII=",ct="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAElBMVEUQERMODxESFBYWGBkaHB0eICLm6ozJAAACkUlEQVQ4yyWTUdLbMAiEASfvoOkBkBy/O5keIE0v8E/uf5h+68qZWALELgu2MG9PP9qyvCzTVhrrsPGOCjvTfXQZvtp/W3Gy6LCITqs4q/DZ+KYl76zKzHVYpY2wNY27nqN1sbLGcrLH3/ENH4oWlGctsDu8AO+HzTLlsYdh8MzP1m6YDMz0ACfcimvakBj+mwO/+5Uta5teOD379sxK1fUxmUhv8MU3jUT5gs26PMephFznkLcpQZ6/dPL9C/GWHcCxDN6oZhD5xBm5qoYBPA+PFE/H1tXDWcWl8TW7rS+4dUzAVy0BIrvC4/HcqW2TkG1HO8q9dC23INAg7NA4AFRFkDTM2lfELPyFzi1VddcpX2z0KjHBUDmdLNJ6dDps4ytrX+FPsZwE31wSL+6OWfHOAJ3+Y0Rk/MiKfmWNPg7oVP/U3Ck9FoCkC2gBpALOiqbMNTkOe8P4FWkTD2Y9Q3+5VmV0uLUJBl68U5uAK2Kl6QDXvLxbwweOL2sixW78uU8p0ysfc7cWrF1j6B1sPJ4WgclYSnJN1bzozrhEcFHmRzBkbJWqqdG+EYJXRFmT5jnLXPUNF6WBdoFbTxYsmDXVLU/WA7MExNc93sJS5hIXDeLxzMScHzdhKvEkibr6cQXYPrmtmTA7JcInISrTzRDvShTdka0uVGrsJAAR6tSn1sKziZtfKVjAxPrJsYgZO0bye+vKTZ/DgoAoLGNO6jYHimZYTL/3pLJHawquJukjBpfz8WOGVSVIWx9ywUfS5iENutidRM4NzkAmxgUSQ68xgNOU+ZLalr4TS2V+D2xqukZig+Z9DilR7Nouzwp1cp/3E5q6Rdlf08obKvAM4qZ6pMr+w3PmQALSSBfjyZn5DwrNRVbywBQiAAAAAElFTkSuQmCC",rt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEUWGBkYGhsdHyAfISI1t/v6AAAB5ElEQVQozxXQsYoTURSA4f/EeycZsDgDdySDjihk38Hy3GWi2J2BCaziQhaiaB+tt9AFu1kwvYUPsIXNPoB9BAUfwAfwEUzKv/v4odGrroyp9/rUaC6rZ5skv5F8qPsfYYP+yKUMymmAEEeW55oUR4o8jr05KNzJ07yvB7w0KKfLwcQUSjfmMU0PJfPHFoEVU+ohNrcKMEzMQ23FDnVSI2dqtYWI7KlLu6vE4UnyvKc3SJuL7lBbeEEl42ItpGLjzIT8PRJCmkRjVpVpsbJFVN0687okJNZiHAr5Z7MV0BnGIDc+THM1zlbieBc1Fq+tH5BH+OpnbWkj40hSqC8Lw2TvFuF0SUFJCk2IytXbjeqcRAt6NHpnrUkUU4KRzZs8RCK8N/Akn2W04LwxMU/V7XK0bDyN2RxfDyx7I4h5vjZby72V8UnOWumZL3qtYc+8DTE0siSBMXGhywx2dMYPnQHbxdFZ7deiNGxCCtD/QWnbwDoGhRYPDzUdUA3krjpnkvdAgDN4ddLkEQSov9qjd42HaDjI34gEqS9TUueAk+sc4qg5ws407KQYKs8G1jv4xBlqBVk6cb4dISZIwVi1Jzu4+HLk6lyfUxkXvwy+1Q+4WVdHIhwfybZ6CWVhxMEhShOgsP/HOW0MvZJeFwAAAABJRU5ErkJggg==",At="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEUWGBkYGhsdHyAfISI1t/v6AAAB5ElEQVQozxXQsYoTURSA4f/EeycZsDgDdySDjihk38Hy3GWi2J2BCaziQhaiaB+tt9AFu1kwvYUPsIXNPoB9BAUfwAfwEUzKv/v4odGrroyp9/rUaC6rZ5skv5F8qPsfYYP+yKUMymmAEEeW55oUR4o8jr05KNzJ07yvB7w0KKfLwcQUSjfmMU0PJfPHFoEVU+ohNrcKMEzMQ23FDnVSI2dqtYWI7KlLu6vE4UnyvKc3SJuL7lBbeEEl42ItpGLjzIT8PRJCmkRjVpVpsbJFVN0687okJNZiHAr5Z7MV0BnGIDc+THM1zlbieBc1Fq+tH5BH+OpnbWkj40hSqC8Lw2TvFuF0SUFJCk2IytXbjeqcRAt6NHpnrUkUU4KRzZs8RCK8N/Akn2W04LwxMU/V7XK0bDyN2RxfDyx7I4h5vjZby72V8UnOWumZL3qtYc+8DTE0siSBMXGhywx2dMYPnQHbxdFZ7deiNGxCCtD/QWnbwDoGhRYPDzUdUA3krjpnkvdAgDN4ddLkEQSov9qjd42HaDjI34gEqS9TUueAk+sc4qg5ws407KQYKs8G1jv4xBlqBVk6cb4dISZIwVi1Jzu4+HLk6lyfUxkXvwy+1Q+4WVdHIhwfybZ6CWVhxMEhShOgsP/HOW0MvZJeFwAAAABJRU5ErkJggg==";var J={themes:[{body:"#ede7da url("+Ge+") repeat",content:"#ede7da url("+Ze+") repeat",popup:"#ede7da url("+Ye+") repeat"},{body:"#ede7da url("+_e+") repeat",content:"#ede7da url("+Xe+") repeat",popup:"#ede7da url("+je+") repeat"},{body:"#ede7da url("+$e+") repeat",content:"#ede7da url("+et+") repeat",popup:"#ede7da url("+tt+") repeat"},{body:"#ede7da url("+ot+") repeat",content:"#ede7da url("+nt+") repeat",popup:"#ede7da url("+st+") repeat"},{body:"#ebcece repeat",content:"#f5e4e4 repeat",popup:"#faeceb repeat"},{body:"#ede7da url("+at+") repeat",content:"#ede7da url("+lt+") repeat",popup:"#ede7da url("+it+") repeat"},{body:"#ede7da url("+ct+") repeat",content:"#ede7da url("+rt+") repeat",popup:"#ede7da url("+At+") repeat"}],fonts:[{fontFamily:"Microsoft YaHei, PingFangSC-Regular, HelveticaNeue-Light, Helvetica Neue Light, sans-serif"},{fontFamily:"PingFangSC-Regular, -apple-system, Simsun"},{fontFamily:"Kaiti"}]};const dt=["src"],ut=["innerHTML"],gt={__name:"ChapterContent",props:["carray"],setup(a){const n=ue(),d=m(()=>n.config.font>=0?J.fonts[n.config.font]:{fontFamily:n.config.customFontName}),v=m(()=>n.config.fontSize+"px"),l=m(()=>{let u=d.value;return u.fontSize=v.value,u}),D=u=>{const h=/
]*src="([^"]*(?:"[^>]+\})?)"[^>]*>/,c=u.match(h)[1];return Re(c)?ke(c):c},B=u=>{u.target.src=ke(u.target.src)};return Z(v,()=>{n.setShowContent(!1),re(()=>{n.setShowContent(!0)})}),(u,h)=>(A(!0),p(le,null,ae(a.carray,(c,i)=>(A(),p("div",{key:i},[/^\s*
]*src[^>]+>$/.test(c)?(A(),p("img",{key:0,class:"full",src:D(c),onErrorOnce:B,loading:"lazy"},null,40,dt)):(A(),p("p",{key:1,style:T(o(l)),innerHTML:c},null,12,ut))]))),128))}},pt=de(gt,[["__scopeId","data-v-17a45a65"]]);const I=a=>(me("data-v-9f479a0b"),a=a(),ye(),a),ft=I(()=>t("div",{class:"settings-title"},"设置",-1)),vt={class:"setting-list"},ht={class:"theme-list"},mt=I(()=>t("i",null,"阅读主题",-1)),yt=["onClick"],bt={key:0,class:"iconfont"},Bt={key:1,class:"moon-icon"},It={class:"font-list"},Ct=I(()=>t("i",null,"正文字体",-1)),kt=["onClick"],St={class:"font-list"},Et=I(()=>t("i",null,"自定字体",-1)),wt=I(()=>t("p",null," 请确认输入的字体名称完整无误,并且该字体已经安装在您的设备上。 ",-1)),Ut=I(()=>t("p",null,"确定保存吗?",-1)),Qt={style:{"text-align":"right",margin:"0"}},Dt=I(()=>t("span",{type:"text",class:"font-item"},"保存",-1)),Vt={class:"font-size"},Mt=I(()=>t("i",null,"字体大小",-1)),xt={class:"resize"},Ft=I(()=>t("em",{class:"iconfont"},"",-1)),Ot=[Ft],Rt=I(()=>t("b",null,null,-1)),Pt={class:"lang"},Kt=I(()=>t("b",null,null,-1)),Nt=I(()=>t("em",{class:"iconfont"},"",-1)),Lt=[Nt],Ht={key:0,class:"read-width"},zt=I(()=>t("i",null,"页面宽度",-1)),Jt={class:"resize"},Wt=I(()=>t("em",{class:"iconfont"},"",-1)),Tt=[Wt],qt=I(()=>t("b",null,null,-1)),Gt={class:"lang"},Zt=I(()=>t("b",null,null,-1)),Yt=I(()=>t("em",{class:"iconfont"},"",-1)),_t=[Yt],Xt={class:"infinite-loading"},jt=I(()=>t("i",null,"无限加载",-1)),$t={__name:"ReadSettings",setup(a){const n=ue(),d=g(0),v=g(n.config.theme==6),l=g(""),D=Ke([{background:"rgba(250, 245, 235, 0.8)"},{background:"rgba(245, 234, 204, 0.8)"},{background:"rgba(230, 242, 230, 0.8)"},{background:"rgba(228, 241, 245, 0.8)"},{background:"rgba(245, 228, 228, 0.8)"},{background:"rgba(224, 224, 224, 0.8)"},{background:"rgba(0, 0, 0, 0.5)"}]),B=g({display:"inline",color:"rgba(255,255,255,0.2)"}),u=g(["雅黑","宋体","楷书"]),h=g(n.config.customFontName),c=g(!1);Se(()=>{var y=n.config;d.value=y.theme,d.value==6?l.value="":l.value=""});const i=m(()=>n.config),V=m(()=>({background:J.themes[i.value.theme].popup})),x=m(()=>n.config.theme),S=m(()=>n.config.font),E=m(()=>n.config.fontSize),K=m(()=>n.config.readWidth),H=m(()=>n.config.infiniteLoading),F=y=>{y==6?(v.value=!0,l.value="",B.value.color="#ed4259"):(v.value=!1,l.value="",B.value.color="rgba(255,255,255,0.2)"),i.value.theme=y,N(i.value)},O=y=>{i.value.font=y,N(i.value)},f=()=>{i.value.font=-1,i.value.customFontName=h.value,N(i.value)},C=()=>{i.value.fontSize<48&&(i.value.fontSize+=2),N(i.value)},j=()=>{i.value.fontSize>12&&(i.value.fontSize-=2),N(i.value)},ge=()=>{i.value.readWidth+=160,N(i.value)},ie=()=>{i.value.readWidth>640&&(i.value.readWidth-=160),N(i.value)},$=y=>{i.value.infiniteLoading=y,N(i.value)},N=y=>{n.setConfig(y),localStorage.setItem("config",JSON.stringify(y)),ee(y)},ee=y=>{ve.saveReadConfig(y)};return(y,k)=>{const te=He,Y=ze,G=Ee;return A(),p("div",{class:Q(["settings-wrapper",{night:o(v),day:!o(v)}]),style:T(o(V))},[ft,t("div",vt,[t("ul",null,[t("li",ht,[mt,(A(!0),p(le,null,ae(o(D),(w,L)=>(A(),p("span",{class:Q(["theme-item",{selected:o(x)==L}]),key:L,style:T(w),ref_for:!0,ref:"themes",onClick:pe=>F(L)},[L<6?(A(),p("em",bt,"")):(A(),p("em",Bt,X(o(l)),1))],14,yt))),128))]),t("li",It,[Ct,(A(!0),p(le,null,ae(o(u),(w,L)=>(A(),p("span",{class:Q(["font-item",{selected:o(S)==L}]),key:L,onClick:pe=>O(L)},X(w),11,kt))),128))]),t("li",St,[Et,q(te,{effect:"dark",content:"自定义的字体名称",placement:"top"},{default:W(()=>[Ne(t("input",{type:"text",class:"font-item font-item-input","onUpdate:modelValue":k[0]||(k[0]=w=>Ae(h)?h.value=w:null),placeholder:"请输入自定义的字体名称"},null,512),[[Le,o(h)]])]),_:1}),q(G,{placement:"top",width:"180",trigger:"click",visible:o(c),"onUpdate:visible":k[3]||(k[3]=w=>Ae(c)?c.value=w:null)},{reference:W(()=>[Dt]),default:W(()=>[wt,Ut,t("div",Qt,[q(Y,{size:"small",plain:"",onClick:k[1]||(k[1]=w=>c.value=!1)},{default:W(()=>[ce("取消")]),_:1}),q(Y,{type:"primary",size:"small",onClick:k[2]||(k[2]=w=>{f(),c.value=!1})},{default:W(()=>[ce("确定")]),_:1})])]),_:1},8,["visible"])]),t("li",Vt,[Mt,t("div",xt,[t("span",{class:"less",onClick:j},Ot),Rt,ce(),t("span",Pt,X(o(E)),1),Kt,t("span",{class:"more",onClick:C},Lt)])]),o(n).miniInterface?ne("",!0):(A(),p("li",Ht,[zt,t("div",Jt,[t("span",{class:"less",onClick:ie},Tt),qt,ce(),t("span",Gt,X(o(K)),1),Zt,t("span",{class:"more",onClick:ge},_t)])])),t("li",Xt,[jt,(A(),p("span",{class:Q(["infinite-loading-item",{selected:o(H)==!1}]),key:0,onClick:k[4]||(k[4]=w=>$(!1))},"关闭",2)),(A(),p("span",{class:Q(["infinite-loading-item",{selected:o(H)==!0}]),key:1,onClick:k[5]||(k[5]=w=>$(!0))},"开启",2))])])])],6)}}},eo=de($t,[["__scopeId","data-v-9f479a0b"]]),to=(a,n,d,v)=>(a/=v/2,a<1?d/2*a*a+n:(a--,-d/2*(a*(a-2)-1)+n)),oo=()=>{let a,n,d,v,l,D,B,u,h,c,i,V,x;function S(){let f=a.scrollTop||a.scrollY||a.pageYOffset;return f=typeof f>"u"?0:f,f}function E(f){const C=f.getBoundingClientRect().top,j=a.getBoundingClientRect?a.getBoundingClientRect().top:0;return C-j+d}function K(f){a.scrollTo?a.scrollTo(0,f):a.scrollTop=f}function H(f){c||(c=f),i=f-c,V=D(i,d,u,h),K(V),i(me("data-v-8da315d1"),a=a(),ye(),a),so=no(()=>t("div",{class:"title"},"目录",-1)),ao={class:"cata"},lo=["onClick"],io={class:"log-text"},co={__name:"PopCatalog",emits:["getContent"],setup(a,{emit:n}){const d=ue(),v=g(!1),{index:l}=he(d.readingBook),{catalog:D,popCataVisible:B}=we(d),u=m(()=>d.config.theme),h=m(()=>({background:J.themes[u.value].popup}));se(()=>{v.value=u.value==6});const c=g(),i=g();Z(B,()=>{re(()=>{let S=i.value;_(c.value[l.value],{container:S,duration:0})})});const V=S=>S==l.value,x=S=>{l.value=D.value.indexOf(S),d.setPopCataVisible(!1),d.setContentLoading(!0),n("getContent",l.value)};return(S,E)=>(A(),p("div",{class:"cata-wrapper",style:T(o(h))},[so,t("div",{class:Q(["data-wrapper",{night:o(v),day:!o(v)}]),ref_key:"cataData",ref:i},[t("div",ao,[(A(!0),p(le,null,ae(o(D),(K,H)=>(A(),p("div",{class:Q(["log",{selected:V(H)}]),key:K.durChapterIndex,onClick:F=>x(K),ref_for:!0,ref_key:"cata",ref:c},[t("div",io,X(K.title),1)],10,lo))),128))])],2)],4))}},ro=de(co,[["__scopeId","data-v-8da315d1"]]);const M=a=>(me("data-v-ff1ea184"),a=a(),ye(),a),Ao={class:"tools"},uo=M(()=>t("div",{class:"iconfont"},"",-1)),go=M(()=>t("div",{class:"icon-text"},"目录",-1)),po=[uo,go],fo=M(()=>t("div",{class:"iconfont"},"",-1)),vo=M(()=>t("div",{class:"icon-text"},"设置",-1)),ho=[fo,vo],mo=M(()=>t("div",{class:"iconfont"},"",-1)),yo=M(()=>t("div",{class:"icon-text"},"书架",-1)),bo=[mo,yo],Bo=M(()=>t("div",{class:"iconfont"},"",-1)),Io=M(()=>t("div",{class:"icon-text"},"顶部",-1)),Co=[Bo,Io],ko=M(()=>t("div",{class:"iconfont"},"",-1)),So=M(()=>t("div",{class:"icon-text"},"底部",-1)),Eo=[ko,So],wo={class:"tools"},Uo=M(()=>t("div",{class:"iconfont"},"",-1)),Qo={key:0},Do={key:0},Vo=M(()=>t("div",{class:"iconfont"},"",-1)),Mo=M(()=>t("div",{class:"chapter-bar"},null,-1)),xo={class:"content"},Fo=["index"],Oo={__name:"BookChapter",setup(a){const n=g(!1),d=g(null),v=g();Z(n,e=>{var s;if(!e)return(s=d.value)==null?void 0:s.close();d.value=qe.service({target:v.value,spinner:Pe,text:"正在获取信息",lock:!0})});const l=ue();try{const e=JSON.parse(localStorage.getItem("config"));e!=null&&l.setConfig(e)}catch{localStorage.removeItem("config")}const D=g(),B=g(!0),u=g(!1),h=g([]),c=g(null),i=g(null),{catalog:V,popCataVisible:x,readSettingsVisible:S,miniInterface:E,showContent:K}=we(l),{chapterPos:H,index:F}=he(l.readingBook),{theme:O,infiniteLoading:f}=he(l.config),C=m(()=>J.themes[O.value].body),j=m(()=>J.themes[O.value].content),ge=m(()=>J.themes[O.value].popup),ie=m(()=>E.value?window.innerWidth+"px":l.config.readWidth-130+"px"),$=m(()=>E.value?window.innerWidth-33:l.config.readWidth-33),N=m(()=>({background:J.themes[O.value].body})),ee=m(()=>({background:J.themes[O.value].content,width:ie.value})),y=m(()=>({background:J.themes[O.value].popup,marginLeft:E.value?0:-(l.config.readWidth/2+68)+"px",display:E.value&&!u.value?"none":"block"})),k=m(()=>({background:J.themes[O.value].popup,marginRight:E.value?0:-(l.config.readWidth/2+52)+"px",display:E.value&&!u.value?"none":"block"})),te=g(!1);se(()=>{te.value=O.value==6}),Z(C,e=>{N.value.background=e}),Z(j,e=>{ee.value.background=e}),Z(ie,e=>{ee.value.width=e;let s=-((parseInt(e)+130)/2+68)+"px",R=-((parseInt(e)+130)/2+52)+"px";y.value.marginLeft=s,k.value.marginRight=R}),Z(ge,e=>{y.value.background=e,k.value.background=e}),se(()=>{h.value.length>0&&(l.setContentLoading(!1),Fe())}),se(()=>{var e;document.title=((e=V.value[F.value])==null?void 0:e.title)||document.title,l.saveBookProcess()}),se(()=>{var e,s;f.value?(s=c.value)==null||s.observe(D.value):(e=c.value)==null||e.disconnect()});const Y=g(),G=(e,s=!0,R=0)=>{s&&(l.setShowContent(!1),n.value=!0,_(Y.value,{duration:0}),Qe(e,R));let b=sessionStorage.getItem("bookUrl"),{title:P,index:U}=V.value[e];ve.getBookContent(b,U).then(r=>{if(r.data.isSuccess){let Oe=r.data.data.split(/\n+/);fe({index:e,content:Oe,title:P},s)}else{z({message:r.data.errorMsg,type:"error"});let oe=[r.data.errorMsg];fe({index:e,content:oe,title:P},s)}if(l.setContentLoading(!0),n.value=!1,B.value=!1,l.setShowContent(!0),!r.data.isSuccess)throw r.data},r=>{throw z({message:"获取章节内容失败",type:"error"}),fe({index:e,content:["获取章节内容失败!"],title:P},s),n.value=!1,l.setShowContent(!0),r})},w=g(),L=g(),pe=()=>{_(Y.value)},Ue=()=>{_(L.value)},be=()=>{l.setContentLoading(!0);let e=F.value+1;typeof V.value[e]<"u"?(z({message:"下一章",type:"info"}),G(e)):z({message:"本章是最后一章",type:"error"})},Be=()=>{l.setContentLoading(!0);let e=F.value-1;typeof V.value[e]<"u"?(z({message:"上一章",type:"info"}),G(e)):z({message:"本章是第一章",type:"error"})},Qe=(e,s=H.value)=>{let R=sessionStorage.getItem("bookUrl");var b=JSON.parse(localStorage.getItem(R));b.index=e,b.chapterPos=s,localStorage.setItem(R,JSON.stringify(b)),b=JSON.parse(localStorage.getItem("readingRecent")),b.chapterIndex=e,b.chapterPos=s,localStorage.setItem("readingRecent",JSON.stringify(b)),F.value=e,H.value=s,sessionStorage.setItem("chapterIndex",e),sessionStorage.setItem("chapterPos",String(s))},fe=async(e,s)=>{s&&h.value.splice(0),h.value.push(e)},De=()=>{let e=h.value.slice(-1)[0].index;V.value.length-1>e&&G(e+1,!1)},Ve=We(),Ie=()=>{Ve.push("/")},Ce=e=>{switch(e.key){case"ArrowLeft":e.stopPropagation(),e.preventDefault(),Be();break;case"ArrowRight":e.stopPropagation(),e.preventDefault(),be();break;case"ArrowUp":e.stopPropagation(),e.preventDefault(),document.documentElement.scrollTop===0?z({message:"已到达页面顶部",type:"warn"}):_(0-document.documentElement.clientHeight+100);break;case"ArrowDown":e.stopPropagation(),e.preventDefault(),document.documentElement.clientHeight+document.documentElement.scrollTop===document.documentElement.scrollHeight?z({message:"已到达页面底部",type:"warn"}):_(document.documentElement.clientHeight-100);break}},Me=e=>{if(!n.value)for(let{isIntersecting:s}of e){if(!s)return;De()}},xe=e=>{re(()=>{for(let{isIntersecting:s,target:R,boundingClientRect:b}of e){let P=R.querySelector(".title");if(!P)return;let U=parseInt(P.getAttribute("index"));s?F.value=U:b.top<0?F.value=U+1:F.value=U-1}})},Fe=()=>{re(()=>{let e=w.value;e&&e.forEach(s=>i.value.observe(s))})};return Se(()=>{n.value=!0;let e=sessionStorage.getItem("bookUrl"),s=sessionStorage.getItem("bookName"),R=sessionStorage.getItem("bookAuthor"),b=Number(sessionStorage.getItem("chapterIndex")||0),P=Number(sessionStorage.getItem("chapterPos")||0);var U=JSON.parse(localStorage.getItem(e));(U==null||b!=U.index||P!=U.chapterPos)&&(U={bookName:s,bookAuthor:R,bookUrl:e,index:b,chapterPos:P},localStorage.setItem(e,JSON.stringify(U))),ve.getChapterList(e).then(r=>{if(n.value=!1,!r.data.isSuccess){z({message:r.data.errorMsg,type:"error"}),setTimeout(Ie,500);return}let oe=r.data.data;l.setCatalog(oe),l.setReadingBook(U),G(b,!0,P),window.addEventListener("keyup",Ce),c.value=new IntersectionObserver(Me,{rootMargin:"-100% 0% 20% 0%"}),f.value&&c.value.observe(D.value),i.value=new IntersectionObserver(xe),document.title=null,document.title=s+" | "+V.value[b].title},r=>{throw n.value=!1,z({message:"获取书籍目录失败",type:"error"}),r})}),Je(()=>{var e,s;window.removeEventListener("keyup",Ce),S.value=!1,x.value=!1,(e=c.value)==null||e.disconnect(),(s=i.value)==null||s.disconnect()}),(e,s)=>{const R=ro,b=Ee,P=eo,U=pt;return A(),p("div",{class:Q(["chapter-wrapper",{night:o(te),day:!o(te)}]),style:T(o(N)),onClick:s[2]||(s[2]=r=>u.value=!o(u))},[t("div",{class:"tool-bar",style:T(o(y))},[t("div",Ao,[q(b,{placement:"right",width:o($),trigger:"click","show-arrow":!1,visible:o(x),"onUpdate:visible":s[0]||(s[0]=r=>Ae(x)?x.value=r:null),"popper-class":"pop-cata"},{reference:W(()=>[t("div",{class:Q(["tool-icon",{"no-point":o(B)}])},po,2)]),default:W(()=>[q(R,{onGetContent:G,class:"popup"})]),_:1},8,["width","visible"]),q(b,{placement:"right",width:o($),trigger:"click","show-arrow":!1,visible:o(S),"onUpdate:visible":s[1]||(s[1]=r=>Ae(S)?S.value=r:null),"popper-class":"pop-setting"},{reference:W(()=>[t("div",{class:Q(["tool-icon",{"no-point":o(B)}])},ho,2)]),default:W(()=>[q(P,{class:"popup"})]),_:1},8,["width","visible"]),t("div",{class:"tool-icon",onClick:Ie},bo),t("div",{class:Q(["tool-icon",{"no-point":o(B)}]),onClick:pe},Co,2),t("div",{class:Q(["tool-icon",{"no-point":o(B)}]),onClick:Ue},Eo,2)])],4),t("div",{class:"read-bar",style:T(o(k))},[t("div",wo,[t("div",{class:Q(["tool-icon",{"no-point":o(B)}]),onClick:Be},[Uo,o(E)?(A(),p("span",Qo,"上一章")):ne("",!0)],2),t("div",{class:Q(["tool-icon",{"no-point":o(B)}]),onClick:be},[o(E)?(A(),p("span",Do,"下一章")):ne("",!0),Vo],2)])],4),Mo,t("div",{class:"chapter",ref_key:"content",ref:v,style:T(o(ee))},[t("div",xo,[t("div",{class:"top-bar",ref_key:"top",ref:Y},null,512),(A(!0),p(le,null,ae(o(h),r=>(A(),p("div",{key:r.index,ref_for:!0,ref_key:"chapter",ref:w},[o(K)?(A(),p("div",{key:0,class:"title",index:r.index},X(r.title),9,Fo)):ne("",!0),o(K)?(A(),Te(U,{key:1,carray:r.content},null,8,["carray"])):ne("",!0)]))),128)),t("div",{class:"loading",ref_key:"loading",ref:D},null,512),t("div",{class:"bottom-bar",ref_key:"bottom",ref:L},null,512)])],4)],6)}}},No=de(Oo,[["__scopeId","data-v-ff1ea184"]]);export{No as default};
diff --git a/app/src/main/assets/web/vue/assets/BookShelf-3852f1dd.js b/app/src/main/assets/web/vue/assets/BookShelf-3852f1dd.js
deleted file mode 100644
index 1ce2438e4..000000000
--- a/app/src/main/assets/web/vue/assets/BookShelf-3852f1dd.js
+++ /dev/null
@@ -1 +0,0 @@
-import{a1 as U,q as Q,o as M,d as I,g as e,F as P,M as V,t as v,a2 as k,a3 as B,c as q,w as z,f as L,u as l,a4 as G,a5 as N,p as $,i as W,s as X,m as A,P as j,I as H,R as ee,B as x,e as C,v as te,J as se,n as J,a6 as ae,C as oe,x as ne,a7 as re}from"./vendor-8be1f5fb.js";import{_ as Z,u as ce,A as T}from"./index-cbd182e6.js";import{l as le}from"./el-loading-15d78e2b.js";const ie=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;function de(t,r,s,d){let p=t<12?"AM":"PM";return d&&(p=p.split("").reduce((g,a)=>g+=`${a}.`,"")),s?p.toLowerCase():p}function ue(t,r,s={}){var d;const p=t.getFullYear(),g=t.getMonth(),a=t.getDate(),i=t.getHours(),_=t.getMinutes(),c=t.getSeconds(),h=t.getMilliseconds(),u=t.getDay(),m=(d=s.customMeridiem)!=null?d:de,D={YY:()=>String(p).slice(-2),YYYY:()=>p,M:()=>g+1,MM:()=>`${g+1}`.padStart(2,"0"),MMM:()=>t.toLocaleDateString(s.locales,{month:"short"}),MMMM:()=>t.toLocaleDateString(s.locales,{month:"long"}),D:()=>String(a),DD:()=>`${a}`.padStart(2,"0"),H:()=>String(i),HH:()=>`${i}`.padStart(2,"0"),h:()=>`${i%12||12}`.padStart(1,"0"),hh:()=>`${i%12||12}`.padStart(2,"0"),m:()=>String(_),mm:()=>`${_}`.padStart(2,"0"),s:()=>String(c),ss:()=>`${c}`.padStart(2,"0"),SSS:()=>`${h}`.padStart(3,"0"),d:()=>u,dd:()=>t.toLocaleDateString(s.locales,{weekday:"narrow"}),ddd:()=>t.toLocaleDateString(s.locales,{weekday:"short"}),dddd:()=>t.toLocaleDateString(s.locales,{weekday:"long"}),A:()=>m(i,_),AA:()=>m(i,_,!1,!0),a:()=>m(i,_,!0),aa:()=>m(i,_,!0,!0)};return r.replace(ie,(R,E)=>E||D[R]())}const he=t=>{let r=new Date().getTime(),s=Math.floor((r-t)/1e3),d="";return s<=30?d="刚刚":s<60?d=s+"秒前":s<3600?d=Math.floor(s/60)+"分钟前":s<86400?d=Math.floor(s/3600)+"小时前":s<2592e3?d=Math.floor(s/86400)+"天前":d=ue(new Date(t),"YYYY-MM-DD"),d};const F=t=>($("data-v-655a8f47"),t=t(),W(),t),pe={class:"books-wrapper"},_e={class:"wrapper"},ve=["onClick"],ge={class:"cover-img"},me=["src"],fe={class:"info"},Se={class:"name"},we={class:"sub"},Ae={class:"author"},Me={class:"tags"},Ie={class:"update-info"},ye=F(()=>e("div",{class:"dot"},"•",-1)),ke={class:"size"},Be=F(()=>e("div",{class:"dot"},"•",-1)),xe={class:"date"},Ce={class:"last-chapter"},De={__name:"BookItems",props:["books","isSearch"],emits:["bookClick"],setup(t,{emit:r}){const s=t;U(a=>({"713bfbbc":l(g)}));const d=a=>r("bookClick",G(a)),p=a=>/^data:/.test(a)?a:location.origin+"/cover?path="+encodeURIComponent(a),g=Q(()=>s.isSearch?"space-between":"flex-start");return(a,i)=>{const _=N;return M(),I("div",pe,[e("div",_e,[(M(!0),I(P,null,V(s.books,c=>{var h;return M(),I("div",{class:"book",key:c.bookUrl,onClick:u=>d(c)},[e("div",ge,[(M(),I("img",{class:"cover",src:p(c.coverUrl),key:c.coverUrl,alt:"",loading:"lazy"},null,8,me))]),e("div",fe,[e("div",Se,v(c.name),1),e("div",we,[e("div",Ae,v(c.author),1),k(e("div",Me,[(M(!0),I(P,null,V((h=c.kind)==null?void 0:h.split(",").slice(0,2),u=>(M(),q(_,{key:u},{default:z(()=>[L(v(u),1)]),_:2},1024))),128))],512),[[B,s.isSearch]]),k(e("div",Ie,[ye,e("div",ke,"共"+v(c.totalChapterNum)+"章",1),Be,e("div",xe,v(l(he)(c.lastCheckTime)),1)],512),[[B,!s.isSearch]])]),k(e("div",{class:"intro"},v(c.intro),513),[[B,s.isSearch]]),k(e("div",{class:"dur-chapter"}," 已读:"+v(c.durChapterTitle),513),[[B,!s.isSearch]]),e("div",Ce,"最新:"+v(c.latestChapterTitle),1)])],8,ve)}),128))])])}}},Re=Z(De,[["__scopeId","data-v-655a8f47"]]);const Ee="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAECUlEQVRYR7WXTYhcRRDHq3pY9yKrYBQ8KBsjgvHgwRhiQBTjYZm4Xe8NusawhwS/o9GLoKhgBGPAgJd1NdGIXwtZTbRf9Rqzl6gHTVyDeIkIgnEOghAM6oKHzTJd0sO8Zaa338zb7NjwmJn++Ndv+lVVVyOsoM3Ozl69sLBAiHiDc26NUuoKv9w5d14p9aeI/DI4OMgjIyN/lJXFMhOttQ8BgBaR0TLzEXEGAKzW+lCv+V0BmLmGiLtF5M5eQrFxRPxaRCaI6LOi9YUAzPwGADxxMYYjayaJ6MkoZKyTmU8AwF19Mp7LfElEW0LNZTvAzIcBYFufjedy00T0QLt2B4AxZo9S6qX/yXhT1jn3cpqme3IbSwDM/DgAvNlu3Dm3Uyl1HAA2IOJ2EdleEu5Io9H4EBHPVCqVLSISRsMuInrLazUBpqamhoaGhr4TkRsDgLVpmtbzPmPMLQBwOwD4vvzxw8P5IyJztVrtVL4my7L1iPhTx7Yj/jw/P79pfHx8vgmQZdkLiPhK+O8GBgauqVarv5f819FpxpjLlVJ/hYMi8mKSJHubAMz8KwBcF1EYI6IjqwRIlFImonGWiNZhlmVVRDxWYGTVAMx8HwB8EtMXka1orT0gIo9GJrxNRLH+FW8IMx8EgEeW5QDEgx5gTkQ2Bk7yr9b60hVb6rKAmc8BwJWBne+x4P3XiWhtPwGstV9FzpSzHuBvALgsMHaaiDp2ZbUwWZZNIuKuQOcfD7AAAJeEcaq1Xr9ao+3rmdknnscCzQse4LdWEukYazQaa2q12vl+QTDztwCwOdCr+zA8iYi3RQwREdl+ADDz9QDwIwB0OLaInPJRcEhEHoyEyAmt9d39ALDW2lg1hYjv+lfgC4WJgkTxcJIkPcuqbpC+qgKATwvm7PYAGwDgdBeRZ4notYvZCWPMDqXUe13W3to8C6y10yJyv//u6zj/2R6ziPiRiBwt6xPMrBExFZEdRcYR8WOt9bb8MNoKAJ+3Jvtwed05d4dSKtz+c4h4VGsdrRWttZMici8AXFVix+4homNLBUmWZQcQMc/9x4mommXZ84i4t11MKbV5dHR06bxvH5uZmbnZOfdN6O0RmMNE1CxulgCstdeKyBcAcFPrVTyltZ4wxiSVSuXplkhda72zh9P1rClFZFOSJHMdAP5Hq3rxR6eH+IGIvIOuqFlr94nIc10WdRzxy6riAMJnr2nn3JlcME3TppMWNWvtfhF5pmB8WX0RvZgEEEtaYUUbM2KtfUdE/FUubNHipvBmZIxZp5TaDwBprlQGIHLqzSHiPq01x4B7Xk6Z2d8TfDwPlwFozfd1f90598Hi4uKrY2NjFwrzQVkP81nNi/byAWOMv8gOp2n6fhnt/wDqJrRWLmhIrwAAAABJRU5ErkJggg==";const Y=t=>($("data-v-0fc06008"),t=t(),W(),t),Te={class:"index-wrapper"},ze={class:"navigation-wrapper"},Le=Y(()=>e("div",{class:"navigation-title-wrapper"},[e("div",{class:"navigation-title"},"阅读"),e("div",{class:"navigation-sub-title"},"清风不识字,何故乱翻书")],-1)),Ye={class:"search-wrapper"},be={class:"bottom-wrapper"},Pe={class:"recent-wrapper"},Ve=Y(()=>e("div",{class:"recent-title"},"最近阅读",-1)),He={class:"reading-recent"},Je={class:"setting-wrapper"},Ne=Y(()=>e("div",{class:"setting-title"},"基本设定",-1)),$e={class:"setting-item"},We={class:"bottom-icons"},Ze={href:"https://github.com/gedoor/legado_web_bookshelf",target:"_blank"},Fe={class:"bottom-icon"},Oe=["src"],Ke={__name:"BookShelf",setup(t){const r=ce(),{connectStatus:s,connectType:d,newConnect:p,shelf:g}=X(r),a=A({name:"尚无阅读记录",author:"",url:"",chapterIndex:0,chapterPos:0}),i=A(!1),_=A(null),c=A(null);j(i,o=>{var n;if(!o)return(n=c.value)==null?void 0:n.close();c.value=re.service({target:_.value,spinner:le,text:"正在获取书籍信息",lock:!0})});const h=A([]);H(()=>{h.value.length>0&&(i.value=!1)});const u=A(""),m=A(!1);H(()=>{if(!(m.value&&u.value!="")){if(m.value=!1,h.value=[],u.value==""){h.value=g.value;return}h.value=g.value.filter(o=>o.name.includes(u.value)||o.author.includes(u.value))}});const D=()=>{u.value!=""&&(h.value=[],r.clearSearchBooks(),i.value=!0,m.value=!0,T.search(u.value,o=>{try{r.setSearchBooks(JSON.parse(o)),r.searchBooks.forEach(n=>h.value.push(n))}catch(n){throw x.error("后端数据错误"),n}},()=>{i.value=!1,h.value.length==0&&x.info("搜索结果为空")}))},R=()=>{},E=ae(),O=async o=>{const{bookUrl:n,name:S,author:f,durChapterIndex:w=0,durChapterPos:y=0}=o;await T.saveBook(o),b(n,S,f,w,y)},b=(o,n,S,f,w)=>{n!=="尚无阅读记录"&&(sessionStorage.setItem("bookUrl",o),sessionStorage.setItem("bookName",n),sessionStorage.setItem("bookAuthor",S),sessionStorage.setItem("chapterIndex",f),sessionStorage.setItem("chapterPos",w),a.value={name:n,author:S,url:o,chapterIndex:f,chapterPos:w},localStorage.setItem("readingRecent",JSON.stringify(a.value)),E.push({path:"/chapter"}))};ee(async()=>{let o=localStorage.getItem("readingRecent");o!=null&&(a.value=JSON.parse(o),typeof a.value.chapterIndex>"u"&&(a.value.chapterIndex=0)),i.value=!0,K()});const K=()=>{T.getBookShelf().then(o=>{r.setConnectType("success"),o.data.isSuccess?r.addBooks(o.data.data.sort(function(n,S){var f=n.durChapterTime||0,w=S.durChapterTime||0;return w-f})):(x.error(o.data.errorMsg),i.value=!1),r.setConnectStatus("已连接 "),r.setNewConnect(!1)}).catch(function(o){throw i.value=!1,r.setConnectType("danger"),r.setConnectStatus("连接失败"),x.error("后端连接失败"),r.setNewConnect(!1),o})};return(o,n)=>{const S=oe,f=N,w=Re;return M(),I("div",Te,[e("div",ze,[Le,e("div",Ye,[C(S,{placeholder:"搜索书籍,在线书籍自动加入书架",modelValue:l(u),"onUpdate:modelValue":n[0]||(n[0]=y=>te(u)?u.value=y:null),class:"search-input","prefix-icon":l(ne),onKeyup:se(D,["enter"])},null,8,["modelValue","prefix-icon","onKeyup"])]),e("div",be,[e("div",Pe,[Ve,e("div",He,[C(f,{type:l(a).name=="尚无阅读记录"?"warning":"",class:J(["recent-book",{"no-point":l(a).url==""}]),size:"large",onClick:n[1]||(n[1]=y=>b(l(a).url,l(a).name,l(a).author,l(a).chapterIndex,l(a).chapterPos))},{default:z(()=>[L(v(l(a).name),1)]),_:1},8,["type","class"])])]),e("div",Je,[Ne,e("div",$e,[C(f,{type:l(d),size:"large",class:J(["setting-connect",{"no-point":l(p)}]),onClick:R},{default:z(()=>[L(v(l(s)),1)]),_:1},8,["type","class"])])])]),e("div",We,[e("a",Ze,[e("div",Fe,[e("img",{src:l(Ee),alt:""},null,8,Oe)])])])]),e("div",{class:"shelf-wrapper",ref_key:"shelfWrapper",ref:_},[C(w,{books:l(h),onBookClick:O,isSearch:l(m)},null,8,["books","isSearch"])],512)])}}},Ge=Z(Ke,[["__scopeId","data-v-0fc06008"]]);export{Ge as default};
diff --git a/app/src/main/assets/web/vue/assets/BookShelf-a8a609c2.css b/app/src/main/assets/web/vue/assets/BookShelf-a8a609c2.css
deleted file mode 100644
index b5fe7e67c..000000000
--- a/app/src/main/assets/web/vue/assets/BookShelf-a8a609c2.css
+++ /dev/null
@@ -1 +0,0 @@
-@charset "UTF-8";.books-wrapper[data-v-655a8f47]{overflow:scroll}.books-wrapper .wrapper[data-v-655a8f47]{display:grid;grid-template-columns:repeat(auto-fill,380px);justify-content:space-around;grid-gap:10px}.books-wrapper .wrapper .book[data-v-655a8f47]{user-select:none;display:flex;cursor:pointer;margin-bottom:18px;padding:24px;width:360px;flex-direction:row;justify-content:space-around}.books-wrapper .wrapper .book .cover-img[data-v-655a8f47],.books-wrapper .wrapper .book .cover-img .cover[data-v-655a8f47]{width:84px;height:112px}.books-wrapper .wrapper .book .info[data-v-655a8f47]{display:flex;flex-direction:column;justify-content:space-around;align-items:left;height:112px;margin-left:20px;flex:1}.books-wrapper .wrapper .book .info .name[data-v-655a8f47]{width:fit-content;font-size:16px;font-weight:700;color:#33373d}.books-wrapper .wrapper .book .info .sub[data-v-655a8f47]{display:flex;flex-direction:row;align-items:baseline;justify-content:var(--713bfbbc);font-size:12px;font-weight:600;color:#6b6b6b}.books-wrapper .wrapper .book .info .sub .tags[data-v-655a8f47] .el-tag{margin-right:.5em}.books-wrapper .wrapper .book .info .sub .update-info[data-v-655a8f47]{display:flex}.books-wrapper .wrapper .book .info .sub .update-info .dot[data-v-655a8f47]{margin:0 7px}.books-wrapper .wrapper .book .info .intro[data-v-655a8f47],.books-wrapper .wrapper .book .info .dur-chapter[data-v-655a8f47],.books-wrapper .wrapper .book .info .last-chapter[data-v-655a8f47]{color:#969ba3;font-size:13px;margin-top:3px;font-weight:500;word-wrap:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;text-align:left}.books-wrapper .wrapper .book[data-v-655a8f47]:hover{background:rgba(0,0,0,.1);transition-duration:.5s}.books-wrapper .wrapper[data-v-655a8f47]:last-child{margin-right:auto}.books-wrapper[data-v-655a8f47]::-webkit-scrollbar{width:0!important}@media screen and (max-width: 750px){.books-wrapper .wrapper[data-v-655a8f47]{display:flex;flex-direction:column}.books-wrapper .wrapper .book[data-v-655a8f47]{box-sizing:border-box;width:100%;margin-bottom:0;padding:10px 20px}}@font-face{font-family:FZZCYSK;src:local("\263a"),url(./shelffont-16b1b95a.ttf);font-style:normal;font-weight:400}.index-wrapper[data-v-0fc06008]{height:100%;width:100%;display:flex;flex-direction:row}.index-wrapper .navigation-wrapper[data-v-0fc06008]{width:260px;min-width:260px;padding:48px 36px;background-color:#f7f7f7}.index-wrapper .navigation-wrapper .navigation-title[data-v-0fc06008]{font-size:24px;font-weight:500;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .navigation-sub-title[data-v-0fc06008]{font-size:16px;font-weight:300;font-family:FZZCYSK;margin-top:16px;color:#b1b1b1}.index-wrapper .navigation-wrapper .search-wrapper .search-input[data-v-0fc06008]{border-radius:50%;margin-top:24px}.index-wrapper .navigation-wrapper .search-wrapper .search-input[data-v-0fc06008] .el-input__wrapper{border-radius:50px;border-color:#e3e3e3}.index-wrapper .navigation-wrapper .recent-wrapper[data-v-0fc06008]{margin-top:36px}.index-wrapper .navigation-wrapper .recent-wrapper .recent-title[data-v-0fc06008]{font-size:14px;color:#b1b1b1;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .recent-wrapper .reading-recent[data-v-0fc06008]{margin:18px 0}.index-wrapper .navigation-wrapper .recent-wrapper .reading-recent .recent-book[data-v-0fc06008]{font-size:10px;cursor:pointer}.index-wrapper .navigation-wrapper .setting-wrapper[data-v-0fc06008]{margin-top:36px}.index-wrapper .navigation-wrapper .setting-wrapper .setting-title[data-v-0fc06008]{font-size:14px;color:#b1b1b1;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .setting-wrapper .no-point[data-v-0fc06008]{pointer-events:none}.index-wrapper .navigation-wrapper .setting-wrapper .setting-connect[data-v-0fc06008]{font-size:8px;margin-top:16px;cursor:pointer}.index-wrapper .navigation-wrapper .bottom-icons[data-v-0fc06008]{position:fixed;bottom:0;height:120px;width:260px;align-items:center;display:flex;flex-direction:row}.index-wrapper .shelf-wrapper[data-v-0fc06008]{padding:48px;width:100%;display:flex;flex-direction:column}.index-wrapper .shelf-wrapper[data-v-0fc06008] .el-loading-mask{background-color:#0000}.index-wrapper .shelf-wrapper[data-v-0fc06008] .el-loading-spinner{font-size:36px;color:#b5b5b5}.index-wrapper .shelf-wrapper[data-v-0fc06008] .el-loading-text{font-weight:500;color:#b5b5b5}@media screen and (max-width: 750px){.index-wrapper[data-v-0fc06008]{overflow-x:hidden;flex-direction:column}.index-wrapper .navigation-wrapper[data-v-0fc06008]{padding:20px 24px;box-sizing:border-box;width:100%}.index-wrapper .navigation-wrapper .navigation-title-wrapper[data-v-0fc06008]{white-space:nowrap;display:flex;justify-content:space-between;align-items:flex-end}.index-wrapper .navigation-wrapper .bottom-wrapper[data-v-0fc06008],.index-wrapper .navigation-wrapper .bottom-icons[data-v-0fc06008]{display:none}.index-wrapper .shelf-wrapper[data-v-0fc06008]{padding:0}.index-wrapper .shelf-wrapper[data-v-0fc06008] .el-loading-spinner{display:none}}
diff --git a/app/src/main/assets/web/vue/assets/BookShelf-e6a2af62.js b/app/src/main/assets/web/vue/assets/BookShelf-e6a2af62.js
new file mode 100644
index 000000000..1f7eb9d38
--- /dev/null
+++ b/app/src/main/assets/web/vue/assets/BookShelf-e6a2af62.js
@@ -0,0 +1 @@
+import{a1 as Q,q,o as g,d as m,g as e,F as V,M as P,t as d,a2 as B,a3 as S,c as $,w as z,f as M,u as o,a4 as G,a5 as L,p as N,i as W,s as X,m as _,P as j,I as J,R as ee,B as k,e as x,v as te,J as se,n as D,a6 as ae,C as oe,x as ne,a7 as ce}from"./vendor-8be1f5fb.js";import{d as re,l as ie}from"./el-loading-5b5af897.js";import{_ as Z,u as le,A as E}from"./index-ab2e286b.js";const H=n=>(N("data-v-fd33c3e8"),n=n(),W(),n),de={class:"books-wrapper"},ue={class:"wrapper"},he=["onClick"],pe={class:"cover-img"},ve=["src"],_e={class:"info"},ge={class:"name"},me={class:"sub"},fe={class:"author"},we={class:"tags"},Ie={class:"update-info"},Ae=H(()=>e("div",{class:"dot"},"•",-1)),Be={class:"size"},Se=H(()=>e("div",{class:"dot"},"•",-1)),ke={class:"date"},xe={class:"last-chapter"},ye={__name:"BookItems",props:["books","isSearch"],emits:["bookClick"],setup(n,{emit:r}){const y=n;Q(s=>({"036742a7":o(f)}));const C=s=>r("bookClick",G(s)),R=s=>/^data:/.test(s)?s:location.origin+"/cover?path="+encodeURIComponent(s),f=q(()=>y.isSearch?"space-between":"flex-start");return(s,h)=>{const w=L;return g(),m("div",de,[e("div",ue,[(g(!0),m(V,null,P(n.books,c=>{var l;return g(),m("div",{class:"book",key:c.bookUrl,onClick:i=>C(c)},[e("div",pe,[(g(),m("img",{class:"cover",src:R(c.coverUrl),key:c.coverUrl,alt:"",loading:"lazy"},null,8,ve))]),e("div",_e,[e("div",ge,d(c.name),1),e("div",me,[e("div",fe,d(c.author),1),B(e("div",we,[(g(!0),m(V,null,P((l=c.kind)==null?void 0:l.split(",").slice(0,2),i=>(g(),$(w,{key:i},{default:z(()=>[M(d(i),1)]),_:2},1024))),128))],512),[[S,n.isSearch]]),B(e("div",Ie,[Ae,e("div",Be,"共"+d(c.totalChapterNum)+"章",1),Se,e("div",ke,d(o(re)(c.lastCheckTime)),1)],512),[[S,!n.isSearch]])]),B(e("div",{class:"intro"},d(c.intro),513),[[S,n.isSearch]]),B(e("div",{class:"dur-chapter"}," 已读:"+d(c.durChapterTitle),513),[[S,!n.isSearch]]),e("div",xe,"最新:"+d(c.latestChapterTitle),1)])],8,he)}),128))])])}}},Ce=Z(ye,[["__scopeId","data-v-fd33c3e8"]]);const Re="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAECUlEQVRYR7WXTYhcRRDHq3pY9yKrYBQ8KBsjgvHgwRhiQBTjYZm4Xe8NusawhwS/o9GLoKhgBGPAgJd1NdGIXwtZTbRf9Rqzl6gHTVyDeIkIgnEOghAM6oKHzTJd0sO8Zaa338zb7NjwmJn++Ndv+lVVVyOsoM3Ozl69sLBAiHiDc26NUuoKv9w5d14p9aeI/DI4OMgjIyN/lJXFMhOttQ8BgBaR0TLzEXEGAKzW+lCv+V0BmLmGiLtF5M5eQrFxRPxaRCaI6LOi9YUAzPwGADxxMYYjayaJ6MkoZKyTmU8AwF19Mp7LfElEW0LNZTvAzIcBYFufjedy00T0QLt2B4AxZo9S6qX/yXhT1jn3cpqme3IbSwDM/DgAvNlu3Dm3Uyl1HAA2IOJ2EdleEu5Io9H4EBHPVCqVLSISRsMuInrLazUBpqamhoaGhr4TkRsDgLVpmtbzPmPMLQBwOwD4vvzxw8P5IyJztVrtVL4my7L1iPhTx7Yj/jw/P79pfHx8vgmQZdkLiPhK+O8GBgauqVarv5f819FpxpjLlVJ/hYMi8mKSJHubAMz8KwBcF1EYI6IjqwRIlFImonGWiNZhlmVVRDxWYGTVAMx8HwB8EtMXka1orT0gIo9GJrxNRLH+FW8IMx8EgEeW5QDEgx5gTkQ2Bk7yr9b60hVb6rKAmc8BwJWBne+x4P3XiWhtPwGstV9FzpSzHuBvALgsMHaaiDp2ZbUwWZZNIuKuQOcfD7AAAJeEcaq1Xr9ao+3rmdknnscCzQse4LdWEukYazQaa2q12vl+QTDztwCwOdCr+zA8iYi3RQwREdl+ADDz9QDwIwB0OLaInPJRcEhEHoyEyAmt9d39ALDW2lg1hYjv+lfgC4WJgkTxcJIkPcuqbpC+qgKATwvm7PYAGwDgdBeRZ4notYvZCWPMDqXUe13W3to8C6y10yJyv//u6zj/2R6ziPiRiBwt6xPMrBExFZEdRcYR8WOt9bb8MNoKAJ+3Jvtwed05d4dSKtz+c4h4VGsdrRWttZMici8AXFVix+4homNLBUmWZQcQMc/9x4mommXZ84i4t11MKbV5dHR06bxvH5uZmbnZOfdN6O0RmMNE1CxulgCstdeKyBcAcFPrVTyltZ4wxiSVSuXplkhda72zh9P1rClFZFOSJHMdAP5Hq3rxR6eH+IGIvIOuqFlr94nIc10WdRzxy6riAMJnr2nn3JlcME3TppMWNWvtfhF5pmB8WX0RvZgEEEtaYUUbM2KtfUdE/FUubNHipvBmZIxZp5TaDwBprlQGIHLqzSHiPq01x4B7Xk6Z2d8TfDwPlwFozfd1f90598Hi4uKrY2NjFwrzQVkP81nNi/byAWOMv8gOp2n6fhnt/wDqJrRWLmhIrwAAAABJRU5ErkJggg==";const T=n=>(N("data-v-7e6be94e"),n=n(),W(),n),Ee={class:"index-wrapper"},ze={class:"navigation-wrapper"},Me=T(()=>e("div",{class:"navigation-title-wrapper"},[e("div",{class:"navigation-title"},"阅读"),e("div",{class:"navigation-sub-title"},"清风不识字,何故乱翻书")],-1)),Te={class:"search-wrapper"},be={class:"bottom-wrapper"},Ve={class:"recent-wrapper"},Pe=T(()=>e("div",{class:"recent-title"},"最近阅读",-1)),Je={class:"reading-recent"},De={class:"setting-wrapper"},Le=T(()=>e("div",{class:"setting-title"},"基本设定",-1)),Ne={class:"setting-item"},We={class:"bottom-icons"},Ze={href:"https://github.com/gedoor/legado_web_bookshelf",target:"_blank"},He={class:"bottom-icon"},Oe=["src"],Fe={__name:"BookShelf",setup(n){const r=le(),{connectStatus:y,connectType:C,newConnect:R,shelf:f}=X(r),s=_({name:"尚无阅读记录",author:"",url:"",chapterIndex:0,chapterPos:0}),h=_(!1),w=_(null),c=_(null);j(h,t=>{var a;if(!t)return(a=c.value)==null?void 0:a.close();c.value=ce.service({target:w.value,spinner:ie,text:"正在获取书籍信息",lock:!0})});const l=_([]);J(()=>{l.value.length>0&&(h.value=!1)});const i=_(""),I=_(!1);J(()=>{if(!(I.value&&i.value!="")){if(I.value=!1,l.value=[],i.value==""){l.value=f.value;return}l.value=f.value.filter(t=>t.name.includes(i.value)||t.author.includes(i.value))}});const O=()=>{i.value!=""&&(l.value=[],r.clearSearchBooks(),h.value=!0,I.value=!0,E.search(i.value,t=>{try{r.setSearchBooks(JSON.parse(t)),r.searchBooks.forEach(a=>l.value.push(a))}catch(a){throw k.error("后端数据错误"),a}},()=>{h.value=!1,l.value.length==0&&k.info("搜索结果为空")}))},F=()=>{},K=ae(),Y=async t=>{const{bookUrl:a,name:p,author:u,durChapterIndex:v=0,durChapterPos:A=0}=t;await E.saveBook(t),b(a,p,u,v,A)},b=(t,a,p,u,v)=>{a!=="尚无阅读记录"&&(sessionStorage.setItem("bookUrl",t),sessionStorage.setItem("bookName",a),sessionStorage.setItem("bookAuthor",p),sessionStorage.setItem("chapterIndex",u),sessionStorage.setItem("chapterPos",v),s.value={name:a,author:p,url:t,chapterIndex:u,chapterPos:v},localStorage.setItem("readingRecent",JSON.stringify(s.value)),K.push({path:"/chapter"}))};ee(async()=>{let t=localStorage.getItem("readingRecent");t!=null&&(s.value=JSON.parse(t),typeof s.value.chapterIndex>"u"&&(s.value.chapterIndex=0)),h.value=!0,U()});const U=()=>{E.getBookShelf().then(t=>{r.setConnectType("success"),t.data.isSuccess?r.addBooks(t.data.data.sort(function(a,p){var u=a.durChapterTime||0,v=p.durChapterTime||0;return v-u})):(k.error(t.data.errorMsg),h.value=!1),r.setConnectStatus("已连接 "),r.setNewConnect(!1)}).catch(function(t){throw h.value=!1,r.setConnectType("danger"),r.setConnectStatus("连接失败"),k.error("后端连接失败"),r.setNewConnect(!1),t})};return(t,a)=>{const p=oe,u=L,v=Ce;return g(),m("div",Ee,[e("div",ze,[Me,e("div",Te,[x(p,{placeholder:"搜索书籍,在线书籍自动加入书架",modelValue:o(i),"onUpdate:modelValue":a[0]||(a[0]=A=>te(i)?i.value=A:null),class:"search-input","prefix-icon":o(ne),onKeyup:se(O,["enter"])},null,8,["modelValue","prefix-icon","onKeyup"])]),e("div",be,[e("div",Ve,[Pe,e("div",Je,[x(u,{type:o(s).name=="尚无阅读记录"?"warning":"",class:D(["recent-book",{"no-point":o(s).url==""}]),size:"large",onClick:a[1]||(a[1]=A=>b(o(s).url,o(s).name,o(s).author,o(s).chapterIndex,o(s).chapterPos))},{default:z(()=>[M(d(o(s).name),1)]),_:1},8,["type","class"])])]),e("div",De,[Le,e("div",Ne,[x(u,{type:o(C),size:"large",class:D(["setting-connect",{"no-point":o(R)}]),onClick:F},{default:z(()=>[M(d(o(y)),1)]),_:1},8,["type","class"])])])]),e("div",We,[e("a",Ze,[e("div",He,[e("img",{src:o(Re),alt:""},null,8,Oe)])])])]),e("div",{class:"shelf-wrapper",ref_key:"shelfWrapper",ref:w},[x(v,{books:o(l),onBookClick:Y,isSearch:o(I)},null,8,["books","isSearch"])],512)])}}},Qe=Z(Fe,[["__scopeId","data-v-7e6be94e"]]);export{Qe as default};
diff --git a/app/src/main/assets/web/vue/assets/BookShelf-f637327a.css b/app/src/main/assets/web/vue/assets/BookShelf-f637327a.css
new file mode 100644
index 000000000..9e53e6b89
--- /dev/null
+++ b/app/src/main/assets/web/vue/assets/BookShelf-f637327a.css
@@ -0,0 +1 @@
+@charset "UTF-8";.books-wrapper[data-v-fd33c3e8]{overflow:scroll}.books-wrapper .wrapper[data-v-fd33c3e8]{display:grid;grid-template-columns:repeat(auto-fill,380px);justify-content:space-around;grid-gap:10px}.books-wrapper .wrapper .book[data-v-fd33c3e8]{user-select:none;display:flex;cursor:pointer;margin-bottom:18px;padding:24px;width:360px;flex-direction:row;justify-content:space-around}.books-wrapper .wrapper .book .cover-img[data-v-fd33c3e8],.books-wrapper .wrapper .book .cover-img .cover[data-v-fd33c3e8]{width:84px;height:112px}.books-wrapper .wrapper .book .info[data-v-fd33c3e8]{display:flex;flex-direction:column;justify-content:space-around;align-items:left;height:112px;margin-left:20px;flex:1}.books-wrapper .wrapper .book .info .name[data-v-fd33c3e8]{width:fit-content;font-size:16px;font-weight:700;color:#33373d}.books-wrapper .wrapper .book .info .sub[data-v-fd33c3e8]{display:flex;flex-direction:row;align-items:baseline;justify-content:var(--036742a7);font-size:12px;font-weight:600;color:#6b6b6b}.books-wrapper .wrapper .book .info .sub .tags[data-v-fd33c3e8] .el-tag{margin-right:.5em}.books-wrapper .wrapper .book .info .sub .update-info[data-v-fd33c3e8]{display:flex}.books-wrapper .wrapper .book .info .sub .update-info .dot[data-v-fd33c3e8]{margin:0 7px}.books-wrapper .wrapper .book .info .intro[data-v-fd33c3e8],.books-wrapper .wrapper .book .info .dur-chapter[data-v-fd33c3e8],.books-wrapper .wrapper .book .info .last-chapter[data-v-fd33c3e8]{color:#969ba3;font-size:13px;margin-top:3px;font-weight:500;word-wrap:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;text-align:left}.books-wrapper .wrapper .book[data-v-fd33c3e8]:hover{background:rgba(0,0,0,.1);transition-duration:.5s}.books-wrapper .wrapper[data-v-fd33c3e8]:last-child{margin-right:auto}.books-wrapper[data-v-fd33c3e8]::-webkit-scrollbar{width:0!important}@media screen and (max-width: 750px){.books-wrapper .wrapper[data-v-fd33c3e8]{display:flex;flex-direction:column}.books-wrapper .wrapper .book[data-v-fd33c3e8]{box-sizing:border-box;width:100%;margin-bottom:0;padding:10px 20px}}@font-face{font-family:FZZCYSK;src:local("\263a"),url(./shelffont-16b1b95a.ttf);font-style:normal;font-weight:400}.index-wrapper[data-v-7e6be94e]{height:100%;width:100%;display:flex;flex-direction:row}.index-wrapper .navigation-wrapper[data-v-7e6be94e]{width:260px;min-width:260px;padding:48px 36px;background-color:#f7f7f7}.index-wrapper .navigation-wrapper .navigation-title[data-v-7e6be94e]{font-size:24px;font-weight:500;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .navigation-sub-title[data-v-7e6be94e]{font-size:16px;font-weight:300;font-family:FZZCYSK;margin-top:16px;color:#b1b1b1}.index-wrapper .navigation-wrapper .search-wrapper .search-input[data-v-7e6be94e]{border-radius:50%;margin-top:24px}.index-wrapper .navigation-wrapper .search-wrapper .search-input[data-v-7e6be94e] .el-input__wrapper{border-radius:50px;border-color:#e3e3e3}.index-wrapper .navigation-wrapper .recent-wrapper[data-v-7e6be94e]{margin-top:36px}.index-wrapper .navigation-wrapper .recent-wrapper .recent-title[data-v-7e6be94e]{font-size:14px;color:#b1b1b1;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .recent-wrapper .reading-recent[data-v-7e6be94e]{margin:18px 0}.index-wrapper .navigation-wrapper .recent-wrapper .reading-recent .recent-book[data-v-7e6be94e]{font-size:10px;cursor:pointer}.index-wrapper .navigation-wrapper .setting-wrapper[data-v-7e6be94e]{margin-top:36px}.index-wrapper .navigation-wrapper .setting-wrapper .setting-title[data-v-7e6be94e]{font-size:14px;color:#b1b1b1;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .setting-wrapper .no-point[data-v-7e6be94e]{pointer-events:none}.index-wrapper .navigation-wrapper .setting-wrapper .setting-connect[data-v-7e6be94e]{font-size:8px;margin-top:16px;cursor:pointer}.index-wrapper .navigation-wrapper .bottom-icons[data-v-7e6be94e]{position:fixed;bottom:0;height:120px;width:260px;align-items:center;display:flex;flex-direction:row}.index-wrapper .shelf-wrapper[data-v-7e6be94e]{padding:48px;width:100%;display:flex;flex-direction:column}.index-wrapper .shelf-wrapper[data-v-7e6be94e] .el-loading-mask{background-color:#0000}.index-wrapper .shelf-wrapper[data-v-7e6be94e] .el-loading-spinner{font-size:36px;color:#b5b5b5}.index-wrapper .shelf-wrapper[data-v-7e6be94e] .el-loading-text{font-weight:500;color:#b5b5b5}@media screen and (max-width: 750px){.index-wrapper[data-v-7e6be94e]{overflow-x:hidden;flex-direction:column}.index-wrapper .navigation-wrapper[data-v-7e6be94e]{padding:20px 24px;box-sizing:border-box;width:100%}.index-wrapper .navigation-wrapper .navigation-title-wrapper[data-v-7e6be94e]{white-space:nowrap;display:flex;justify-content:space-between;align-items:flex-end}.index-wrapper .navigation-wrapper .bottom-wrapper[data-v-7e6be94e],.index-wrapper .navigation-wrapper .bottom-icons[data-v-7e6be94e]{display:none}.index-wrapper .shelf-wrapper[data-v-7e6be94e]{padding:0}.index-wrapper .shelf-wrapper[data-v-7e6be94e] .el-loading-spinner{display:none}}
diff --git a/app/src/main/assets/web/vue/assets/config-7c50f05c.js b/app/src/main/assets/web/vue/assets/config-97894739.js
similarity index 80%
rename from app/src/main/assets/web/vue/assets/config-7c50f05c.js
rename to app/src/main/assets/web/vue/assets/config-97894739.js
index f5ea2b4ff..85ab74a9d 100644
--- a/app/src/main/assets/web/vue/assets/config-7c50f05c.js
+++ b/app/src/main/assets/web/vue/assets/config-97894739.js
@@ -1 +1 @@
-import{u as n,A as r}from"./index-cbd182e6.js";import"./vendor-8be1f5fb.js";const i=n();i.setMiniInterface(window.innerWidth<750);window.onresize=()=>{i.setMiniInterface(window.innerWidth<750)};r.getReadConfig().then(a=>{var e=a.data.data;if(e){const t=n();let o=JSON.parse(e),s=t.config;o=Object.assign(s,o),t.setConfig(o)}});
+import{u as n,A as r}from"./index-ab2e286b.js";import"./vendor-8be1f5fb.js";const i=n();i.setMiniInterface(window.innerWidth<750);window.onresize=()=>{i.setMiniInterface(window.innerWidth<750)};r.getReadConfig().then(a=>{var e=a.data.data;if(e){const t=n();let o=JSON.parse(e),s=t.config;o=Object.assign(s,o),t.setConfig(o)}});
diff --git a/app/src/main/assets/web/vue/assets/el-loading-15d78e2b.js b/app/src/main/assets/web/vue/assets/el-loading-15d78e2b.js
deleted file mode 100644
index 2eda26ced..000000000
--- a/app/src/main/assets/web/vue/assets/el-loading-15d78e2b.js
+++ /dev/null
@@ -1 +0,0 @@
-const a='';export{a as l};
diff --git a/app/src/main/assets/web/vue/assets/el-loading-5b5af897.js b/app/src/main/assets/web/vue/assets/el-loading-5b5af897.js
new file mode 100644
index 000000000..c4e1e6a78
--- /dev/null
+++ b/app/src/main/assets/web/vue/assets/el-loading-5b5af897.js
@@ -0,0 +1 @@
+import{u}from"./index-ab2e286b.js";const f=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;function D(t,n,e,a){let s=t<12?"AM":"PM";return a&&(s=s.split("").reduce((l,i)=>l+=`${i}.`,"")),e?s.toLowerCase():s}function L(t,n,e={}){var a;const s=t.getFullYear(),l=t.getMonth(),i=t.getDate(),o=t.getHours(),r=t.getMinutes(),g=t.getSeconds(),m=t.getMilliseconds(),d=t.getDay(),c=(a=e.customMeridiem)!=null?a:D,M={YY:()=>String(s).slice(-2),YYYY:()=>s,M:()=>l+1,MM:()=>`${l+1}`.padStart(2,"0"),MMM:()=>t.toLocaleDateString(e.locales,{month:"short"}),MMMM:()=>t.toLocaleDateString(e.locales,{month:"long"}),D:()=>String(i),DD:()=>`${i}`.padStart(2,"0"),H:()=>String(o),HH:()=>`${o}`.padStart(2,"0"),h:()=>`${o%12||12}`.padStart(1,"0"),hh:()=>`${o%12||12}`.padStart(2,"0"),m:()=>String(r),mm:()=>`${r}`.padStart(2,"0"),s:()=>String(g),ss:()=>`${g}`.padStart(2,"0"),SSS:()=>`${m}`.padStart(3,"0"),d:()=>d,dd:()=>t.toLocaleDateString(e.locales,{weekday:"narrow"}),ddd:()=>t.toLocaleDateString(e.locales,{weekday:"short"}),dddd:()=>t.toLocaleDateString(e.locales,{weekday:"long"}),A:()=>c(o,r),AA:()=>c(o,r,!1,!0),a:()=>c(o,r,!0),aa:()=>c(o,r,!0,!0)};return n.replace(f,(S,h)=>h||M[S]())}const w=t=>/,\s*\{/.test(t)||!(t.startsWith("http")||t.startsWith("data:")||t.startsWith("blob:"));function Y(t){return location.origin+"/image?path="+encodeURIComponent(t)+"&url="+encodeURIComponent(sessionStorage.getItem("bookUrl"))+"&width="+u().config.readWidth}const $=t=>{let n=new Date().getTime(),e=Math.floor((n-t)/1e3),a="";return e<=30?a="刚刚":e<60?a=e+"秒前":e<3600?a=Math.floor(e/60)+"分钟前":e<86400?a=Math.floor(e/3600)+"小时前":e<2592e3?a=Math.floor(e/86400)+"天前":a=L(new Date(t),"YYYY-MM-DD"),a},v='';export{$ as d,Y as g,w as i,v as l};
diff --git a/app/src/main/assets/web/vue/assets/index-71b7f9c4.css b/app/src/main/assets/web/vue/assets/index-71b7f9c4.css
new file mode 100644
index 000000000..068f0945c
--- /dev/null
+++ b/app/src/main/assets/web/vue/assets/index-71b7f9c4.css
@@ -0,0 +1 @@
+.el-link[data-v-aee57c78]{padding:4px}.el-text[data-v-aee57c78]{padding-top:20px}.error[data-v-d4c4e88b]{border-color:var(--el-color-error)!important;color:var(--el-color-error)!important;--el-checkbox-checked-text-color: var(--el-color-error);--el-checkbox-checked-bg-color: var(--el-color-error);--el-checkbox-checked-input-border-color: var(--el-color-error)}.tool[data-v-3d581419]{display:flex;margin:4px 0;justify-content:center}#source-list[data-v-3d581419]{margin-top:6px;height:calc(100vh - 119px)}#source-list[data-v-3d581419] .el-checkbox{margin-bottom:4px;width:100%}[data-v-fe904689] #debug-text{height:calc(100vh - 86px)}[data-v-7e91a802] .el-input{width:100%}[data-v-7e91a802] #source-json{height:calc(100vh - 50px)}[data-v-dcce2457] .el-tabs__header{margin-bottom:5px}.flex-space-between[data-v-dc7cd0f9]{display:flex;justify-content:space-between;align-items:baseline}.flex-column-center[data-v-dc7cd0f9]{display:flex;flex-direction:column;justify-content:center}.menu>.el-button[data-v-dc7cd0f9]{margin:4px;padding:1em;width:6em}.hotkeys-item .title[data-v-dc7cd0f9]{width:5em;display:flex;justify-content:flex-end;margin-right:1em}.hotkeys-item__content[data-v-dc7cd0f9]{display:flex;flex-wrap:wrap;flex:1}.hotkeys-item__content div[data-v-dc7cd0f9]{margin-bottom:1em}.hotkeys-item__content span[data-v-dc7cd0f9]{margin:.5em}[data-v-2cfb5302] .el-tab-pane{height:calc(100vh - 55px);padding-top:15px;padding-right:5px;overflow-y:auto}[data-v-2cfb5302] .el-tabs__header{margin:0}kbd{background-color:#fcfcfc;border-radius:3px;border:1px solid hsl(0deg,0%,80%);padding:4px 5px;font-weight:700}code{background-color:#f2f1f1;padding:.125rem .25rem;border-radius:.25rem;font-size:.835rem}body{padding:0;margin:0}.el-tabs__header{position:sticky;top:0px;z-index:2;background-color:#fff}.editor[data-v-e99e7704]{display:flex;height:100vh;overflow:hidden}.editor .left[data-v-e99e7704]{flex:1;margin-left:20px}.editor .right[data-v-e99e7704]{flex:1;width:360px;margin-right:20px}
diff --git a/app/src/main/assets/web/vue/assets/index-964f1746.css b/app/src/main/assets/web/vue/assets/index-964f1746.css
deleted file mode 100644
index 2a42f1553..000000000
--- a/app/src/main/assets/web/vue/assets/index-964f1746.css
+++ /dev/null
@@ -1 +0,0 @@
-.el-link[data-v-aee57c78]{padding:4px}.el-text[data-v-aee57c78]{padding-top:20px}.error[data-v-4f0ba808]{border-color:var(--el-color-error)!important;color:var(--el-color-error)!important;--el-checkbox-checked-text-color: var(--el-color-error);--el-checkbox-checked-bg-color: var(--el-color-error);--el-checkbox-checked-input-border-color: var(--el-color-error)}.tool[data-v-794cdcb4]{display:flex;margin:4px 0;justify-content:center}#source-list[data-v-794cdcb4]{margin-top:6px;height:calc(100vh - 119px)}#source-list[data-v-794cdcb4] .el-checkbox{margin-bottom:4px;width:100%}[data-v-fe904689] #debug-text{height:calc(100vh - 86px)}[data-v-7e91a802] .el-input{width:100%}[data-v-7e91a802] #source-json{height:calc(100vh - 50px)}[data-v-dcce2457] .el-tabs__header{margin-bottom:5px}.flex-space-between[data-v-18524ea3]{display:flex;justify-content:space-between;align-items:baseline}.flex-column-center[data-v-18524ea3]{display:flex;flex-direction:column;justify-content:center}.menu>.el-button[data-v-18524ea3]{margin:4px;padding:1em;width:6em}.hotkeys-item .title[data-v-18524ea3]{width:5em;display:flex;justify-content:flex-end;margin-right:1em}.hotkeys-item__content[data-v-18524ea3]{display:flex;flex-wrap:wrap;flex:1}.hotkeys-item__content div[data-v-18524ea3]{margin-bottom:1em}.hotkeys-item__content span[data-v-18524ea3]{margin:.5em}[data-v-d4af52d7] .el-tab-pane{height:calc(100vh - 55px);padding-top:15px;padding-right:5px;overflow-y:auto}[data-v-d4af52d7] .el-tabs__header{margin:0}kbd{background-color:#fcfcfc;border-radius:3px;border:1px solid hsl(0deg,0%,80%);padding:4px 5px;font-weight:700}code{background-color:#f2f1f1;padding:.125rem .25rem;border-radius:.25rem;font-size:.835rem}body{padding:0;margin:0}.el-tabs__header{position:sticky;top:0px;z-index:2;background-color:#fff}.editor[data-v-ef32d41f]{display:flex;height:100vh;overflow:hidden}.editor .left[data-v-ef32d41f]{flex:1;margin-left:20px}.editor .right[data-v-ef32d41f]{flex:1;width:360px;margin-right:20px}.editor #loading[data-v-ef32d41f]{position:fixed;top:100px;left:90vw}
diff --git a/app/src/main/assets/web/vue/assets/index-ab2e286b.js b/app/src/main/assets/web/vue/assets/index-ab2e286b.js
new file mode 100644
index 000000000..639e2501c
--- /dev/null
+++ b/app/src/main/assets/web/vue/assets/index-ab2e286b.js
@@ -0,0 +1,13 @@
+import{r as we,o as l,c as b,a as ne,b as re,d as U,e as p,w as c,f as m,u as i,l as q,g,F as L,E as xe,h as ae,p as Be,i as Ue,j as ue,s as Q,t as G,n as de,k as Ee,m as R,q as te,v as A,x as pe,y as Ve,z as Ie,A as se,V as Ne,B as w,C as X,D as he,G as Te,H as $e,I as _e,J as Le,K as N,L as Re,M as J,N as ge,O as me,P as Oe,Q as z,R as Pe,S as De,T as Je,U as Ae,W as Ke,X as je,Y as He,Z as Fe,_ as qe,$ as ze,a0 as Me}from"./vendor-8be1f5fb.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))s(n);new MutationObserver(n=>{for(const r of n)if(r.type==="childList")for(const a of r.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&s(a)}).observe(document,{childList:!0,subtree:!0});function o(n){const r={};return n.integrity&&(r.integrity=n.integrity),n.referrerPolicy&&(r.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?r.credentials="include":n.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(n){if(n.ep)return;n.ep=!0;const r=o(n);fetch(n.href,r)}})();const We="modulepreload",Ge=function(e,t){return new URL(e,t).href},ie={},oe=function(t,o,s){if(!o||o.length===0)return t();const n=document.getElementsByTagName("link");return Promise.all(o.map(r=>{if(r=Ge(r,s),r in ie)return;ie[r]=!0;const a=r.endsWith(".css"),C=a?'[rel="stylesheet"]':"";if(!!s)for(let x=n.length-1;x>=0;x--){const d=n[x];if(d.href===r&&(!a||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${r}"]${C}`))return;const y=document.createElement("link");if(y.rel=a?"stylesheet":We,a||(y.as="script",y.crossOrigin=""),y.href=r,document.head.appendChild(y),a)return new Promise((x,d)=>{y.addEventListener("load",x),y.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>t())},O=(e,t)=>{const o=e.__vccOpts||e;for(const[s,n]of t)o[s]=n;return o},Qe={};function Xe(e,t){const o=we("router-view");return l(),b(o)}const Ye=O(Qe,[["render",Xe]]),Se=[{path:"/",name:"shelf",component:()=>oe(()=>import("./BookShelf-e6a2af62.js"),["./BookShelf-e6a2af62.js","./vendor-8be1f5fb.js","./vendor-6f0d1692.css","./el-loading-5b5af897.js","./el-loading-d0f2d079.css","./BookShelf-f637327a.css"],import.meta.url)},{path:"/chapter",name:"chapter",component:()=>oe(()=>import("./BookChapter-e6619d8a.js"),["./BookChapter-e6619d8a.js","./el-loading-5b5af897.js","./el-loading-d0f2d079.css","./vendor-8be1f5fb.js","./vendor-6f0d1692.css","./BookChapter-468f2c8e.css"],import.meta.url)}];ne({history:re(),routes:Se});const T=e=>(Be("data-v-aee57c78"),e=e(),Ue(),e),Ze=T(()=>g("br",null,null,-1)),et=T(()=>g("br",null,null,-1)),tt=T(()=>g("br",null,null,-1)),ot=T(()=>g("br",null,null,-1)),nt=T(()=>g("br",null,null,-1)),rt={style:{"margin-top":"20px"}},st=T(()=>g("code",null,"^$()[]{}.?+*|",-1)),it=T(()=>g("br",null,null,-1)),lt=T(()=>g("code",null,"(?s)",-1)),ct=T(()=>g("br",null,null,-1)),at=T(()=>g("code",null,"(?m)",-1)),ut=T(()=>g("br",null,null,-1)),dt=T(()=>g("code",null,"(?i)",-1)),pt=T(()=>g("br",null,null,-1)),ht={__name:"SourceHelp",setup(e){return(t,o)=>{const s=xe,n=ae;return l(),U(L,null,[p(s,{icon:i(q),href:"https://alanskycn.gitee.io/teachme/",target:"_blank"},{default:c(()=>[m("书源制作教程")]),_:1},8,["icon"]),Ze,p(s,{icon:i(q),href:"https://zhuanlan.zhihu.com/p/29436838",target:"_blank"},{default:c(()=>[m("xpath基础教程")]),_:1},8,["icon"]),et,p(s,{icon:i(q),href:"https://zhuanlan.zhihu.com/p/32187820",target:"_blank"},{default:c(()=>[m("xpath高级教程")]),_:1},8,["icon"]),tt,p(s,{icon:i(q),href:"https://www.w3cschool.cn/regex_rmjc",target:"_blank"},{default:c(()=>[m("正则表达式教程")]),_:1},8,["icon"]),ot,p(s,{icon:i(q),href:"https://regexr-cn.com/",target:"_blank"},{default:c(()=>[m("正则表达式在线验证工具")]),_:1},8,["icon"]),nt,g("div",rt,[g("span",null,[p(n,null,{default:c(()=>[st,m(" 这些是Java正则特殊符号,匹配需转义")]),_:1})]),it,g("span",null,[p(n,null,{default:c(()=>[lt,m(" 前缀表示跨行解析")]),_:1})]),ct,g("span",null,[p(n,null,{default:c(()=>[at,m(" 前缀表示逐行匹配")]),_:1})]),ut,g("span",null,[p(n,null,{default:c(()=>[dt,m(" 前缀表示忽略大小写")]),_:1})]),pt])],64)}}},_t=O(ht,[["__scopeId","data-v-aee57c78"]]),M=e=>e==null||e.length===0||/^\s+$/.test(e),ye=e=>"bookSourceName"in e,gt=e=>ye(e)?!M(e.bookSourceName)&&!M(e.bookSourceUrl)&&!M(e.bookSourceType):!M(e.sourceName)&&!M(e.sourceName),mt=(e,t)=>{var o,s,n,r,a,C,S,y;return ye(e)?(((o=e.bookSourceName)==null?void 0:o.includes(t))||((s=e.bookSourceUrl)==null?void 0:s.includes(t))||((n=e.bookSourceGroup)==null?void 0:n.includes(t))||((r=e.bookSourceComment)==null?void 0:r.includes(t)))??!1:(((a=e.sourceName)==null?void 0:a.includes(t))||((C=e.sourceUrl)==null?void 0:C.includes(t))||((S=e.sourceGroup)==null?void 0:S.includes(t))||((y=e.sourceComment)==null?void 0:y.includes(t)))??!1},St={ruleSearch:{},ruleBookInfo:{},ruleToc:{},ruleContent:{},ruleReview:{},ruleExplore:{}},yt={},P=/bookSource/i.test(location.href),le=P?St:yt,K=ue("source",{state:()=>({bookSources:[],rssSources:[],errorPushSources:[],currentSource:le,currentTab:localStorage.getItem("tabName")||"editTab",editTabSource:{},isDebuging:!1}),getters:{sources:e=>P?e.bookSources:e.rssSources,currentSourceUrl:e=>P?e.currentSource.bookSourceUrl:e.currentSource.sourceUrl,searchKey:e=>P?e.currentSource.ruleSearch.checkKeyWord||"我的":null},actions:{startDebug(){this.currentTab="editDebug",this.isDebuging=!0},debugFinish(){this.isDebuging=!1},saveSources(e){P?this.bookSources=e:this.rssSources=e},deleteSources(e){let t=P?this.bookSources:this.rssSources;e.forEach(o=>{let s=t.indexOf(o);s>-1&&t.splice(s,1)})},saveCurrentSource(){let e=this.currentSource,t,o;P?(t=this.bookSources,o="bookSourceUrl"):(t=this.rssSources,o="sourceUrl");let s=t.findIndex(n=>n[o]===e[o]);e=JSON.parse(JSON.stringify(e)),s>-1?t.splice(s,1,e):t.push(e)},changeCurrentSource(e){const t=JSON.stringify(e);this.currentSource=JSON.parse(t)},async setPushReturnSources(e){P?this.errorPushSources=this.sources.filter(t=>e.every(o=>o.bookSourceUrl!==t.bookSourceUrl)):this.errorPushSources=this.sources.filter(t=>e.every(o=>o.sourceUrl!==t.sourceUrl))},changeTabName(e){this.currentTab=e,localStorage.setItem("tabName",e)},changeEditTabSource(e){const t=JSON.stringify(e);this.editTabSource=JSON.parse(t)},editHistory(e){let t;if(localStorage.getItem("history"))t=JSON.parse(localStorage.getItem("history")),t.new.push(e),t.new.length>50&&t.new.shift(),t.old.length>50&&t.old.shift(),localStorage.setItem("history",JSON.stringify(t));else{const o={new:[e],old:[]};localStorage.setItem("history",JSON.stringify(o))}},editHistoryUndo(){if(localStorage.getItem("history")){let e=JSON.parse(localStorage.getItem("history"));e.old.push(this.currentSource),e.new.length&&(this.currentSource=e.new.pop()),localStorage.setItem("history",JSON.stringify(e))}},clearAllHistory(){localStorage.setItem("history",JSON.stringify({new:[],old:[]}))},clearEdit(){this.editTabSource={},this.currentSource=le},clearAllSource(){this.bookSources=[],this.rssSources=[]}}});const ft={__name:"SourceItem",props:["source"],setup(e){const t=K(),{errorPushSources:o}=Q(t),s=n=>{t.changeCurrentSource(n)};return(n,r)=>{const a=Ee;return l(),b(a,{size:"large",border:"",label:e.source,class:de({error:i(o).includes(e.source)}),onChange:r[0]||(r[0]=C=>s(e.source))},{default:c(()=>[m(G(e.source.bookSourceName||e.source.sourceName),1)]),_:1},8,["label","class"])}}},bt=O(ft,[["__scopeId","data-v-d4c4e88b"]]);const kt={class:"tool"},vt={__name:"SourceList",setup(e){const t=K(),o=R([]),s=R(""),{sources:n}=Q(t),r=te(()=>/bookSource/.test(window.location.href)),a=()=>{t.deleteSources(o.value),o.value=[]},C=()=>{t.clearAllSource(),o.value=[]},S=te(()=>{let d=s.value;return d===""?n.value:n.value.filter(_=>mt(_,d))}),y=()=>{const d=document.createElement("input");d.type="file",d.accept=".json,.txt",d.addEventListener("change",_=>{const k=_.target.files[0];var B=new FileReader;B.readAsText(k),B.onload=()=>{try{const D=JSON.parse(B.result);t.saveSources(D)}catch{w({message:"上传的源格式错误",type:"error"})}}}),d.click()},x=()=>{const d=document.createElement("a");let _=o.value.length===0?S.value:o.value,k=r.value?"BookSource":"RssSource";d.download=`${k}_${Date().replace(/.*?\s(\d+)\s(\d+)\s(\d+:\d+:\d+).*/,"$2$1$3").replace(/:/g,"")}.json`;let B=new Blob([JSON.stringify(_,null,4)],{type:"application/json"});d.href=window.URL.createObjectURL(B),d.click()};return(d,_)=>{const k=X,B=he,D=Te;return l(),U(L,null,[p(k,{modelValue:i(s),"onUpdate:modelValue":_[0]||(_[0]=V=>A(s)?s.value=V:null),class:"search","prefix-icon":i(pe),placeholder:"筛选源"},null,8,["modelValue","prefix-icon"]),g("div",kt,[p(B,{onClick:y,icon:i(Ve)},{default:c(()=>[m(" 打开 ")]),_:1},8,["icon"]),p(B,{disabled:i(S).length===0,onClick:x,icon:i(Ie)},{default:c(()=>[m(" 导出")]),_:1},8,["disabled","icon"]),p(B,{icon:i(se),onClick:a,disabled:i(o).length===0},{default:c(()=>[m("删除")]),_:1},8,["icon","disabled"]),p(B,{type:"danger",icon:i(se),onClick:C,disabled:i(n).length===0},{default:c(()=>[m("清空")]),_:1},8,["icon","disabled"])]),p(D,{id:"source-list",modelValue:i(o),"onUpdate:modelValue":_[1]||(_[1]=V=>A(o)?o.value=V:null)},{default:c(()=>[p(i(Ne),{style:{height:"100%","overflow-y":"auto","overflow-x":"hidden"},"data-key":V=>V.bookSourceUrl||V.sourceUrl,"data-sources":i(S),"data-component":bt,"estimate-size":45},null,8,["data-key","data-sources"])]),_:1},8,["modelValue"])],64)}}},Ct=O(vt,[["__scopeId","data-v-3d581419"]]),wt=1e3,E=$e.create({baseURL:location.origin,timeout:120*wt}),{hostname:fe,port:be}=new URL(location.href),xt=/source/i.test(location.href),Bt=e=>{throw xt&&w({message:"后端错误,检查网络或者阅读app",type:"error"}),e};E.interceptors.response.use(e=>e,Bt);const Ut=()=>E.get("/getReadConfig"),Et=e=>E.post("/saveReadConfig",e),Vt=e=>E.post("/saveBookProgress",e),It=()=>E.get("/getBookshelf"),Nt=e=>E.get("/getChapterList?url="+encodeURIComponent(e)),Tt=(e,t)=>E.get("/getBookContent?url="+encodeURIComponent(e)+"&index="+t),$t=(e,t,o)=>{const s=`ws://${fe}:${Number(be)+1}/searchBook`,n=new WebSocket(s);n.onopen=()=>{n.send(`{"key":"${e}"}`)},n.onmessage=({data:r})=>t(r),n.onclose=()=>{o()}},Lt=e=>E.post("/saveBook",e),Rt=e=>E.post("/deleteBook",e),W=/bookSource/i.test(location.href),Ot=()=>W?E.get("getBookSources"):E.get("getRssSources"),Pt=e=>W?E.post("saveBookSource",e):E.post("saveRssSource",e),Dt=e=>W?E.post("saveBookSources",e):E.post("saveRssSources",e),Jt=e=>W?E.post("deleteBookSources",e):E.post("deleteRssSources",e),At=(e,t,o,s)=>{const n=`ws://${fe}:${Number(be)+1}/${W?"bookSource":"rssSource"}Debug`,r=new WebSocket(n);r.onopen=()=>{r.send(JSON.stringify({tag:e,key:t}))},r.onmessage=({data:a})=>o(a),r.onclose=()=>{w({message:"调试已关闭!",type:"info"}),s()}},H={getReadConfig:Ut,saveReadConfig:Et,saveBookProcess:Vt,getBookShelf:It,getChapterList:Nt,getBookContent:Tt,search:$t,saveBook:Lt,deleteBook:Rt,getSources:Ot,saveSources:Dt,saveSource:Pt,deleteSource:Jt,debug:At};const Kt={__name:"SourceDebug",setup(e){const t=K(),o=R(""),s=R("");_e(()=>{t.isDebuging&&r()});const n=C=>{let S=document.querySelector("#debug-text");S.scrollTop=S.scrollHeight,o.value+=C+`
+`},r=async()=>{o.value="",await H.saveSource(t.currentSource),H.debug(t.currentSourceUrl,s.value||t.searchKey,n,t.debugFinish)},a=te(()=>/bookSource/.test(window.location.href));return(C,S)=>{const y=X;return l(),U(L,null,[i(a)?(l(),b(y,{key:0,id:"debug-key",modelValue:i(s),"onUpdate:modelValue":S[0]||(S[0]=x=>A(s)?s.value=x:null),placeholder:"搜索书名、作者","prefix-icon":i(pe),style:{"padding-bottom":"4px"},onKeydown:Le(r,["enter"])},null,8,["modelValue","prefix-icon","onKeydown"])):N("",!0),p(y,{id:"debug-text",modelValue:i(o),"onUpdate:modelValue":S[1]||(S[1]=x=>A(o)?o.value=x:null),type:"textarea",readonly:"",rows:"29",placeholder:"这里用于输出调试信息"},null,8,["modelValue"])],64)}}},jt=O(Kt,[["__scopeId","data-v-fe904689"]]),ho=ue("book",{state:()=>({connectStatus:"正在连接后端服务器……",connectType:"",newConnect:!0,searchBooks:[],shelf:[],catalog:[],readingBook:{index:0,chapterPos:0},popCataVisible:!1,contentLoading:!0,showContent:!1,config:{theme:0,font:0,fontSize:18,readWidth:800,infiniteLoading:!1,customFontName:""},miniInterface:!1,readSettingsVisible:!1}),actions:{setConnectStatus(e){this.connectStatus=e},setConnectType(e){this.connectType=e},setNewConnect(e){this.newConnect=e},addBooks(e){this.shelf=e},setCatalog(e){this.catalog=e},setPopCataVisible(e){this.popCataVisible=e},setContentLoading(e){this.contentLoading=e},setReadingBook(e){this.readingBook=e},setConfig(e){this.config=e},setReadSettingsVisible(e){this.readSettingsVisible=e},setShowContent(e){this.showContent=e},setMiniInterface(e){this.miniInterface=e},async setSearchBooks(e){e.forEach(t=>{this.shelf.find(s=>s.bookUrl==t.bookUrl)===void 0&&this.searchBooks.push(t)})},clearSearchBooks(){this.searchBooks=[]},async saveBookProcess(){var r;if(this.catalog.length==0)return;const{index:e,chapterPos:t,bookName:o,bookAuthor:s}=this.readingBook;let n=(r=this.catalog[e])==null?void 0:r.title;n&&H.saveBookProcess({name:o,author:s,durChapterIndex:e,durChapterPos:t,durChapterTime:new Date().getTime(),durChapterTitle:n})}}}),Ht=Re();const Ft={__name:"SourceJson",setup(e){const t=K(),o=R(""),s=async n=>{try{t.changeEditTabSource(JSON.parse(n))}catch{w({message:"粘贴的源格式错误",type:"error"})}};return _e(async()=>{let n=t.editTabSource;Object.keys(n).length>0?o.value=JSON.stringify(n,null,4):o.value=""}),(n,r)=>{const a=X;return l(),b(a,{id:"source-json",modelValue:i(o),"onUpdate:modelValue":r[0]||(r[0]=C=>A(o)?o.value=C:null),type:"textarea",placeholder:"这里输出序列化的JSON数据,可直接导入'阅读'APP",rows:"30",onChange:s,style:{"margin-bottom":"4px"}},null,8,["modelValue"])}}},qt=O(Ft,[["__scopeId","data-v-7e91a802"]]);const zt={__name:"SourceTabTools",setup(e){const t=K(),{currentTab:o}=Q(t),s=R([["editTab","编辑源"],["editDebug","调试源"],["editList","源列表"],["editHelp","帮助信息"]]);return(n,r)=>{const a=qt,C=jt,S=Ct,y=_t,x=ge,d=me;return l(),b(d,{modelValue:i(o),"onUpdate:modelValue":r[0]||(r[0]=_=>A(o)?o.value=_:null)},{default:c(()=>[(l(!0),U(L,null,J(i(s),(_,k)=>(l(),b(x,{key:_[0],name:_[0],label:_[1]},{default:c(()=>[k==0?(l(),b(a,{key:0})):N("",!0),k==1?(l(),b(C,{key:1})):N("",!0),k==2?(l(),b(S,{key:2})):N("",!0),k==3?(l(),b(y,{key:3})):N("",!0)]),_:2},1032,["name","label"]))),128))]),_:1},8,["modelValue"])}}},Mt=O(zt,[["__scopeId","data-v-dcce2457"]]);const Wt={class:"menu flex-column-center"},Gt={class:"hotkeys-header flex-space-between"},Qt=["id"],Xt={key:0},Yt={class:"hotkeys-settings flex-column-center"},Zt={class:"title"},eo={class:"hotkeys-item__content"},to={key:0},oo={key:0},no={__name:"ToolBar",setup(e){const t=K(),o=()=>{const h=w({message:"加载中……",showClose:!0,duration:0});H.getSources().then(({data:u})=>{u.isSuccess?(t.changeTabName("editList"),t.saveSources(u.data),w({message:`成功拉取${u.data.length}条源`,type:"success"})):w({message:u.errorMsg??"后端错误",type:"error"})}).finally(()=>h.close())},s=()=>{let h=t.sources;if(t.changeTabName("editList"),h.length===0)return w({message:"空空如也",type:"info"});w({message:"正在推送中",type:"info"}),H.saveSources(h).then(({data:u})=>{if(u.isSuccess){let v=u.data;if(Array.isArray(v)){let f="";h.length>v.length&&(f=`
+推送失败的源将用红色字体标注!`,t.setPushReturnSources(v)),w({message:`批量推送源到「阅读3.0APP」
+共计: ${h.length} 条
+成功: ${v.length} 条
+失败: ${h.length-v.length} 条${f}`,type:"success"})}}else w({message:`批量推送源失败!
+ErrorMsg: ${u.errorMsg}`,type:"error"})})},n=()=>{t.changeTabName("editTab"),t.changeEditTabSource(t.currentSource)},r=()=>{t.changeCurrentSource(t.editTabSource)},a=()=>{t.editHistoryUndo()},C=()=>{t.clearEdit(),w({message:"已清除",type:"success"})},S=()=>{t.clearEdit(),t.clearAllHistory(),w({message:"已清除所有历史记录",type:"success"})},y=()=>{let h=/bookSource/.test(location.href),u=t.currentSource;gt(u)?H.saveSource(u).then(({data:v})=>{v.isSuccess?(w({message:`源《${h?u.bookSourceName:u.sourceName}》已成功保存到「阅读3.0APP」`,type:"success"}),t.saveCurrentSource()):w({message:`源《${h?u.bookSourceName:u.sourceName}》保存失败!
+ErrorMsg: ${v.errorMsg}`,type:"error"})}):w({message:"请检查<必填>项是否全部填写",type:"error"})},x=()=>{t.startDebug()},d=R(Array.of({name:"⇈推送源",hotKeys:[],action:s},{name:"⇊拉取源",hotKeys:[],action:o},{name:"⋙生成源",hotKeys:[],action:n},{name:"⋘编辑源",hotKeys:[],action:r},{name:"✗清空表单",hotKeys:[],action:C},{name:"↶撤销操作",hotKeys:[],action:a},{name:"↷重做操作",hotKeys:[],action:S},{name:"⇏调试源",hotKeys:[],action:x},{name:"✓保存源",hotKeys:[],action:y})),_=R(!0),k=R(!1),B=R(-1),D=()=>{k.value=!1};Oe(_,h=>{if(!h)return z.unbind("*");z.unbind(),z("*",u=>{u.preventDefault(),k.value&&B.value>-1&&(d.value[B.value].hotKeys=z.getPressedKeyString())})});const V=h=>{k.value=!0,w({message:"按ESC键或者点击空白处结束录入",type:"info"}),d.value[h].hotKeys=[],B.value=h},F=()=>{_.value=!1;const h=[];d.value.forEach(({hotKeys:u,action:v})=>{z(u.join("+"),f=>{f.preventDefault(),v.call(null)}),h.push(u)}),j(h)},j=h=>{localStorage.setItem("legado_web_hotkeys",JSON.stringify(h))},$=()=>{try{const h=JSON.parse(localStorage.getItem("legado_web_hotkeys"));if(!Array.isArray(h)||h.length==0)return;d.value.forEach((u,v)=>u.hotKeys=h[v]),_.value=!1,F()}catch{w({message:"快捷键配置错误",type:"error"}),localStorage.removeItem("legado_web_hotkeys")}};return Pe(()=>{$()}),(h,u)=>{const v=he,f=ae,Y=Ae;return l(),U(L,null,[g("div",Wt,[(l(!0),U(L,null,J(i(d),I=>(l(),b(v,{size:"large",key:I.name,onClick:I.action},{default:c(()=>[m(G(I.name),1)]),_:2},1032,["onClick"]))),128)),p(v,{size:"large",onClick:u[0]||(u[0]=()=>_.value=!0)},{default:c(()=>[m("快捷键")]),_:1})]),p(Y,{modelValue:i(_),"onUpdate:modelValue":u[1]||(u[1]=I=>A(_)?_.value=I:null),"show-close":!1,"before-close":D},{header:c(({titleClass:I,titleId:Z})=>[g("div",Gt,[g("div",{id:Z,class:de(I)},[m(" 快捷键设置 "),i(k)?(l(),U("span",Xt,[p(f,null,{default:c(()=>[m(" / 录入中 ")]),_:1})])):N("",!0)],10,Qt),p(v,{disabled:i(k),onClick:F,icon:i(De)},{default:c(()=>[m("保存")]),_:1},8,["disabled","icon"])])]),default:c(()=>[g("div",Yt,[(l(!0),U(L,null,J(i(d),(I,Z)=>(l(),U("div",{key:I.name,class:"hotkeys-item flex-space-between"},[g("span",Zt,[p(f,null,{default:c(()=>[m(G(I.name),1)]),_:2},1024)]),g("div",eo,[(l(!0),U(L,null,J(I.hotKeys,(ee,Ce)=>(l(),U("div",{key:ee},[g("kbd",null,G(ee),1),Ce+1[m("+")]),_:1})])):N("",!0)]))),128)),I.hotKeys.length==0?(l(),U("span",oo,"未设置")):N("",!0)]),p(v,{disabled:i(k),text:"",icon:i(Je),onClick:ee=>V(Z)},{default:c(()=>[m("编辑")]),_:2},1032,["disabled","icon","onClick"])]))),128))])]),_:1},8,["modelValue"])],64)}}},ro=O(no,[["__scopeId","data-v-dc7cd0f9"]]);const so={__name:"SourceTabForm",props:["config"],setup(e){const t=K(),{currentSource:o}=Q(t);return(s,n)=>{const r=X,a=Ke,C=je,S=He,y=Fe,x=qe,d=ze,_=ge,k=me;return l(),b(k,{id:"source-edit"},{default:c(()=>[(l(!0),U(L,null,J(Object.values(e.config),({name:B,children:D})=>(l(),b(_,{label:B,key:B},{default:c(()=>[p(d,{"label-position":"right","label-width":"5em"},{default:c(()=>[(l(!0),U(L,null,J(D,({type:V,title:F,namespace:j,id:$,array:h,hint:u,required:v})=>(l(),b(x,{label:F,key:F,required:v},{default:c(()=>[V=="String"&&typeof j>"u"?(l(),b(r,{key:0,type:"textarea",modelValue:i(o)[$],"onUpdate:modelValue":f=>i(o)[$]=f,placeholder:u,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):N("",!0),V=="String"&&typeof j<"u"?(l(),b(r,{key:1,type:"textarea",modelValue:i(o)[j][$],"onUpdate:modelValue":f=>i(o)[j][$]=f,placeholder:u,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):N("",!0),V=="Boolean"?(l(),b(a,{key:2,modelValue:i(o)[$],"onUpdate:modelValue":f=>i(o)[$]=f},null,8,["modelValue","onUpdate:modelValue"])):N("",!0),V=="Number"?(l(),b(C,{key:3,modelValue:i(o)[$],"onUpdate:modelValue":f=>i(o)[$]=f,min:0},null,8,["modelValue","onUpdate:modelValue"])):N("",!0),V=="Array"?(l(),b(y,{key:4,modelValue:i(o)[$],"onUpdate:modelValue":f=>i(o)[$]=f},{default:c(()=>[(l(!0),U(L,null,J(h,(f,Y)=>(l(),b(S,{value:Y,key:f,label:f},null,8,["value","label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):N("",!0)]),_:2},1032,["label","required"]))),128))]),_:2},1024)]),_:2},1032,["label"]))),128))]),_:1})}}},io=O(so,[["__scopeId","data-v-2cfb5302"]]),lo={base:{name:"基础",children:[{title:"源类型",id:"bookSourceType",type:"Array",array:["文本","音频","图片","文件"],required:!0},{title:"源域名",id:"bookSourceUrl",type:"String",hint:"通常填写网站主页,例: https://www.qidian.com",required:!0},{title:"源名称",id:"bookSourceName",type:"String",hint:"会显示在源列表",required:!0},{title:"源分组",id:"bookSourceGroup",type:"String",hint:"描述源的特征信息"},{title:"源注释",id:"bookSourceComment",type:"String",hint:"描述源作者和状态"},{title:"书源变量",id:"variableComment",type:"String",hint:"书源变量说明"},{title:"登录地址",id:"loginUrl",type:"String",hint:"填写网站登录网址,仅在需要登录的源有用"},{title:"登录界面",id:"loginUi",type:"String",hint:"自定义登录界面"},{title:"登录检测",id:"loginCheckJs",type:"String",hint:"登录检测js"},{title:"封面解密",id:"coverDecodeJs",type:"String",hint:"封面解密js"},{title:"并发率",id:"concurrentRate",type:"String",hint:"并发率"},{title:"js库",id:"jsLib",type:"String",hint:"js库"},{title:"请求头",id:"header",type:"String",hint:"客户端标识"},{title:"链接验证",id:"bookUrlPattern",type:"String",hint:"当详情页URL与源URL的域名不一致时有效,用于添加网址"}]},search:{name:"搜索",children:[{title:"搜索地址",id:"searchUrl",type:"String",hint:"[域名可省略]/search.php@kw={{key}}"},{title:"校验文字",namespace:"ruleSearch",id:"checkKeyWord",type:"String",hint:"校验关键字"},{title:"列表规则",namespace:"ruleSearch",id:"bookList",type:"String",hint:"选择书籍节点 (规则结果为List)"},{title:"书名规则",namespace:"ruleSearch",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleSearch",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleSearch",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleSearch",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleSearch",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleSearch",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleSearch",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",namespace:"ruleSearch",id:"bookUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}]},find:{name:"发现",children:[{title:"发现地址",id:"exploreUrl",type:"String",hint:`内容能显示在发现菜单
+每行一条发现分类(网址域名可省略),例:
+名称1::网址(Url)1
+名称2::网址(Url)2
+...`},{title:"发现筛选",id:"exploreScreen",type:"String",hint:"发现筛选规则"},{title:"列表规则",namespace:"ruleExplore",id:"bookList",type:"String",hint:"选择书籍节点 (规则结果为List)"},{title:"书名规则",namespace:"ruleExplore",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleExplore",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleExplore",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleExplore",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleExplore",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleExplore",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleExplore",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",namespace:"ruleExplore",id:"bookUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}]},detail:{name:"详情",children:[{title:"预处理",namespace:"ruleBookInfo",id:"init",type:"String",hint:"用于加速详情信息检索,只支持AllInOne规则"},{title:"书名规则",namespace:"ruleBookInfo",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleBookInfo",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleBookInfo",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleBookInfo",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleBookInfo",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleBookInfo",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleBookInfo",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"目录地址",namespace:"ruleBookInfo",id:"tocUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url, 与详情页相同时可省略)"},{title:"下载URL",namespace:"ruleBookInfo",id:"downloadUrls",type:"String",hint:"文件类书源下载地址 (规则结果为String类型的url, 多个链接返回数组)"},{title:"修改书籍",namespace:"ruleBookInfo",id:"canReName",type:"String",hint:"允许修改书名作者(规则结果为String类型, 默认不允许)"}]},directory:{name:"目录",children:[{title:"预处理",namespace:"ruleToc",id:"preUpdateJs",type:"String",hint:"更新目录前调用JS 动态更新目录链接"},{title:"列表规则",namespace:"ruleToc",id:"chapterList",type:"String",hint:"选择目录列表的章节节点 (规则结果为List)"},{title:"章节名称",namespace:"ruleToc",id:"chapterName",type:"String",hint:"选择章节名称 (规则结果为String)"},{title:"章节地址",namespace:"ruleToc",id:"chapterUrl",type:"String",hint:"选择章节链接 (规则结果为String类型的Url)"},{title:"卷名标识",namespace:"ruleToc",id:"isVolume",type:"String",hint:"章节名称是否是卷名 (规则结果为Bool)"},{title:"收费标识",namespace:"ruleToc",id:"isVip",type:"String",hint:"章节是否为VIP章节 (规则结果为Bool)"},{title:"购买标识",namespace:"ruleToc",id:"isPay",type:"String",hint:"章节是否为已购买 (规则结果为Bool)"},{title:"章节信息",namespace:"ruleToc",id:"updateTime",type:"String",hint:"选择章节信息 (规则结果为String)"},{title:"翻页规则",namespace:"ruleToc",id:"nextTocUrl",type:"String",hint:"选择目录下一页链接 (规则结果为List或String)"}]},content:{name:"正文",children:[{title:"脚本注入",namespace:"ruleContent",id:"webJs",type:"String",hint:"注入javascript,用于模拟鼠标点击等,必须有返回值,一般为String类型"},{title:"正文规则",namespace:"ruleContent",id:"content",type:"String",hint:"选择正文内容 (规则结果为String)"},{title:"翻页规则",namespace:"ruleContent",id:"nextContentUrl",type:"String",hint:"选择下一分页(不是下一章)链接 (规则结果为String类型的Url)"},{title:"资源正则",namespace:"ruleContent",id:"sourceRegex",type:"String",hint:"匹配资源的url特征,用于嗅探"},{title:"替换规则",namespace:"ruleContent",id:"replaceRegex",type:"String",hint:"多页内容合并后替换,用于正文净化"},{title:"图片样式",namespace:"ruleContent",id:"imageStyle",type:"String",hint:"FULL:铺满 不填:默认样式"},{title:"购买操作",namespace:"ruleContent",id:"payAction",type:"String",hint:"填写JavaScript 返回购买链接或者调用购买接口"},{title:"图片解密",namespace:"ruleContent",id:"imageDecode",type:"String",hint:"填写JavaScript 返回解密图片的bytes "}]},other:{name:"其他",children:[{title:"启用搜索",id:"enabled",type:"Boolean"},{title:"启用发现",id:"enabledExplore",type:"Boolean"},{title:"Cookie",id:"enabledCookieJar",type:"Boolean"},{title:"搜索权重",id:"weight",type:"Number"},{title:"排序编号",id:"customOrder",type:"Number"}]}},co={base:{name:"基础",children:[{title:"源域名",id:"sourceUrl",type:"String",hint:"通常填写网站主页,例: https://www.qidian.com",required:!0},{title:"图标",id:"sourceIcon",type:"String",hint:"填写图片网络链接"},{title:"源名称",id:"sourceName",type:"String",hint:"会显示在源列表",required:!0},{title:"源分组",id:"sourceGroup",type:"String",hint:"描述源的特征信息"},{title:"源注释",id:"sourceComment",type:"String",hint:"描述源作者和状态"},{title:"分类地址",id:"sortUrl",type:"String",hint:`名称1::链接1
+名称2::链接2`},{title:"登录地址",id:"loginUrl",type:"String",hint:"填写网站登录网址,仅在需要登录的源有用"},{title:"登录界面",id:"loginUi",type:"String",hint:"自定义登录界面"},{title:"登录检测",id:"loginCheckJs",type:"String",hint:"登录检测js"},{title:"封面解密",id:"coverDecodeJs",type:"String",hint:"封面解密js"},{title:"请求头",id:"header",type:"String",hint:"客户端标识"},{title:"变量说明",id:"variableComment",type:"String",hint:"源变量说明"},{title:"并发率",id:"concurrentRate",type:"String",hint:"并发率"}]},list:{name:"列表",children:[{title:"列表规则",id:"ruleArticles",type:"String",hint:"规则结果为List"},{title:"翻页规则",id:"ruleNextPage",type:"String",hint:"下一页链接 规则结果为List或String"},{title:"标题规则",id:"ruleTitle",type:"String",hint:"文章标题 规则结果为String"},{title:"时间规则",id:"rulePubDate",type:"String",hint:"文章发布时间 规则结果为String"},{title:"描述规则",id:"ruleDescription",type:"String",hint:"文章简要描述 规则结果为String"},{title:"图片规则",id:"ruleImage",type:"String",hint:"文章图片链接 规则结果为String"},{title:"链接规则",id:"ruleLink",type:"String",hint:"文章链接 规则结果为String"}]},webView:{name:"WebView",children:[{title:"内容规则",id:"ruleContent",type:"String",hint:"文章正文"},{title:"样式规则",id:"style",type:"String",hint:"文章正文样式 填写css"},{title:"注入规则",id:"injectJs",type:"String",hint:"注入网页的JavaScript"},{title:"黑名单",id:"contentBlacklist",type:"String",hint:"webView链接加载黑名单,英文逗号隔开"},{title:"白名单",id:"contentWhitelist",type:"String",hint:"webView链接加载白名单,英文逗号隔开"}]},other:{name:"其他",children:[{title:"列表样式",id:"articleStyle",type:"Array",array:["默认","大图","双列"]},{title:"加载地址",id:"loadWithBaseUrl",type:"Boolean"},{title:"启用JS",id:"enableJs",type:"Boolean"},{title:"启用",id:"enabled",type:"Boolean"},{title:"Cookie",id:"enabledCookieJar",type:"Boolean"},{title:"单URL",id:"singleUrl",type:"Boolean"},{title:"排序编号",id:"customOrder",type:"Number"}]}};const ao={class:"editor"},uo={__name:"SourceEditor",setup(e){const t=R({});return/bookSource/i.test(location.href)?(t.value=lo,document.title="书源管理"):(t.value=co,document.title="订阅源管理"),(o,s)=>{const n=io,r=ro,a=Mt;return l(),U("div",ao,[p(n,{class:"left",config:i(t)},null,8,["config"]),p(r),p(a,{class:"right"})])}}},ce=O(uo,[["__scopeId","data-v-e99e7704"]]),ke=[{path:"/bookSource",name:"book-home",component:ce},{path:"/rssSource",name:"rss-home",component:ce}];ne({history:re(),routes:ke});const ve=ne({history:re(),routes:Se.concat(ke)});ve.afterEach(e=>{e.name=="shelf"&&(document.title="书架")});Me(Ye).use(Ht).use(ve).mount("#app");oe(()=>import("./config-97894739.js"),["./config-97894739.js","./vendor-8be1f5fb.js","./vendor-6f0d1692.css","./config-811f2a0b.css"],import.meta.url);export{H as A,O as _,ho as u};
diff --git a/app/src/main/assets/web/vue/assets/index-cbd182e6.js b/app/src/main/assets/web/vue/assets/index-cbd182e6.js
deleted file mode 100644
index ec4158ce7..000000000
--- a/app/src/main/assets/web/vue/assets/index-cbd182e6.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import{r as we,o as c,c as b,a as ne,b as re,d as B,e as h,w as a,f as S,u as i,l as F,g as m,F as $,E as xe,h as ae,p as Be,i as Ue,j as ue,s as X,t as Q,n as de,k as Ee,m as L,q as te,v as A,x as pe,y as Ve,z as Ie,A as se,V as Ne,B as w,C as Y,D as he,G as Te,H as $e,I as _e,J as Le,K as V,L as Re,M as J,N as ge,O as me,P as Oe,Q as q,R as Pe,S as De,T as Je,U as Ae,W as Ke,X as je,Y as He,Z as Fe,_ as qe,$ as ze,a0 as Me}from"./vendor-8be1f5fb.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const d of r.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&s(d)}).observe(document,{childList:!0,subtree:!0});function n(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(o){if(o.ep)return;o.ep=!0;const r=n(o);fetch(o.href,r)}})();const We="modulepreload",Ge=function(e,t){return new URL(e,t).href},ie={},oe=function(t,n,s){if(!n||n.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(n.map(r=>{if(r=Ge(r,s),r in ie)return;ie[r]=!0;const d=r.endsWith(".css"),k=d?'[rel="stylesheet"]':"";if(!!s)for(let x=o.length-1;x>=0;x--){const p=o[x];if(p.href===r&&(!d||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${r}"]${k}`))return;const f=document.createElement("link");if(f.rel=d?"stylesheet":We,d||(f.as="script",f.crossOrigin=""),f.href=r,document.head.appendChild(f),d)return new Promise((x,p)=>{f.addEventListener("load",x),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>t())},R=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},Qe={};function Xe(e,t){const n=we("router-view");return c(),b(n)}const Ye=R(Qe,[["render",Xe]]),Se=[{path:"/",name:"shelf",component:()=>oe(()=>import("./BookShelf-3852f1dd.js"),["./BookShelf-3852f1dd.js","./vendor-8be1f5fb.js","./vendor-6f0d1692.css","./el-loading-15d78e2b.js","./el-loading-d0f2d079.css","./BookShelf-a8a609c2.css"],import.meta.url)},{path:"/chapter",name:"chapter",component:()=>oe(()=>import("./BookChapter-d3c57abf.js"),["./BookChapter-d3c57abf.js","./vendor-8be1f5fb.js","./vendor-6f0d1692.css","./el-loading-15d78e2b.js","./el-loading-d0f2d079.css","./BookChapter-3e045df4.css"],import.meta.url)}];ne({history:re(),routes:Se});const I=e=>(Be("data-v-aee57c78"),e=e(),Ue(),e),Ze=I(()=>m("br",null,null,-1)),et=I(()=>m("br",null,null,-1)),tt=I(()=>m("br",null,null,-1)),ot=I(()=>m("br",null,null,-1)),nt=I(()=>m("br",null,null,-1)),rt={style:{"margin-top":"20px"}},st=I(()=>m("code",null,"^$()[]{}.?+*|",-1)),it=I(()=>m("br",null,null,-1)),lt=I(()=>m("code",null,"(?s)",-1)),ct=I(()=>m("br",null,null,-1)),at=I(()=>m("code",null,"(?m)",-1)),ut=I(()=>m("br",null,null,-1)),dt=I(()=>m("code",null,"(?i)",-1)),pt=I(()=>m("br",null,null,-1)),ht={__name:"SourceHelp",setup(e){return(t,n)=>{const s=xe,o=ae;return c(),B($,null,[h(s,{icon:i(F),href:"https://alanskycn.gitee.io/teachme/",target:"_blank"},{default:a(()=>[S("书源制作教程")]),_:1},8,["icon"]),Ze,h(s,{icon:i(F),href:"https://zhuanlan.zhihu.com/p/29436838",target:"_blank"},{default:a(()=>[S("xpath基础教程")]),_:1},8,["icon"]),et,h(s,{icon:i(F),href:"https://zhuanlan.zhihu.com/p/32187820",target:"_blank"},{default:a(()=>[S("xpath高级教程")]),_:1},8,["icon"]),tt,h(s,{icon:i(F),href:"https://www.w3cschool.cn/regex_rmjc",target:"_blank"},{default:a(()=>[S("正则表达式教程")]),_:1},8,["icon"]),ot,h(s,{icon:i(F),href:"https://regexr-cn.com/",target:"_blank"},{default:a(()=>[S("正则表达式在线验证工具")]),_:1},8,["icon"]),nt,m("div",rt,[m("span",null,[h(o,null,{default:a(()=>[st,S(" 这些是Java正则特殊符号,匹配需转义")]),_:1})]),it,m("span",null,[h(o,null,{default:a(()=>[lt,S(" 前缀表示跨行解析")]),_:1})]),ct,m("span",null,[h(o,null,{default:a(()=>[at,S(" 前缀表示逐行匹配")]),_:1})]),ut,m("span",null,[h(o,null,{default:a(()=>[dt,S(" 前缀表示忽略大小写")]),_:1})]),pt])],64)}}},_t=R(ht,[["__scopeId","data-v-aee57c78"]]),z=e=>e==null||e.length===0||/^\s+$/.test(e),ye=e=>"bookSourceName"in e,gt=e=>ye(e)?!z(e.bookSourceName)&&!z(e.bookSourceUrl)&&!z(e.bookSourceType):!z(e.sourceName)&&!z(e.sourceName),mt=(e,t)=>{var n,s,o,r,d,k,y,f;return ye(e)?(((n=e.bookSourceName)==null?void 0:n.includes(t))||((s=e.bookSourceUrl)==null?void 0:s.includes(t))||((o=e.bookSourceGroup)==null?void 0:o.includes(t))||((r=e.bookSourceComment)==null?void 0:r.includes(t)))??!1:(((d=e.sourceName)==null?void 0:d.includes(t))||((k=e.sourceUrl)==null?void 0:k.includes(t))||((y=e.sourceGroup)==null?void 0:y.includes(t))||((f=e.sourceComment)==null?void 0:f.includes(t)))??!1},St={ruleSearch:{},ruleBookInfo:{},ruleToc:{},ruleContent:{},ruleReview:{},ruleExplore:{}},yt={},O=/bookSource/i.test(location.href),le=O?St:yt,K=ue("source",{state:()=>({bookSources:[],rssSources:[],errorPushSources:[],currentSource:le,currentTab:localStorage.getItem("tabName")||"editTab",editTabSource:{},isDebuging:!1}),getters:{sources:e=>O?e.bookSources:e.rssSources,currentSourceUrl:e=>O?e.currentSource.bookSourceUrl:e.currentSource.sourceUrl,searchKey:e=>O?e.currentSource.ruleSearch.checkKeyWord||"我的":null},actions:{startDebug(){this.currentTab="editDebug",this.isDebuging=!0},debugFinish(){this.isDebuging=!1},saveSources(e){O?this.bookSources=e:this.rssSources=e},deleteSources(e){let t=O?this.bookSources:this.rssSources;e.forEach(n=>{let s=t.indexOf(n);s>-1&&t.splice(s,1)})},saveCurrentSource(){let e=this.currentSource,t,n;O?(t=this.bookSources,n="bookSourceUrl"):(t=this.rssSources,n="sourceUrl");let s=t.findIndex(o=>o[n]===e[n]);e=JSON.parse(JSON.stringify(e)),s>-1?t.splice(s,1,e):t.push(e)},changeCurrentSource(e){const t=JSON.stringify(e);this.currentSource=JSON.parse(t)},async setPushReturnSources(e){O?this.errorPushSources=this.sources.filter(t=>e.every(n=>n.bookSourceUrl!==t.bookSourceUrl)):this.errorPushSources=this.sources.filter(t=>e.every(n=>n.sourceUrl!==t.sourceUrl))},changeTabName(e){this.currentTab=e,localStorage.setItem("tabName",e)},changeEditTabSource(e){const t=JSON.stringify(e);this.editTabSource=JSON.parse(t)},editHistory(e){let t;if(localStorage.getItem("history"))t=JSON.parse(localStorage.getItem("history")),t.new.push(e),t.new.length>50&&t.new.shift(),t.old.length>50&&t.old.shift(),localStorage.setItem("history",JSON.stringify(t));else{const n={new:[e],old:[]};localStorage.setItem("history",JSON.stringify(n))}},editHistoryUndo(){if(localStorage.getItem("history")){let e=JSON.parse(localStorage.getItem("history"));e.old.push(this.currentSource),e.new.length&&(this.currentSource=e.new.pop()),localStorage.setItem("history",JSON.stringify(e))}},clearAllHistory(){localStorage.setItem("history",JSON.stringify({new:[],old:[]}))},clearEdit(){this.editTabSource={},this.currentSource=le},clearAllSource(){this.bookSources=[],this.rssSources=[]}}});const ft={__name:"SourceItem",props:["source"],setup(e){const t=K(),{errorPushSources:n}=X(t),s=o=>{t.changeCurrentSource(o)};return(o,r)=>{const d=Ee;return c(),b(d,{size:"large",border:"",label:e.source,class:de({error:i(n).includes(e.source)}),onChange:r[0]||(r[0]=k=>s(e.source))},{default:a(()=>[S(Q(e.source.bookSourceName||e.source.sourceName),1)]),_:1},8,["label","class"])}}},bt=R(ft,[["__scopeId","data-v-4f0ba808"]]);const kt={class:"tool"},vt={__name:"SourceList",setup(e){const t=K(),n=L([]),s=L(""),{sources:o}=X(t),r=te(()=>/bookSource/.test(window.location.href)),d=()=>{t.deleteSources(n.value),n.value=[]},k=()=>{t.clearAllSource(),n.value=[]},y=te(()=>{let p=s.value;return p===""?o.value:o.value.filter(_=>mt(_,p))}),f=()=>{const p=document.createElement("input");p.type="file",p.accept=".json,.txt",p.addEventListener("change",_=>{const v=_.target.files[0];var E=new FileReader;E.readAsText(v),E.onload=()=>{try{const P=JSON.parse(E.result);t.saveSources(P)}catch{w({message:"上传的源格式错误",type:"error"})}}}),p.click()},x=()=>{const p=document.createElement("a");let _=n.value.length===0?y.value:n.value,v=r.value?"BookSource":"RssSource";p.download=`${v}_${Date().replace(/.*?\s(\d+)\s(\d+)\s(\d+:\d+:\d+).*/,"$2$1$3").replace(/:/g,"")}.json`;let E=new Blob([JSON.stringify(_,null,4)],{type:"application/json"});p.href=window.URL.createObjectURL(E),p.click()};return(p,_)=>{const v=Y,E=he,P=Te;return c(),B($,null,[h(v,{modelValue:i(s),"onUpdate:modelValue":_[0]||(_[0]=N=>A(s)?s.value=N:null),class:"search","prefix-icon":i(pe),placeholder:"筛选源"},null,8,["modelValue","prefix-icon"]),m("div",kt,[h(E,{onClick:f,icon:i(Ve)},{default:a(()=>[S(" 打开 ")]),_:1},8,["icon"]),h(E,{disabled:i(y).length===0,onClick:x,icon:i(Ie)},{default:a(()=>[S(" 导出")]),_:1},8,["disabled","icon"]),h(E,{icon:i(se),onClick:d,disabled:i(n).length===0},{default:a(()=>[S("删除")]),_:1},8,["icon","disabled"]),h(E,{type:"danger",icon:i(se),onClick:k,disabled:i(o).length===0},{default:a(()=>[S("清空")]),_:1},8,["icon","disabled"])]),h(P,{id:"source-list",modelValue:i(n),"onUpdate:modelValue":_[1]||(_[1]=N=>A(n)?n.value=N:null)},{default:a(()=>[h(i(Ne),{style:{height:"100%","overflow-y":"auto","overflow-x":"hidden"},"data-key":N=>N.bookSourceUrl||N.sourceUrl,"data-sources":i(y),"data-component":bt,"estimate-size":45},null,8,["data-key","data-sources"])]),_:1},8,["modelValue"])],64)}}},Ct=R(vt,[["__scopeId","data-v-794cdcb4"]]),wt=1e3,U=$e.create({baseURL:location.origin,timeout:120*wt}),{hostname:fe,port:be}=new URL(location.href),xt=/source/i.test(location.href),Bt=e=>{throw xt&&w({message:"后端错误,检查网络或者阅读app",type:"error"}),e};U.interceptors.response.use(e=>e,Bt);const Ut=()=>U.get("/getReadConfig"),Et=e=>U.post("/saveReadConfig",e),Vt=e=>U.post("/saveBookProgress",e),It=()=>U.get("/getBookshelf"),Nt=e=>U.get("/getChapterList?url="+encodeURIComponent(e)),Tt=(e,t)=>U.get("/getBookContent?url="+encodeURIComponent(e)+"&index="+t),$t=(e,t,n)=>{const s=`ws://${fe}:${Number(be)+1}/searchBook`,o=new WebSocket(s);o.onopen=()=>{o.send(`{"key":"${e}"}`)},o.onmessage=({data:r})=>t(r),o.onclose=()=>{n()}},Lt=e=>U.post("/saveBook",e),Rt=e=>U.post("/deleteBook",e),M=/bookSource/i.test(location.href),Ot=()=>M?U.get("getBookSources"):U.get("getRssSources"),Pt=e=>M?U.post("saveBookSource",e):U.post("saveRssSource",e),Dt=e=>M?U.post("saveBookSources",e):U.post("saveRssSources",e),Jt=e=>M?U.post("deleteBookSources",e):U.post("deleteRssSources",e),At=(e,t,n,s)=>{const o=`ws://${fe}:${Number(be)+1}/${M?"bookSource":"rssSource"}Debug`,r=new WebSocket(o);r.onopen=()=>{r.send(JSON.stringify({tag:e,key:t}))},r.onmessage=({data:d})=>n(d),r.onclose=()=>{w({message:"调试已关闭!",type:"info"}),s()}},j={getReadConfig:Ut,saveReadConfig:Et,saveBookProcess:Vt,getBookShelf:It,getChapterList:Nt,getBookContent:Tt,search:$t,saveBook:Lt,deleteBook:Rt,getSources:Ot,saveSources:Dt,saveSource:Pt,deleteSource:Jt,debug:At};const Kt={__name:"SourceDebug",setup(e){const t=K(),n=L(""),s=L("");_e(()=>{t.isDebuging&&r()});const o=k=>{let y=document.querySelector("#debug-text");y.scrollTop=y.scrollHeight,n.value+=k+`
-`},r=async()=>{n.value="",await j.saveSource(t.currentSource),j.debug(t.currentSourceUrl,s.value||t.searchKey,o,t.debugFinish)},d=te(()=>/bookSource/.test(window.location.href));return(k,y)=>{const f=Y;return c(),B($,null,[i(d)?(c(),b(f,{key:0,id:"debug-key",modelValue:i(s),"onUpdate:modelValue":y[0]||(y[0]=x=>A(s)?s.value=x:null),placeholder:"搜索书名、作者","prefix-icon":i(pe),style:{"padding-bottom":"4px"},onKeydown:Le(r,["enter"])},null,8,["modelValue","prefix-icon","onKeydown"])):V("",!0),h(f,{id:"debug-text",modelValue:i(n),"onUpdate:modelValue":y[1]||(y[1]=x=>A(n)?n.value=x:null),type:"textarea",readonly:"",rows:"29",placeholder:"这里用于输出调试信息"},null,8,["modelValue"])],64)}}},jt=R(Kt,[["__scopeId","data-v-fe904689"]]),ho=ue("book",{state:()=>({connectStatus:"正在连接后端服务器……",connectType:"",newConnect:!0,searchBooks:[],shelf:[],catalog:[],readingBook:{index:0,chapterPos:0},popCataVisible:!1,contentLoading:!0,showContent:!1,config:{theme:0,font:0,fontSize:18,readWidth:800,infiniteLoading:!1,customFontName:""},miniInterface:!1,readSettingsVisible:!1}),actions:{setConnectStatus(e){this.connectStatus=e},setConnectType(e){this.connectType=e},setNewConnect(e){this.newConnect=e},addBooks(e){this.shelf=e},setCatalog(e){this.catalog=e},setPopCataVisible(e){this.popCataVisible=e},setContentLoading(e){this.contentLoading=e},setReadingBook(e){this.readingBook=e},setConfig(e){this.config=e},setReadSettingsVisible(e){this.readSettingsVisible=e},setShowContent(e){this.showContent=e},setMiniInterface(e){this.miniInterface=e},async setSearchBooks(e){e.forEach(t=>{this.shelf.find(s=>s.bookUrl==t.bookUrl)===void 0&&this.searchBooks.push(t)})},clearSearchBooks(){this.searchBooks=[]},async saveBookProcess(){var r;if(this.catalog.length==0)return;const{index:e,chapterPos:t,bookName:n,bookAuthor:s}=this.readingBook;let o=(r=this.catalog[e])==null?void 0:r.title;o&&j.saveBookProcess({name:n,author:s,durChapterIndex:e,durChapterPos:t,durChapterTime:new Date().getTime(),durChapterTitle:o})}}}),Ht=Re();const Ft={__name:"SourceJson",setup(e){const t=K(),n=L(""),s=async o=>{try{t.changeEditTabSource(JSON.parse(o))}catch{w({message:"粘贴的源格式错误",type:"error"})}};return _e(async()=>{let o=t.editTabSource;Object.keys(o).length>0?n.value=JSON.stringify(o,null,4):n.value=""}),(o,r)=>{const d=Y;return c(),b(d,{id:"source-json",modelValue:i(n),"onUpdate:modelValue":r[0]||(r[0]=k=>A(n)?n.value=k:null),type:"textarea",placeholder:"这里输出序列化的JSON数据,可直接导入'阅读'APP",rows:"30",onChange:s,style:{"margin-bottom":"4px"}},null,8,["modelValue"])}}},qt=R(Ft,[["__scopeId","data-v-7e91a802"]]);const zt={__name:"SourceTabTools",setup(e){const t=K(),{currentTab:n}=X(t),s=L([["editTab","编辑源"],["editDebug","调试源"],["editList","源列表"],["editHelp","帮助信息"]]);return(o,r)=>{const d=qt,k=jt,y=Ct,f=_t,x=ge,p=me;return c(),b(p,{modelValue:i(n),"onUpdate:modelValue":r[0]||(r[0]=_=>A(n)?n.value=_:null)},{default:a(()=>[(c(!0),B($,null,J(i(s),(_,v)=>(c(),b(x,{key:_[0],name:_[0],label:_[1]},{default:a(()=>[v==0?(c(),b(d,{key:0})):V("",!0),v==1?(c(),b(k,{key:1})):V("",!0),v==2?(c(),b(y,{key:2})):V("",!0),v==3?(c(),b(f,{key:3})):V("",!0)]),_:2},1032,["name","label"]))),128))]),_:1},8,["modelValue"])}}},Mt=R(zt,[["__scopeId","data-v-dcce2457"]]);const Wt={class:"menu flex-column-center"},Gt={class:"hotkeys-header flex-space-between"},Qt=["id"],Xt={key:0},Yt={class:"hotkeys-settings flex-column-center"},Zt={class:"title"},eo={class:"hotkeys-item__content"},to={key:0},oo={key:0},no={__name:"ToolBar",setup(e){const t=K(),n=()=>{const u=w({message:"加载中……",showClose:!0,duration:0});j.getSources().then(({data:l})=>{l.isSuccess?(t.changeTabName("editList"),t.saveSources(l.data),w({message:`成功拉取${l.data.length}条源`,type:"success"})):w({message:l.errorMsg??"后端错误",type:"error"})}).finally(()=>u.close())},s=()=>{let u=t.sources;if(t.changeTabName("editList"),u.length===0)return w({message:"空空如也",type:"info"});w({message:"正在推送中",type:"info"}),j.saveSources(u).then(({data:l})=>{if(l.isSuccess){let C=l.data;if(Array.isArray(C)){let T="";u.length>C.length&&(T=`
-推送失败的源将用红色字体标注!`,t.setPushReturnSources(C)),w({message:`批量推送源到「阅读3.0APP」
-共计: ${u.length} 条
-成功: ${C.length} 条
-失败: ${u.length-C.length} 条${T}`,type:"success"})}}else w({message:`批量推送源失败!
-ErrorMsg: ${l.errorMsg}`,type:"error"})})},o=()=>{t.changeTabName("editTab"),t.changeEditTabSource(t.currentSource)},r=()=>{t.changeCurrentSource(t.editTabSource)},d=()=>{t.editHistoryUndo()},k=()=>{t.clearEdit(),w({message:"已清除",type:"success"})},y=()=>{t.clearEdit(),t.clearAllHistory(),w({message:"已清除所有历史记录",type:"success"})},f=()=>{let u=/bookSource/.test(location.href),l=t.currentSource;gt(l)?j.saveSource(l).then(({data:C})=>{C.isSuccess?(w({message:`源《${u?l.bookSourceName:l.sourceName}》已成功保存到「阅读3.0APP」`,type:"success"}),t.saveCurrentSource()):w({message:`源《${u?l.bookSourceName:l.sourceName}》保存失败!
-ErrorMsg: ${C.errorMsg}`,type:"error"})}):w({message:"请检查<必填>项是否全部填写",type:"error"})},x=()=>{t.startDebug()},p=L(Array.of({name:"⇈推送源",hotKeys:[],action:s},{name:"⇊拉取源",hotKeys:[],action:n},{name:"⋙生成源",hotKeys:[],action:o},{name:"⋘编辑源",hotKeys:[],action:r},{name:"✗清空表单",hotKeys:[],action:k},{name:"↶撤销操作",hotKeys:[],action:d},{name:"↷重做操作",hotKeys:[],action:y},{name:"⇏调试源",hotKeys:[],action:x},{name:"✓保存源",hotKeys:[],action:f})),_=L(!0),v=L(!1),E=L(-1),P=()=>{v.value=!1};Oe(_,u=>{if(!u)return q.unbind("*");q.unbind(),q("*",l=>{l.preventDefault(),v.value&&E.value>-1&&(p.value[E.value].hotKeys=q.getPressedKeyString())})});const N=u=>{v.value=!0,w({message:"按ESC键或者点击空白处结束录入",type:"info"}),p.value[u].hotKeys=[],E.value=u},W=()=>{_.value=!1;const u=[];p.value.forEach(({hotKeys:l,action:C})=>{q(l.join("+"),T=>{T.preventDefault(),C.call(null)}),u.push(l)}),D(u)},D=u=>{localStorage.setItem("legado_web_hotkeys",JSON.stringify(u))},G=()=>{try{const u=JSON.parse(localStorage.getItem("legado_web_hotkeys"));if(!Array.isArray(u)||u.length==0)return;p.value.forEach((l,C)=>l.hotKeys=u[C]),_.value=!1,W()}catch{w({message:"快捷键配置错误",type:"error"}),localStorage.removeItem("legado_web_hotkeys")}};return Pe(()=>{G()}),(u,l)=>{const C=he,T=ae,Z=Ae;return c(),B($,null,[m("div",Wt,[(c(!0),B($,null,J(i(p),g=>(c(),b(C,{size:"large",key:g.name,onClick:g.action},{default:a(()=>[S(Q(g.name),1)]),_:2},1032,["onClick"]))),128)),h(C,{size:"large",onClick:l[0]||(l[0]=()=>_.value=!0)},{default:a(()=>[S("快捷键")]),_:1})]),h(Z,{modelValue:i(_),"onUpdate:modelValue":l[1]||(l[1]=g=>A(_)?_.value=g:null),"show-close":!1,"before-close":P},{header:a(({titleClass:g,titleId:H})=>[m("div",Gt,[m("div",{id:H,class:de(g)},[S(" 快捷键设置 "),i(v)?(c(),B("span",Xt,[h(T,null,{default:a(()=>[S(" / 录入中 ")]),_:1})])):V("",!0)],10,Qt),h(C,{disabled:i(v),onClick:W,icon:i(De)},{default:a(()=>[S("保存")]),_:1},8,["disabled","icon"])])]),default:a(()=>[m("div",Yt,[(c(!0),B($,null,J(i(p),(g,H)=>(c(),B("div",{key:g.name,class:"hotkeys-item flex-space-between"},[m("span",Zt,[h(T,null,{default:a(()=>[S(Q(g.name),1)]),_:2},1024)]),m("div",eo,[(c(!0),B($,null,J(g.hotKeys,(ee,Ce)=>(c(),B("div",{key:ee},[m("kbd",null,Q(ee),1),Ce+1[S("+")]),_:1})])):V("",!0)]))),128)),g.hotKeys.length==0?(c(),B("span",oo,"未设置")):V("",!0)]),h(C,{disabled:i(v),text:"",icon:i(Je),onClick:ee=>N(H)},{default:a(()=>[S("编辑")]),_:2},1032,["disabled","icon","onClick"])]))),128))])]),_:1},8,["modelValue"])],64)}}},ro=R(no,[["__scopeId","data-v-18524ea3"]]);const so={__name:"SourceTabForm",props:["config"],setup(e){const t=e,n=K(),s=Object.values(t.config),{currentSource:o}=X(n);return(r,d)=>{const k=Y,y=Ke,f=je,x=He,p=Fe,_=qe,v=ze,E=ge,P=me;return c(),b(P,{id:"source-edit"},{default:a(()=>[(c(!0),B($,null,J(i(s),({name:N,children:W})=>(c(),b(E,{label:N,key:N},{default:a(()=>[h(v,{"label-position":"right","label-width":"5em"},{default:a(()=>[(c(!0),B($,null,J(W,({type:D,title:G,namespace:u,id:l,array:C,hint:T,required:Z})=>(c(),b(_,{label:G,key:G,required:Z},{default:a(()=>[D=="String"&&typeof u>"u"?(c(),b(k,{key:0,type:"textarea",modelValue:i(o)[l],"onUpdate:modelValue":g=>i(o)[l]=g,placeholder:T,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):V("",!0),D=="String"&&typeof u<"u"?(c(),b(k,{key:1,type:"textarea",modelValue:i(o)[u][l],"onUpdate:modelValue":g=>i(o)[u][l]=g,placeholder:T,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):V("",!0),D=="Boolean"?(c(),b(y,{key:2,modelValue:i(o)[l],"onUpdate:modelValue":g=>i(o)[l]=g},null,8,["modelValue","onUpdate:modelValue"])):V("",!0),D=="Number"?(c(),b(f,{key:3,modelValue:i(o)[l],"onUpdate:modelValue":g=>i(o)[l]=g,min:0},null,8,["modelValue","onUpdate:modelValue"])):V("",!0),D=="Array"?(c(),b(p,{key:4,modelValue:i(o)[l],"onUpdate:modelValue":g=>i(o)[l]=g},{default:a(()=>[(c(!0),B($,null,J(C,(g,H)=>(c(),b(x,{value:H,key:g,label:g},null,8,["value","label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):V("",!0)]),_:2},1032,["label","required"]))),128))]),_:2},1024)]),_:2},1032,["label"]))),128))]),_:1})}}},io=R(so,[["__scopeId","data-v-d4af52d7"]]),lo={base:{name:"基础",children:[{title:"源类型",id:"bookSourceType",type:"Array",array:["文本","音频","图片","文件"],required:!0},{title:"源域名",id:"bookSourceUrl",type:"String",hint:"通常填写网站主页,例: https://www.qidian.com",required:!0},{title:"源名称",id:"bookSourceName",type:"String",hint:"会显示在源列表",required:!0},{title:"源分组",id:"bookSourceGroup",type:"String",hint:"描述源的特征信息"},{title:"源注释",id:"bookSourceComment",type:"String",hint:"描述源作者和状态"},{title:"书源变量",id:"variableComment",type:"String",hint:"书源变量说明"},{title:"登录地址",id:"loginUrl",type:"String",hint:"填写网站登录网址,仅在需要登录的源有用"},{title:"登录界面",id:"loginUi",type:"String",hint:"自定义登录界面"},{title:"登录检测",id:"loginCheckJs",type:"String",hint:"登录检测js"},{title:"封面解密",id:"coverDecodeJs",type:"String",hint:"封面解密js"},{title:"并发率",id:"concurrentRate",type:"String",hint:"并发率"},{title:"js库",id:"jsLib",type:"String",hint:"js库"},{title:"请求头",id:"header",type:"String",hint:"客户端标识"},{title:"链接验证",id:"bookUrlPattern",type:"String",hint:"当详情页URL与源URL的域名不一致时有效,用于添加网址"}]},search:{name:"搜索",children:[{title:"搜索地址",id:"searchUrl",type:"String",hint:"[域名可省略]/search.php@kw={{key}}"},{title:"校验文字",namespace:"ruleSearch",id:"checkKeyWord",type:"String",hint:"校验关键字"},{title:"列表规则",namespace:"ruleSearch",id:"bookList",type:"String",hint:"选择书籍节点 (规则结果为List)"},{title:"书名规则",namespace:"ruleSearch",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleSearch",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleSearch",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleSearch",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleSearch",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleSearch",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleSearch",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",namespace:"ruleSearch",id:"bookUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}]},find:{name:"发现",children:[{title:"发现地址",id:"exploreUrl",type:"String",hint:`内容能显示在发现菜单
-每行一条发现分类(网址域名可省略),例:
-名称1::网址(Url)1
-名称2::网址(Url)2
-...`},{title:"发现筛选",id:"exploreScreen",type:"String",hint:"发现筛选规则"},{title:"列表规则",namespace:"ruleExplore",id:"bookList",type:"String",hint:"选择书籍节点 (规则结果为List)"},{title:"书名规则",namespace:"ruleExplore",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleExplore",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleExplore",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleExplore",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleExplore",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleExplore",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleExplore",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",namespace:"ruleExplore",id:"bookUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}]},detail:{name:"详情",children:[{title:"预处理",namespace:"ruleBookInfo",id:"init",type:"String",hint:"用于加速详情信息检索,只支持AllInOne规则"},{title:"书名规则",namespace:"ruleBookInfo",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleBookInfo",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleBookInfo",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleBookInfo",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleBookInfo",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleBookInfo",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleBookInfo",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"目录地址",namespace:"ruleBookInfo",id:"tocUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url, 与详情页相同时可省略)"},{title:"下载URL",namespace:"ruleBookInfo",id:"downloadUrls",type:"String",hint:"文件类书源下载地址 (规则结果为String类型的url, 多个链接返回数组)"},{title:"修改书籍",namespace:"ruleBookInfo",id:"canReName",type:"String",hint:"允许修改书名作者(规则结果为String类型, 默认不允许)"}]},directory:{name:"目录",children:[{title:"预处理",namespace:"ruleToc",id:"preUpdateJs",type:"String",hint:"更新目录前调用JS 动态更新目录链接"},{title:"列表规则",namespace:"ruleToc",id:"chapterList",type:"String",hint:"选择目录列表的章节节点 (规则结果为List)"},{title:"章节名称",namespace:"ruleToc",id:"chapterName",type:"String",hint:"选择章节名称 (规则结果为String)"},{title:"章节地址",namespace:"ruleToc",id:"chapterUrl",type:"String",hint:"选择章节链接 (规则结果为String类型的Url)"},{title:"卷名标识",namespace:"ruleToc",id:"isVolume",type:"String",hint:"章节名称是否是卷名 (规则结果为Bool)"},{title:"收费标识",namespace:"ruleToc",id:"isVip",type:"String",hint:"章节是否为VIP章节 (规则结果为Bool)"},{title:"购买标识",namespace:"ruleToc",id:"isPay",type:"String",hint:"章节是否为已购买 (规则结果为Bool)"},{title:"章节信息",namespace:"ruleToc",id:"updateTime",type:"String",hint:"选择章节信息 (规则结果为String)"},{title:"翻页规则",namespace:"ruleToc",id:"nextTocUrl",type:"String",hint:"选择目录下一页链接 (规则结果为List或String)"}]},content:{name:"正文",children:[{title:"脚本注入",namespace:"ruleContent",id:"webJs",type:"String",hint:"注入javascript,用于模拟鼠标点击等,必须有返回值,一般为String类型"},{title:"正文规则",namespace:"ruleContent",id:"content",type:"String",hint:"选择正文内容 (规则结果为String)"},{title:"翻页规则",namespace:"ruleContent",id:"nextContentUrl",type:"String",hint:"选择下一分页(不是下一章)链接 (规则结果为String类型的Url)"},{title:"资源正则",namespace:"ruleContent",id:"sourceRegex",type:"String",hint:"匹配资源的url特征,用于嗅探"},{title:"替换规则",namespace:"ruleContent",id:"replaceRegex",type:"String",hint:"多页内容合并后替换,用于正文净化"},{title:"图片样式",namespace:"ruleContent",id:"imageStyle",type:"String",hint:"FULL:铺满 不填:默认样式"},{title:"购买操作",namespace:"ruleContent",id:"payAction",type:"String",hint:"填写JavaScript 返回购买链接或者调用购买接口"},{title:"图片解密",namespace:"ruleContent",id:"imageDecode",type:"String",hint:"填写JavaScript 返回解密图片的bytes "}]},other:{name:"其他",children:[{title:"启用搜索",id:"enabled",type:"Boolean"},{title:"启用发现",id:"enabledExplore",type:"Boolean"},{title:"Cookie",id:"enabledCookieJar",type:"Boolean"},{title:"搜索权重",id:"weight",type:"Number"},{title:"排序编号",id:"customOrder",type:"Number"}]}},co={base:{name:"基础",children:[{title:"源域名",id:"sourceUrl",type:"String",hint:"通常填写网站主页,例: https://www.qidian.com",required:!0},{title:"图标",id:"sourceIcon",type:"String",hint:"填写图片网络链接"},{title:"源名称",id:"sourceName",type:"String",hint:"会显示在源列表",required:!0},{title:"源分组",id:"sourceGroup",type:"String",hint:"描述源的特征信息"},{title:"源注释",id:"sourceComment",type:"String",hint:"描述源作者和状态"},{title:"分类地址",id:"sortUrl",type:"String",hint:`名称1::链接1
-名称2::链接2`},{title:"登录地址",id:"loginUrl",type:"String",hint:"填写网站登录网址,仅在需要登录的源有用"},{title:"登录界面",id:"loginUi",type:"String",hint:"自定义登录界面"},{title:"登录检测",id:"loginCheckJs",type:"String",hint:"登录检测js"},{title:"封面解密",id:"coverDecodeJs",type:"String",hint:"封面解密js"},{title:"请求头",id:"header",type:"String",hint:"客户端标识"},{title:"变量说明",id:"variableComment",type:"String",hint:"源变量说明"},{title:"并发率",id:"concurrentRate",type:"String",hint:"并发率"}]},list:{name:"列表",children:[{title:"列表规则",id:"ruleArticles",type:"String",hint:"规则结果为List"},{title:"翻页规则",id:"ruleNextPage",type:"String",hint:"下一页链接 规则结果为List或String"},{title:"标题规则",id:"ruleTitle",type:"String",hint:"文章标题 规则结果为String"},{title:"时间规则",id:"rulePubDate",type:"String",hint:"文章发布时间 规则结果为String"},{title:"描述规则",id:"ruleDescription",type:"String",hint:"文章简要描述 规则结果为String"},{title:"图片规则",id:"ruleImage",type:"String",hint:"文章图片链接 规则结果为String"},{title:"链接规则",id:"ruleLink",type:"String",hint:"文章链接 规则结果为String"}]},webView:{name:"WebView",children:[{title:"内容规则",id:"ruleContent",type:"String",hint:"文章正文"},{title:"样式规则",id:"style",type:"String",hint:"文章正文样式 填写css"},{title:"注入规则",id:"injectJs",type:"String",hint:"注入网页的JavaScript"},{title:"黑名单",id:"contentBlacklist",type:"String",hint:"webView链接加载黑名单,英文逗号隔开"},{title:"白名单",id:"contentWhitelist",type:"String",hint:"webView链接加载白名单,英文逗号隔开"}]},other:{name:"其他",children:[{title:"列表样式",id:"articleStyle",type:"Array",array:["默认","大图","双列"]},{title:"加载地址",id:"loadWithBaseUrl",type:"Boolean"},{title:"启用JS",id:"enableJs",type:"Boolean"},{title:"启用",id:"enabled",type:"Boolean"},{title:"Cookie",id:"enabledCookieJar",type:"Boolean"},{title:"单URL",id:"singleUrl",type:"Boolean"},{title:"排序编号",id:"customOrder",type:"Number"}]}};const ao={class:"editor"},uo={__name:"SourceEditor",setup(e){const t=L({});return/bookSource/i.test(location.href)?(t.value=lo,document.title="书源管理"):(t.value=co,document.title="订阅源管理"),(n,s)=>{const o=io,r=ro,d=Mt;return c(),B("div",ao,[h(o,{class:"left",config:i(t)},null,8,["config"]),h(r),h(d,{class:"right"})])}}},ce=R(uo,[["__scopeId","data-v-ef32d41f"]]),ke=[{path:"/bookSource",name:"book-home",component:ce},{path:"/rssSource",name:"rss-home",component:ce}];ne({history:re(),routes:ke});const ve=ne({history:re(),routes:Se.concat(ke)});ve.afterEach(e=>{e.name=="shelf"&&(document.title="书架")});Me(Ye).use(Ht).use(ve).mount("#app");oe(()=>import("./config-7c50f05c.js"),["./config-7c50f05c.js","./vendor-8be1f5fb.js","./vendor-6f0d1692.css","./config-811f2a0b.css"],import.meta.url);export{j as A,R as _,ho as u};
diff --git a/app/src/main/assets/web/vue/index.html b/app/src/main/assets/web/vue/index.html
index 8617baaca..1f1c29870 100644
--- a/app/src/main/assets/web/vue/index.html
+++ b/app/src/main/assets/web/vue/index.html
@@ -4,10 +4,10 @@
-
+
-
+