From b202b8870fe5ed2f0bf4de4ca8582db3eefd7c6b Mon Sep 17 00:00:00 2001 From: jgckM Date: Sat, 3 Sep 2022 11:43:52 +0800 Subject: [PATCH 1/4] update web edit --- .../web/bookSource/css/app.944d83f6.css | 1 + .../main/assets/web/bookSource/favicon.ico | Bin 0 -> 4286 bytes .../Cascadia-Code-Regular-2.97c09831.ttf | Bin 0 -> 435672 bytes app/src/main/assets/web/bookSource/index.css | 150 ----- app/src/main/assets/web/bookSource/index.html | 440 +-------------- app/src/main/assets/web/bookSource/index.js | 516 ------------------ .../assets/web/bookSource/js/app.d3bb1ff0.js | 2 + .../web/bookSource/js/app.d3bb1ff0.js.map | 1 + .../bookSource/js/chunk-vendors.86212f98.js | 14 + .../js/chunk-vendors.86212f98.js.map | 1 + 10 files changed, 20 insertions(+), 1105 deletions(-) create mode 100644 app/src/main/assets/web/bookSource/css/app.944d83f6.css create mode 100644 app/src/main/assets/web/bookSource/favicon.ico create mode 100644 app/src/main/assets/web/bookSource/fonts/Cascadia-Code-Regular-2.97c09831.ttf delete mode 100644 app/src/main/assets/web/bookSource/index.css delete mode 100644 app/src/main/assets/web/bookSource/index.js create mode 100644 app/src/main/assets/web/bookSource/js/app.d3bb1ff0.js create mode 100644 app/src/main/assets/web/bookSource/js/app.d3bb1ff0.js.map create mode 100644 app/src/main/assets/web/bookSource/js/chunk-vendors.86212f98.js create mode 100644 app/src/main/assets/web/bookSource/js/chunk-vendors.86212f98.js.map diff --git a/app/src/main/assets/web/bookSource/css/app.944d83f6.css b/app/src/main/assets/web/bookSource/css/app.944d83f6.css new file mode 100644 index 000000000..a048f159d --- /dev/null +++ b/app/src/main/assets/web/bookSource/css/app.944d83f6.css @@ -0,0 +1 @@ +@font-face{font-family:Cascadia;src:url(../fonts/Cascadia-Code-Regular-2.97c09831.ttf)}.editor{display:flex;align-items:stretch;height:100vh}.left{width:calc(50% - 55px);min-width:500px;display:inline-block}.main{width:100%;height:calc(100vh - 64px);overflow-y:auto}textarea{min-height:20px;flex:1;outline:none;border-radius:4px;border:1px solid #ccc;font-size:14px;font-family:Cascadia,Microsoft YaHei UI,Arial,serif;line-height:20px;padding:10px 10px 10px}.fixed[data-v-ab8a8a34]{position:fixed;top:100px;left:50%;transform:translateX(-50%)}.half-circle-spinner [data-v-ab8a8a34],.half-circle-spinner[data-v-ab8a8a34]{box-sizing:border-box}.half-circle-spinner[data-v-ab8a8a34]{width:60px;height:60px;border-radius:100%;position:relative}.half-circle-spinner .circle[data-v-ab8a8a34]{content:"";position:absolute;width:100%;height:100%;border-radius:100%;border:6px solid transparent}.half-circle-spinner .circle.circle-1[data-v-ab8a8a34]{border-top-color:#ff1d5e;-webkit-animation:half-circle-spinner-animation-ab8a8a34 1s infinite;animation:half-circle-spinner-animation-ab8a8a34 1s infinite}.half-circle-spinner .circle.circle-2[data-v-ab8a8a34]{border-bottom-color:#ff1d5e;-webkit-animation:half-circle-spinner-animation-ab8a8a34 1s infinite alternate;animation:half-circle-spinner-animation-ab8a8a34 1s infinite alternate}@-webkit-keyframes half-circle-spinner-animation-ab8a8a34{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes half-circle-spinner-animation-ab8a8a34{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.warm[data-v-27eae50d]{position:fixed;top:100px;left:50%;transform:translateX(-50%);color:#eee;background-color:#ff1d5e;padding:20px;border-radius:8px;font-size:18px}button[data-v-27eae50d]{float:right;width:70px;height:35px;outline:none;border:unset;border-radius:8px;font-size:14px;transition:background-color .3s ease}.success[data-v-bef92f74],button[data-v-27eae50d]:hover{color:#333;background-color:#7fffd4}.success[data-v-bef92f74]{z-index:3;position:fixed;top:100px;left:50%;transform:translateX(-50%);padding:10px;border-radius:8px}p[data-v-bef92f74]{margin:0}.menu{display:flex;flex-direction:column;justify-content:center}button[data-v-3fa941b0]{width:100px;height:50px;margin:5px;outline:none;padding:10px;font-size:16px;border-radius:4px;box-sizing:border-box;border:1px solid #333;background-color:transparent;transition:all .3s ease;overflow:hidden}button span[data-v-3fa941b0]{display:inline-block;transform:translateY(20px);opacity:0;font-size:12px;transition:all .3s ease}button[data-v-3fa941b0]:hover{color:#fff;background-color:gray}button:hover span[data-v-3fa941b0]{transform:translateY(0);opacity:1}textarea[data-v-4301c68c]{font-size:14px}input[data-v-f11ea0d0]{outline:none;height:25px;font-size:16px}textarea[data-v-f11ea0d0]{font-size:14px}.search[data-v-7d0424af]{border:1px solid #ddd;border-radius:4px}input[data-v-7d0424af]{text-align:center;font-size:16px;height:25px;outline:none}.tool[data-v-7d0424af]{display:flex;justify-content:space-around;padding:4px 0}.tool button[data-v-7d0424af]{border-radius:4px;padding:5px;outline:none;border:none;flex:1;margin:0 2px}.tool button[data-v-7d0424af]:hover{background-color:#ddd}input[type=checkbox][data-v-7d0424af]{transform:scale(2);margin:0 15px 0}.book_item[data-v-7d0424af]{display:flex;align-items:center;margin-top:10px;padding:10px;cursor:pointer;background-color:#eee}.book_active[data-v-7d0424af]{background-color:#32cd32}.book_index[data-v-7d0424af]{width:30px;height:30px;text-align:center;line-height:30px;border-radius:50%;background-color:#ffb6c1}.book_info[data-v-7d0424af]{width:500px;display:flex;justify-content:space-between}.book_list[data-v-7d0424af]{height:calc(100vh - 125px);overflow-y:auto}a[data-v-d4554fa8]{display:block;height:25px;transition:margin-left .3s ease}a[data-v-d4554fa8]:hover{color:red;margin-left:10px}code[data-v-d4554fa8]{display:inline-block;font-size:16px;font-family:Cascadia Mono,JetBrains Mono,Microsoft YaHei UI,serif;background-color:#f3f4f4;border-radius:4px}.author[data-v-d4554fa8]{position:fixed;right:20px;bottom:20px}.author a[data-v-d4554fa8]{padding:5px 10px;border-radius:4px}.author a[data-v-d4554fa8]:hover{box-shadow:0 0 3px 3px #ccc;background-color:#ddd}.out{min-width:620px}.out,.out .box{flex:1;display:flex;flex-flow:column}a{text-decoration:none;color:#333}body,ul{margin:0;padding:0}ul{width:100%;height:40px;display:flex}ul li{display:block;text-align:center;line-height:40px;width:16%;list-style:none;cursor:pointer}ul li:hover{color:red}.active{color:#fff!important;background-color:hsla(0,0%,50%,.459);border-bottom:unset!important}ul li[data-v-de4729c0]{border-bottom:2px solid #333}a[data-v-de4729c0]{font-size:18px;color:blue}span[data-v-3974490a]{display:flex;justify-content:space-around;width:70px;white-space:nowrap}span i[data-v-3974490a]{font-style:normal}.edit_input[data-v-3974490a]{display:flex;justify-content:space-between;align-items:center;margin:10px 5px} \ No newline at end of file diff --git a/app/src/main/assets/web/bookSource/favicon.ico b/app/src/main/assets/web/bookSource/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c3d5e6bc00d62252bb516ab1d4ca3d9aa40986aa GIT binary patch literal 4286 zcmb_gdq|X76u*59tx&kK&}1YkB+DZGQ9@uOD$&Et%I9b%Jt(AyuOfPynpyOqd>iF6 zci2p)&0a#ns+$&>>!Vy;N===<869WTsRr_oVb7j(^&3aCb;@oW?{~j@?)m-hd3{5S z&B1@Ju8jV&G6%-wjIm!(@D=k#q4%>Lj*gDZ#l=N%aB#4b%jNd-=g7vH8=ky{@vbgZh!d_ zT3cG6si_IHS}hn11}-|C&fMMIEk1ejM1?#RPEJm8vhgh(TwPu5wr<_(QB(6rWmjjX z>FwKY=zQ}A{^{s|_E)cUVm|O><*o({SaD8$6X2#+5> z_CstMFdO`Lq8@Szd*RP#V;t(A_d|9;5A^owd3|8LnlQ%x`}Xa#_+b6|^>(5tDnEVt z1hdB17$C1y4H<=faIabm={V=&x>wEb&p9+VH<$VN`0$$S>FHrrRaI^uK73Gr4}4K; zfC7~UvXr7l@+&mZH|Bqi-`CeC=H}-9{PgKlwrkfehIJl{*yhpE(OKVL({F%Z9}U2b zyAx81Yc={ss)fP9K{Li%5gi>ZY~H+Cz?@H|yMHZyZA}gK!4`feDc7|F2Dn{ofRgG7 zDZ}+U^oyiJJpp5o78MmGY}&L*Fd9dSz6PIq|Gmmeh>wedg9i@+){mtRYjs0#_xT8v zHB1Pt#evB++0oHax_tR^0egZBbFXq_WSINjWctYSe`v_SdtX;qC$zP;LS0=gl$VzS z_ELzAiGi@NFu?Bvm(b8qh(j*;{e!#r9zxN>Rw%7`3uVuAplUM0!8XxtoNan3%|OfqX%EL3uLO z9^#lbY}nvUn9`s)pq>mxi83h<2p@YjP`*=*l20#Py7U?TjT`w~hkQf&cOZ z{taUfu$JJ;qVyB98AyvT8>P6`SN zEOy8y#ogcE-*GCo!~=7g@?b5>u*92uN;RIEn#${)VnDvVdiAQsHubHHj0}z+8ygE1 z6&3vc*xxNWXwQguUrQJg-gGneCyGNPaUjl=+vHQSMRjoCzyaQGtZh^LDMzTc?cTi` z($mv{YLR%2`_hPWB*t&r-+tCS$T!3RYnuF^Mln-;<7~4?J%Y}T+gOWSK8v|E?$l@W zqky=S50sOi)djwri4UDok`1yo)xIrj@&)+}ZFr$jf1n;UsXnIgpgqzlqBC^%OSxtX zKIzbT?A6pC$RAEqvdg`uvxkfySr{K;2vb#^7JZlFf|yj56k8WbDUY#(p5FV{EP@DfnLsQw8_tNc%MR Uj-MkNWQ%N)ZNlJKW*?yOA4v{VRR910 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/web/bookSource/fonts/Cascadia-Code-Regular-2.97c09831.ttf b/app/src/main/assets/web/bookSource/fonts/Cascadia-Code-Regular-2.97c09831.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1453bc271889eabcb5437e90f6b57e213b942b7a GIT binary patch literal 435672 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%0D77rig?qyZO}oC4ZROCenVIofl(k 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/web/bookSource/index.css b/app/src/main/assets/web/bookSource/index.css deleted file mode 100644 index 97cd3ca6e..000000000 --- a/app/src/main/assets/web/bookSource/index.css +++ /dev/null @@ -1,150 +0,0 @@ -body { - margin: 0; -} -.editor { - display: flex; - align-items: stretch; -} -.setbox, -.menu, -.outbox { - flex: 1; - display: flex; - flex-flow: column; - max-height: 100vh; - overflow-y: auto; -} -.menu { - justify-content: center; - max-width: 90px; - margin: 0 5px; -} -.menu .button { - width: 90px; - height: 30px; - min-height: 30px; - margin: 5px 0px; - cursor: pointer; -} -@keyframes stroker { - 0% { - stroke-dashoffset: 0; - } - 100% { - stroke-dashoffset: -240; - } -} -.button rect { - width: 100%; - height: 100%; - fill: transparent; - stroke: #666; - stroke-width: 2px; -} -.button rect.busy { - stroke: #fd1850; - stroke-dasharray: 30 90; - animation: stroker 1s linear infinite; -} -.button text { - text-anchor: middle; - dominant-baseline: middle; -} -.setbox { - min-width: 40em; -} -.rules { - overflow: auto; -} -.tabbox { - flex: 1; - display: flex; - flex-flow: column; -} -.rules > * { - display: flex; - margin: 2px 0; -} -.rules textarea { - flex: 1; - margin-left: 5px; -} -.rules > *, -.rules > * > div, -.rules textarea { - min-height: 1em; -} -textarea { - word-break: break-all; -} -.tabtitle { - display: flex; - z-index: 1; - justify-content: flex-end; -} -.tabtitle > div { - cursor: pointer; - padding: 1px 10px 0 10px; - border-bottom: 3px solid transparent; - font-weight: bold; -} -.tabtitle > .this { - color: #4f9da6; - border-bottom-color: #4ebbe4; -} -.tabbody { - flex: 1; - display: flex; - margin-top: -1px; - border: 1px solid #a9a9a9; - height: 0; -} -.tabbody > * { - flex: 1; - flex-flow: column; - display: none; -} -.tabbody > .this { - display: flex; -} -.tabbody > * > .titlebar { - display: flex; -} -.tabbody > * > .titlebar > * { - flex: 1; - margin: 1px 1px 1px 1px; -} -.tabbody > * > .context { - flex: 1; - flex-flow: column; - border: 0; - padding: 5px; - overflow-y: auto; -} -.tabbody > * > .inputbox { - border: 0; - border-bottom: #a9a9a9 solid 1px; - height: 15px; - text-align: center; -} -.link > * { - display: flex; - margin: 5px; - border-bottom: 1px solid; - text-decoration: none; -} -#RuleList > label > * { - background: #eee; - padding-left: 3px; - margin: 2px 0; - cursor: pointer; -} -#RuleList input[type="radio"] { - display: none; -} -#RuleList input[type="radio"]:checked + * { - background: #15cda8; -} -.isError { - color: #ff0000; -} diff --git a/app/src/main/assets/web/bookSource/index.html b/app/src/main/assets/web/bookSource/index.html index c67a810f7..eeee89eb5 100644 --- a/app/src/main/assets/web/bookSource/index.html +++ b/app/src/main/assets/web/bookSource/index.html @@ -1,439 +1 @@ - - - - - - 阅读3.0源编辑器_V4.0 - - - - - - - - - - \ No newline at end of file +legado_web_editor
\ No newline at end of file diff --git a/app/src/main/assets/web/bookSource/index.js b/app/src/main/assets/web/bookSource/index.js deleted file mode 100644 index b93661bc1..000000000 --- a/app/src/main/assets/web/bookSource/index.js +++ /dev/null @@ -1,516 +0,0 @@ -// 简化js原生选择器 -function $(selector) { return document.querySelector(selector); } -function $$(selector) { return document.querySelectorAll(selector); } -// 读写Hash值(val未赋值时为读取) -function hashParam(key, val) { - let hashstr = decodeURIComponent(window.location.hash); - let regKey = new RegExp(`${key}=([^&]*)`); - let getVal = regKey.test(hashstr) ? hashstr.match(regKey)[1] : null; - if (val == undefined) return getVal; - if (hashstr == '' || hashstr == '#') { - window.location.hash = `#${key}=${val}`; - } - else { - if (getVal) window.location.hash = hashstr.replace(getVal, val); - else { - window.location.hash = hashstr.indexOf(key) > -1 ? hashstr.replace(regKey, `${key}=${val}`) : `${hashstr}&${key}=${val}`; - } - } -} -// 创建源规则容器对象 -function Container() { - let ruleJson = {}; - let searchJson = {}; - let exploreJson = {}; - let bookInfoJson = {}; - let tocJson = {}; - let contentJson = {}; - - // 基本以及其他 - $$('.rules .base').forEach(item => ruleJson[item.title] = ''); - ruleJson.lastUpdateTime = 0; - ruleJson.customOrder = 0; - ruleJson.weight = 0; - ruleJson.enabled = true; - ruleJson.enabledExplore = true; - - // 搜索规则 - $$('.rules .ruleSearch').forEach(item => searchJson[item.title] = ''); - ruleJson.ruleSearch = searchJson; - - // 发现规则 - $$('.rules .ruleExplore').forEach(item => exploreJson[item.title] = ''); - ruleJson.ruleExplore = exploreJson; - - // 详情页规则 - $$('.rules .ruleBookInfo').forEach(item => bookInfoJson[item.title] = ''); - ruleJson.ruleBookInfo = bookInfoJson; - - // 目录规则 - $$('.rules .ruleToc').forEach(item => tocJson[item.title] = ''); - ruleJson.ruleToc = tocJson; - - // 正文规则 - $$('.rules .ruleContent').forEach(item => contentJson[item.title] = ''); - ruleJson.ruleContent = contentJson; - - return ruleJson; -} -// 选项卡Tab切换事件处理 -function showTab(tabName) { - $$('.tabtitle>*').forEach(node => { node.className = node.className.replace(' this', ''); }); - $$('.tabbody>*').forEach(node => { node.className = node.className.replace(' this', ''); }); - $(`.tabbody>.${$(`.tabtitle>*[name=${tabName}]`).className}`).className += ' this'; - $(`.tabtitle>*[name=${tabName}]`).className += ' this'; - hashParam('tab', tabName); -} -// 源列表列表标签构造函数 -function newRule(rule) { - return ``; -} -// 缓存规则列表 -var RuleSources = []; -if (localStorage.getItem('BookSources')) { - RuleSources = JSON.parse(localStorage.getItem('BookSources')); - RuleSources.forEach(item => $('#RuleList').innerHTML += newRule(item)); -} -// 页面加载完成事件 -window.onload = () => { - $$('.tabtitle>*').forEach(item => { - item.addEventListener('click', () => { - showTab(item.innerHTML); - }); - }); - if (hashParam('tab')) showTab(hashParam('tab')); -} -// 获取数据 -function HttpGet(url) { - return fetch(hashParam('domain') ? hashParam('domain') + url : url) - .then(res => res.json()).catch(err => console.error('Error:', err)); -} -// 提交数据 -function HttpPost(url, data) { - return fetch(hashParam('domain') ? hashParam('domain') + url : url, { - body: JSON.stringify(data), - method: 'POST', - mode: "cors", - headers: new Headers({ - 'Content-Type': 'application/json;charset=utf-8' - }) - }).then(res => res.json()).catch(err => console.error('Error:', err)); -} -// 将源表单转化为源对象 -function rule2json() { - let RuleJSON = Container(); - // 转换base - Object.keys(RuleJSON).forEach(key => { - if (!key.startsWith("rule")) { - RuleJSON[key] = $('#' + key).value; - } - }); - - // 转换搜索规则 - let searchJson = {}; - Object.keys(RuleJSON.ruleSearch).forEach(key => { - if ($('#' + 'ruleSearch_' + key).value) - searchJson[key] = $('#' + 'ruleSearch_' + key).value; - }); - RuleJSON.ruleSearch = searchJson; - - // 转换发现规则 - let exploreJson = {}; - Object.keys(RuleJSON.ruleExplore).forEach(key => { - if ($('#' + 'ruleExplore_' + key).value) - exploreJson[key] = $('#' + 'ruleExplore_' + key).value; - }); - RuleJSON.ruleExplore = exploreJson; - - // 转换详情页规则 - let bookInfoJson = {}; - Object.keys(RuleJSON.ruleBookInfo).forEach(key => { - if ($('#' + 'ruleBookInfo_' + key).value) - bookInfoJson[key] = $('#' + 'ruleBookInfo_' + key).value; - }); - RuleJSON.ruleBookInfo = bookInfoJson; - - // 转换目录规则 - let tocJson = {}; - Object.keys(RuleJSON.ruleToc).forEach(key => { - if ($('#' + 'ruleToc_' + key).value) - tocJson[key] = $('#' + 'ruleToc_' + key).value; - }); - RuleJSON.ruleToc = tocJson; - - // 转换正文规则 - let contentJson = {}; - Object.keys(RuleJSON.ruleContent).forEach(key => { - if ($('#' + 'ruleContent_' + key).value) - contentJson[key] = $('#' + 'ruleContent_' + key).value; - }); - RuleJSON.ruleContent = contentJson; - - RuleJSON.lastUpdateTime = new Date().getTime(); - RuleJSON.customOrder = RuleJSON.customOrder == '' ? 0 : parseInt(RuleJSON.customOrder); - RuleJSON.weight = RuleJSON.weight == '' ? 0 : parseInt(RuleJSON.weight); - RuleJSON.bookSourceType == RuleJSON.bookSourceType == '' ? 0 : parseInt(RuleJSON.bookSourceType); - RuleJSON.enabled = RuleJSON.enabled == '' || String(RuleJSON.enabled).toLocaleLowerCase().replace(/^\s*|\s*$/g, '') == 'true'; - RuleJSON.enabledExplore = RuleJSON.enabledExplore == '' || String(RuleJSON.enabledExplore).toLocaleLowerCase().replace(/^\s*|\s*$/g, '') == 'true'; - return RuleJSON; -} -// 将源对象填充到源表单 -function json2rule(RuleEditor) { - let RuleJSON = Container(); - // 转换base - Object.keys(RuleJSON).forEach(key => { - if (!key.startsWith("rule")) { - let val = RuleEditor[key]; - if (typeof val == "number") { - $("#" + key).value = val ? String(val) : '0'; - } - else if (typeof val == "boolean") { - $("#" + key).value = val ? String(val) : 'false'; - } - else { - $("#" + key).value = val ? String(val) : ''; - } - } - }); - - // 转换搜索规则 - if (RuleEditor.ruleSearch) { - let searchJson = RuleEditor.ruleSearch; - Object.keys(RuleJSON.ruleSearch).forEach(key => { - $('#' + 'ruleSearch_' + key).value = searchJson[key] ? searchJson[key] : ''; - }); - } - - // 转换发现规则 - if (RuleEditor.ruleExplore) { - let exploreJson = RuleEditor.ruleExplore; - Object.keys(RuleJSON.ruleExplore).forEach(key => { - $('#' + 'ruleExplore_' + key).value = exploreJson[key] ? exploreJson[key] : ''; - }); - } - - // 转换详情页规则 - if (RuleEditor.ruleBookInfo) { - let bookInfoJson = RuleEditor.ruleBookInfo; - Object.keys(RuleJSON.ruleBookInfo).forEach(key => { - $('#' + 'ruleBookInfo_' + key).value = bookInfoJson[key] ? bookInfoJson[key] : ''; - }); - } - - // 转换目录规则 - if (RuleEditor.ruleToc) { - let tocJson = RuleEditor.ruleToc; - Object.keys(RuleJSON.ruleToc).forEach(key => { - $('#' + 'ruleToc_' + key).value = tocJson[key] ? tocJson[key] : ''; - }); - } - - // 转换正文规则 - if (RuleEditor.ruleContent) { - let contentJson = RuleEditor.ruleContent; - Object.keys(RuleJSON.ruleContent).forEach(key => { - $('#' + 'ruleContent_' + key).value = contentJson[key] ? contentJson[key] : ''; - }); - } -} -// 记录操作过程 -var course = { "old": [], "now": {}, "new": [] }; -if (localStorage.getItem('bookSourceCourse')) { - course = JSON.parse(localStorage.getItem('bookSourceCourse')); - json2rule(course.now); -} -else { - course.now = rule2json(); - window.localStorage.setItem('bookSourceCourse', JSON.stringify(course)); -} -function todo() { - course.old.push(Object.assign({}, course.now)); - course.now = rule2json(); - course.new = []; - if (course.old.length > 50) course.old.shift(); // 限制历史记录堆栈大小 - localStorage.setItem('bookSourceCourse', JSON.stringify(course)); -} -function undo() { - course = JSON.parse(localStorage.getItem('bookSourceCourse')); - if (course.old.length > 0) { - course.new.push(course.now); - course.now = course.old.pop(); - localStorage.setItem('bookSourceCourse', JSON.stringify(course)); - json2rule(course.now); - } -} -function redo() { - course = JSON.parse(localStorage.getItem('bookSourceCourse')); - if (course.new.length > 0) { - course.old.push(course.now); - course.now = course.new.pop(); - localStorage.setItem('bookSourceCourse', JSON.stringify(course)); - json2rule(course.now); - } -} -function setRule(editRule) { - let checkRule = RuleSources.find(x => x.bookSourceUrl == editRule.bookSourceUrl); - if ($(`input[id="${editRule.bookSourceUrl}"]`)) { - Object.keys(checkRule).forEach(key => { checkRule[key] = editRule[key]; }); - $(`input[id="${editRule.bookSourceUrl}"]+*`).innerHTML = `${editRule.bookSourceName}
${editRule.bookSourceUrl}`; - } else { - RuleSources.push(editRule); - $('#RuleList').innerHTML += newRule(editRule); - } -} -$$('input').forEach((item) => { item.addEventListener('change', () => { todo() }) }); -$$('textarea').forEach((item) => { item.addEventListener('change', () => { todo() }) }); -// 处理按钮点击事件 -$('.menu').addEventListener('click', e => { - let thisNode = e.target; - thisNode = thisNode.parentNode.nodeName == 'svg' ? thisNode.parentNode.querySelector('rect') : - thisNode.nodeName == 'svg' ? thisNode.querySelector('rect') : null; - if (!thisNode) return; - if (thisNode.getAttribute('class') == 'busy') return; - thisNode.setAttribute('class', 'busy'); - switch (thisNode.id) { - case 'push': - $$('#RuleList>label>div').forEach(item => { item.className = ''; }); - (async () => { - await HttpPost(`/saveBookSources`, RuleSources).then(json => { - if (json.isSuccess) { - let okData = json.data; - if (Array.isArray(okData)) { - let failMsg = ``; - if (RuleSources.length > okData.length) { - RuleSources.forEach(item => { - if (okData.find(x => x.bookSourceUrl == item.bookSourceUrl)) { } - else { $(`#RuleList #${item.bookSourceUrl}+*`).className += 'isError'; } - }); - failMsg = '\n推送失败的源将用红色字体标注!'; - } - alert(`批量推送源到「阅读3.0APP」\n共计: ${RuleSources.length} 条\n成功: ${okData.length} 条\n失败: ${RuleSources.length - okData.length} 条${failMsg}`); - } - else { - alert(`批量推送源到「阅读3.0APP」成功!\n共计: ${RuleSources.length} 条`); - } - } - else { - alert(`批量推送源失败!\nErrorMsg: ${json.errorMsg}`); - } - }).catch(err => { alert(`批量推送源失败,无法连接到「阅读3.0APP」!\n${err}`); }); - thisNode.setAttribute('class', ''); - })(); - return; - case 'pull': - showTab('源列表'); - (async () => { - await HttpGet(`/getBookSources`).then(json => { - if (json.isSuccess) { - $('#RuleList').innerHTML = '' - localStorage.setItem('BookSources', JSON.stringify(RuleSources = json.data)); - RuleSources.forEach(item => { - $('#RuleList').innerHTML += newRule(item); - }); - alert(`成功拉取 ${RuleSources.length} 条源`); - } - else { - alert(`批量拉取源失败!\nErrorMsg: ${json.errorMsg}`); - } - }).catch(err => { alert(`批量拉取源失败,无法连接到「阅读3.0APP」!\n${err}`); }); - thisNode.setAttribute('class', ''); - })(); - return; - case 'editor': - if ($('#RuleJsonString').value == '') break; - try { - json2rule(JSON.parse($('#RuleJsonString').value)); - todo(); - } catch (error) { - console.log(error); - alert(error); - } - break; - case 'conver': - showTab('编辑源'); - $('#RuleJsonString').value = JSON.stringify(rule2json(), null, 4); - break; - case 'initial': - $$('.rules textarea').forEach(item => { item.value = '' }); - todo(); - break; - case 'undo': - undo() - break; - case 'redo': - redo() - break; - case 'debug': - showTab('调试源'); - let wsOrigin = (hashParam('domain') || location.origin).replace(/^.*?:/, 'ws:').replace(/\d+$/, (port) => (parseInt(port) + 1)); - let DebugInfos = $('#DebugConsole'); - function DebugPrint(msg) { DebugInfos.value += `\n${msg}`; DebugInfos.scrollTop = DebugInfos.scrollHeight; } - let saveRule = [rule2json()]; - HttpPost(`/saveBookSources`, saveRule).then(sResult => { - if (sResult.isSuccess) { - let sKey = DebugKey.value ? DebugKey.value : '我的'; - $('#DebugConsole').value = `源《${saveRule[0].bookSourceName}》保存成功!使用搜索关键字“${sKey}”开始调试...`; - let ws = new WebSocket(`${wsOrigin}/bookSourceDebug`); - ws.onopen = () => { - ws.send(`{"tag":"${saveRule[0].bookSourceUrl}", "key":"${sKey}"}`); - }; - ws.onmessage = (msg) => { - console.log('[调试]', msg); - DebugPrint(msg.data); - }; - ws.onerror = (err) => { - throw `${err.data}`; - } - ws.onclose = () => { - thisNode.setAttribute('class', ''); - DebugPrint(`\n调试服务已关闭!`); - } - } else throw `${sResult.errorMsg}`; - }).catch(err => { - DebugPrint(`调试过程意外中止,以下是详细错误信息:\n${err}`); - thisNode.setAttribute('class', ''); - }); - return; - case 'accept': - (async () => { - let saveRule = [rule2json()]; - await HttpPost(`/saveBookSource`, saveRule[0]).then(json => { - alert(json.isSuccess ? `源《${saveRule[0].bookSourceName}》已成功保存到「阅读3.0APP」` : `源《${saveRule[0].bookSourceName}》保存失败!\nErrorMsg: ${json.errorMsg}`); - setRule(saveRule[0]); - }).catch(err => { alert(`保存源失败,无法连接到「阅读3.0APP」!\n${err}`); }); - thisNode.setAttribute('class', ''); - })(); - return; - default: - } - setTimeout(() => { thisNode.setAttribute('class', ''); }, 500); -}); -$('#DebugKey').addEventListener('keydown', e => { - if (e.keyCode == 13) { - let clickEvent = document.createEvent('MouseEvents'); - clickEvent.initEvent("click", true, false); - $('#debug').dispatchEvent(clickEvent); - } -}); -$('#Filter').addEventListener('keydown', e => { - if (e.keyCode == 13) { - let cashList = []; - $('#RuleList').innerHTML = ""; - let sKey = Filter.value ? Filter.value : ''; - if (sKey == '') { - cashList = RuleSources; - } else { - let patt = new RegExp(sKey); - RuleSources.forEach(source => { - if (patt.test(source.bookSourceUrl) || patt.test(source.bookSourceName) || patt.test(source.bookSourceGroup)) { - cashList.push(source); - } - }) - } - cashList.forEach(source => { - $('#RuleList').innerHTML += newRule(source); - }) - } -}); - -// 列表规则更改事件 -$('#RuleList').addEventListener('click', e => { - let editRule = null; - if (e.target && e.target.getAttribute('name') == 'rule') { - editRule = rule2json(); - json2rule(RuleSources.find(x => x.bookSourceUrl == e.target.id)); - } else return; - if (editRule.bookSourceUrl == '') return; - if (editRule.bookSourceName == '') editRule.bookSourceName = editRule.bookSourceUrl.replace(/.*?\/\/|\/.*/g, ''); - setRule(editRule); - localStorage.setItem('BookSources', JSON.stringify(RuleSources)); -}); -// 处理列表按钮事件 -$('.tab3>.titlebar').addEventListener('click', e => { - let thisNode = e.target; - if (thisNode.nodeName != 'BUTTON') return; - switch (thisNode.id) { - case 'Import': - let fileImport = document.createElement('input'); - fileImport.type = 'file'; - fileImport.accept = '.json'; - fileImport.addEventListener('change', () => { - let file = fileImport.files[0]; - let reader = new FileReader(); - reader.onloadend = function (evt) { - if (evt.target.readyState == FileReader.DONE) { - let fileText = evt.target.result; - try { - let fileJson = JSON.parse(fileText); - let newSources = []; - newSources.push(...fileJson); - if (window.confirm(`如何处理导入的源?\n"确定": 覆盖当前列表(不会删除APP源)\n"取消": 插入列表尾部(自动忽略重复源)`)) { - localStorage.setItem('BookSources', JSON.stringify(RuleSources = newSources)); - $('#RuleList').innerHTML = '' - RuleSources.forEach(item => { - $('#RuleList').innerHTML += newRule(item); - }); - } - else { - newSources = newSources.filter(item => !JSON.stringify(RuleSources).includes(item.bookSourceUrl)); - RuleSources.push(...newSources); - localStorage.setItem('BookSources', JSON.stringify(RuleSources)); - newSources.forEach(item => { - $('#RuleList').innerHTML += newRule(item); - }); - } - alert(`成功导入 ${newSources.length} 条源`); - } - catch (err) { - alert(`导入源文件失败!\n${err}`); - } - } - }; - reader.readAsText(file); - }, false); - fileImport.click(); - break; - case 'Export': - let fileExport = document.createElement('a'); - fileExport.download = `Rules${Date().replace(/.*?\s(\d+)\s(\d+)\s(\d+:\d+:\d+).*/, '$2$1$3').replace(/:/g, '')}.json`; - let myBlob = new Blob([JSON.stringify(RuleSources, null, 4)], { type: "application/json" }); - fileExport.href = window.URL.createObjectURL(myBlob); - fileExport.click(); - break; - case 'Delete': - let selectRule = $('#RuleList input:checked'); - if (!selectRule) { - alert(`没有源被选中!`); - return; - } - if (confirm(`确定要删除选定源吗?\n(同时删除APP内源)`)) { - let selectRuleUrl = selectRule.id; - let deleteSources = RuleSources.filter(item => item.bookSourceUrl == selectRuleUrl); // 提取待删除的源 - let laveSources = RuleSources.filter(item => !(item.bookSourceUrl == selectRuleUrl)); // 提取待留下的源 - HttpPost(`/deleteBookSources`, deleteSources).then(json => { - if (json.isSuccess) { - let selectNode = document.getElementById(selectRuleUrl).parentNode; - selectNode.parentNode.removeChild(selectNode); - localStorage.setItem('BookSources', JSON.stringify(RuleSources = laveSources)); - if ($('#bookSourceUrl').value == selectRuleUrl) { - $$('.rules textarea').forEach(item => { item.value = '' }); - todo(); - } - console.log(deleteSources); - console.log(`以上源已删除!`) - } - }).catch(err => { alert(`删除源失败,无法连接到「阅读3.0APP」!\n${err}`); }); - } - break; - case 'ClrAll': - if (confirm(`确定要清空当前源列表吗?\n(不会删除APP内源)`)) { - localStorage.setItem('BookSources', JSON.stringify(RuleSources = [])); - $('#RuleList').innerHTML = '' - } - break; - default: - } -}); diff --git a/app/src/main/assets/web/bookSource/js/app.d3bb1ff0.js b/app/src/main/assets/web/bookSource/js/app.d3bb1ff0.js new file mode 100644 index 000000000..e688b361d --- /dev/null +++ b/app/src/main/assets/web/bookSource/js/app.d3bb1ff0.js @@ -0,0 +1,2 @@ +(function(){"use strict";var t={163:function(t,e,o){var n=o(963),r=o(252);const a={class:"editor"};function i(t,e,o,n,i,l){const c=(0,r.up)("router-view");return(0,r.wg)(),(0,r.iD)("div",a,[(0,r.Wm)(c)])}var l={setup(){}},c=o(744);const s=(0,c.Z)(l,[["render",i]]);var u=s,d=o(201),h=o(577);const p=t=>((0,r.dD)("data-v-de4729c0"),t=t(),(0,r.Cn)(),t),g={class:"left"},m=p((()=>(0,r._)("div",null,[(0,r._)("a",{href:"/"},"←主页"),(0,r._)("b",null,"书源")],-1))),v=["onClick"],b=["onClick"],k=["onClick"],w=["onClick"],S=["onClick"],C=["onClick"],f=["onClick"];function _(t,e,o,n,a,i){const l=(0,r.up)("router-link"),c=(0,r.up)("router-view"),s=(0,r.up)("edit-menu"),u=(0,r.up)("edit-out");return(0,r.wg)(),(0,r.iD)(r.HY,null,[(0,r._)("div",g,[(0,r._)("div",null,[m,(0,r._)("ul",null,[(0,r.Wm)(l,{to:{name:"base"},custom:""},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 基础 ",10,v)])),_:1}),(0,r.Wm)(l,{to:{name:"search"},custom:""},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 搜索 ",10,b)])),_:1}),(0,r.Wm)(l,{to:{name:"find"},custom:""},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 发现 ",10,k)])),_:1}),(0,r.Wm)(l,{custom:"",to:{name:"detail"}},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 详情 ",10,w)])),_:1}),(0,r.Wm)(l,{custom:"",to:{name:"directory"}},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 目录 ",10,S)])),_:1}),(0,r.Wm)(l,{custom:"",to:{name:"content"}},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 正文 ",10,C)])),_:1}),(0,r.Wm)(l,{custom:"",to:{name:"other"}},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 其他 ",10,f)])),_:1})])]),(0,r.Wm)(c,null,{default:(0,r.w5)((({Component:t})=>[((0,r.wg)(),(0,r.j4)(r.Ob,null,[((0,r.wg)(),(0,r.j4)((0,r.LL)(t)))],1024))])),_:1})]),(0,r.Wm)(s),(0,r.Wm)(u)],64)}var y=o(262);const I=t=>((0,r.dD)("data-v-3fa941b0"),t=t(),(0,r.Cn)(),t),D={class:"menu"},U=(0,r.Uk)("⇈推送源 "),x=I((()=>(0,r._)("span",null,"Ctrl+P",-1))),T=[U,x],B=(0,r.Uk)("⇊拉取源 "),K=I((()=>(0,r._)("span",null,"Shift+P",-1))),A=[B,K],j=(0,r.Uk)("⋙生成源"),E=I((()=>(0,r._)("span",null,"Ctrl+E",-1))),H=[j,E],N=(0,r.Uk)(" ✗清空表单"),O=I((()=>(0,r._)("span",null,"Shift+C",-1))),L=[N,O],P=(0,r.Uk)("↶撤销操作"),J=I((()=>(0,r._)("span",null,"Ctrl+Z",-1))),Z=[P,J],q=(0,r.Uk)("↷重做操作"),W=I((()=>(0,r._)("span",null,"Shift+R",-1))),$=[q,W],M=(0,r.Uk)(" ⇏调试源 "),R=I((()=>(0,r._)("span",null,"Ctrl+Enter",-1))),Y=[M,R],z=(0,r.Uk)(" ✓保存源"),V=I((()=>(0,r._)("span",null,"Ctrl+S",-1))),F=[z,V];function G(t,e,o,n,a,i){const l=(0,r.up)("edit-loading"),c=(0,r.up)("edit-warn"),s=(0,r.up)("edit-success");return(0,r.wg)(),(0,r.iD)("div",D,[(0,r._)("div",null,[n.isShow?((0,r.wg)(),(0,r.j4)(l,{key:0})):(0,r.kq)("",!0),(0,r.Wm)(c,{text:n.warnText,"is-show":n.warnShow,onChangeShow:n.changeShow},null,8,["text","is-show","onChangeShow"]),n.successShow?((0,r.wg)(),(0,r.j4)(s,{key:1,isShow:n.successShow,onChangeShow:n.changeSuccessShow,text:n.successText},null,8,["isShow","onChangeShow","text"])):(0,r.kq)("",!0)]),(0,r._)("button",{onClick:e[0]||(e[0]=(...t)=>n.push&&n.push(...t)),title:"Ctrl+P"},T),(0,r._)("button",{onClick:e[1]||(e[1]=(...t)=>n.pull&&n.pull(...t)),title:"Shift+P"},A),(0,r._)("button",{onClick:e[2]||(e[2]=(...t)=>n.conver&&n.conver(...t)),title:"Ctrl+E"},H),(0,r._)("button",{onClick:e[3]||(e[3]=(...t)=>n.clearEdit&&n.clearEdit(...t)),title:"Shift+C"},L),(0,r._)("button",{onClick:e[4]||(e[4]=(...t)=>n.undo&&n.undo(...t)),title:"Ctrl+Z"},Z),(0,r._)("button",{onClick:e[5]||(e[5]=(...t)=>n.redo&&n.redo(...t)),title:"Shift+R"},$),(0,r._)("button",{onClick:e[6]||(e[6]=(...t)=>n.debug&&n.debug(...t)),title:"Ctrl+Enter"},Y),(0,r._)("button",{onClick:e[7]||(e[7]=(...t)=>n.saveSource&&n.saveSource(...t)),title:"Ctrl+S"},F)])}function Q(t,e){const o=`http://${localStorage.getItem("url")||""}/${t}`;switch(t){case"getBookSources":return tt(o);case"saveBookSources":return X(o,e);case"deleteBookSources":return X(o,e)}}function X(t,e){return fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then((t=>t.json()))}function tt(t){return fetch(t).then((t=>t.json()))}var et=o(907),ot=JSON.parse('{"bookSourceUrl":"","bookSourceType":"","bookSourceName":"","bookSourceGroup":"","bookSourceComment":"","loginUrl":"","loginUi":"","loginCheckJs":"","concurrentRate":"","header":"","bookUrlPattern":"","searchUrl":"","exploreUrl":"","enabled":true,"enabledExplore":true,"weight":null,"customOrder":null,"lastUpdateTime":0,"ruleSearch":{"checkKeyWord":"","bookList":"","name":"","author":"","kind":"","wordCount":"","lastChapter":"","intro":"","coverUrl":"","bookUrl":""},"ruleExplore":{"bookList":"","name":"","author":"","kind":"","wordCount":"","lastChapter":"","intro":"","coverUrl":"","bookUrl":""},"ruleBookInfo":{"init":"","name":"","author":"","kind":"","wordCount":"","lastChapter":"","intro":"","coverUrl":"","tocUrl":""},"ruleToc":{"chapterList":"","chapterName":"","chapterUrl":"","isVolume":"","isVip":"","isPay":"","updateTime":"","nextTocUrl":""},"ruleContent":{"webJs":"","content":"","nextContentUrl":"","sourceRegex":"","replaceRegex":"","imageStyle":"","payAction":""}}'),nt=(0,et.MT)({state:{url:localStorage.getItem("url")||"",bookSource:[],bookItemContent:ot,currentTab:localStorage.getItem("tabName")||"editTab",editTabSourceInfo:{},deBugMsg:"",searchKey:"",deleteSources:[]},getters:{},mutations:{delBookSources(t){const e=t.deleteSources;console.log("删除的列表",e),e.forEach((e=>t.bookSource.splice(e-1,1)))},changeSearchKey(t,e){t.searchKey=e},changeUrl(t,e){t.url=e,localStorage.setItem("url",e)},changeSource(t,e){t.bookSource=e},changeBookItemContent(t,e){const o=JSON.stringify(e);t.bookItemContent=JSON.parse(o)},changeBookItemNewContent(t,e){if(e.type.includes("_")){let o=e.type.split("_")[0],n=e.type.split("_")[1];t.bookItemContent[o][n]=e.value}else t.bookItemContent[e.type]=e.value,t.bookItemContent.lastUpdateTime=(new Date).getTime()},changeTabName(t,e){t.currentTab=e,localStorage.setItem("tabName",e),console.log(e)},changeEidtTabSourceInfo(t){for(const e in ot)t.editTabSourceInfo[e]=ot[e];for(const e in t.bookItemContent)t.editTabSourceInfo[e]=t.bookItemContent[e]},editHistory(t,e){let o;if(localStorage.getItem("history"))o=JSON.parse(localStorage.getItem("history")),o.new.push(e),o.new.length>50&&o.new.shift(),o.old.length>50&&o.old.shift(),localStorage.setItem("history",JSON.stringify(o));else{const t={new:[e],old:[]};localStorage.setItem("history",JSON.stringify(t))}},editHistoryUndo(t){if(localStorage.getItem("history")){let e=JSON.parse(localStorage.getItem("history"));e.old.push(t.bookItemContent),e.new.length&&(t.bookItemContent=e.new.pop()),localStorage.setItem("history",JSON.stringify(e))}},clearAllHistory(){localStorage.setItem("history",JSON.stringify({new:[],old:[]}))},clearEdit(t){t.editTabSourceInfo={},t.bookItemContent={...ot}},changeDeBugMsg(t,e){let o=document.querySelector("#debug_text");o.scrollTop=o.scrollHeight,t.deBugMsg=t.deBugMsg+e+"\n"},deBugMsgClear(t){t.deBugMsg=""},clearAllSource(t){t.bookSource=[],console.log("clear all source ")}},actions:{},modules:{}});const rt=t=>((0,r.dD)("data-v-ab8a8a34"),t=t(),(0,r.Cn)(),t),at={class:"fixed"},it=rt((()=>(0,r._)("div",{class:"half-circle-spinner"},[(0,r._)("div",{class:"circle circle-1"}),(0,r._)("div",{class:"circle circle-2"})],-1))),lt=[it];function ct(t,e,o,n,a,i){return(0,r.wg)(),(0,r.iD)("div",at,lt)}var st={name:"editLoading"};const ut=(0,c.Z)(st,[["render",ct],["__scopeId","data-v-ab8a8a34"]]);var dt=ut;const ht={key:0,class:"warm"};function pt(t,e,o,n,a,i){return o.isShow?((0,r.wg)(),(0,r.iD)("div",ht,[(0,r._)("p",null,(0,h.zw)(o.text),1),(0,r._)("div",null,[(0,r._)("button",{onClick:e[0]||(e[0]=(...t)=>n.changeShow&&n.changeShow(...t))},"关闭")])])):(0,r.kq)("",!0)}var gt={name:"editWarm",props:{isShow:{default:!1,type:Boolean},text:{type:String,default:""}},setup(t,{emit:e}){const o=()=>{e("changeShow",!t.isShow)};return{changeShow:o}}};const mt=(0,c.Z)(gt,[["render",pt],["__scopeId","data-v-27eae50d"]]);var vt=mt;const bt={class:"success"};function kt(t,e,o,n,a,i){return(0,r.wg)(),(0,r.iD)("div",bt,[(0,r._)("p",null,(0,h.zw)(o.text),1)])}var wt={props:{text:{type:String,default:""},isShow:{type:Boolean,default:!1}},emits:["changeShow"],setup(t,{emit:e}){return setTimeout((()=>{e("changeShow",!t.isShow)}),3e3),{}}};const St=(0,c.Z)(wt,[["render",kt],["__scopeId","data-v-bef92f74"]]);var Ct=St,ft={components:{editLoading:dt,editWarn:vt,editSuccess:Ct},setup(){const t=(0,y.iH)(!1),e=(0,y.iH)(!1),o=(0,y.iH)(""),n=(0,y.iH)(!1),a=(0,y.iH)(""),i=t=>{e.value=t},l=t=>{console.log(t),n.value=t},c=()=>{t.value=!0,console.log(nt.state.url),Q("getBookSources").then((e=>{nt.commit("changeTabName","editList"),nt.commit("changeSource",e.data),localStorage.setItem("url",nt.state.url),t.value=!1,o.value=`成功拉取${e.data.length}条源`,n.value=!0})).catch((o=>{console.log(o),t.value=!1,a.value=" 请求发生了错误,请检查你的后端地址,填写是否正确,或者 阅读APP\n确认开启web服务",e.value=!0,nt.commit("changeUrl","")}))},s=()=>{o.value="正在推送中",n.value=!0,t.value=!0,Q("saveBookSources",nt.state.bookSource).then((r=>{if(r.isSuccess){let t=r.data;if(Array.isArray(t)){let e="";nt.state.bookSource.length>t.length&&(nt.state.bookSource.forEach((e=>{t.find((t=>t.bookSourceUrl===e.bookSourceUrl))||console.log(e.bookSourceUrl)})),e="\n推送失败的源将用红色字体标注!"),o.value=`批量推送源到「阅读3.0APP」\n共计: ${nt.state.bookSource.length} 条\n成功: ${t.length} 条\n失败: ${nt.state.bookSource.length-t.length} 条${e}`,n.value=!0}else o.value=`批量推送源到「阅读3.0APP」成功!\n共计: ${nt.state.bookSource.length} 条`,n.value=!0}else a.value=`批量推送源失败!\nErrorMsg: ${r.errorMsg}`,e.value=!0;t.value=!1})).catch((o=>{console.log(o),t.value=!1,e.value=!0,a.value="请求发生了错误,请检查你的后端地址,填写是否正确,或者 阅读APP\n确认开启web服务"}))},u=()=>{nt.commit("changeEidtTabSourceInfo"),nt.commit("changeTabName","editTab")},d=()=>{nt.commit("editHistoryUndo")},h=()=>{nt.commit("clearEdit"),console.log("已清除"),o.value="已清除",n.value=!0},p=()=>{nt.commit("clearEdit"),nt.commit("clearAllHistory"),o.value="已清除所有历史记录",n.value=!0},g=()=>{""!==nt.state.bookItemContent.bookSourceUrl&&""!==nt.state.bookItemContent.bookSourceType&&""!==nt.state.bookItemContent.bookSourceName?Q("saveBookSources",nt.state.bookItemContent).then((t=>{t.isSuccess?(o.value=`源《${nt.state.bookItemContent.bookSourceName}》已成功保存到「阅读3.0APP」`,n.value=!0):(a.value=`源《${nt.state.bookItemContent.bookSourceName}》保存失败!\nErrorMsg: ${t.errorMsg}`,e.value=!0)})):(a.value="请检查你的 源域名 源名称 源类型 <必填>项是否全部填写",e.value=!0)},m=()=>{t.value=!0,nt.commit("deBugMsgClear"),nt.commit("changeTabName","editDebug"),Q("saveBookSources",nt.state.bookItemContent).then((e=>{console.log(e);const r=new WebSocket("ws://"+nt.state.url.replace(/\d+$/,(t=>parseInt(t)+1))+"/bookSourceDebug");let a;nt.state.bookItemContent.ruleSearch.checkKeyWord?(a=nt.state.bookItemContent.ruleSearch.checkKeyWord,console.log(a,"-------- bookItemContent")):nt.state.searchKey?(a=nt.state.searchKey,console.log(a,"----------- searchKey")):(a="我的",console.log(a,"-------------- sKey")),r.onopen=()=>{r.send(`{"tag":"${nt.state.bookItemContent.bookSourceUrl}", "key":"${a}"}`)},r.onmessage=t=>{nt.commit("changeDeBugMsg",t.data)},r.onclose=()=>{t.value=!1,o.value="调试已关闭!",n.value=!0,nt.commit("changeDeBugMsg","调试已关闭!")}}))};return(0,r.bv)((()=>{document.onkeydown=t=>{(t.ctrlKey||t.metaKey)&&"Enter"===t.key&&m(),(t.ctrlKey||t.metaKey)&&"s"===t.key&&(g(),t.preventDefault()),t.shiftKey&&"R"===t.key&&p(),t.shiftKey&&"C"===t.key&&h(),t.ctrlKey&&"e"===t.key&&(u(),t.preventDefault()),t.shiftKey&&"P"===t.key&&c(),t.ctrlKey&&"p"===t.key&&(s(),t.preventDefault())}})),{debug:m,push:s,pull:c,clearEdit:h,isShow:t,changeShow:i,warnShow:e,successText:o,changeSuccessShow:l,successShow:n,undo:d,redo:p,conver:u,warnText:a,saveSource:g}}};const _t=(0,c.Z)(ft,[["render",G],["__scopeId","data-v-3fa941b0"]]);var yt=_t;const It={class:"out"},Dt={key:0,class:"box"},Ut={key:1,class:"box"};function xt(t,e,o,n,a,i){return(0,r.wg)(),(0,r.iD)("div",It,[(0,r._)("ul",null,[(0,r._)("li",{class:(0,h.C_)("editTab"===t.current_tab?"active":""),onClick:e[0]||(e[0]=t=>n.handleSetActive("editTab"))}," 编辑源 ",2),(0,r._)("li",{class:(0,h.C_)("editDebug"===t.current_tab?"active":""),onClick:e[1]||(e[1]=t=>n.handleSetActive("editDebug"))}," 调试源 ",2),(0,r._)("li",{class:(0,h.C_)("editList"===t.current_tab?"active":""),onClick:e[2]||(e[2]=t=>n.handleSetActive("editList"))}," 源列表 ",2),(0,r._)("li",{class:(0,h.C_)("editHelp"===t.current_tab?"active":""),onClick:e[3]||(e[3]=t=>n.handleSetActive("editHelp"))}," 帮助信息 ",2)]),"editList"===t.current_tab?((0,r.wg)(),(0,r.iD)("div",Dt,[((0,r.wg)(),(0,r.j4)((0,r.LL)(t.current_tab)))])):((0,r.wg)(),(0,r.iD)("div",Ut,[((0,r.wg)(),(0,r.j4)(r.Ob,null,[((0,r.wg)(),(0,r.j4)((0,r.LL)(t.current_tab)))],1024))]))])}function Tt(t,e,o,a,i,l){return(0,r.wy)(((0,r.wg)(),(0,r.iD)("textarea",{placeholder:"这里输出序列化的JSON数据,可直接导入'阅读'APP","onUpdate:modelValue":e[0]||(e[0]=e=>t.sourceInfo=e)},null,512)),[[n.nr,t.sourceInfo]])}var Bt={name:"editTab",setup(){const t=(0,y.qj)({sourceInfo:""});return(0,r.m0)((()=>{let e=nt.state.editTabSourceInfo;Object.keys(e).length>0?(e.lastUpdateTime=(new Date).getTime(),t.sourceInfo=JSON.stringify(e,null,4)):t.sourceInfo=""})),{...(0,y.BK)(t)}}};const Kt=(0,c.Z)(Bt,[["render",Tt],["__scopeId","data-v-4301c68c"]]);var At=Kt;function jt(t,e,o,a,i,l){return(0,r.wg)(),(0,r.iD)(r.HY,null,[(0,r.wy)((0,r._)("input",{type:"text",style:{"text-align":"center",border:"1px solid #dddddd","border-radius":"4px"},placeholder:"输入搜索关键字,默认搜「我的」","onUpdate:modelValue":e[0]||(e[0]=e=>t.searchKey=e),onInput:e[1]||(e[1]=e=>a.changeSearch(t.searchKey)),onKeydown:e[2]||(e[2]=(0,n.D2)(((...t)=>a.startSearch&&a.startSearch(...t)),["enter"])),title:"输入关键词 enter(回车键)快捷搜索"},null,544),[[n.nr,t.searchKey]]),(0,r.wy)((0,r._)("textarea",{placeholder:"这里用于输出调试信息","onUpdate:modelValue":e[3]||(e[3]=e=>t.printDebug=e),ref:"textareaDom",id:"debug_text"},null,512),[[n.nr,t.printDebug]])],64)}var Et={name:"editDebug",setup(){const t=(0,y.iH)(""),e=(0,y.qj)({printDebug:nt.state.deBugMsg,searchKey:""}),o=t=>{nt.commit("changeSearchKey",t)};(0,r.m0)((()=>{e.printDebug=nt.state.deBugMsg}));const n=()=>{document.querySelectorAll(".menu>button")[6].click()};return{...(0,y.BK)(e),textareaDom:t,changeSearch:o,startSearch:n}}};const Ht=(0,c.Z)(Et,[["render",jt],["__scopeId","data-v-f11ea0d0"]]);var Nt=Ht;const Ot={style:{display:"flex","flex-flow":"column"}},Lt={class:"tool"},Pt={class:"book_list"},Jt=["value"],Zt={class:"book_index"},qt=["onClick"],Wt={class:"book_info"};function $t(t,e,o,a,i,l){return(0,r.wg)(),(0,r.iD)("div",Ot,[(0,r.wy)((0,r._)("input",{class:"search",type:"text",placeholder:"输入筛选关键词(源名称、源URL或源分组)输入自动筛选源","onUpdate:modelValue":e[0]||(e[0]=e=>t.searchKey=e),onInput:e[1]||(e[1]=e=>a.sourcesList(t.searchKey))},null,544),[[n.nr,t.searchKey]]),(0,r._)("div",null,[(0,r._)("div",Lt,[(0,r._)("button",{onClick:e[2]||(e[2]=(...t)=>a.upFile&&a.upFile(...t))},"导入书源文件"),(0,r._)("button",{onClick:e[3]||(e[3]=(...t)=>a.outExport&&a.outExport(...t))},"导出书源文件"),(0,r._)("button",{onClick:e[4]||(e[4]=(...t)=>a.deleteActiveSource&&a.deleteActiveSource(...t))},"删除选中源"),(0,r._)("button",{onClick:e[5]||(e[5]=(...t)=>a.clearAllSources&&a.clearAllSources(...t))},"清空列表")]),(0,r._)("div",Pt,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(a.sourcesList(t.searchKey),((o,i)=>((0,r.wg)(),(0,r.iD)("div",{key:o.bookSourceUrl,class:(0,h.C_)(["book_item",i===a.currentActive?"book_active":""])},[(0,r.wy)((0,r._)("input",{type:"checkbox",value:i,"onUpdate:modelValue":e[6]||(e[6]=e=>t.delArr=e)},null,8,Jt),[[n.e8,t.delArr]]),(0,r._)("div",Zt,(0,h.zw)(i+1),1),(0,r._)("div",{style:{"margin-left":"10px",flex:"1"},onClick:t=>a.handleItemClick(i)},[(0,r._)("div",Wt,[(0,r._)("span",null,(0,h.zw)(o.bookSourceName),1),(0,r._)("span",null,"最后修改:"+(0,h.zw)(a.formatTime(o.lastUpdateTime)),1),(0,r._)("span",null,"分组:"+(0,h.zw)(o.bookSourceGroup||"无分组"),1)]),(0,r._)("div",null,(0,h.zw)(o.bookSourceUrl),1)],8,qt)],2)))),128))])])])}var Mt={name:"editList",setup(){const t=(0,y.iH)(nt.state.bookSource);let e=(0,y.qj)({searchKey:"",delArr:[]}),o=(0,y.iH)(null);const n=t=>{o.value=t,nt.commit("clearEdit"),nt.commit("changeBookItemContent",l(e.searchKey)[t])},a=()=>{nt.commit("clearAllSource")},i=t=>{const e=new Date(t),o=e.getFullYear();let n=e.getMonth()+1;n=n<10?"0"+n:n;let r=e.getDate();r=r<10?"0"+r:r;let a=e.getHours();a=a<10?"0"+a:a;let i=e.getMinutes();i=i<10?"0"+i:i;let l=e.getSeconds();return l=l<10?"0"+l:l,o+"-"+n+"-"+r+" "+a+":"+i+":"+l},l=e=>""===e?t.value:t.value.filter((t=>t.bookSourceName.toUpperCase().includes(e.toUpperCase())))||t.value.filter((t=>t.bookSourceGroup.toUpperCase().includes(e.toUpperCase())))||t.value.filter((t=>t.bookSourceUrl.toUpperCase().includes(e.toUpperCase())));(0,r.m0)((()=>{t.value=nt.state.bookSource}));const c=()=>{if(0===e.delArr.length)return console.log("没有选中的书源"),!1;const o=[],n=l(e.searchKey);e.delArr.forEach((t=>{o.push(n[t])})),Q("deleteBookSources",o).then((o=>{o.isSuccess?(console.log("删除成功"),e.delArr.forEach((t=>{n.splice(t,1),console.log(t)})),e.delArr=[],Q("getBookSources").then((e=>{t.value=e.data,console.log("同步完成!")}))):console.log("错误",o)}))},s=()=>{const t=document.createElement("input");t.type="file",t.accept=".json",t.addEventListener("change",(t=>{const e=t.target.files[0];var o=new FileReader;o.readAsText(e),o.onload=()=>{const t=JSON.parse(o.result);nt.commit("changeBookItemContent",t)}})),t.click()},u=()=>{const t=document.createElement("a");t.download=`BookSources${Date().replace(/.*?\s(\d+)\s(\d+)\s(\d+:\d+:\d+).*/,"$2$1$3").replace(/:/g,"")}.json`;let e=new Blob([JSON.stringify(nt.state.bookSource,null,4)],{type:"application/json"});t.href=window.URL.createObjectURL(e),t.click()};return{currentActive:o,deleteActiveSource:c,handleItemClick:n,...(0,y.BK)(e),formatTime:i,sourcesList:l,clearAllSources:a,bookSources:t,upFile:s,outExport:u}}};const Rt=(0,c.Z)(Mt,[["render",$t],["__scopeId","data-v-7d0424af"]]);var Yt=Rt;const zt=(0,r.uE)('书源制作教程xpath基础教程xpath高级教程正则表达式教程正则表达式在线验证工具
^$()[]{}.?+*| 这些是Java正则特殊符号,匹配需转义
(?s) 前缀表示跨行解析
(?m) 前缀表示逐行匹配
(?i) 前缀表示忽略大小写
',6);function Vt(t,e,o,n,r,a){return zt}var Ft={name:"editHelp"};const Gt=(0,c.Z)(Ft,[["render",Vt],["__scopeId","data-v-d4554fa8"]]);var Qt=Gt,Xt={name:"editOut",components:{editDebug:Nt,editTab:At,editList:Yt,editHelp:Qt},setup(){const t=(0,y.qj)({url:localStorage.getItem("url")||"",current_tab:nt.state.currentTab||"editTab"}),e=t=>{nt.commit("changeTabName",t),localStorage.setItem("tabName",t)},o=t=>{nt.commit("changeUrl",t)};(0,r.m0)((()=>{t.current_tab=nt.state.currentTab}));const n=()=>{document.querySelectorAll(".menu>button")[1].click()};return{...(0,y.BK)(t),handleSetActive:e,changInput:o,pullSource:n}}};const te=(0,c.Z)(Xt,[["render",xt]]);var ee=te,oe={components:{editMenu:yt,editOut:ee},setup(){const t=(0,y.qj)({});return(0,r.bv)((()=>{})),{...(0,y.BK)(t)}}};const ne=(0,c.Z)(oe,[["render",_],["__scopeId","data-v-de4729c0"]]);var re=ne;const ae={class:"main"};function ie(t,e,o,n,a,i){const l=(0,r.up)("edit-input");return(0,r.wg)(),(0,r.iD)("div",ae,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((e,o)=>((0,r.wg)(),(0,r.j4)(l,{key:o,type:e.id,hint:e.hint,title:e.title,rows:e.rows,content:t.bookContent[e.id],onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))])}const le=t=>((0,r.dD)("data-v-3974490a"),t=t(),(0,r.Cn)(),t),ce={class:"edit_input"},se=le((()=>(0,r._)("i",null,":",-1))),ue=["id","placeholder","rows","value"];function de(t,e,o,n,a,i){return(0,r.wg)(),(0,r.iD)("div",ce,[(0,r._)("span",null,[(0,r.Uk)((0,h.zw)(o.title),1),se]),(0,r._)("textarea",{id:o.type,placeholder:o.hint,rows:o.rows,value:o.content,ref:"attr",onInput:e[0]||(e[0]=(...t)=>n.change&&n.change(...t)),onBlur:e[1]||(e[1]=(...t)=>n.changeHistory&&n.changeHistory(...t)),onFocus:e[2]||(e[2]=(...t)=>n.changeHeight&&n.changeHeight(...t))},null,40,ue)])}var he={props:{title:{type:String,default:""},rows:{type:Number,default:1},hint:{type:String,default:""},type:{type:String,default:""},content:{type:[String,Number,Boolean],default:""}},emits:["changeContent"],setup(t,{emit:e}){const o=(0,y.iH)(""),n=()=>{e("changeContent",{value:o.value.value,type:o.value.getAttribute("id")})},a=()=>{localStorage.getItem("history")||localStorage.setItem("history",JSON.stringify({new:[],old:[]}));const t=JSON.parse(localStorage.getItem("history")),e=t.new;if(e.length)if(e[e.length-1][o.value.getAttribute("id")]!==nt.state.bookItemContent[o.value.getAttribute("id")])nt.commit("editHistory",nt.state.bookItemContent);else{const t=o.value.getAttribute("id");if(t.includes("_")){let o=t.split("_")[0],n=t.split("_")[1];e[e.length-1][o][n]!==nt.state.bookItemContent[o][n]&&(nt.commit("editHistory",nt.state.bookItemContent),console.log("添加记录"))}else console.log("重复历史,不记录")}else nt.commit("editHistory",nt.state.bookItemContent),console.log("第一次记录")},i=()=>{(0,r.Y3)((()=>{let t=o.value;const e=t.scrollHeight,n=t.offsetHeight;n<=e&&(t.style.height="auto",t.style.height=t.scrollHeight+"px")}))};return{changeHistory:a,change:n,attr:o,changeHeight:i}}};const pe=(0,c.Z)(he,[["render",de],["__scopeId","data-v-3974490a"]]);var ge=pe,me={base:[{title:"源域名",rows:1,id:"bookSourceUrl",hint:"<必填>通常填写网站主页,例: https://www.qidian.com"},{title:"源类型",rows:1,id:"bookSourceType",hint:"<必填>0:文本 1:音频 2:图片 3:文件(只提供下载的网站)"},{title:"源名称",rows:1,id:"bookSourceName",hint:"<必填>会显示在源列表"},{title:"源分组",rows:1,id:"bookSourceGroup",hint:"<选填>描述源的特征信息"},{title:"源注释",rows:1,id:"bookSourceComment",hint:"<选填>描述源作者和状态"},{title:"登录地址",rows:1,id:"loginUrl",hint:"<选填>填写网站登录网址,仅在需要登录的源有用"},{title:"登录界面",rows:3,id:"loginUi",hint:"<选填>自定义登录界面"},{title:"登录检测",rows:3,id:"loginCheckJs",hint:"<选填>登录检测js"},{title:"并发率",rows:1,id:"concurrentRate",hint:"<选填>并发率"},{title:"请求头",rows:3,id:"header",hint:"<选填>客户端标识"},{title:"链接验证",rows:1,id:"bookUrlPattern",hint:"<选填>当详情页URL与源URL的域名不一致时有效,用于添加网址"}],search:[{title:"搜索地址",rows:1,id:"searchUrl",hint:"[域名可省略]/search.php@kw={{key}}"},{title:"校验文字",rows:1,id:"ruleSearch_checkKeyWord",hint:"校验关键字"},{title:"列表规则",rows:1,id:"ruleSearch_bookList",hint:"选择书籍节点 (规则结果为List)"},{title:"书名规则",rows:1,id:"ruleSearch_name",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",rows:1,id:"ruleSearch_author",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",rows:1,id:"ruleSearch_kind",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",rows:1,id:"ruleSearch_wordCount",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",rows:1,id:"ruleSearch_lastChapter",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",rows:1,id:"ruleSearch_intro",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",rows:1,id:"ruleSearch_coverUrl",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",rows:1,id:"ruleSearch_bookUrl",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}],find:[{title:"发现地址",rows:6,id:"exploreUrl",hint:"内容能显示在发现菜单\n每行一条发现分类(网址域名可省略),例:\n名称1::网址(Url)1\n名称2::网址(Url)2\n..."},{title:"列表规则",rows:1,id:"ruleExplore_bookList",hint:"选择书籍节点 (规则结果为List)"},{title:"书名规则",rows:1,id:"ruleExplore_name",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",rows:1,id:"ruleExplore_author",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",rows:1,id:"ruleExplore_kind",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",rows:1,id:"ruleExplore_wordCount",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",rows:1,id:"ruleExplore_lastChapter",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",rows:1,id:"ruleExplore_intro",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",rows:1,id:"ruleExplore_coverUrl",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",rows:1,id:"ruleExplore_bookUrl",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}],detail:[{title:"预处理",rows:3,id:"ruleBookInfo_init",hint:"用于加速详情信息检索,只支持AllInOne规则"},{title:"书名规则",rows:1,id:"ruleBookInfo_name",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",rows:1,id:"ruleBookInfo_author",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",rows:1,id:"ruleBookInfo_kind",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",rows:1,id:"ruleBookInfo_wordCount",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",rows:1,id:"ruleBookInfo_lastChapter",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",rows:1,id:"ruleBookInfo_intro",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",rows:1,id:"ruleBookInfo_coverUrl",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"目录地址",rows:1,id:"ruleBookInfo_tocUrl",hint:"选择书籍详情页网址 (规则结果为String类型的url, 与详情页相同时可省略)"}],directory:[{title:"列表规则",rows:3,id:"ruleToc_chapterList",hint:"选择目录列表的章节节点 (规则结果为List)"},{title:"章节名称",rows:1,id:"ruleToc_chapterName",hint:"选择章节名称 (规则结果为String)"},{title:"章节地址",rows:1,id:"ruleToc_chapterUrl",hint:"选择章节链接 (规则结果为String类型的Url)"},{title:"卷名标识",rows:1,id:"ruleToc_isVolume",hint:"章节名称是否是卷名 (规则结果为Bool)"},{title:"收费标识",rows:1,id:"ruleToc_isVip",hint:"章节是否为VIP章节 (规则结果为Bool)"},{title:"购买标识",rows:1,id:"ruleToc_isPay",hint:"章节是否为已购买 (规则结果为Bool)"},{title:"章节信息",rows:1,id:"ruleToc_updateTime",hint:"选择章节信息 (规则结果为String)"},{title:"翻页规则",rows:1,id:"ruleToc_nextTocUrl",hint:"选择目录下一页链接 (规则结果为List或String)"}],content:[{title:"脚本注入",rows:3,id:"ruleContent_webJs",hint:"注入javascript,用于模拟鼠标点击等,必须有返回值,一般为String类型"},{title:"正文规则",rows:1,id:"ruleContent_content",hint:"选择正文内容 (规则结果为String)"},{title:"翻页规则",rows:1,id:"ruleContent_nextContentUrl",hint:"选择下一分页(不是下一章)链接 (规则结果为String类型的Url)"},{title:"资源正则",rows:1,id:"ruleContent_sourceRegex",hint:"匹配资源的url特征,用于嗅探"},{title:"替换规则",rows:1,id:"ruleContent_replaceRegex",hint:"多页内容合并后替换,用于正文净化"},{title:"图片样式",rows:1,id:"ruleContent_imageStyle",hint:"FULL:铺满 不填:默认样式"},{title:"购买操作",rows:1,id:"ruleContent_payAction",hint:"购买章节 返回链接或js"}],other:[{title:"启用搜索",rows:1,id:"enabled",hint:"启用: true 关闭: false (可选,默认true)"},{title:"启用发现",rows:1,id:"enabledExplore",hint:"启用: true 关闭: false (可选,默认true)"},{title:"搜索权重",rows:1,id:"weight",hint:"整数: 0~N (可选,默认0) | 数字越大越靠前"},{title:"排序编号",rows:1,id:"customOrder",hint:"整数: 0~N (可选,默认0) | 数字越小越靠前"}]},ve={components:{editInput:ge},setup(){const t=(0,y.qj)({data:me.base,bookContent:nt.state.bookItemContent}),e=t=>{nt.commit("changeBookItemNewContent",t)};return(0,r.m0)((()=>{t.bookContent=nt.state.bookItemContent})),{...(0,y.BK)(t),upData:e}}};const be=(0,c.Z)(ve,[["render",ie]]);var ke=be;const we={class:"main"};function Se(t,e,o,n,a,i){const l=(0,r.up)("edit-input");return(0,r.wg)(),(0,r.iD)("div",we,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((t,e)=>((0,r.wg)(),(0,r.j4)(l,{key:e,type:t.id,hint:t.hint,title:t.title,rows:t.rows,content:n.setContent(t.id),onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))])}function Ce(){const t=(0,y.qj)({bookContent:nt.state.bookItemContent}),e=t=>{nt.commit("changeBookItemNewContent",t)},o=e=>{try{if(e.includes("_")){let o=e.split("_")[0],n=e.split("_")[1];return t.bookContent[o][n]}return t.bookContent[e]}catch(o){console.log("导入错误",o.TypeError),nt.commit("clearEdit")}};return(0,r.m0)((()=>{t.bookContent=nt.state.bookItemContent})),{...(0,y.BK)(t),upData:e,setContent:o}}var fe={components:{editInput:ge},setup(){const{upData:t,bookContent:e,setContent:o}=Ce(),n=(0,y.qj)({data:me.search});return{...(0,y.BK)(n),upData:t,bookContent:e,setContent:o}}};const _e=(0,c.Z)(fe,[["render",Se]]);var ye=_e;const Ie={class:"main"};function De(t,e,o,n,a,i){const l=(0,r.up)("edit-input");return(0,r.wg)(),(0,r.iD)("div",Ie,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((t,e)=>((0,r.wg)(),(0,r.j4)(l,{key:e,type:t.id,hint:t.hint,title:t.title,rows:t.rows,content:n.setContent(t.id),onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))])}var Ue={components:{editInput:ge},setup(){const{upData:t,setContent:e,bookContent:o}=Ce(),n=(0,y.qj)({data:me.directory});return{...(0,y.BK)(n),upData:t,setContent:e,bookContent:o}}};const xe=(0,c.Z)(Ue,[["render",De]]);var Te=xe;const Be={class:"main"};function Ke(t,e,o,n,a,i){const l=(0,r.up)("edit-input");return(0,r.wg)(),(0,r.iD)("div",Be,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((t,e)=>((0,r.wg)(),(0,r.j4)(l,{key:e,type:t.id,hint:t.hint,title:t.title,rows:t.rows,content:n.setContent(t.id),onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))])}var Ae={components:{editInput:ge},setup(){const{setContent:t,upData:e,bookContent:o}=Ce(),n=(0,y.qj)({data:me.content});return{...(0,y.BK)(n),upData:e,setContent:t,bookContent:o}}};const je=(0,c.Z)(Ae,[["render",Ke]]);var Ee=je;const He={class:"main"};function Ne(t,e,o,n,a,i){const l=(0,r.up)("edit-input");return(0,r.wg)(),(0,r.iD)("div",He,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((t,e)=>((0,r.wg)(),(0,r.j4)(l,{key:e,type:t.id,hint:t.hint,title:t.title,rows:t.rows,content:n.setContent(t.id),onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))])}var Oe={components:{editInput:ge},setup(){const{upData:t,bookContent:e,setContent:o}=Ce(),n=(0,y.qj)({data:me.detail});return{...(0,y.BK)(n),upData:t,bookContent:e,setContent:o}}};const Le=(0,c.Z)(Oe,[["render",Ne]]);var Pe=Le;const Je={class:"main"};function Ze(t,e,o,n,a,i){const l=(0,r.up)("edit-input"),c=(0,r.up)("router-view");return(0,r.wg)(),(0,r.iD)(r.HY,null,[(0,r._)("div",Je,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((t,e)=>((0,r.wg)(),(0,r.j4)(l,{key:e,type:t.id,hint:t.hint,title:t.title,rows:t.rows,content:n.setContent(t.id),onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))]),(0,r.Wm)(c)],64)}var qe={components:{editInput:ge},setup(){const{upData:t,bookContent:e,setContent:o}=Ce(),n=(0,y.qj)({data:me.other});return{...(0,y.BK)(n),upData:t,bookContent:e,setContent:o}}};const We=(0,c.Z)(qe,[["render",Ze]]);var $e=We;const Me={class:"main"};function Re(t,e,o,n,a,i){const l=(0,r.up)("edit-input");return(0,r.wg)(),(0,r.iD)("div",Me,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((t,e)=>((0,r.wg)(),(0,r.j4)(l,{key:e,type:t.id,hint:t.hint,title:t.title,rows:t.rows,content:n.setContent(t.id),onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))])}var Ye={components:{editInput:ge},setup(){const{upData:t,setContent:e,bookContent:o}=Ce(),n=(0,y.qj)({data:me.find});return{...(0,y.BK)(n),upData:t,setContent:e,bookContent:o}}};const ze=(0,c.Z)(Ye,[["render",Re]]);var Ve=ze;const Fe=[{path:"/",redirect:{name:"home"}},{path:"/bookSource",name:"home",component:re,redirect:{name:"base"},children:[{path:"/bookSource/base",name:"base",component:ke},{path:"/bookSource/search",name:"search",component:ye},{path:"/bookSource/find",name:"find",component:Ve},{path:"/bookSource/detail",name:"detail",component:Pe},{path:"/bookSource/directory",name:"directory",component:Te},{path:"/bookSource/content",name:"content",component:Ee},{path:"/bookSource/other",name:"other",component:$e},{path:"/bookSource/:asdasdasd/:asdasdas",redirect:{name:"home"}}]},{path:"/:asdasdasd",redirect:{name:"home"}},{path:"/bookSource/:asdasdasda",redirect:{name:"home"}}],Ge=(0,d.p7)({history:(0,d.r5)(),routes:Fe});var Qe=Ge;(0,n.ri)(u).use(nt).use(Qe).mount("#app")}},e={};function o(n){var r=e[n];if(void 0!==r)return r.exports;var a=e[n]={exports:{}};return t[n](a,a.exports,o),a.exports}o.m=t,function(){var t=[];o.O=function(e,n,r,a){if(!n){var i=1/0;for(u=0;u=a)&&Object.keys(o.O).every((function(t){return o.O[t](n[c])}))?n.splice(c--,1):(l=!1,a0&&t[u-1][2]>a;u--)t[u]=t[u-1];t[u]=[n,r,a]}}(),function(){o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})}}(),function(){o.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"===typeof window)return window}}()}(),function(){o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}}(),function(){var t={143:0};o.O.j=function(e){return 0===t[e]};var e=function(e,n){var r,a,i=n[0],l=n[1],c=n[2],s=0;if(i.some((function(e){return 0!==t[e]}))){for(r in l)o.o(l,r)&&(o.m[r]=l[r]);if(c)var u=c(o)}for(e&&e(n);s\n
\n \n
\n\n\n\n\n\n","import { render } from \"./App.vue?vue&type=template&id=c114d7a2\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=c114d7a2&lang=scss\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","\n\n\n\n\n\n","/**\n * 发送后端请求\n * @param type 请求资源URL\n * @param data 保存数据\n * @returns {Promise}\n */\nfunction http(type, data) {\n const formatUrl = `http://${localStorage.getItem(\"url\") || \"\"}/${type}`;\n switch (type) {\n case \"getBookSources\":\n return Get(formatUrl);\n case \"saveBookSources\":\n return Post(formatUrl, data);\n case \"deleteBookSources\":\n return Post(formatUrl, data);\n }\n}\n\nexport { http };\n\n/**\n * POST请求\n * @param url\n * @param body\n * @returns {Promise}\n * @constructor\n */\nfunction Post(url, body) {\n return fetch(url, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }).then((res) => res.json());\n}\n\n/**\n * GET请求\n * @param url\n * @returns {Promise}\n * @constructor\n */\nfunction Get(url) {\n return fetch(url).then((res) => res.json());\n}\n","import { createStore } from \"vuex\";\nimport source_json from \"@/utils/bookSource.json\";\n\nexport default createStore({\n state: {\n url: localStorage.getItem(\"url\") || \"\",\n bookSource: [], // 临时存放所有书源\n bookItemContent: source_json, // 当前点击的书源项\n currentTab: localStorage.getItem(\"tabName\") || \"editTab\",\n editTabSourceInfo: {},\n deBugMsg: \"\",\n searchKey: \"\",\n deleteSources: [],\n },\n getters: {},\n mutations: {\n delBookSources(state) {\n const delArr = state.deleteSources;\n console.log(\"删除的列表\", delArr);\n delArr.forEach((item) => state.bookSource.splice(item - 1, 1));\n },\n changeSearchKey(state, key) {\n state.searchKey = key;\n },\n changeUrl(state, url) {\n state.url = url;\n localStorage.setItem(\"url\", url);\n },\n changeSource(state, data) {\n state.bookSource = data;\n },\n // editList Click\n changeBookItemContent(state, content) {\n const newContent = JSON.stringify(content);\n state.bookItemContent = JSON.parse(newContent);\n // console.log(content);\n },\n // edit Content\n changeBookItemNewContent(state, newContent) {\n if (newContent.type.includes(\"_\")) {\n let rule1 = newContent.type.split(\"_\")[0];\n let rule2 = newContent.type.split(\"_\")[1];\n state.bookItemContent[rule1][rule2] = newContent.value;\n // console.log(rule1, rule2, state.bookItemContent);\n // console.log(newContent);\n } else {\n state.bookItemContent[newContent.type] = newContent.value;\n // edit last time\n state.bookItemContent.lastUpdateTime = new Date().getTime();\n }\n // console.log(state.bookItemContent);\n },\n // update editTab tabName and editTab info\n changeTabName(state, tabName) {\n state.currentTab = tabName;\n localStorage.setItem(\"tabName\", tabName);\n\n console.log(tabName);\n },\n changeEidtTabSourceInfo(state) {\n // edit last time\n for (const sourceJsonKey in source_json) {\n state.editTabSourceInfo[sourceJsonKey] = source_json[sourceJsonKey];\n }\n for (const bookItemContentKey in state.bookItemContent) {\n state.editTabSourceInfo[bookItemContentKey] =\n state.bookItemContent[bookItemContentKey];\n }\n },\n editHistory(state, history) {\n let historyObj;\n if (localStorage.getItem(\"history\")) {\n historyObj = JSON.parse(localStorage.getItem(\"history\"));\n historyObj.new.push(history);\n if (historyObj.new.length > 50) {\n historyObj.new.shift();\n }\n if (historyObj.old.length > 50) {\n historyObj.old.shift();\n }\n localStorage.setItem(\"history\", JSON.stringify(historyObj));\n } else {\n const arr = { new: [history], old: [] };\n localStorage.setItem(\"history\", JSON.stringify(arr));\n }\n },\n editHistoryUndo(state) {\n if (localStorage.getItem(\"history\")) {\n let historyObj = JSON.parse(localStorage.getItem(\"history\"));\n historyObj.old.push(state.bookItemContent);\n if (historyObj.new.length) {\n state.bookItemContent = historyObj.new.pop();\n }\n localStorage.setItem(\"history\", JSON.stringify(historyObj));\n }\n },\n clearAllHistory() {\n localStorage.setItem(\"history\", JSON.stringify({ new: [], old: [] }));\n },\n clearEdit(state) {\n state.editTabSourceInfo = {};\n state.bookItemContent = { ...source_json };\n // console.log(source_json);\n // console.log(state.bookItemContent);\n },\n changeDeBugMsg(state, msg) {\n let el = document.querySelector(\"#debug_text\");\n el.scrollTop = el.scrollHeight;\n state.deBugMsg = state.deBugMsg + msg + \"\\n\";\n },\n deBugMsgClear(state) {\n state.deBugMsg = \"\";\n },\n\n // clear all source\n clearAllSource(state) {\n state.bookSource = [];\n console.log(\"clear all source \");\n },\n },\n actions: {},\n modules: {},\n});\n","\n\n\n\n\n","import { render } from \"./editLoading.vue?vue&type=template&id=ab8a8a34&scoped=true\"\nimport script from \"./editLoading.vue?vue&type=script&lang=js\"\nexport * from \"./editLoading.vue?vue&type=script&lang=js\"\n\nimport \"./editLoading.vue?vue&type=style&index=0&id=ab8a8a34&scoped=true&lang=css\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ab8a8a34\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editWarn.vue?vue&type=template&id=27eae50d&scoped=true\"\nimport script from \"./editWarn.vue?vue&type=script&lang=js\"\nexport * from \"./editWarn.vue?vue&type=script&lang=js\"\n\nimport \"./editWarn.vue?vue&type=style&index=0&id=27eae50d&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-27eae50d\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editSuccess.vue?vue&type=template&id=bef92f74&scoped=true\"\nimport script from \"./editSuccess.vue?vue&type=script&lang=js\"\nexport * from \"./editSuccess.vue?vue&type=script&lang=js\"\n\nimport \"./editSuccess.vue?vue&type=style&index=0&id=bef92f74&scoped=true&lang=css\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-bef92f74\"]])\n\nexport default __exports__","import { render } from \"./editMenu.vue?vue&type=template&id=3fa941b0&scoped=true\"\nimport script from \"./editMenu.vue?vue&type=script&lang=js\"\nexport * from \"./editMenu.vue?vue&type=script&lang=js\"\n\nimport \"./editMenu.vue?vue&type=style&index=0&id=3fa941b0&lang=css\"\nimport \"./editMenu.vue?vue&type=style&index=1&id=3fa941b0&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3fa941b0\"]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n","import { render } from \"./editTab.vue?vue&type=template&id=4301c68c&scoped=true\"\nimport script from \"./editTab.vue?vue&type=script&lang=js\"\nexport * from \"./editTab.vue?vue&type=script&lang=js\"\n\nimport \"./editTab.vue?vue&type=style&index=0&id=4301c68c&scoped=true&lang=css\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4301c68c\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editDebug.vue?vue&type=template&id=f11ea0d0&scoped=true\"\nimport script from \"./editDebug.vue?vue&type=script&lang=js\"\nexport * from \"./editDebug.vue?vue&type=script&lang=js\"\n\nimport \"./editDebug.vue?vue&type=style&index=0&id=f11ea0d0&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f11ea0d0\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editList.vue?vue&type=template&id=7d0424af&scoped=true\"\nimport script from \"./editList.vue?vue&type=script&lang=js\"\nexport * from \"./editList.vue?vue&type=script&lang=js\"\n\nimport \"./editList.vue?vue&type=style&index=0&id=7d0424af&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7d0424af\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editHelp.vue?vue&type=template&id=d4554fa8&scoped=true\"\nimport script from \"./editHelp.vue?vue&type=script&lang=js\"\nexport * from \"./editHelp.vue?vue&type=script&lang=js\"\n\nimport \"./editHelp.vue?vue&type=style&index=0&id=d4554fa8&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d4554fa8\"]])\n\nexport default __exports__","import { render } from \"./editOut.vue?vue&type=template&id=7fd34fab\"\nimport script from \"./editOut.vue?vue&type=script&lang=js\"\nexport * from \"./editOut.vue?vue&type=script&lang=js\"\n\nimport \"./editOut.vue?vue&type=style&index=0&id=7fd34fab&lang=scss\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./bookSource.vue?vue&type=template&id=de4729c0&scoped=true\"\nimport script from \"./bookSource.vue?vue&type=script&lang=js\"\nexport * from \"./bookSource.vue?vue&type=script&lang=js\"\n\nimport \"./bookSource.vue?vue&type=style&index=0&id=de4729c0&lang=scss\"\nimport \"./bookSource.vue?vue&type=style&index=1&id=de4729c0&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-de4729c0\"]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./editInput.vue?vue&type=template&id=3974490a&scoped=true\"\nimport script from \"./editInput.vue?vue&type=script&lang=js\"\nexport * from \"./editInput.vue?vue&type=script&lang=js\"\n\nimport \"./editInput.vue?vue&type=style&index=0&id=3974490a&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3974490a\"]])\n\nexport default __exports__","export default {\n base: [\n {\n title: \"源域名\",\n rows: 1,\n id: \"bookSourceUrl\",\n hint: \"<必填>通常填写网站主页,例: https://www.qidian.com\",\n },\n {\n title: \"源类型\",\n rows: 1,\n id: \"bookSourceType\",\n hint: \"<必填>0:文本 1:音频 2:图片 3:文件(只提供下载的网站)\",\n },\n {\n title: \"源名称\",\n rows: 1,\n id: \"bookSourceName\",\n hint: \"<必填>会显示在源列表\",\n },\n {\n title: \"源分组\",\n rows: 1,\n id: \"bookSourceGroup\",\n hint: \"<选填>描述源的特征信息\",\n },\n {\n title: \"源注释\",\n rows: 1,\n id: \"bookSourceComment\",\n hint: \"<选填>描述源作者和状态\",\n },\n {\n title: \"登录地址\",\n rows: 1,\n id: \"loginUrl\",\n hint: \"<选填>填写网站登录网址,仅在需要登录的源有用\",\n },\n {\n title: \"登录界面\",\n rows: 3,\n id: \"loginUi\",\n hint: \"<选填>自定义登录界面\",\n },\n {\n title: \"登录检测\",\n rows: 3,\n id: \"loginCheckJs\",\n hint: \"<选填>登录检测js\",\n },\n {\n title: \"并发率\",\n rows: 1,\n id: \"concurrentRate\",\n hint: \"<选填>并发率\",\n },\n {\n title: \"请求头\",\n rows: 3,\n id: \"header\",\n hint: \"<选填>客户端标识\",\n },\n {\n title: \"链接验证\",\n rows: 1,\n id: \"bookUrlPattern\",\n hint: \"<选填>当详情页URL与源URL的域名不一致时有效,用于添加网址\",\n },\n ],\n search: [\n {\n title: \"搜索地址\",\n rows: 1,\n id: \"searchUrl\",\n hint: \"[域名可省略]/search.php@kw={{key}}\",\n },\n {\n title: \"校验文字\",\n rows: 1,\n id: \"ruleSearch_checkKeyWord\",\n hint: \"校验关键字\",\n },\n {\n title: \"列表规则\",\n rows: 1,\n id: \"ruleSearch_bookList\",\n hint: \"选择书籍节点 (规则结果为List)\",\n },\n {\n title: \"书名规则\",\n rows: 1,\n id: \"ruleSearch_name\",\n hint: \"选择节点书名 (规则结果为String)\",\n },\n {\n title: \"作者规则\",\n rows: 1,\n id: \"ruleSearch_author\",\n hint: \"选择节点作者 (规则结果为String)\",\n },\n {\n title: \"分类规则\",\n rows: 1,\n id: \"ruleSearch_kind\",\n hint: \"选择节点分类信息 (规则结果为String)\",\n },\n {\n title: \"字数规则\",\n rows: 1,\n id: \"ruleSearch_wordCount\",\n hint: \"选择节点字数信息 (规则结果为String)\",\n },\n {\n title: \"最新章节\",\n rows: 1,\n id: \"ruleSearch_lastChapter\",\n hint: \"选择节点最新章节 (规则结果为String)\",\n },\n {\n title: \"简介规则\",\n rows: 1,\n id: \"ruleSearch_intro\",\n hint: \"选择节点书籍简介 (规则结果为String)\",\n },\n {\n title: \"封面规则\",\n rows: 1,\n id: \"ruleSearch_coverUrl\",\n hint: \"选择节点书籍封面 (规则结果为String类型的url)\",\n },\n {\n title: \"详情地址\",\n rows: 1,\n id: \"ruleSearch_bookUrl\",\n hint: \"选择书籍详情页网址 (规则结果为String类型的url)\",\n },\n ],\n find: [\n {\n title: \"发现地址\",\n rows: 6,\n id: \"exploreUrl\",\n hint: \"内容能显示在发现菜单\\n每行一条发现分类(网址域名可省略),例:\\n名称1::网址(Url)1\\n名称2::网址(Url)2\\n...\",\n },\n {\n title: \"列表规则\",\n rows: 1,\n id: \"ruleExplore_bookList\",\n hint: \"选择书籍节点 (规则结果为List)\",\n },\n {\n title: \"书名规则\",\n rows: 1,\n id: \"ruleExplore_name\",\n hint: \"选择节点书名 (规则结果为String)\",\n },\n {\n title: \"作者规则\",\n rows: 1,\n id: \"ruleExplore_author\",\n hint: \"选择节点作者 (规则结果为String)\",\n },\n {\n title: \"分类规则\",\n rows: 1,\n id: \"ruleExplore_kind\",\n hint: \"选择节点分类信息 (规则结果为String)\",\n },\n {\n title: \"字数规则\",\n rows: 1,\n id: \"ruleExplore_wordCount\",\n hint: \"选择节点字数信息 (规则结果为String)\",\n },\n {\n title: \"最新章节\",\n rows: 1,\n id: \"ruleExplore_lastChapter\",\n hint: \"选择节点最新章节 (规则结果为String)\",\n },\n {\n title: \"简介规则\",\n rows: 1,\n id: \"ruleExplore_intro\",\n hint: \"选择节点书籍简介 (规则结果为String)\",\n },\n {\n title: \"封面规则\",\n rows: 1,\n id: \"ruleExplore_coverUrl\",\n hint: \"选择节点书籍封面 (规则结果为String类型的url)\",\n },\n {\n title: \"详情地址\",\n rows: 1,\n id: \"ruleExplore_bookUrl\",\n hint: \"选择书籍详情页网址 (规则结果为String类型的url)\",\n },\n ],\n detail: [\n {\n title: \"预处理\",\n rows: 3,\n id: \"ruleBookInfo_init\",\n hint: \"用于加速详情信息检索,只支持AllInOne规则\",\n },\n {\n title: \"书名规则\",\n rows: 1,\n id: \"ruleBookInfo_name\",\n hint: \"选择节点书名 (规则结果为String)\",\n },\n {\n title: \"作者规则\",\n rows: 1,\n id: \"ruleBookInfo_author\",\n hint: \"选择节点作者 (规则结果为String)\",\n },\n {\n title: \"分类规则\",\n rows: 1,\n id: \"ruleBookInfo_kind\",\n hint: \"选择节点分类信息 (规则结果为String)\",\n },\n {\n title: \"字数规则\",\n rows: 1,\n id: \"ruleBookInfo_wordCount\",\n hint: \"选择节点字数信息 (规则结果为String)\",\n },\n {\n title: \"最新章节\",\n rows: 1,\n id: \"ruleBookInfo_lastChapter\",\n hint: \"选择节点最新章节 (规则结果为String)\",\n },\n {\n title: \"简介规则\",\n rows: 1,\n id: \"ruleBookInfo_intro\",\n hint: \"选择节点书籍简介 (规则结果为String)\",\n },\n {\n title: \"封面规则\",\n rows: 1,\n id: \"ruleBookInfo_coverUrl\",\n hint: \"选择节点书籍封面 (规则结果为String类型的url)\",\n },\n {\n title: \"目录地址\",\n rows: 1,\n id: \"ruleBookInfo_tocUrl\",\n hint: \"选择书籍详情页网址 (规则结果为String类型的url, 与详情页相同时可省略)\",\n },\n ],\n directory: [\n {\n title: \"列表规则\",\n rows: 3,\n id: \"ruleToc_chapterList\",\n hint: \"选择目录列表的章节节点 (规则结果为List)\",\n },\n {\n title: \"章节名称\",\n rows: 1,\n id: \"ruleToc_chapterName\",\n hint: \"选择章节名称 (规则结果为String)\",\n },\n {\n title: \"章节地址\",\n rows: 1,\n id: \"ruleToc_chapterUrl\",\n hint: \"选择章节链接 (规则结果为String类型的Url)\",\n },\n {\n title: \"卷名标识\",\n rows: 1,\n id: \"ruleToc_isVolume\",\n hint: \"章节名称是否是卷名 (规则结果为Bool)\",\n },\n {\n title: \"收费标识\",\n rows: 1,\n id: \"ruleToc_isVip\",\n hint: \"章节是否为VIP章节 (规则结果为Bool)\",\n },\n {\n title: \"购买标识\",\n rows: 1,\n id: \"ruleToc_isPay\",\n hint: \"章节是否为已购买 (规则结果为Bool)\",\n },\n {\n title: \"章节信息\",\n rows: 1,\n id: \"ruleToc_updateTime\",\n hint: \"选择章节信息 (规则结果为String)\",\n },\n {\n title: \"翻页规则\",\n rows: 1,\n id: \"ruleToc_nextTocUrl\",\n hint: \"选择目录下一页链接 (规则结果为List或String)\",\n },\n ],\n content: [\n {\n title: \"脚本注入\",\n rows: 3,\n id: \"ruleContent_webJs\",\n hint: \"注入javascript,用于模拟鼠标点击等,必须有返回值,一般为String类型\",\n },\n {\n title: \"正文规则\",\n rows: 1,\n id: \"ruleContent_content\",\n hint: \"选择正文内容 (规则结果为String)\",\n },\n {\n title: \"翻页规则\",\n rows: 1,\n id: \"ruleContent_nextContentUrl\",\n hint: \"选择下一分页(不是下一章)链接 (规则结果为String类型的Url)\",\n },\n {\n title: \"资源正则\",\n rows: 1,\n id: \"ruleContent_sourceRegex\",\n hint: \"匹配资源的url特征,用于嗅探\",\n },\n {\n title: \"替换规则\",\n rows: 1,\n id: \"ruleContent_replaceRegex\",\n hint: \"多页内容合并后替换,用于正文净化\",\n },\n {\n title: \"图片样式\",\n rows: 1,\n id: \"ruleContent_imageStyle\",\n hint: \"FULL:铺满 不填:默认样式\",\n },\n {\n title: \"购买操作\",\n rows: 1,\n id: \"ruleContent_payAction\",\n hint: \"购买章节 返回链接或js\",\n },\n ],\n other: [\n {\n title: \"启用搜索\",\n rows: 1,\n id: \"enabled\",\n hint: \"启用: true 关闭: false (可选,默认true)\",\n },\n {\n title: \"启用发现\",\n rows: 1,\n id: \"enabledExplore\",\n hint: \"启用: true 关闭: false (可选,默认true)\",\n },\n {\n title: \"搜索权重\",\n rows: 1,\n id: \"weight\",\n hint: \"整数: 0~N (可选,默认0) | 数字越大越靠前\",\n },\n {\n title: \"排序编号\",\n rows: 1,\n id: \"customOrder\",\n hint: \"整数: 0~N (可选,默认0) | 数字越小越靠前\",\n },\n ],\n};\n","import { render } from \"./bookBase.vue?vue&type=template&id=62934290\"\nimport script from \"./bookBase.vue?vue&type=script&lang=js\"\nexport * from \"./bookBase.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { reactive, toRefs, watchEffect } from \"vue\";\nimport store from \"@/store\";\n\nexport default function () {\n const data = reactive({\n bookContent: store.state.bookItemContent,\n });\n const upData = (newContent) => {\n // console.log(newContent);\n store.commit(\"changeBookItemNewContent\", newContent);\n };\n const setContent = (elId) => {\n try {\n if (elId.includes(\"_\")) {\n let rule1 = elId.split(\"_\")[0];\n let rule2 = elId.split(\"_\")[1];\n return data.bookContent[rule1][rule2];\n } else {\n return data.bookContent[elId];\n }\n } catch (e) {\n console.log(\"导入错误\", e.TypeError);\n store.commit(\"clearEdit\");\n }\n };\n\n watchEffect(() => {\n data.bookContent = store.state.bookItemContent;\n });\n return {\n ...toRefs(data),\n upData,\n setContent,\n };\n}\n","import { render } from \"./bookSearch.vue?vue&type=template&id=2d21a82c\"\nimport script from \"./bookSearch.vue?vue&type=script&lang=js\"\nexport * from \"./bookSearch.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./bookDirectory.vue?vue&type=template&id=d341382e\"\nimport script from \"./bookDirectory.vue?vue&type=script&lang=js\"\nexport * from \"./bookDirectory.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./bookContent.vue?vue&type=template&id=93f5f75e\"\nimport script from \"./bookContent.vue?vue&type=script&lang=js\"\nexport * from \"./bookContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./bookDetail.vue?vue&type=template&id=48657fe9\"\nimport script from \"./bookDetail.vue?vue&type=script&lang=js\"\nexport * from \"./bookDetail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./bookOther.vue?vue&type=template&id=0e205a98\"\nimport script from \"./bookOther.vue?vue&type=script&lang=js\"\nexport * from \"./bookOther.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./bookFind.vue?vue&type=template&id=4eb0e864\"\nimport script from \"./bookFind.vue?vue&type=script&lang=js\"\nexport * from \"./bookFind.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createRouter, createWebHashHistory } from \"vue-router\";\n\nimport bookSource from \"@/views/bookSource\";\nimport bookBase from \"@/views/bookBase\";\nimport bookSearch from \"@/views/bookSearch\";\nimport bookDirectory from \"@/views/bookDirectory\";\nimport bookContent from \"@/views/bookContent\";\nimport bookDetail from \"@/views/bookDetail\";\nimport bookOther from \"@/views/bookOther\";\nimport bookFind from \"@/views/bookFind\";\n\nconst routes = [\n {\n path: \"/\",\n redirect: { name: \"home\" },\n },\n {\n path: \"/bookSource\",\n name: \"home\",\n component: bookSource,\n redirect: { name: \"base\" },\n children: [\n {\n path: \"/bookSource/base\",\n name: \"base\",\n component: bookBase,\n },\n {\n path: \"/bookSource/search\",\n name: \"search\",\n component: bookSearch,\n },\n {\n path: \"/bookSource/find\",\n name: \"find\",\n component: bookFind,\n },\n {\n path: \"/bookSource/detail\",\n name: \"detail\",\n component: bookDetail,\n },\n {\n path: \"/bookSource/directory\",\n name: \"directory\",\n component: bookDirectory,\n },\n {\n path: \"/bookSource/content\",\n name: \"content\",\n component: bookContent,\n },\n {\n path: \"/bookSource/other\",\n name: \"other\",\n component: bookOther,\n },\n {\n path: \"/bookSource/:asdasdasd/:asdasdas\",\n redirect: { name: \"home\" },\n },\n ],\n },\n {\n path: \"/:asdasdasd\",\n redirect: { name: \"home\" },\n },\n {\n path: \"/bookSource/:asdasdasda\",\n redirect: { name: \"home\" },\n },\n];\n\nconst router = createRouter({\n // history: createWebHistory(process.env.BASE_URL),\n history: createWebHashHistory(),\n routes,\n});\n\nexport default router;\n","import { createApp } from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport store from \"./store\";\n\ncreateApp(App).use(store).use(router).mount(\"#app\");\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunklegado_web_editor\"] = self[\"webpackChunklegado_web_editor\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(163); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["class","_createElementBlock","_createVNode","_component_router_view","setup","__exports__","render","_createElementVNode","href","_hoisted_2","_component_router_link","to","name","custom","navigate","isActive","onClick","active","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","Component","_createBlock","_KeepAlive","_resolveDynamicComponent","_component_edit_menu","_component_edit_out","_hoisted_12","_hoisted_15","_hoisted_18","_hoisted_21","_hoisted_24","$setup","_component_edit_loading","key","_component_edit_warn","text","onChangeShow","_component_edit_success","isShow","title","http","type","data","formatUrl","localStorage","getItem","Get","Post","url","body","fetch","method","headers","JSON","stringify","then","res","json","createStore","state","bookSource","bookItemContent","source_json","currentTab","editTabSourceInfo","deBugMsg","searchKey","deleteSources","getters","mutations","delBookSources","delArr","console","log","forEach","item","splice","changeSearchKey","changeUrl","setItem","changeSource","changeBookItemContent","content","newContent","parse","changeBookItemNewContent","includes","rule1","split","rule2","value","lastUpdateTime","Date","getTime","changeTabName","tabName","changeEidtTabSourceInfo","sourceJsonKey","bookItemContentKey","editHistory","history","historyObj","new","push","length","shift","old","arr","editHistoryUndo","pop","clearAllHistory","clearEdit","changeDeBugMsg","msg","el","document","querySelector","scrollTop","scrollHeight","deBugMsgClear","clearAllSource","actions","modules","$props","_toDisplayString","props","default","Boolean","String","emit","changeShow","emits","setTimeout","components","editLoading","editWarn","editSuccess","ref","warnShow","successText","successShow","warnText","bool","changeSuccessShow","pull","store","commit","catch","err","isSuccess","okData","Array","isArray","failMsg","find","x","bookSourceUrl","errorMsg","conver","undo","redo","saveSource","bookSourceType","bookSourceName","debug","socket","WebSocket","replace","port","parseInt","sKey","ruleSearch","checkKeyWord","onopen","send","onmessage","onclose","onMounted","onkeydown","e","ctrlKey","metaKey","preventDefault","shiftKey","_ctx","placeholder","$event","reactive","sourceInfo","watchEffect","Object","keys","toRefs","style","onInput","onKeydown","id","textareaDom","printDebug","changeSearch","startSearch","querySelectorAll","click","_Fragment","_renderList","index","bookSourceGroup","bookSources","currentActive","handleItemClick","sourcesList","clearAllSources","formatTime","date","time","year","getFullYear","month","getMonth","day","getDate","hour","getHours","minute","getMinutes","seconds","getSeconds","filter","toUpperCase","deleteActiveSource","delSources","source","upFile","input","createElement","accept","addEventListener","file","target","files","reader","FileReader","readAsText","onload","jsonData","result","outExport","exportFile","download","myBlob","Blob","window","URL","createObjectURL","_hoisted_1","editDebug","editTab","editList","editHelp","current_tab","handleSetActive","changInput","pullSource","editMenu","editOut","_component_edit_input","hint","rows","onChangeContent","onBlur","onFocus","Number","attr","change","getAttribute","changeHistory","newHistory","idName","changeHeight","nextTick","textArea","height","offsetHeight","base","search","detail","directory","other","editInput","bookinfo","bookContent","upData","setContent","elId","TypeError","useCounter","routes","path","redirect","component","children","bookBase","bookSearch","bookFind","bookDetail","bookDirectory","bookOther","router","createRouter","createWebHashHistory","createApp","App","use","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","r","d","definition","o","defineProperty","enumerable","get","g","globalThis","this","Function","obj","prop","prototype","hasOwnProperty","call","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/app/src/main/assets/web/bookSource/js/chunk-vendors.86212f98.js b/app/src/main/assets/web/bookSource/js/chunk-vendors.86212f98.js new file mode 100644 index 000000000..929f39b08 --- /dev/null +++ b/app/src/main/assets/web/bookSource/js/chunk-vendors.86212f98.js @@ -0,0 +1,14 @@ +"use strict";(self["webpackChunklegado_web_editor"]=self["webpackChunklegado_web_editor"]||[]).push([[998],{262:function(e,t,n){n.d(t,{BK:function(){return De},Bj:function(){return s},Fl:function(){return He},IU:function(){return Re},Jd:function(){return x},PG:function(){return Ce},SU:function(){return Ne},Um:function(){return we},WL:function(){return Ve},X$:function(){return O},X3:function(){return Oe},XI:function(){return Le},Xl:function(){return Ae},dq:function(){return Fe},iH:function(){return Me},j:function(){return S},lk:function(){return C},qj:function(){return be},qq:function(){return _},yT:function(){return Ee}});var r=n(577);let o;class s{constructor(e=!1){this.active=!0,this.effects=[],this.cleanups=[],!e&&o&&(this.parent=o,this.index=(o.scopes||(o.scopes=[])).push(this)-1)}run(e){if(this.active){const t=o;try{return o=this,e()}finally{o=t}}else 0}on(){o=this}off(){o=this.parent}stop(e){if(this.active){let t,n;for(t=0,n=this.effects.length;t{const t=new Set(e);return t.w=0,t.n=0,t},l=e=>(e.w&h)>0,u=e=>(e.n&h)>0,a=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let r=0;r{("length"===t||t>=o)&&u.push(e)}));else switch(void 0!==n&&u.push(l.get(n)),t){case"add":(0,r.kJ)(e)?(0,r.S0)(n)&&u.push(l.get("length")):(u.push(l.get(v)),(0,r._N)(e)&&u.push(l.get(y)));break;case"delete":(0,r.kJ)(e)||(u.push(l.get(v)),(0,r._N)(e)&&u.push(l.get(y)));break;case"set":(0,r._N)(e)&&u.push(l.get(v));break}if(1===u.length)u[0]&&R(u[0]);else{const e=[];for(const t of u)t&&e.push(...t);R(c(e))}}function R(e,t){const n=(0,r.kJ)(e)?e:[...e];for(const r of n)r.computed&&A(r,t);for(const r of n)r.computed||A(r,t)}function A(e,t){(e!==g||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const j=(0,r.fY)("__proto__,__v_isRef,__isVue"),I=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(r.yk)),T=$(),P=$(!1,!0),F=$(!0),M=L();function L(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=Re(this);for(let t=0,o=this.length;t{e[t]=function(...e){x();const n=Re(this)[t].apply(this,e);return C(),n}})),e}function $(e=!1,t=!1){return function(n,o,s){if("__v_isReactive"===o)return!e;if("__v_isReadonly"===o)return e;if("__v_isShallow"===o)return t;if("__v_raw"===o&&s===(e?t?ve:ge:t?me:he).get(n))return n;const i=(0,r.kJ)(n);if(!e&&i&&(0,r.RI)(M,o))return Reflect.get(M,o,s);const c=Reflect.get(n,o,s);return((0,r.yk)(o)?I.has(o):j(o))?c:(e||S(n,"get",o),t?c:Fe(c)?i&&(0,r.S0)(o)?c:c.value:(0,r.Kn)(c)?e?ke(c):be(c):c)}}const U=J(),N=J(!0);function J(e=!1){return function(t,n,o,s){let i=t[n];if(Se(i)&&Fe(i)&&!Fe(o))return!1;if(!e&&!Se(o)&&(Ee(o)||(o=Re(o),i=Re(i)),!(0,r.kJ)(t)&&Fe(i)&&!Fe(o)))return i.value=o,!0;const c=(0,r.kJ)(t)&&(0,r.S0)(n)?Number(n)e,K=e=>Reflect.getPrototypeOf(e);function z(e,t,n=!1,r=!1){e=e["__v_raw"];const o=Re(e),s=Re(t);n||(t!==s&&S(o,"get",t),S(o,"get",s));const{has:i}=K(o),c=r?W:n?Ie:je;return i.call(o,t)?c(e.get(t)):i.call(o,s)?c(e.get(s)):void(e!==o&&e.get(t))}function X(e,t=!1){const n=this["__v_raw"],r=Re(n),o=Re(e);return t||(e!==o&&S(r,"has",e),S(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function Z(e,t=!1){return e=e["__v_raw"],!t&&S(Re(e),"iterate",v),Reflect.get(e,"size",e)}function Y(e){e=Re(e);const t=Re(this),n=K(t),r=n.has.call(t,e);return r||(t.add(e),O(t,"add",e,e)),this}function Q(e,t){t=Re(t);const n=Re(this),{has:o,get:s}=K(n);let i=o.call(n,e);i||(e=Re(e),i=o.call(n,e));const c=s.call(n,e);return n.set(e,t),i?(0,r.aU)(t,c)&&O(n,"set",e,t,c):O(n,"add",e,t),this}function ee(e){const t=Re(this),{has:n,get:r}=K(t);let o=n.call(t,e);o||(e=Re(e),o=n.call(t,e));const s=r?r.call(t,e):void 0,i=t.delete(e);return o&&O(t,"delete",e,void 0,s),i}function te(){const e=Re(this),t=0!==e.size,n=void 0,r=e.clear();return t&&O(e,"clear",void 0,void 0,n),r}function ne(e,t){return function(n,r){const o=this,s=o["__v_raw"],i=Re(s),c=t?W:e?Ie:je;return!e&&S(i,"iterate",v),s.forEach(((e,t)=>n.call(r,c(e),c(t),o)))}}function re(e,t,n){return function(...o){const s=this["__v_raw"],i=Re(s),c=(0,r._N)(i),l="entries"===e||e===Symbol.iterator&&c,u="keys"===e&&c,a=s[e](...o),f=n?W:t?Ie:je;return!t&&S(i,"iterate",u?y:v),{next(){const{value:e,done:t}=a.next();return t?{value:e,done:t}:{value:l?[f(e[0]),f(e[1])]:f(e),done:t}},[Symbol.iterator](){return this}}}}function oe(e){return function(...t){return"delete"!==e&&this}}function se(){const e={get(e){return z(this,e)},get size(){return Z(this)},has:X,add:Y,set:Q,delete:ee,clear:te,forEach:ne(!1,!1)},t={get(e){return z(this,e,!1,!0)},get size(){return Z(this)},has:X,add:Y,set:Q,delete:ee,clear:te,forEach:ne(!1,!0)},n={get(e){return z(this,e,!0)},get size(){return Z(this,!0)},has(e){return X.call(this,e,!0)},add:oe("add"),set:oe("set"),delete:oe("delete"),clear:oe("clear"),forEach:ne(!0,!1)},r={get(e){return z(this,e,!0,!0)},get size(){return Z(this,!0)},has(e){return X.call(this,e,!0)},add:oe("add"),set:oe("set"),delete:oe("delete"),clear:oe("clear"),forEach:ne(!0,!0)},o=["keys","values","entries",Symbol.iterator];return o.forEach((o=>{e[o]=re(o,!1,!1),n[o]=re(o,!0,!1),t[o]=re(o,!1,!0),r[o]=re(o,!0,!0)})),[e,n,t,r]}const[ie,ce,le,ue]=se();function ae(e,t){const n=t?e?ue:le:e?ce:ie;return(t,o,s)=>"__v_isReactive"===o?!e:"__v_isReadonly"===o?e:"__v_raw"===o?t:Reflect.get((0,r.RI)(n,o)&&o in t?n:t,o,s)}const fe={get:ae(!1,!1)},pe={get:ae(!1,!0)},de={get:ae(!0,!1)};const he=new WeakMap,me=new WeakMap,ge=new WeakMap,ve=new WeakMap;function ye(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function _e(e){return e["__v_skip"]||!Object.isExtensible(e)?0:ye((0,r.W7)(e))}function be(e){return Se(e)?e:xe(e,!1,B,fe,he)}function we(e){return xe(e,!1,H,pe,me)}function ke(e){return xe(e,!0,q,de,ge)}function xe(e,t,n,o,s){if(!(0,r.Kn)(e))return e;if(e["__v_raw"]&&(!t||!e["__v_isReactive"]))return e;const i=s.get(e);if(i)return i;const c=_e(e);if(0===c)return e;const l=new Proxy(e,2===c?o:n);return s.set(e,l),l}function Ce(e){return Se(e)?Ce(e["__v_raw"]):!(!e||!e["__v_isReactive"])}function Se(e){return!(!e||!e["__v_isReadonly"])}function Ee(e){return!(!e||!e["__v_isShallow"])}function Oe(e){return Ce(e)||Se(e)}function Re(e){const t=e&&e["__v_raw"];return t?Re(t):e}function Ae(e){return(0,r.Nj)(e,"__v_skip",!0),e}const je=e=>(0,r.Kn)(e)?be(e):e,Ie=e=>(0,r.Kn)(e)?ke(e):e;function Te(e){w&&g&&(e=Re(e),E(e.dep||(e.dep=c())))}function Pe(e,t){e=Re(e),e.dep&&R(e.dep)}function Fe(e){return!(!e||!0!==e.__v_isRef)}function Me(e){return $e(e,!1)}function Le(e){return $e(e,!0)}function $e(e,t){return Fe(e)?e:new Ue(e,t)}class Ue{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:Re(e),this._value=t?e:je(e)}get value(){return Te(this),this._value}set value(e){e=this.__v_isShallow?e:Re(e),(0,r.aU)(e,this._rawValue)&&(this._rawValue=e,this._value=this.__v_isShallow?e:je(e),Pe(this,e))}}function Ne(e){return Fe(e)?e.value:e}const Je={get:(e,t,n)=>Ne(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Fe(o)&&!Fe(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function Ve(e){return Ce(e)?e:new Proxy(e,Je)}function De(e){const t=(0,r.kJ)(e)?new Array(e.length):{};for(const n in e)t[n]=Be(e,n);return t}class Ge{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}}function Be(e,t,n){const r=e[t];return Fe(r)?r:new Ge(e,t,n)}class qe{constructor(e,t,n,r){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new _(e,(()=>{this._dirty||(this._dirty=!0,Pe(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!r,this["__v_isReadonly"]=n}get value(){const e=Re(this);return Te(e),!e._dirty&&e._cacheable||(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function He(e,t,n=!1){let o,s;const i=(0,r.mf)(e);i?(o=e,s=r.dG):(o=e.get,s=e.set);const c=new qe(o,s,i||!s,n);return c}},252:function(e,t,n){n.d(t,{$d:function(){return i},Cn:function(){return V},FN:function(){return kn},Fl:function(){return Un},HY:function(){return Jt},JJ:function(){return Z},Ko:function(){return Ke},LL:function(){return qe},Ob:function(){return be},P$:function(){return ue},Q6:function(){return me},U2:function(){return fe},Uk:function(){return an},Us:function(){return Ft},Wm:function(){return sn},Y3:function(){return k},Y8:function(){return ie},YP:function(){return te},_:function(){return on},aZ:function(){return ge},bv:function(){return Ie},dD:function(){return J},f3:function(){return Y},h:function(){return Nn},iD:function(){return Zt},ic:function(){return Pe},j4:function(){return Yt},kq:function(){return pn},m0:function(){return Q},nK:function(){return he},uE:function(){return fn},up:function(){return Ge},w5:function(){return D},wg:function(){return Ht},wy:function(){return Je}});var r=n(262),o=n(577);function s(e,t,n,r){let o;try{o=r?e(...r):e()}catch(s){c(s,t,n)}return o}function i(e,t,n,r){if((0,o.mf)(e)){const i=s(e,t,n,r);return i&&(0,o.tI)(i)&&i.catch((e=>{c(e,t,n)})),i}const l=[];for(let o=0;o>>1,o=T(f[r]);op&&f.splice(t,1)}function O(e,t,n,r){(0,o.kJ)(e)?n.push(...e):t&&t.includes(e,e.allowRecurse?r+1:r)||n.push(e),S()}function R(e){O(e,h,d,m)}function A(e){O(e,v,g,y)}function j(e,t=null){if(d.length){for(w=t,h=[...new Set(d)],d.length=0,m=0;mT(e)-T(t))),y=0;ynull==e.id?1/0:e.id;function P(e){a=!1,u=!0,j(e),f.sort(((e,t)=>T(e)-T(t)));o.dG;try{for(p=0;pe.trim()))),t&&(s=n.map(o.He))}let u;let a=r[u=(0,o.hR)(t)]||r[u=(0,o.hR)((0,o._A)(t))];!a&&c&&(a=r[u=(0,o.hR)((0,o.rs)(t))]),a&&i(a,e,6,s);const f=r[u+"Once"];if(f){if(e.emitted){if(e.emitted[u])return}else e.emitted={};e.emitted[u]=!0,i(f,e,6,s)}}function M(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(void 0!==s)return s;const i=e.emits;let c={},l=!1;if(!(0,o.mf)(e)){const r=e=>{const n=M(e,t,!0);n&&(l=!0,(0,o.l7)(c,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return i||l?((0,o.kJ)(i)?i.forEach((e=>c[e]=null)):(0,o.l7)(c,i),r.set(e,c),c):(r.set(e,null),null)}function L(e,t){return!(!e||!(0,o.F7)(t))&&(t=t.slice(2).replace(/Once$/,""),(0,o.RI)(e,t[0].toLowerCase()+t.slice(1))||(0,o.RI)(e,(0,o.rs)(t))||(0,o.RI)(e,t))}let $=null,U=null;function N(e){const t=$;return $=e,U=e&&e.type.__scopeId||null,t}function J(e){U=e}function V(){U=null}function D(e,t=$,n){if(!t)return e;if(e._n)return e;const r=(...n)=>{r._d&&zt(-1);const o=N(t),s=e(...n);return N(o),r._d&&zt(1),s};return r._n=!0,r._c=!0,r._d=!0,r}function G(e){const{type:t,vnode:n,proxy:r,withProxy:s,props:i,propsOptions:[l],slots:u,attrs:a,emit:f,render:p,renderCache:d,data:h,setupState:m,ctx:g,inheritAttrs:v}=e;let y,_;const b=N(e);try{if(4&n.shapeFlag){const e=s||r;y=dn(p.call(e,e,d,i,m,h,g)),_=a}else{const e=t;0,y=dn(e.length>1?e(i,{attrs:a,slots:u,emit:f}):e(i,null)),_=t.props?a:B(a)}}catch(k){Bt.length=0,c(k,e,1),y=sn(Dt)}let w=y;if(_&&!1!==v){const e=Object.keys(_),{shapeFlag:t}=w;e.length&&7&t&&(l&&e.some(o.tR)&&(_=q(_,l)),w=un(w,_))}return n.dirs&&(w=un(w),w.dirs=w.dirs?w.dirs.concat(n.dirs):n.dirs),n.transition&&(w.transition=n.transition),y=w,N(b),y}const B=e=>{let t;for(const n in e)("class"===n||"style"===n||(0,o.F7)(n))&&((t||(t={}))[n]=e[n]);return t},q=(e,t)=>{const n={};for(const r in e)(0,o.tR)(r)&&r.slice(9)in t||(n[r]=e[r]);return n};function H(e,t,n){const{props:r,children:o,component:s}=e,{props:i,children:c,patchFlag:l}=t,u=s.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&l>=0))return!(!o&&!c||c&&c.$stable)||r!==i&&(r?!i||W(r,i,u):!!i);if(1024&l)return!0;if(16&l)return r?W(r,i,u):!!i;if(8&l){const e=t.dynamicProps;for(let t=0;te.__isSuspense;function X(e,t){t&&t.pendingBranch?(0,o.kJ)(e)?t.effects.push(...e):t.effects.push(e):A(e)}function Z(e,t){if(wn){let n=wn.provides;const r=wn.parent&&wn.parent.provides;r===n&&(n=wn.provides=Object.create(r)),n[e]=t}else 0}function Y(e,t,n=!1){const r=wn||$;if(r){const s=null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(s&&e in s)return s[e];if(arguments.length>1)return n&&(0,o.mf)(t)?t.call(r.proxy):t}else 0}function Q(e,t){return ne(e,null,t)}const ee={};function te(e,t,n){return ne(e,t,n)}function ne(e,t,{immediate:n,deep:c,flush:l,onTrack:u,onTrigger:a}=o.kT){const f=wn;let p,d,h=!1,m=!1;if((0,r.dq)(e)?(p=()=>e.value,h=(0,r.yT)(e)):(0,r.PG)(e)?(p=()=>e,c=!0):(0,o.kJ)(e)?(m=!0,h=e.some((e=>(0,r.PG)(e)||(0,r.yT)(e))),p=()=>e.map((e=>(0,r.dq)(e)?e.value:(0,r.PG)(e)?se(e):(0,o.mf)(e)?s(e,f,2):void 0))):p=(0,o.mf)(e)?t?()=>s(e,f,2):()=>{if(!f||!f.isUnmounted)return d&&d(),i(e,f,3,[g])}:o.dG,t&&c){const e=p;p=()=>se(e())}let g=e=>{d=b.onStop=()=>{s(e,f,4)}};if(Rn)return g=o.dG,t?n&&i(t,f,3,[p(),m?[]:void 0,g]):p(),o.dG;let v=m?[]:ee;const y=()=>{if(b.active)if(t){const e=b.run();(c||h||(m?e.some(((e,t)=>(0,o.aU)(e,v[t]))):(0,o.aU)(e,v)))&&(d&&d(),i(t,f,3,[e,v===ee?void 0:v,g]),v=e)}else b.run()};let _;y.allowRecurse=!!t,_="sync"===l?y:"post"===l?()=>Pt(y,f&&f.suspense):()=>R(y);const b=new r.qq(p,_);return t?n?y():v=b.run():"post"===l?Pt(b.run.bind(b),f&&f.suspense):b.run(),()=>{b.stop(),f&&f.scope&&(0,o.Od)(f.scope.effects,b)}}function re(e,t,n){const r=this.proxy,s=(0,o.HD)(e)?e.includes(".")?oe(r,e):()=>r[e]:e.bind(r,r);let i;(0,o.mf)(t)?i=t:(i=t.handler,n=t);const c=wn;xn(this);const l=ne(s,i.bind(r),n);return c?xn(c):Cn(),l}function oe(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{se(e,t)}));else if((0,o.PO)(e))for(const n in e)se(e[n],t);return e}function ie(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Ie((()=>{e.isMounted=!0})),Fe((()=>{e.isUnmounting=!0})),e}const ce=[Function,Array],le={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ce,onEnter:ce,onAfterEnter:ce,onEnterCancelled:ce,onBeforeLeave:ce,onLeave:ce,onAfterLeave:ce,onLeaveCancelled:ce,onBeforeAppear:ce,onAppear:ce,onAfterAppear:ce,onAppearCancelled:ce},setup(e,{slots:t}){const n=kn(),o=ie();let s;return()=>{const i=t.default&&me(t.default(),!0);if(!i||!i.length)return;let c=i[0];if(i.length>1){let e=!1;for(const t of i)if(t.type!==Dt){0,c=t,e=!0;break}}const l=(0,r.IU)(e),{mode:u}=l;if(o.isLeaving)return pe(c);const a=de(c);if(!a)return pe(c);const f=fe(a,l,o,n);he(a,f);const p=n.subTree,d=p&&de(p);let h=!1;const{getTransitionKey:m}=a.type;if(m){const e=m();void 0===s?s=e:e!==s&&(s=e,h=!0)}if(d&&d.type!==Dt&&(!en(a,d)||h)){const e=fe(d,l,o,n);if(he(d,e),"out-in"===u)return o.isLeaving=!0,e.afterLeave=()=>{o.isLeaving=!1,n.update()},pe(c);"in-out"===u&&a.type!==Dt&&(e.delayLeave=(e,t,n)=>{const r=ae(o,d);r[String(d.key)]=d,e._leaveCb=()=>{t(),e._leaveCb=void 0,delete f.delayedLeave},f.delayedLeave=n})}return c}}},ue=le;function ae(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function fe(e,t,n,r){const{appear:s,mode:c,persisted:l=!1,onBeforeEnter:u,onEnter:a,onAfterEnter:f,onEnterCancelled:p,onBeforeLeave:d,onLeave:h,onAfterLeave:m,onLeaveCancelled:g,onBeforeAppear:v,onAppear:y,onAfterAppear:_,onAppearCancelled:b}=t,w=String(e.key),k=ae(n,e),x=(e,t)=>{e&&i(e,r,9,t)},C=(e,t)=>{const n=t[1];x(e,t),(0,o.kJ)(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},S={mode:c,persisted:l,beforeEnter(t){let r=u;if(!n.isMounted){if(!s)return;r=v||u}t._leaveCb&&t._leaveCb(!0);const o=k[w];o&&en(e,o)&&o.el._leaveCb&&o.el._leaveCb(),x(r,[t])},enter(e){let t=a,r=f,o=p;if(!n.isMounted){if(!s)return;t=y||a,r=_||f,o=b||p}let i=!1;const c=e._enterCb=t=>{i||(i=!0,x(t?o:r,[e]),S.delayedLeave&&S.delayedLeave(),e._enterCb=void 0)};t?C(t,[e,c]):c()},leave(t,r){const o=String(e.key);if(t._enterCb&&t._enterCb(!0),n.isUnmounting)return r();x(d,[t]);let s=!1;const i=t._leaveCb=n=>{s||(s=!0,r(),x(n?g:m,[t]),t._leaveCb=void 0,k[o]===e&&delete k[o])};k[o]=e,h?C(h,[t,i]):i()},clone(e){return fe(e,t,n,r)}};return S}function pe(e){if(ye(e))return e=un(e),e.children=null,e}function de(e){return ye(e)?e.children?e.children[0]:void 0:e}function he(e,t){6&e.shapeFlag&&e.component?he(e.component.subTree,t):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function me(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;s!!e.type.__asyncLoader;const ye=e=>e.type.__isKeepAlive,_e={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=kn(),r=n.ctx;if(!r.renderer)return()=>{const e=t.default&&t.default();return e&&1===e.length?e[0]:e};const s=new Map,i=new Set;let c=null;const l=n.suspense,{renderer:{p:u,m:a,um:f,o:{createElement:p}}}=r,d=p("div");function h(e){Ee(e),f(e,n,l,!0)}function m(e){s.forEach(((t,n)=>{const r=Ln(t.type);!r||e&&e(r)||g(n)}))}function g(e){const t=s.get(e);c&&t.type===c.type?c&&Ee(c):h(t),s.delete(e),i.delete(e)}r.activate=(e,t,n,r,s)=>{const i=e.component;a(e,t,n,0,l),u(i.vnode,e,t,n,i,l,r,e.slotScopeIds,s),Pt((()=>{i.isDeactivated=!1,i.a&&(0,o.ir)(i.a);const t=e.props&&e.props.onVnodeMounted;t&&vn(t,i.parent,e)}),l)},r.deactivate=e=>{const t=e.component;a(e,d,null,1,l),Pt((()=>{t.da&&(0,o.ir)(t.da);const n=e.props&&e.props.onVnodeUnmounted;n&&vn(n,t.parent,e),t.isDeactivated=!0}),l)},te((()=>[e.include,e.exclude]),(([e,t])=>{e&&m((t=>we(e,t))),t&&m((e=>!we(t,e)))}),{flush:"post",deep:!0});let v=null;const y=()=>{null!=v&&s.set(v,Oe(n.subTree))};return Ie(y),Pe(y),Fe((()=>{s.forEach((e=>{const{subTree:t,suspense:r}=n,o=Oe(t);if(e.type!==o.type)h(e);else{Ee(o);const e=o.component.da;e&&Pt(e,r)}}))})),()=>{if(v=null,!t.default)return null;const n=t.default(),r=n[0];if(n.length>1)return c=null,n;if(!Qt(r)||!(4&r.shapeFlag)&&!(128&r.shapeFlag))return c=null,r;let o=Oe(r);const l=o.type,u=Ln(ve(o)?o.type.__asyncResolved||{}:l),{include:a,exclude:f,max:p}=e;if(a&&(!u||!we(a,u))||f&&u&&we(f,u))return c=o,r;const d=null==o.key?l:o.key,h=s.get(d);return o.el&&(o=un(o),128&r.shapeFlag&&(r.ssContent=o)),v=d,h?(o.el=h.el,o.component=h.component,o.transition&&he(o,o.transition),o.shapeFlag|=512,i.delete(d),i.add(d)):(i.add(d),p&&i.size>parseInt(p,10)&&g(i.values().next().value)),o.shapeFlag|=256,c=o,z(r.type)?r:o}}},be=_e;function we(e,t){return(0,o.kJ)(e)?e.some((e=>we(e,t))):(0,o.HD)(e)?e.split(",").includes(t):!!e.test&&e.test(t)}function ke(e,t){Ce(e,"a",t)}function xe(e,t){Ce(e,"da",t)}function Ce(e,t,n=wn){const r=e.__wdc||(e.__wdc=()=>{let t=n;while(t){if(t.isDeactivated)return;t=t.parent}return e()});if(Re(t,r,n),n){let e=n.parent;while(e&&e.parent)ye(e.parent.vnode)&&Se(r,t,n,e),e=e.parent}}function Se(e,t,n,r){const s=Re(t,e,r,!0);Me((()=>{(0,o.Od)(r[t],s)}),n)}function Ee(e){let t=e.shapeFlag;256&t&&(t-=256),512&t&&(t-=512),e.shapeFlag=t}function Oe(e){return 128&e.shapeFlag?e.ssContent:e}function Re(e,t,n=wn,o=!1){if(n){const s=n[e]||(n[e]=[]),c=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;(0,r.Jd)(),xn(n);const s=i(t,n,e,o);return Cn(),(0,r.lk)(),s});return o?s.unshift(c):s.push(c),c}}const Ae=e=>(t,n=wn)=>(!Rn||"sp"===e)&&Re(e,t,n),je=Ae("bm"),Ie=Ae("m"),Te=Ae("bu"),Pe=Ae("u"),Fe=Ae("bum"),Me=Ae("um"),Le=Ae("sp"),$e=Ae("rtg"),Ue=Ae("rtc");function Ne(e,t=wn){Re("ec",e,t)}function Je(e,t){const n=$;if(null===n)return e;const r=Mn(n)||n.proxy,s=e.dirs||(e.dirs=[]);for(let i=0;it(e,n,void 0,i&&i[n])));else{const n=Object.keys(e);s=new Array(n.length);for(let r=0,o=n.length;re?Sn(e)?Mn(e)||e.proxy:ze(e.parent):null,Xe=(0,o.l7)(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ze(e.parent),$root:e=>ze(e.root),$emit:e=>e.emit,$options:e=>rt(e),$forceUpdate:e=>e.f||(e.f=()=>C(e.update)),$nextTick:e=>e.n||(e.n=k.bind(e.proxy)),$watch:e=>re.bind(e)}),Ze={get({_:e},t){const{ctx:n,setupState:s,data:i,props:c,accessCache:l,type:u,appContext:a}=e;let f;if("$"!==t[0]){const r=l[t];if(void 0!==r)switch(r){case 1:return s[t];case 2:return i[t];case 4:return n[t];case 3:return c[t]}else{if(s!==o.kT&&(0,o.RI)(s,t))return l[t]=1,s[t];if(i!==o.kT&&(0,o.RI)(i,t))return l[t]=2,i[t];if((f=e.propsOptions[0])&&(0,o.RI)(f,t))return l[t]=3,c[t];if(n!==o.kT&&(0,o.RI)(n,t))return l[t]=4,n[t];Ye&&(l[t]=0)}}const p=Xe[t];let d,h;return p?("$attrs"===t&&(0,r.j)(e,"get",t),p(e)):(d=u.__cssModules)&&(d=d[t])?d:n!==o.kT&&(0,o.RI)(n,t)?(l[t]=4,n[t]):(h=a.config.globalProperties,(0,o.RI)(h,t)?h[t]:void 0)},set({_:e},t,n){const{data:r,setupState:s,ctx:i}=e;return s!==o.kT&&(0,o.RI)(s,t)?(s[t]=n,!0):r!==o.kT&&(0,o.RI)(r,t)?(r[t]=n,!0):!(0,o.RI)(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(i[t]=n,!0))},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:i}},c){let l;return!!n[c]||e!==o.kT&&(0,o.RI)(e,c)||t!==o.kT&&(0,o.RI)(t,c)||(l=i[0])&&(0,o.RI)(l,c)||(0,o.RI)(r,c)||(0,o.RI)(Xe,c)||(0,o.RI)(s.config.globalProperties,c)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:(0,o.RI)(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let Ye=!0;function Qe(e){const t=rt(e),n=e.proxy,s=e.ctx;Ye=!1,t.beforeCreate&&tt(t.beforeCreate,e,"bc");const{data:i,computed:c,methods:l,watch:u,provide:a,inject:f,created:p,beforeMount:d,mounted:h,beforeUpdate:m,updated:g,activated:v,deactivated:y,beforeDestroy:_,beforeUnmount:b,destroyed:w,unmounted:k,render:x,renderTracked:C,renderTriggered:S,errorCaptured:E,serverPrefetch:O,expose:R,inheritAttrs:A,components:j,directives:I,filters:T}=t,P=null;if(f&&et(f,s,P,e.appContext.config.unwrapInjectedRef),l)for(const r in l){const e=l[r];(0,o.mf)(e)&&(s[r]=e.bind(n))}if(i){0;const t=i.call(n,n);0,(0,o.Kn)(t)&&(e.data=(0,r.qj)(t))}if(Ye=!0,c)for(const r in c){const e=c[r],t=(0,o.mf)(e)?e.bind(n,n):(0,o.mf)(e.get)?e.get.bind(n,n):o.dG;0;const i=!(0,o.mf)(e)&&(0,o.mf)(e.set)?e.set.bind(n):o.dG,l=Un({get:t,set:i});Object.defineProperty(s,r,{enumerable:!0,configurable:!0,get:()=>l.value,set:e=>l.value=e})}if(u)for(const r in u)nt(u[r],s,n,r);if(a){const e=(0,o.mf)(a)?a.call(n):a;Reflect.ownKeys(e).forEach((t=>{Z(t,e[t])}))}function F(e,t){(0,o.kJ)(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(p&&tt(p,e,"c"),F(je,d),F(Ie,h),F(Te,m),F(Pe,g),F(ke,v),F(xe,y),F(Ne,E),F(Ue,C),F($e,S),F(Fe,b),F(Me,k),F(Le,O),(0,o.kJ)(R))if(R.length){const t=e.exposed||(e.exposed={});R.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});x&&e.render===o.dG&&(e.render=x),null!=A&&(e.inheritAttrs=A),j&&(e.components=j),I&&(e.directives=I)}function et(e,t,n=o.dG,s=!1){(0,o.kJ)(e)&&(e=lt(e));for(const i in e){const n=e[i];let c;c=(0,o.Kn)(n)?"default"in n?Y(n.from||i,n.default,!0):Y(n.from||i):Y(n),(0,r.dq)(c)&&s?Object.defineProperty(t,i,{enumerable:!0,configurable:!0,get:()=>c.value,set:e=>c.value=e}):t[i]=c}}function tt(e,t,n){i((0,o.kJ)(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function nt(e,t,n,r){const s=r.includes(".")?oe(n,r):()=>n[r];if((0,o.HD)(e)){const n=t[e];(0,o.mf)(n)&&te(s,n)}else if((0,o.mf)(e))te(s,e.bind(n));else if((0,o.Kn)(e))if((0,o.kJ)(e))e.forEach((e=>nt(e,t,n,r)));else{const r=(0,o.mf)(e.handler)?e.handler.bind(n):t[e.handler];(0,o.mf)(r)&&te(s,r,e)}else 0}function rt(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,c=s.get(t);let l;return c?l=c:o.length||n||r?(l={},o.length&&o.forEach((e=>ot(l,e,i,!0))),ot(l,t,i)):l=t,s.set(t,l),l}function ot(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&ot(e,s,n,!0),o&&o.forEach((t=>ot(e,t,n,!0)));for(const i in t)if(r&&"expose"===i);else{const r=st[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}const st={data:it,props:at,emits:at,methods:at,computed:at,beforeCreate:ut,created:ut,beforeMount:ut,mounted:ut,beforeUpdate:ut,updated:ut,beforeDestroy:ut,beforeUnmount:ut,destroyed:ut,unmounted:ut,activated:ut,deactivated:ut,errorCaptured:ut,serverPrefetch:ut,components:at,directives:at,watch:ft,provide:it,inject:ct};function it(e,t){return t?e?function(){return(0,o.l7)((0,o.mf)(e)?e.call(this,this):e,(0,o.mf)(t)?t.call(this,this):t)}:t:e}function ct(e,t){return at(lt(e),lt(t))}function lt(e){if((0,o.kJ)(e)){const t={};for(let n=0;n0)||16&l){let r;ht(e,t,i,c)&&(f=!0);for(const s in u)t&&((0,o.RI)(t,s)||(r=(0,o.rs)(s))!==s&&(0,o.RI)(t,r))||(a?!n||void 0===n[s]&&void 0===n[r]||(i[s]=mt(a,u,s,void 0,e,!0)):delete i[s]);if(c!==u)for(const e in c)t&&(0,o.RI)(t,e)||(delete c[e],f=!0)}else if(8&l){const n=e.vnode.dynamicProps;for(let r=0;r{u=!0;const[n,r]=gt(e,t,!0);(0,o.l7)(c,n),r&&l.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!i&&!u)return r.set(e,o.Z6),o.Z6;if((0,o.kJ)(i))for(let f=0;f-1,r[1]=n<0||e-1||(0,o.RI)(r,"default"))&&l.push(t)}}}}const a=[c,l];return r.set(e,a),a}function vt(e){return"$"!==e[0]}function yt(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:null===e?"null":""}function _t(e,t){return yt(e)===yt(t)}function bt(e,t){return(0,o.kJ)(t)?t.findIndex((t=>_t(t,e))):(0,o.mf)(t)&&_t(t,e)?0:-1}const wt=e=>"_"===e[0]||"$stable"===e,kt=e=>(0,o.kJ)(e)?e.map(dn):[dn(e)],xt=(e,t,n)=>{if(t._n)return t;const r=D(((...e)=>kt(t(...e))),n);return r._c=!1,r},Ct=(e,t,n)=>{const r=e._ctx;for(const s in e){if(wt(s))continue;const n=e[s];if((0,o.mf)(n))t[s]=xt(s,n,r);else if(null!=n){0;const e=kt(n);t[s]=()=>e}}},St=(e,t)=>{const n=kt(t);e.slots.default=()=>n},Et=(e,t)=>{if(32&e.vnode.shapeFlag){const n=t._;n?(e.slots=(0,r.IU)(t),(0,o.Nj)(t,"_",n)):Ct(t,e.slots={})}else e.slots={},t&&St(e,t);(0,o.Nj)(e.slots,tn,1)},Ot=(e,t,n)=>{const{vnode:r,slots:s}=e;let i=!0,c=o.kT;if(32&r.shapeFlag){const e=t._;e?n&&1===e?i=!1:((0,o.l7)(s,t),n||1!==e||delete s._):(i=!t.$stable,Ct(t,s)),c=t}else t&&(St(e,t),c={default:1});if(i)for(const o in s)wt(o)||o in c||delete s[o]};function Rt(){return{app:null,config:{isNativeTag:o.NO,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let At=0;function jt(e,t){return function(n,r=null){(0,o.mf)(n)||(n=Object.assign({},n)),null==r||(0,o.Kn)(r)||(r=null);const s=Rt(),i=new Set;let c=!1;const l=s.app={_uid:At++,_component:n,_props:r,_container:null,_context:s,_instance:null,version:Jn,get config(){return s.config},set config(e){0},use(e,...t){return i.has(e)||(e&&(0,o.mf)(e.install)?(i.add(e),e.install(l,...t)):(0,o.mf)(e)&&(i.add(e),e(l,...t))),l},mixin(e){return s.mixins.includes(e)||s.mixins.push(e),l},component(e,t){return t?(s.components[e]=t,l):s.components[e]},directive(e,t){return t?(s.directives[e]=t,l):s.directives[e]},mount(o,i,u){if(!c){0;const a=sn(n,r);return a.appContext=s,i&&t?t(a,o):e(a,o,u),c=!0,l._container=o,o.__vue_app__=l,Mn(a.component)||a.component.proxy}},unmount(){c&&(e(null,l._container),delete l._container.__vue_app__)},provide(e,t){return s.provides[e]=t,l}};return l}}function It(e,t,n,i,c=!1){if((0,o.kJ)(e))return void e.forEach(((e,r)=>It(e,t&&((0,o.kJ)(t)?t[r]:t),n,i,c)));if(ve(i)&&!c)return;const l=4&i.shapeFlag?Mn(i.component)||i.component.proxy:i.el,u=c?null:l,{i:a,r:f}=e;const p=t&&t.r,d=a.refs===o.kT?a.refs={}:a.refs,h=a.setupState;if(null!=p&&p!==f&&((0,o.HD)(p)?(d[p]=null,(0,o.RI)(h,p)&&(h[p]=null)):(0,r.dq)(p)&&(p.value=null)),(0,o.mf)(f))s(f,a,12,[u,d]);else{const t=(0,o.HD)(f),s=(0,r.dq)(f);if(t||s){const r=()=>{if(e.f){const n=t?d[f]:f.value;c?(0,o.kJ)(n)&&(0,o.Od)(n,l):(0,o.kJ)(n)?n.includes(l)||n.push(l):t?(d[f]=[l],(0,o.RI)(h,f)&&(h[f]=d[f])):(f.value=[l],e.k&&(d[e.k]=f.value))}else t?(d[f]=u,(0,o.RI)(h,f)&&(h[f]=u)):s&&(f.value=u,e.k&&(d[e.k]=u))};u?(r.id=-1,Pt(r,n)):r()}else 0}}function Tt(){}const Pt=X;function Ft(e){return Mt(e)}function Mt(e,t){Tt();const n=(0,o.E9)();n.__VUE__=!0;const{insert:s,remove:i,patchProp:c,createElement:l,createText:u,createComment:a,setText:f,setElementText:p,parentNode:d,nextSibling:h,setScopeId:m=o.dG,cloneNode:g,insertStaticContent:v}=e,y=(e,t,n,r=null,o=null,s=null,i=!1,c=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!en(e,t)&&(r=Q(e),W(e,o,s,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);const{type:u,ref:a,shapeFlag:f}=t;switch(u){case Vt:_(e,t,n,r);break;case Dt:b(e,t,n,r);break;case Gt:null==e&&w(t,n,r,i);break;case Jt:M(e,t,n,r,o,s,i,c,l);break;default:1&f?S(e,t,n,r,o,s,i,c,l):6&f?L(e,t,n,r,o,s,i,c,l):(64&f||128&f)&&u.process(e,t,n,r,o,s,i,c,l,te)}null!=a&&o&&It(a,e&&e.ref,s,t||e,!t)},_=(e,t,n,r)=>{if(null==e)s(t.el=u(t.children),n,r);else{const n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},b=(e,t,n,r)=>{null==e?s(t.el=a(t.children||""),n,r):t.el=e.el},w=(e,t,n,r)=>{[e.el,e.anchor]=v(e.children,t,n,r,e.el,e.anchor)},k=({el:e,anchor:t},n,r)=>{let o;while(e&&e!==t)o=h(e),s(e,n,r),e=o;s(t,n,r)},x=({el:e,anchor:t})=>{let n;while(e&&e!==t)n=h(e),i(e),e=n;i(t)},S=(e,t,n,r,o,s,i,c,l)=>{i=i||"svg"===t.type,null==e?O(t,n,r,o,s,i,c,l):T(e,t,o,s,i,c,l)},O=(e,t,n,r,i,u,a,f)=>{let d,h;const{type:m,props:v,shapeFlag:y,transition:_,patchFlag:b,dirs:w}=e;if(e.el&&void 0!==g&&-1===b)d=e.el=g(e.el);else{if(d=e.el=l(e.type,u,v&&v.is,v),8&y?p(d,e.children):16&y&&A(e.children,d,null,r,i,u&&"foreignObject"!==m,a,f),w&&Ve(e,null,r,"created"),v){for(const t in v)"value"===t||(0,o.Gg)(t)||c(d,t,null,v[t],u,e.children,r,i,Y);"value"in v&&c(d,"value",null,v.value),(h=v.onVnodeBeforeMount)&&vn(h,r,e)}R(d,e,e.scopeId,a,r)}w&&Ve(e,null,r,"beforeMount");const k=(!i||i&&!i.pendingBranch)&&_&&!_.persisted;k&&_.beforeEnter(d),s(d,t,n),((h=v&&v.onVnodeMounted)||k||w)&&Pt((()=>{h&&vn(h,r,e),k&&_.enter(d),w&&Ve(e,null,r,"mounted")}),i)},R=(e,t,n,r,o)=>{if(n&&m(e,n),r)for(let s=0;s{for(let u=l;u{const u=t.el=e.el;let{patchFlag:a,dynamicChildren:f,dirs:d}=t;a|=16&e.patchFlag;const h=e.props||o.kT,m=t.props||o.kT;let g;n&&Lt(n,!1),(g=m.onVnodeBeforeUpdate)&&vn(g,n,t,e),d&&Ve(t,e,n,"beforeUpdate"),n&&Lt(n,!0);const v=s&&"foreignObject"!==t.type;if(f?P(e.dynamicChildren,f,u,n,r,v,i):l||V(e,t,u,null,n,r,v,i,!1),a>0){if(16&a)F(u,t,h,m,n,r,s);else if(2&a&&h.class!==m.class&&c(u,"class",null,m.class,s),4&a&&c(u,"style",h.style,m.style,s),8&a){const o=t.dynamicProps;for(let t=0;t{g&&vn(g,n,t,e),d&&Ve(t,e,n,"updated")}),r)},P=(e,t,n,r,o,s,i)=>{for(let c=0;c{if(n!==r){for(const u in r){if((0,o.Gg)(u))continue;const a=r[u],f=n[u];a!==f&&"value"!==u&&c(e,u,f,a,l,t.children,s,i,Y)}if(n!==o.kT)for(const u in n)(0,o.Gg)(u)||u in r||c(e,u,n[u],null,l,t.children,s,i,Y);"value"in r&&c(e,"value",n.value,r.value)}},M=(e,t,n,r,o,i,c,l,a)=>{const f=t.el=e?e.el:u(""),p=t.anchor=e?e.anchor:u("");let{patchFlag:d,dynamicChildren:h,slotScopeIds:m}=t;m&&(l=l?l.concat(m):m),null==e?(s(f,n,r),s(p,n,r),A(t.children,n,p,o,i,c,l,a)):d>0&&64&d&&h&&e.dynamicChildren?(P(e.dynamicChildren,h,n,o,i,c,l),(null!=t.key||o&&t===o.subTree)&&$t(e,t,!0)):V(e,t,n,p,o,i,c,l,a)},L=(e,t,n,r,o,s,i,c,l)=>{t.slotScopeIds=c,null==e?512&t.shapeFlag?o.ctx.activate(t,n,r,i,l):$(t,n,r,o,s,i,l):U(e,t,l)},$=(e,t,n,r,o,s,i)=>{const c=e.component=bn(e,r,o);if(ye(e)&&(c.ctx.renderer=te),An(c),c.asyncDep){if(o&&o.registerDep(c,N),!e.el){const e=c.subTree=sn(Dt);b(null,e,t,n)}}else N(c,e,t,n,o,s,i)},U=(e,t,n)=>{const r=t.component=e.component;if(H(e,t,n)){if(r.asyncDep&&!r.asyncResolved)return void J(r,t,n);r.next=t,E(r.update),r.update()}else t.el=e.el,r.vnode=t},N=(e,t,n,s,i,c,l)=>{const u=()=>{if(e.isMounted){let t,{next:n,bu:r,u:s,parent:u,vnode:a}=e,f=n;0,Lt(e,!1),n?(n.el=a.el,J(e,n,l)):n=a,r&&(0,o.ir)(r),(t=n.props&&n.props.onVnodeBeforeUpdate)&&vn(t,u,n,a),Lt(e,!0);const p=G(e);0;const h=e.subTree;e.subTree=p,y(h,p,d(h.el),Q(h),e,i,c),n.el=p.el,null===f&&K(e,p.el),s&&Pt(s,i),(t=n.props&&n.props.onVnodeUpdated)&&Pt((()=>vn(t,u,n,a)),i)}else{let r;const{el:l,props:u}=t,{bm:a,m:f,parent:p}=e,d=ve(t);if(Lt(e,!1),a&&(0,o.ir)(a),!d&&(r=u&&u.onVnodeBeforeMount)&&vn(r,p,t),Lt(e,!0),l&&re){const n=()=>{e.subTree=G(e),re(l,e.subTree,e,i,null)};d?t.type.__asyncLoader().then((()=>!e.isUnmounted&&n())):n()}else{0;const r=e.subTree=G(e);0,y(null,r,n,s,e,i,c),t.el=r.el}if(f&&Pt(f,i),!d&&(r=u&&u.onVnodeMounted)){const e=t;Pt((()=>vn(r,p,e)),i)}(256&t.shapeFlag||p&&ve(p.vnode)&&256&p.vnode.shapeFlag)&&e.a&&Pt(e.a,i),e.isMounted=!0,t=n=s=null}},a=e.effect=new r.qq(u,(()=>C(f)),e.scope),f=e.update=()=>a.run();f.id=e.uid,Lt(e,!0),f()},J=(e,t,n)=>{t.component=e;const o=e.vnode.props;e.vnode=t,e.next=null,dt(e,t.props,o,n),Ot(e,t.children,n),(0,r.Jd)(),j(void 0,e.update),(0,r.lk)()},V=(e,t,n,r,o,s,i,c,l=!1)=>{const u=e&&e.children,a=e?e.shapeFlag:0,f=t.children,{patchFlag:d,shapeFlag:h}=t;if(d>0){if(128&d)return void B(u,f,n,r,o,s,i,c,l);if(256&d)return void D(u,f,n,r,o,s,i,c,l)}8&h?(16&a&&Y(u,o,s),f!==u&&p(n,f)):16&a?16&h?B(u,f,n,r,o,s,i,c,l):Y(u,o,s,!0):(8&a&&p(n,""),16&h&&A(f,n,r,o,s,i,c,l))},D=(e,t,n,r,s,i,c,l,u)=>{e=e||o.Z6,t=t||o.Z6;const a=e.length,f=t.length,p=Math.min(a,f);let d;for(d=0;df?Y(e,s,i,!0,!1,p):A(t,n,r,s,i,c,l,u,p)},B=(e,t,n,r,s,i,c,l,u)=>{let a=0;const f=t.length;let p=e.length-1,d=f-1;while(a<=p&&a<=d){const r=e[a],o=t[a]=u?hn(t[a]):dn(t[a]);if(!en(r,o))break;y(r,o,n,null,s,i,c,l,u),a++}while(a<=p&&a<=d){const r=e[p],o=t[d]=u?hn(t[d]):dn(t[d]);if(!en(r,o))break;y(r,o,n,null,s,i,c,l,u),p--,d--}if(a>p){if(a<=d){const e=d+1,o=ed)while(a<=p)W(e[a],s,i,!0),a++;else{const h=a,m=a,g=new Map;for(a=m;a<=d;a++){const e=t[a]=u?hn(t[a]):dn(t[a]);null!=e.key&&g.set(e.key,a)}let v,_=0;const b=d-m+1;let w=!1,k=0;const x=new Array(b);for(a=0;a=b){W(r,s,i,!0);continue}let o;if(null!=r.key)o=g.get(r.key);else for(v=m;v<=d;v++)if(0===x[v-m]&&en(r,t[v])){o=v;break}void 0===o?W(r,s,i,!0):(x[o-m]=a+1,o>=k?k=o:w=!0,y(r,t[o],n,null,s,i,c,l,u),_++)}const C=w?Ut(x):o.Z6;for(v=C.length-1,a=b-1;a>=0;a--){const e=m+a,o=t[e],p=e+1{const{el:i,type:c,transition:l,children:u,shapeFlag:a}=e;if(6&a)return void q(e.component.subTree,t,n,r);if(128&a)return void e.suspense.move(t,n,r);if(64&a)return void c.move(e,t,n,te);if(c===Jt){s(i,t,n);for(let e=0;el.enter(i)),o);else{const{leave:e,delayLeave:r,afterLeave:o}=l,c=()=>s(i,t,n),u=()=>{e(i,(()=>{c(),o&&o()}))};r?r(i,c,u):u()}else s(i,t,n)},W=(e,t,n,r=!1,o=!1)=>{const{type:s,props:i,ref:c,children:l,dynamicChildren:u,shapeFlag:a,patchFlag:f,dirs:p}=e;if(null!=c&&It(c,null,n,e,!0),256&a)return void t.ctx.deactivate(e);const d=1&a&&p,h=!ve(e);let m;if(h&&(m=i&&i.onVnodeBeforeUnmount)&&vn(m,t,e),6&a)Z(e.component,n,r);else{if(128&a)return void e.suspense.unmount(n,r);d&&Ve(e,null,t,"beforeUnmount"),64&a?e.type.remove(e,t,n,o,te,r):u&&(s!==Jt||f>0&&64&f)?Y(u,t,n,!1,!0):(s===Jt&&384&f||!o&&16&a)&&Y(l,t,n),r&&z(e)}(h&&(m=i&&i.onVnodeUnmounted)||d)&&Pt((()=>{m&&vn(m,t,e),d&&Ve(e,null,t,"unmounted")}),n)},z=e=>{const{type:t,el:n,anchor:r,transition:o}=e;if(t===Jt)return void X(n,r);if(t===Gt)return void x(e);const s=()=>{i(n),o&&!o.persisted&&o.afterLeave&&o.afterLeave()};if(1&e.shapeFlag&&o&&!o.persisted){const{leave:t,delayLeave:r}=o,i=()=>t(n,s);r?r(e.el,s,i):i()}else s()},X=(e,t)=>{let n;while(e!==t)n=h(e),i(e),e=n;i(t)},Z=(e,t,n)=>{const{bum:r,scope:s,update:i,subTree:c,um:l}=e;r&&(0,o.ir)(r),s.stop(),i&&(i.active=!1,W(c,e,t,n)),l&&Pt(l,t),Pt((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},Y=(e,t,n,r=!1,o=!1,s=0)=>{for(let i=s;i6&e.shapeFlag?Q(e.component.subTree):128&e.shapeFlag?e.suspense.next():h(e.anchor||e.el),ee=(e,t,n)=>{null==e?t._vnode&&W(t._vnode,null,null,!0):y(t._vnode||null,e,t,null,null,null,n),I(),t._vnode=e},te={p:y,um:W,m:q,r:z,mt:$,mc:A,pc:V,pbc:P,n:Q,o:e};let ne,re;return t&&([ne,re]=t(te)),{render:ee,hydrate:ne,createApp:jt(ee,ne)}}function Lt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function $t(e,t,n=!1){const r=e.children,s=t.children;if((0,o.kJ)(r)&&(0,o.kJ)(s))for(let o=0;o>1,e[n[c]]0&&(t[r]=n[s-1]),n[s]=r)}}s=n.length,i=n[s-1];while(s-- >0)n[s]=i,i=t[i];return n}const Nt=e=>e.__isTeleport;const Jt=Symbol(void 0),Vt=Symbol(void 0),Dt=Symbol(void 0),Gt=Symbol(void 0),Bt=[];let qt=null;function Ht(e=!1){Bt.push(qt=e?null:[])}function Wt(){Bt.pop(),qt=Bt[Bt.length-1]||null}let Kt=1;function zt(e){Kt+=e}function Xt(e){return e.dynamicChildren=Kt>0?qt||o.Z6:null,Wt(),Kt>0&&qt&&qt.push(e),e}function Zt(e,t,n,r,o,s){return Xt(on(e,t,n,r,o,s,!0))}function Yt(e,t,n,r,o){return Xt(sn(e,t,n,r,o,!0))}function Qt(e){return!!e&&!0===e.__v_isVNode}function en(e,t){return e.type===t.type&&e.key===t.key}const tn="__vInternal",nn=({key:e})=>null!=e?e:null,rn=({ref:e,ref_key:t,ref_for:n})=>null!=e?(0,o.HD)(e)||(0,r.dq)(e)||(0,o.mf)(e)?{i:$,r:e,k:t,f:!!n}:e:null;function on(e,t=null,n=null,r=0,s=null,i=(e===Jt?0:1),c=!1,l=!1){const u={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&nn(t),ref:t&&rn(t),scopeId:U,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null};return l?(mn(u,n),128&i&&e.normalize(u)):n&&(u.shapeFlag|=(0,o.HD)(n)?8:16),Kt>0&&!c&&qt&&(u.patchFlag>0||6&i)&&32!==u.patchFlag&&qt.push(u),u}const sn=cn;function cn(e,t=null,n=null,s=0,i=null,c=!1){if(e&&e!==Be||(e=Dt),Qt(e)){const r=un(e,t,!0);return n&&mn(r,n),Kt>0&&!c&&qt&&(6&r.shapeFlag?qt[qt.indexOf(e)]=r:qt.push(r)),r.patchFlag|=-2,r}if($n(e)&&(e=e.__vccOpts),t){t=ln(t);let{class:e,style:n}=t;e&&!(0,o.HD)(e)&&(t.class=(0,o.C_)(e)),(0,o.Kn)(n)&&((0,r.X3)(n)&&!(0,o.kJ)(n)&&(n=(0,o.l7)({},n)),t.style=(0,o.j5)(n))}const l=(0,o.HD)(e)?1:z(e)?128:Nt(e)?64:(0,o.Kn)(e)?4:(0,o.mf)(e)?2:0;return on(e,t,n,s,i,l,c,!0)}function ln(e){return e?(0,r.X3)(e)||tn in e?(0,o.l7)({},e):e:null}function un(e,t,n=!1){const{props:r,ref:s,patchFlag:i,children:c}=e,l=t?gn(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&nn(l),ref:t&&t.ref?n&&s?(0,o.kJ)(s)?s.concat(rn(t)):[s,rn(t)]:rn(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:c,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Jt?-1===i?16:16|i:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&un(e.ssContent),ssFallback:e.ssFallback&&un(e.ssFallback),el:e.el,anchor:e.anchor};return u}function an(e=" ",t=0){return sn(Vt,null,e,t)}function fn(e,t){const n=sn(Gt,null,e);return n.staticCount=t,n}function pn(e="",t=!1){return t?(Ht(),Yt(Dt,null,e)):sn(Dt,null,e)}function dn(e){return null==e||"boolean"===typeof e?sn(Dt):(0,o.kJ)(e)?sn(Jt,null,e.slice()):"object"===typeof e?hn(e):sn(Vt,null,String(e))}function hn(e){return null===e.el||e.memo?e:un(e)}function mn(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if((0,o.kJ)(t))n=16;else if("object"===typeof t){if(65&r){const n=t.default;return void(n&&(n._c&&(n._d=!1),mn(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||tn in t?3===r&&$&&(1===$.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=$}}else(0,o.mf)(t)?(t={default:t,_ctx:$},n=32):(t=String(t),64&r?(n=16,t=[an(t)]):n=8);e.children=t,e.shapeFlag|=n}function gn(...e){const t={};for(let n=0;nwn||$,xn=e=>{wn=e,e.scope.on()},Cn=()=>{wn&&wn.scope.off(),wn=null};function Sn(e){return 4&e.vnode.shapeFlag}let En,On,Rn=!1;function An(e,t=!1){Rn=t;const{props:n,children:r}=e.vnode,o=Sn(e);pt(e,n,o,t),Et(e,r);const s=o?jn(e,t):void 0;return Rn=!1,s}function jn(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=(0,r.Xl)(new Proxy(e.ctx,Ze));const{setup:i}=n;if(i){const n=e.setupContext=i.length>1?Fn(e):null;xn(e),(0,r.Jd)();const l=s(i,e,0,[e.props,n]);if((0,r.lk)(),Cn(),(0,o.tI)(l)){if(l.then(Cn,Cn),t)return l.then((n=>{In(e,n,t)})).catch((t=>{c(t,e,0)}));e.asyncDep=l}else In(e,l,t)}else Tn(e,t)}function In(e,t,n){(0,o.mf)(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:(0,o.Kn)(t)&&(e.setupState=(0,r.WL)(t)),Tn(e,n)}function Tn(e,t,n){const s=e.type;if(!e.render){if(!t&&En&&!s.render){const t=s.template;if(t){0;const{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:i,compilerOptions:c}=s,l=(0,o.l7)((0,o.l7)({isCustomElement:n,delimiters:i},r),c);s.render=En(t,l)}}e.render=s.render||o.dG,On&&On(e)}xn(e),(0,r.Jd)(),Qe(e),(0,r.lk)(),Cn()}function Pn(e){return new Proxy(e.attrs,{get(t,n){return(0,r.j)(e,"get","$attrs"),t[n]}})}function Fn(e){const t=t=>{e.exposed=t||{}};let n;return{get attrs(){return n||(n=Pn(e))},slots:e.slots,emit:e.emit,expose:t}}function Mn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy((0,r.WL)((0,r.Xl)(e.exposed)),{get(t,n){return n in t?t[n]:n in Xe?Xe[n](e):void 0}}))}function Ln(e,t=!0){return(0,o.mf)(e)?e.displayName||e.name:e.name||t&&e.__name}function $n(e){return(0,o.mf)(e)&&"__vccOpts"in e}const Un=(e,t)=>(0,r.Fl)(e,t,Rn);function Nn(e,t,n){const r=arguments.length;return 2===r?(0,o.Kn)(t)&&!(0,o.kJ)(t)?Qt(t)?sn(e,null,[t]):sn(e,t):sn(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&Qt(n)&&(n=[n]),sn(e,t,n))}Symbol("");const Jn="3.2.37"},963:function(e,t,n){n.d(t,{D2:function(){return le},e8:function(){return re},nr:function(){return ne},ri:function(){return pe}});var r=n(577),o=n(252);n(262);const s="http://www.w3.org/2000/svg",i="undefined"!==typeof document?document:null,c=i&&i.createElement("template"),l={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t?i.createElementNS(s,e):i.createElement(e,n?{is:n}:void 0);return"select"===e&&r&&null!=r.multiple&&o.setAttribute("multiple",r.multiple),o},createText:e=>i.createTextNode(e),createComment:e=>i.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>i.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},cloneNode(e){const t=e.cloneNode(!0);return"_value"in e&&(t._value=e._value),t},insertStaticContent(e,t,n,r,o,s){const i=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling)){while(1)if(t.insertBefore(o.cloneNode(!0),n),o===s||!(o=o.nextSibling))break}else{c.innerHTML=r?`${e}`:e;const o=c.content;if(r){const e=o.firstChild;while(e.firstChild)o.appendChild(e.firstChild);o.removeChild(e)}t.insertBefore(o,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function u(e,t,n){const r=e._vtc;r&&(t=(t?[t,...r]:[...r]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function a(e,t,n){const o=e.style,s=(0,r.HD)(n);if(n&&!s){for(const e in n)p(o,e,n[e]);if(t&&!(0,r.HD)(t))for(const e in t)null==n[e]&&p(o,e,"")}else{const r=o.display;s?t!==n&&(o.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(o.display=r)}}const f=/\s*!important$/;function p(e,t,n){if((0,r.kJ)(n))n.forEach((n=>p(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=m(e,t);f.test(n)?e.setProperty((0,r.rs)(o),n.replace(f,""),"important"):e[o]=n}}const d=["Webkit","Moz","ms"],h={};function m(e,t){const n=h[t];if(n)return n;let o=(0,r._A)(t);if("filter"!==o&&o in e)return h[t]=o;o=(0,r.kC)(o);for(let r=0;r{let e=Date.now,t=!1;if("undefined"!==typeof window){Date.now()>document.createEvent("Event").timeStamp&&(e=performance.now.bind(performance));const n=navigator.userAgent.match(/firefox\/(\d+)/i);t=!!(n&&Number(n[1])<=53)}return[e,t]})();let w=0;const k=Promise.resolve(),x=()=>{w=0},C=()=>w||(k.then(x),w=_());function S(e,t,n,r){e.addEventListener(t,n,r)}function E(e,t,n,r){e.removeEventListener(t,n,r)}function O(e,t,n,r,o=null){const s=e._vei||(e._vei={}),i=s[t];if(r&&i)i.value=r;else{const[n,c]=A(t);if(r){const i=s[t]=j(r,o);S(e,n,i,c)}else i&&(E(e,n,i,c),s[t]=void 0)}}const R=/(?:Once|Passive|Capture)$/;function A(e){let t;if(R.test(e)){let n;t={};while(n=e.match(R))e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[(0,r.rs)(e.slice(2)),t]}function j(e,t){const n=e=>{const r=e.timeStamp||_();(b||r>=n.attached-1)&&(0,o.$d)(I(e,n.value),t,5,[e])};return n.value=e,n.attached=C(),n}function I(e,t){if((0,r.kJ)(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}const T=/^on[a-z]/,P=(e,t,n,o,s=!1,i,c,l,f)=>{"class"===t?u(e,o,s):"style"===t?a(e,n,o):(0,r.F7)(t)?(0,r.tR)(t)||O(e,t,n,o,c):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):F(e,t,o,s))?y(e,t,o,i,c,l,f):("true-value"===t?e._trueValue=o:"false-value"===t&&(e._falseValue=o),v(e,t,o,s))};function F(e,t,n,o){return o?"innerHTML"===t||"textContent"===t||!!(t in e&&T.test(t)&&(0,r.mf)(n)):"spellcheck"!==t&&"draggable"!==t&&"translate"!==t&&("form"!==t&&(("list"!==t||"INPUT"!==e.tagName)&&(("type"!==t||"TEXTAREA"!==e.tagName)&&((!T.test(t)||!(0,r.HD)(n))&&t in e))))}"undefined"!==typeof HTMLElement&&HTMLElement;const M="transition",L="animation",$=(e,{slots:t})=>(0,o.h)(o.P$,V(e),t);$.displayName="Transition";const U={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},N=($.props=(0,r.l7)({},o.P$.props,U),(e,t=[])=>{(0,r.kJ)(e)?e.forEach((e=>e(...t))):e&&e(...t)}),J=e=>!!e&&((0,r.kJ)(e)?e.some((e=>e.length>1)):e.length>1);function V(e){const t={};for(const r in e)r in U||(t[r]=e[r]);if(!1===e.css)return t;const{name:n="v",type:o,duration:s,enterFromClass:i=`${n}-enter-from`,enterActiveClass:c=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:u=i,appearActiveClass:a=c,appearToClass:f=l,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,m=D(s),g=m&&m[0],v=m&&m[1],{onBeforeEnter:y,onEnter:_,onEnterCancelled:b,onLeave:w,onLeaveCancelled:k,onBeforeAppear:x=y,onAppear:C=_,onAppearCancelled:S=b}=t,E=(e,t,n)=>{q(e,t?f:l),q(e,t?a:c),n&&n()},O=(e,t)=>{e._isLeaving=!1,q(e,p),q(e,h),q(e,d),t&&t()},R=e=>(t,n)=>{const r=e?C:_,s=()=>E(t,e,n);N(r,[t,s]),H((()=>{q(t,e?u:i),B(t,e?f:l),J(r)||K(t,o,g,s)}))};return(0,r.l7)(t,{onBeforeEnter(e){N(y,[e]),B(e,i),B(e,c)},onBeforeAppear(e){N(x,[e]),B(e,u),B(e,a)},onEnter:R(!1),onAppear:R(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>O(e,t);B(e,p),Y(),B(e,d),H((()=>{e._isLeaving&&(q(e,p),B(e,h),J(w)||K(e,o,v,n))})),N(w,[e,n])},onEnterCancelled(e){E(e,!1),N(b,[e])},onAppearCancelled(e){E(e,!0),N(S,[e])},onLeaveCancelled(e){O(e),N(k,[e])}})}function D(e){if(null==e)return null;if((0,r.Kn)(e))return[G(e.enter),G(e.leave)];{const t=G(e);return[t,t]}}function G(e){const t=(0,r.He)(e);return t}function B(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e._vtc||(e._vtc=new Set)).add(t)}function q(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function H(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let W=0;function K(e,t,n,r){const o=e._endId=++W,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:c,propCount:l}=z(e,t);if(!i)return r();const u=i+"end";let a=0;const f=()=>{e.removeEventListener(u,p),s()},p=t=>{t.target===e&&++a>=l&&f()};setTimeout((()=>{a(n[e]||"").split(", "),o=r(M+"Delay"),s=r(M+"Duration"),i=X(o,s),c=r(L+"Delay"),l=r(L+"Duration"),u=X(c,l);let a=null,f=0,p=0;t===M?i>0&&(a=M,f=i,p=s.length):t===L?u>0&&(a=L,f=u,p=l.length):(f=Math.max(i,u),a=f>0?i>u?M:L:null,p=a?a===M?s.length:l.length:0);const d=a===M&&/\b(transform|all)(,|$)/.test(n[M+"Property"]);return{type:a,timeout:f,propCount:p,hasTransform:d}}function X(e,t){while(e.lengthZ(t)+Z(e[n]))))}function Z(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function Y(){return document.body.offsetHeight}new WeakMap,new WeakMap;const Q=e=>{const t=e.props["onUpdate:modelValue"]||!1;return(0,r.kJ)(t)?e=>(0,r.ir)(t,e):t};function ee(e){e.target.composing=!0}function te(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const ne={created(e,{modifiers:{lazy:t,trim:n,number:o}},s){e._assign=Q(s);const i=o||s.props&&"number"===s.props.type;S(e,t?"change":"input",(t=>{if(t.target.composing)return;let o=e.value;n&&(o=o.trim()),i&&(o=(0,r.He)(o)),e._assign(o)})),n&&S(e,"change",(()=>{e.value=e.value.trim()})),t||(S(e,"compositionstart",ee),S(e,"compositionend",te),S(e,"change",te))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:o,number:s}},i){if(e._assign=Q(i),e.composing)return;if(document.activeElement===e&&"range"!==e.type){if(n)return;if(o&&e.value.trim()===t)return;if((s||"number"===e.type)&&(0,r.He)(e.value)===t)return}const c=null==t?"":t;e.value!==c&&(e.value=c)}},re={deep:!0,created(e,t,n){e._assign=Q(n),S(e,"change",(()=>{const t=e._modelValue,n=se(e),o=e.checked,s=e._assign;if((0,r.kJ)(t)){const e=(0,r.hq)(t,n),i=-1!==e;if(o&&!i)s(t.concat(n));else if(!o&&i){const n=[...t];n.splice(e,1),s(n)}}else if((0,r.DM)(t)){const e=new Set(t);o?e.add(n):e.delete(n),s(e)}else s(ie(e,o))}))},mounted:oe,beforeUpdate(e,t,n){e._assign=Q(n),oe(e,t,n)}};function oe(e,{value:t,oldValue:n},o){e._modelValue=t,(0,r.kJ)(t)?e.checked=(0,r.hq)(t,o.props.value)>-1:(0,r.DM)(t)?e.checked=t.has(o.props.value):t!==n&&(e.checked=(0,r.WV)(t,ie(e,!0)))}function se(e){return"_value"in e?e._value:e.value}function ie(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const ce={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},le=(e,t)=>n=>{if(!("key"in n))return;const o=(0,r.rs)(n.key);return t.some((e=>e===o||ce[e]===o))?e(n):void 0};const ue=(0,r.l7)({patchProp:P},l);let ae;function fe(){return ae||(ae=(0,o.Us)(ue))}const pe=(...e)=>{const t=fe().createApp(...e);const{mount:n}=t;return t.mount=e=>{const o=de(e);if(!o)return;const s=t._component;(0,r.mf)(s)||s.render||s.template||(s.template=o.innerHTML),o.innerHTML="";const i=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t};function de(e){if((0,r.HD)(e)){const t=document.querySelector(e);return t}return e}},577:function(e,t,n){function r(e,t){const n=Object.create(null),r=e.split(",");for(let o=0;o!!n[e.toLowerCase()]:e=>!!n[e]}n.d(t,{C_:function(){return d},DM:function(){return T},E9:function(){return re},F7:function(){return C},Gg:function(){return B},HD:function(){return M},He:function(){return te},Kn:function(){return $},NO:function(){return k},Nj:function(){return ee},Od:function(){return O},PO:function(){return D},Pq:function(){return c},RI:function(){return A},S0:function(){return G},W7:function(){return V},WV:function(){return m},Z6:function(){return b},_A:function(){return W},_N:function(){return I},aU:function(){return Y},dG:function(){return w},e1:function(){return s},fY:function(){return r},hR:function(){return Z},hq:function(){return g},ir:function(){return Q},j5:function(){return u},kC:function(){return X},kJ:function(){return j},kT:function(){return _},l7:function(){return E},mf:function(){return F},rs:function(){return z},tI:function(){return U},tR:function(){return S},yA:function(){return l},yk:function(){return L},zw:function(){return v}});const o="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",s=r(o);const i="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",c=r(i);function l(e){return!!e||""===e}function u(e){if(j(e)){const t={};for(let n=0;n{if(e){const n=e.split(f);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function d(e){let t="";if(M(e))t=e;else if(j(e))for(let n=0;nm(e,t)))}const v=e=>M(e)?e:null==e?"":j(e)||$(e)&&(e.toString===N||!F(e.toString))?JSON.stringify(e,y,2):String(e),y=(e,t)=>t&&t.__v_isRef?y(e,t.value):I(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n])=>(e[`${t} =>`]=n,e)),{})}:T(t)?{[`Set(${t.size})`]:[...t.values()]}:!$(t)||j(t)||D(t)?t:String(t),_={},b=[],w=()=>{},k=()=>!1,x=/^on[^a-z]/,C=e=>x.test(e),S=e=>e.startsWith("onUpdate:"),E=Object.assign,O=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},R=Object.prototype.hasOwnProperty,A=(e,t)=>R.call(e,t),j=Array.isArray,I=e=>"[object Map]"===J(e),T=e=>"[object Set]"===J(e),P=e=>"[object Date]"===J(e),F=e=>"function"===typeof e,M=e=>"string"===typeof e,L=e=>"symbol"===typeof e,$=e=>null!==e&&"object"===typeof e,U=e=>$(e)&&F(e.then)&&F(e.catch),N=Object.prototype.toString,J=e=>N.call(e),V=e=>J(e).slice(8,-1),D=e=>"[object Object]"===J(e),G=e=>M(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,B=r(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),q=e=>{const t=Object.create(null);return n=>{const r=t[n];return r||(t[n]=e(n))}},H=/-(\w)/g,W=q((e=>e.replace(H,((e,t)=>t?t.toUpperCase():"")))),K=/\B([A-Z])/g,z=q((e=>e.replace(K,"-$1").toLowerCase())),X=q((e=>e.charAt(0).toUpperCase()+e.slice(1))),Z=q((e=>e?`on${X(e)}`:"")),Y=(e,t)=>!Object.is(e,t),Q=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},te=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let ne;const re=()=>ne||(ne="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{})},744:function(e,t){t.Z=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n}},907:function(e,t,n){n.d(t,{MT:function(){return ee}});var r=n(252),o=n(262);function s(){return i().__VUE_DEVTOOLS_GLOBAL_HOOK__}function i(){return"undefined"!==typeof navigator&&"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{}}const c="function"===typeof Proxy,l="devtools-plugin:setup",u="plugin:settings:set";let a,f;function p(){var e;return void 0!==a||("undefined"!==typeof window&&window.performance?(a=!0,f=window.performance):"undefined"!==typeof n.g&&(null===(e=n.g.perf_hooks)||void 0===e?void 0:e.performance)?(a=!0,f=n.g.perf_hooks.performance):a=!1),a}function d(){return p()?f.now():Date.now()}class h{constructor(e,t){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=e,this.hook=t;const n={};if(e.settings)for(const i in e.settings){const t=e.settings[i];n[i]=t.defaultValue}const r=`__vue-devtools-plugin-settings__${e.id}`;let o=Object.assign({},n);try{const e=localStorage.getItem(r),t=JSON.parse(e);Object.assign(o,t)}catch(s){}this.fallbacks={getSettings(){return o},setSettings(e){try{localStorage.setItem(r,JSON.stringify(e))}catch(s){}o=e},now(){return d()}},t&&t.on(u,((e,t)=>{e===this.plugin.id&&this.fallbacks.setSettings(t)})),this.proxiedOn=new Proxy({},{get:(e,t)=>this.target?this.target.on[t]:(...e)=>{this.onQueue.push({method:t,args:e})}}),this.proxiedTarget=new Proxy({},{get:(e,t)=>this.target?this.target[t]:"on"===t?this.proxiedOn:Object.keys(this.fallbacks).includes(t)?(...e)=>(this.targetQueue.push({method:t,args:e,resolve:()=>{}}),this.fallbacks[t](...e)):(...e)=>new Promise((n=>{this.targetQueue.push({method:t,args:e,resolve:n})}))})}async setRealTarget(e){this.target=e;for(const t of this.onQueue)this.target.on[t.method](...t.args);for(const t of this.targetQueue)t.resolve(await this.target[t.method](...t.args))}}function m(e,t){const n=e,r=i(),o=s(),u=c&&n.enableEarlyProxy;if(!o||!r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__&&u){const e=u?new h(n,o):null,s=r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[];s.push({pluginDescriptor:n,setupFn:t,proxy:e}),e&&t(e.proxiedTarget)}else o.emit(l,e,t)} +/*! + * vuex v4.0.2 + * (c) 2021 Evan You + * @license MIT + */ +var g="store";function v(e,t){Object.keys(e).forEach((function(n){return t(e[n],n)}))}function y(e){return null!==e&&"object"===typeof e}function _(e){return e&&"function"===typeof e.then}function b(e,t){return function(){return e(t)}}function w(e,t,n){return t.indexOf(e)<0&&(n&&n.prepend?t.unshift(e):t.push(e)),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function k(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;C(e,n,[],e._modules.root,!0),x(e,n,t)}function x(e,t,n){var r=e._state;e.getters={},e._makeLocalGettersCache=Object.create(null);var s=e._wrappedGetters,i={};v(s,(function(t,n){i[n]=b(t,e),Object.defineProperty(e.getters,n,{get:function(){return i[n]()},enumerable:!0})})),e._state=(0,o.qj)({data:t}),e.strict&&j(e),r&&n&&e._withCommit((function(){r.data=null}))}function C(e,t,n,r,o){var s=!n.length,i=e._modules.getNamespace(n);if(r.namespaced&&(e._modulesNamespaceMap[i],e._modulesNamespaceMap[i]=r),!s&&!o){var c=I(t,n.slice(0,-1)),l=n[n.length-1];e._withCommit((function(){c[l]=r.state}))}var u=r.context=S(e,i,n);r.forEachMutation((function(t,n){var r=i+n;O(e,r,t,u)})),r.forEachAction((function(t,n){var r=t.root?n:i+n,o=t.handler||t;R(e,r,o,u)})),r.forEachGetter((function(t,n){var r=i+n;A(e,r,t,u)})),r.forEachChild((function(r,s){C(e,t,n.concat(s),r,o)}))}function S(e,t,n){var r=""===t,o={dispatch:r?e.dispatch:function(n,r,o){var s=T(n,r,o),i=s.payload,c=s.options,l=s.type;return c&&c.root||(l=t+l),e.dispatch(l,i)},commit:r?e.commit:function(n,r,o){var s=T(n,r,o),i=s.payload,c=s.options,l=s.type;c&&c.root||(l=t+l),e.commit(l,i,c)}};return Object.defineProperties(o,{getters:{get:r?function(){return e.getters}:function(){return E(e,t)}},state:{get:function(){return I(e.state,n)}}}),o}function E(e,t){if(!e._makeLocalGettersCache[t]){var n={},r=t.length;Object.keys(e.getters).forEach((function(o){if(o.slice(0,r)===t){var s=o.slice(r);Object.defineProperty(n,s,{get:function(){return e.getters[o]},enumerable:!0})}})),e._makeLocalGettersCache[t]=n}return e._makeLocalGettersCache[t]}function O(e,t,n,r){var o=e._mutations[t]||(e._mutations[t]=[]);o.push((function(t){n.call(e,r.state,t)}))}function R(e,t,n,r){var o=e._actions[t]||(e._actions[t]=[]);o.push((function(t){var o=n.call(e,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:e.getters,rootState:e.state},t);return _(o)||(o=Promise.resolve(o)),e._devtoolHook?o.catch((function(t){throw e._devtoolHook.emit("vuex:error",t),t})):o}))}function A(e,t,n,r){e._wrappedGetters[t]||(e._wrappedGetters[t]=function(e){return n(r.state,r.getters,e.state,e.getters)})}function j(e){(0,r.YP)((function(){return e._state.data}),(function(){0}),{deep:!0,flush:"sync"})}function I(e,t){return t.reduce((function(e,t){return e[t]}),e)}function T(e,t,n){return y(e)&&e.type&&(n=t,t=e,e=e.type),{type:e,payload:t,options:n}}var P="vuex bindings",F="vuex:mutations",M="vuex:actions",L="vuex",$=0;function U(e,t){m({id:"org.vuejs.vuex",app:e,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:[P]},(function(n){n.addTimelineLayer({id:F,label:"Vuex Mutations",color:N}),n.addTimelineLayer({id:M,label:"Vuex Actions",color:N}),n.addInspector({id:L,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),n.on.getInspectorTree((function(n){if(n.app===e&&n.inspectorId===L)if(n.filter){var r=[];q(r,t._modules.root,n.filter,""),n.rootNodes=r}else n.rootNodes=[B(t._modules.root,"")]})),n.on.getInspectorState((function(n){if(n.app===e&&n.inspectorId===L){var r=n.nodeId;E(t,r),n.state=H(K(t._modules,r),"root"===r?t.getters:t._makeLocalGettersCache,r)}})),n.on.editInspectorState((function(n){if(n.app===e&&n.inspectorId===L){var r=n.nodeId,o=n.path;"root"!==r&&(o=r.split("/").filter(Boolean).concat(o)),t._withCommit((function(){n.set(t._state.data,o,n.state.value)}))}})),t.subscribe((function(e,t){var r={};e.payload&&(r.payload=e.payload),r.state=t,n.notifyComponentUpdate(),n.sendInspectorTree(L),n.sendInspectorState(L),n.addTimelineEvent({layerId:F,event:{time:Date.now(),title:e.type,data:r}})})),t.subscribeAction({before:function(e,t){var r={};e.payload&&(r.payload=e.payload),e._id=$++,e._time=Date.now(),r.state=t,n.addTimelineEvent({layerId:M,event:{time:e._time,title:e.type,groupId:e._id,subtitle:"start",data:r}})},after:function(e,t){var r={},o=Date.now()-e._time;r.duration={_custom:{type:"duration",display:o+"ms",tooltip:"Action duration",value:o}},e.payload&&(r.payload=e.payload),r.state=t,n.addTimelineEvent({layerId:M,event:{time:Date.now(),title:e.type,groupId:e._id,subtitle:"end",data:r}})}})}))}var N=8702998,J=6710886,V=16777215,D={label:"namespaced",textColor:V,backgroundColor:J};function G(e){return e&&"root"!==e?e.split("/").slice(-2,-1)[0]:"Root"}function B(e,t){return{id:t||"root",label:G(t),tags:e.namespaced?[D]:[],children:Object.keys(e._children).map((function(n){return B(e._children[n],t+n+"/")}))}}function q(e,t,n,r){r.includes(n)&&e.push({id:r||"root",label:r.endsWith("/")?r.slice(0,r.length-1):r||"Root",tags:t.namespaced?[D]:[]}),Object.keys(t._children).forEach((function(o){q(e,t._children[o],n,r+o+"/")}))}function H(e,t,n){t="root"===n?t:t[n];var r=Object.keys(t),o={state:Object.keys(e.state).map((function(t){return{key:t,editable:!0,value:e.state[t]}}))};if(r.length){var s=W(t);o.getters=Object.keys(s).map((function(e){return{key:e.endsWith("/")?G(e):e,editable:!1,value:z((function(){return s[e]}))}}))}return o}function W(e){var t={};return Object.keys(e).forEach((function(n){var r=n.split("/");if(r.length>1){var o=t,s=r.pop();r.forEach((function(e){o[e]||(o[e]={_custom:{value:{},display:e,tooltip:"Module",abstract:!0}}),o=o[e]._custom.value})),o[s]=z((function(){return e[n]}))}else t[n]=z((function(){return e[n]}))})),t}function K(e,t){var n=t.split("/").filter((function(e){return e}));return n.reduce((function(e,r,o){var s=e[r];if(!s)throw new Error('Missing module "'+r+'" for path "'+t+'".');return o===n.length-1?s:s._children}),"root"===t?e:e.root._children)}function z(e){try{return e()}catch(t){return t}}var X=function(e,t){this.runtime=t,this._children=Object.create(null),this._rawModule=e;var n=e.state;this.state=("function"===typeof n?n():n)||{}},Z={namespaced:{configurable:!0}};Z.namespaced.get=function(){return!!this._rawModule.namespaced},X.prototype.addChild=function(e,t){this._children[e]=t},X.prototype.removeChild=function(e){delete this._children[e]},X.prototype.getChild=function(e){return this._children[e]},X.prototype.hasChild=function(e){return e in this._children},X.prototype.update=function(e){this._rawModule.namespaced=e.namespaced,e.actions&&(this._rawModule.actions=e.actions),e.mutations&&(this._rawModule.mutations=e.mutations),e.getters&&(this._rawModule.getters=e.getters)},X.prototype.forEachChild=function(e){v(this._children,e)},X.prototype.forEachGetter=function(e){this._rawModule.getters&&v(this._rawModule.getters,e)},X.prototype.forEachAction=function(e){this._rawModule.actions&&v(this._rawModule.actions,e)},X.prototype.forEachMutation=function(e){this._rawModule.mutations&&v(this._rawModule.mutations,e)},Object.defineProperties(X.prototype,Z);var Y=function(e){this.register([],e,!1)};function Q(e,t,n){if(t.update(n),n.modules)for(var r in n.modules){if(!t.getChild(r))return void 0;Q(e.concat(r),t.getChild(r),n.modules[r])}}Y.prototype.get=function(e){return e.reduce((function(e,t){return e.getChild(t)}),this.root)},Y.prototype.getNamespace=function(e){var t=this.root;return e.reduce((function(e,n){return t=t.getChild(n),e+(t.namespaced?n+"/":"")}),"")},Y.prototype.update=function(e){Q([],this.root,e)},Y.prototype.register=function(e,t,n){var r=this;void 0===n&&(n=!0);var o=new X(t,n);if(0===e.length)this.root=o;else{var s=this.get(e.slice(0,-1));s.addChild(e[e.length-1],o)}t.modules&&v(t.modules,(function(t,o){r.register(e.concat(o),t,n)}))},Y.prototype.unregister=function(e){var t=this.get(e.slice(0,-1)),n=e[e.length-1],r=t.getChild(n);r&&r.runtime&&t.removeChild(n)},Y.prototype.isRegistered=function(e){var t=this.get(e.slice(0,-1)),n=e[e.length-1];return!!t&&t.hasChild(n)};function ee(e){return new te(e)}var te=function(e){var t=this;void 0===e&&(e={});var n=e.plugins;void 0===n&&(n=[]);var r=e.strict;void 0===r&&(r=!1);var o=e.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new Y(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._devtools=o;var s=this,i=this,c=i.dispatch,l=i.commit;this.dispatch=function(e,t){return c.call(s,e,t)},this.commit=function(e,t,n){return l.call(s,e,t,n)},this.strict=r;var u=this._modules.root.state;C(this,u,[],this._modules.root),x(this,u),n.forEach((function(e){return e(t)}))},ne={state:{configurable:!0}};te.prototype.install=function(e,t){e.provide(t||g,this),e.config.globalProperties.$store=this;var n=void 0!==this._devtools&&this._devtools;n&&U(e,this)},ne.state.get=function(){return this._state.data},ne.state.set=function(e){0},te.prototype.commit=function(e,t,n){var r=this,o=T(e,t,n),s=o.type,i=o.payload,c=(o.options,{type:s,payload:i}),l=this._mutations[s];l&&(this._withCommit((function(){l.forEach((function(e){e(i)}))})),this._subscribers.slice().forEach((function(e){return e(c,r.state)})))},te.prototype.dispatch=function(e,t){var n=this,r=T(e,t),o=r.type,s=r.payload,i={type:o,payload:s},c=this._actions[o];if(c){try{this._actionSubscribers.slice().filter((function(e){return e.before})).forEach((function(e){return e.before(i,n.state)}))}catch(u){0}var l=c.length>1?Promise.all(c.map((function(e){return e(s)}))):c[0](s);return new Promise((function(e,t){l.then((function(t){try{n._actionSubscribers.filter((function(e){return e.after})).forEach((function(e){return e.after(i,n.state)}))}catch(u){0}e(t)}),(function(e){try{n._actionSubscribers.filter((function(e){return e.error})).forEach((function(t){return t.error(i,n.state,e)}))}catch(u){0}t(e)}))}))}},te.prototype.subscribe=function(e,t){return w(e,this._subscribers,t)},te.prototype.subscribeAction=function(e,t){var n="function"===typeof e?{before:e}:e;return w(n,this._actionSubscribers,t)},te.prototype.watch=function(e,t,n){var o=this;return(0,r.YP)((function(){return e(o.state,o.getters)}),t,Object.assign({},n))},te.prototype.replaceState=function(e){var t=this;this._withCommit((function(){t._state.data=e}))},te.prototype.registerModule=function(e,t,n){void 0===n&&(n={}),"string"===typeof e&&(e=[e]),this._modules.register(e,t),C(this,this.state,e,this._modules.get(e),n.preserveState),x(this,this.state)},te.prototype.unregisterModule=function(e){var t=this;"string"===typeof e&&(e=[e]),this._modules.unregister(e),this._withCommit((function(){var n=I(t.state,e.slice(0,-1));delete n[e[e.length-1]]})),k(this)},te.prototype.hasModule=function(e){return"string"===typeof e&&(e=[e]),this._modules.isRegistered(e)},te.prototype.hotUpdate=function(e){this._modules.update(e),k(this,!0)},te.prototype._withCommit=function(e){var t=this._committing;this._committing=!0,e(),this._committing=t},Object.defineProperties(te.prototype,ne);se((function(e,t){var n={};return re(t).forEach((function(t){var r=t.key,o=t.val;n[r]=function(){var t=this.$store.state,n=this.$store.getters;if(e){var r=ie(this.$store,"mapState",e);if(!r)return;t=r.context.state,n=r.context.getters}return"function"===typeof o?o.call(this,t,n):t[o]},n[r].vuex=!0})),n})),se((function(e,t){var n={};return re(t).forEach((function(t){var r=t.key,o=t.val;n[r]=function(){var t=[],n=arguments.length;while(n--)t[n]=arguments[n];var r=this.$store.commit;if(e){var s=ie(this.$store,"mapMutations",e);if(!s)return;r=s.context.commit}return"function"===typeof o?o.apply(this,[r].concat(t)):r.apply(this.$store,[o].concat(t))}})),n})),se((function(e,t){var n={};return re(t).forEach((function(t){var r=t.key,o=t.val;o=e+o,n[r]=function(){if(!e||ie(this.$store,"mapGetters",e))return this.$store.getters[o]},n[r].vuex=!0})),n})),se((function(e,t){var n={};return re(t).forEach((function(t){var r=t.key,o=t.val;n[r]=function(){var t=[],n=arguments.length;while(n--)t[n]=arguments[n];var r=this.$store.dispatch;if(e){var s=ie(this.$store,"mapActions",e);if(!s)return;r=s.context.dispatch}return"function"===typeof o?o.apply(this,[r].concat(t)):r.apply(this.$store,[o].concat(t))}})),n}));function re(e){return oe(e)?Array.isArray(e)?e.map((function(e){return{key:e,val:e}})):Object.keys(e).map((function(t){return{key:t,val:e[t]}})):[]}function oe(e){return Array.isArray(e)||y(e)}function se(e){return function(t,n){return"string"!==typeof t?(n=t,t=""):"/"!==t.charAt(t.length-1)&&(t+="/"),e(t,n)}}function ie(e,t,n){var r=e._modulesNamespaceMap[n];return r}},201:function(e,t,n){n.d(t,{p7:function(){return nt},r5:function(){return J}});var r=n(252),o=n(262); +/*! + * vue-router v4.1.4 + * (c) 2022 Eduardo San Martin Morote + * @license MIT + */ +const s="undefined"!==typeof window;function i(e){return e.__esModule||"Module"===e[Symbol.toStringTag]}const c=Object.assign;function l(e,t){const n={};for(const r in t){const o=t[r];n[r]=a(o)?o.map(e):e(o)}return n}const u=()=>{},a=Array.isArray;const f=/\/$/,p=e=>e.replace(f,"");function d(e,t,n="/"){let r,o={},s="",i="";const c=t.indexOf("#");let l=t.indexOf("?");return c=0&&(l=-1),l>-1&&(r=t.slice(0,l),s=t.slice(l+1,c>-1?c:t.length),o=e(s)),c>-1&&(r=r||t.slice(0,c),i=t.slice(c,t.length)),r=w(null!=r?r:t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:i}}function h(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function m(e,t){return t&&e.toLowerCase().startsWith(t.toLowerCase())?e.slice(t.length)||"/":e}function g(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&v(t.matched[r],n.matched[o])&&y(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function v(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function y(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!_(e[n],t[n]))return!1;return!0}function _(e,t){return a(e)?b(e,t):a(t)?b(t,e):e===t}function b(e,t){return a(t)?e.length===t.length&&e.every(((e,n)=>e===t[n])):1===e.length&&e[0]===t}function w(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/");let o,s,i=n.length-1;for(o=0;o1&&i--}return n.slice(0,i).join("/")+"/"+r.slice(o-(o===r.length?1:0)).join("/")}var k,x;(function(e){e["pop"]="pop",e["push"]="push"})(k||(k={})),function(e){e["back"]="back",e["forward"]="forward",e["unknown"]=""}(x||(x={}));function C(e){if(!e)if(s){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return"/"!==e[0]&&"#"!==e[0]&&(e="/"+e),p(e)}const S=/^[^#]+#/;function E(e,t){return e.replace(S,"#")+t}function O(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const R=()=>({left:window.pageXOffset,top:window.pageYOffset});function A(e){let t;if("el"in e){const n=e.el,r="string"===typeof n&&n.startsWith("#");0;const o="string"===typeof n?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=O(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(null!=t.left?t.left:window.pageXOffset,null!=t.top?t.top:window.pageYOffset)}function j(e,t){const n=history.state?history.state.position-t:-1;return n+e}const I=new Map;function T(e,t){I.set(e,t)}function P(e){const t=I.get(e);return I.delete(e),t}let F=()=>location.protocol+"//"+location.host;function M(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let t=o.includes(e.slice(s))?e.slice(s).length:1,n=o.slice(t);return"/"!==n[0]&&(n="/"+n),m(n,"")}const i=m(n,e);return i+r+o}function L(e,t,n,r){let o=[],s=[],i=null;const l=({state:s})=>{const c=M(e,location),l=n.value,u=t.value;let a=0;if(s){if(n.value=c,t.value=s,i&&i===l)return void(i=null);a=u?s.position-u.position:0}else r(c);o.forEach((e=>{e(n.value,l,{delta:a,type:k.pop,direction:a?a>0?x.forward:x.back:x.unknown})}))};function u(){i=n.value}function a(e){o.push(e);const t=()=>{const t=o.indexOf(e);t>-1&&o.splice(t,1)};return s.push(t),t}function f(){const{history:e}=window;e.state&&e.replaceState(c({},e.state,{scroll:R()}),"")}function p(){for(const e of s)e();s=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",f),{pauseListeners:u,listen:a,destroy:p}}function $(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?R():null}}function U(e){const{history:t,location:n}=window,r={value:M(e,n)},o={value:t.state};function s(r,s,i){const c=e.indexOf("#"),l=c>-1?(n.host&&document.querySelector("base")?e:e.slice(c))+r:F()+e+r;try{t[i?"replaceState":"pushState"](s,"",l),o.value=s}catch(u){console.error(u),n[i?"replace":"assign"](l)}}function i(e,n){const i=c({},t.state,$(o.value.back,e,o.value.forward,!0),n,{position:o.value.position});s(e,i,!0),r.value=e}function l(e,n){const i=c({},o.value,t.state,{forward:e,scroll:R()});s(i.current,i,!0);const l=c({},$(r.value,e,null),{position:i.position+1},n);s(e,l,!1),r.value=e}return o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0),{location:r,state:o,push:l,replace:i}}function N(e){e=C(e);const t=U(e),n=L(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}const o=c({location:"",base:e,go:r,createHref:E.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function J(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),N(e)}function V(e){return"string"===typeof e||e&&"object"===typeof e}function D(e){return"string"===typeof e||"symbol"===typeof e}const G={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},B=Symbol("");var q;(function(e){e[e["aborted"]=4]="aborted",e[e["cancelled"]=8]="cancelled",e[e["duplicated"]=16]="duplicated"})(q||(q={}));function H(e,t){return c(new Error,{type:e,[B]:!0},t)}function W(e,t){return e instanceof Error&&B in e&&(null==t||!!(e.type&t))}const K="[^/]+?",z={sensitive:!1,strict:!1,start:!0,end:!0},X=/[.+*?^${}()[\]/\\]/g;function Z(e,t){const n=c({},z,t),r=[];let o=n.start?"^":"";const s=[];for(const c of e){const e=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let t=0;tt.length?1===t.length&&80===t[0]?1:-1:0}function Q(e,t){let n=0;const r=e.score,o=t.score;while(n0&&t[t.length-1]<0}const te={type:0,value:""},ne=/[a-zA-Z0-9_]/;function re(e){if(!e)return[[]];if("/"===e)return[[te]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(e){throw new Error(`ERR (${n})/"${u}": ${e}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let c,l=0,u="",a="";function f(){u&&(0===n?s.push({type:0,value:u}):1===n||2===n||3===n?(s.length>1&&("*"===c||"+"===c)&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:u,regexp:a,repeatable:"*"===c||"+"===c,optional:"*"===c||"?"===c})):t("Invalid state to consume buffer"),u="")}function p(){u+=c}while(l{i(h)}:u}function i(e){if(D(e)){const t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(i),t.alias.forEach(i))}else{const t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(i),e.alias.forEach(i))}}function l(){return n}function a(e){let t=0;while(t=0&&(e.record.path!==n[t].record.path||!pe(e,n[t])))t++;n.splice(t,0,e),e.record.name&&!ue(e)&&r.set(e.record.name,e)}function f(e,t){let o,s,i,l={};if("name"in e&&e.name){if(o=r.get(e.name),!o)throw H(1,{location:e});i=o.record.name,l=c(ie(t.params,o.keys.filter((e=>!e.optional)).map((e=>e.name))),e.params&&ie(e.params,o.keys.map((e=>e.name)))),s=o.stringify(l)}else if("path"in e)s=e.path,o=n.find((e=>e.re.test(s))),o&&(l=o.parse(s),i=o.record.name);else{if(o=t.name?r.get(t.name):n.find((e=>e.re.test(t.path))),!o)throw H(1,{location:e,currentLocation:t});i=o.record.name,l=c({},t.params,e.params),s=o.stringify(l)}const u=[];let a=o;while(a)u.unshift(a.record),a=a.parent;return{name:i,path:s,params:l,matched:u,meta:ae(u)}}return t=fe({strict:!1,end:!0,sensitive:!1},t),e.forEach((e=>s(e))),{addRoute:s,resolve:f,removeRoute:i,getRoutes:l,getRecordMatcher:o}}function ie(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function ce(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:le(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function le(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]="boolean"===typeof n?n:n[r];return t}function ue(e){while(e){if(e.record.aliasOf)return!0;e=e.parent}return!1}function ae(e){return e.reduce(((e,t)=>c(e,t.meta)),{})}function fe(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function pe(e,t){return t.children.some((t=>t===e||pe(e,t)))}const de=/#/g,he=/&/g,me=/\//g,ge=/=/g,ve=/\?/g,ye=/\+/g,_e=/%5B/g,be=/%5D/g,we=/%5E/g,ke=/%60/g,xe=/%7B/g,Ce=/%7C/g,Se=/%7D/g,Ee=/%20/g;function Oe(e){return encodeURI(""+e).replace(Ce,"|").replace(_e,"[").replace(be,"]")}function Re(e){return Oe(e).replace(xe,"{").replace(Se,"}").replace(we,"^")}function Ae(e){return Oe(e).replace(ye,"%2B").replace(Ee,"+").replace(de,"%23").replace(he,"%26").replace(ke,"`").replace(xe,"{").replace(Se,"}").replace(we,"^")}function je(e){return Ae(e).replace(ge,"%3D")}function Ie(e){return Oe(e).replace(de,"%23").replace(ve,"%3F")}function Te(e){return null==e?"":Ie(e).replace(me,"%2F")}function Pe(e){try{return decodeURIComponent(""+e)}catch(t){}return""+e}function Fe(e){const t={};if(""===e||"?"===e)return t;const n="?"===e[0],r=(n?e.slice(1):e).split("&");for(let o=0;oe&&Ae(e))):[r&&Ae(r)];o.forEach((e=>{void 0!==e&&(t+=(t.length?"&":"")+n,null!=e&&(t+="="+e))}))}return t}function Le(e){const t={};for(const n in e){const r=e[n];void 0!==r&&(t[n]=a(r)?r.map((e=>null==e?null:""+e)):null==r?r:""+r)}return t}const $e=Symbol(""),Ue=Symbol(""),Ne=Symbol(""),Je=Symbol(""),Ve=Symbol("");function De(){let e=[];function t(t){return e.push(t),()=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e,reset:n}}function Ge(e,t,n,r,o){const s=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise(((i,c)=>{const l=e=>{!1===e?c(H(4,{from:n,to:t})):e instanceof Error?c(e):V(e)?c(H(2,{from:t,to:e})):(s&&r.enterCallbacks[o]===s&&"function"===typeof e&&s.push(e),i())},u=e.call(r&&r.instances[o],t,n,l);let a=Promise.resolve(u);e.length<3&&(a=a.then(l)),a.catch((e=>c(e)))}))}function Be(e,t,n,r){const o=[];for(const s of e){0;for(const e in s.components){let c=s.components[e];if("beforeRouteEnter"===t||s.instances[e])if(qe(c)){const i=c.__vccOpts||c,l=i[t];l&&o.push(Ge(l,n,r,s,e))}else{let l=c();0,o.push((()=>l.then((o=>{if(!o)return Promise.reject(new Error(`Couldn't resolve component "${e}" at "${s.path}"`));const c=i(o)?o.default:o;s.components[e]=c;const l=c.__vccOpts||c,u=l[t];return u&&Ge(u,n,r,s,e)()}))))}}}return o}function qe(e){return"object"===typeof e||"displayName"in e||"props"in e||"__vccOpts"in e}function He(e){const t=(0,r.f3)(Ne),n=(0,r.f3)(Je),s=(0,r.Fl)((()=>t.resolve((0,o.SU)(e.to)))),i=(0,r.Fl)((()=>{const{matched:e}=s.value,{length:t}=e,r=e[t-1],o=n.matched;if(!r||!o.length)return-1;const i=o.findIndex(v.bind(null,r));if(i>-1)return i;const c=Ze(e[t-2]);return t>1&&Ze(r)===c&&o[o.length-1].path!==c?o.findIndex(v.bind(null,e[t-2])):i})),c=(0,r.Fl)((()=>i.value>-1&&Xe(n.params,s.value.params))),l=(0,r.Fl)((()=>i.value>-1&&i.value===n.matched.length-1&&y(n.params,s.value.params)));function a(n={}){return ze(n)?t[(0,o.SU)(e.replace)?"replace":"push"]((0,o.SU)(e.to)).catch(u):Promise.resolve()}return{route:s,href:(0,r.Fl)((()=>s.value.href)),isActive:c,isExactActive:l,navigate:a}}const We=(0,r.aZ)({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:He,setup(e,{slots:t}){const n=(0,o.qj)(He(e)),{options:s}=(0,r.f3)(Ne),i=(0,r.Fl)((()=>({[Ye(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[Ye(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const o=t.default&&t.default(n);return e.custom?o:(0,r.h)("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},o)}}}),Ke=We;function ze(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(void 0===e.button||0===e.button)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Xe(e,t){for(const n in t){const r=t[n],o=e[n];if("string"===typeof r){if(r!==o)return!1}else if(!a(o)||o.length!==r.length||r.some(((e,t)=>e!==o[t])))return!1}return!0}function Ze(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ye=(e,t,n)=>null!=e?e:null!=t?t:n,Qe=(0,r.aZ)({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=(0,r.f3)(Ve),i=(0,r.Fl)((()=>e.route||s.value)),l=(0,r.f3)(Ue,0),u=(0,r.Fl)((()=>{let e=(0,o.SU)(l);const{matched:t}=i.value;let n;while((n=t[e])&&!n.components)e++;return e})),a=(0,r.Fl)((()=>i.value.matched[u.value]));(0,r.JJ)(Ue,(0,r.Fl)((()=>u.value+1))),(0,r.JJ)($e,a),(0,r.JJ)(Ve,i);const f=(0,o.iH)();return(0,r.YP)((()=>[f.value,a.value,e.name]),(([e,t,n],[r,o,s])=>{t&&(t.instances[n]=e,o&&o!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=o.leaveGuards),t.updateGuards.size||(t.updateGuards=o.updateGuards))),!e||!t||o&&v(t,o)&&r||(t.enterCallbacks[n]||[]).forEach((t=>t(e)))}),{flush:"post"}),()=>{const o=i.value,s=e.name,l=a.value,u=l&&l.components[s];if(!u)return et(n.default,{Component:u,route:o});const p=l.props[s],d=p?!0===p?o.params:"function"===typeof p?p(o):p:null,h=e=>{e.component.isUnmounted&&(l.instances[s]=null)},m=(0,r.h)(u,c({},d,t,{onVnodeUnmounted:h,ref:f}));return et(n.default,{Component:m,route:o})||m}}});function et(e,t){if(!e)return null;const n=e(t);return 1===n.length?n[0]:n}const tt=Qe;function nt(e){const t=se(e.routes,e),n=e.parseQuery||Fe,i=e.stringifyQuery||Me,f=e.history;const p=De(),m=De(),v=De(),y=(0,o.XI)(G);let _=G;s&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const b=l.bind(null,(e=>""+e)),w=l.bind(null,Te),x=l.bind(null,Pe);function C(e,n){let r,o;return D(e)?(r=t.getRecordMatcher(e),o=n):o=e,t.addRoute(o,r)}function S(e){const n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function E(){return t.getRoutes().map((e=>e.record))}function O(e){return!!t.getRecordMatcher(e)}function I(e,r){if(r=c({},r||y.value),"string"===typeof e){const o=d(n,e,r.path),s=t.resolve({path:o.path},r),i=f.createHref(o.fullPath);return c(o,s,{params:x(s.params),hash:Pe(o.hash),redirectedFrom:void 0,href:i})}let o;if("path"in e)o=c({},e,{path:d(n,e.path,r.path).path});else{const t=c({},e.params);for(const e in t)null==t[e]&&delete t[e];o=c({},e,{params:w(e.params)}),r.params=w(r.params)}const s=t.resolve(o,r),l=e.hash||"";s.params=b(x(s.params));const u=h(i,c({},e,{hash:Re(l),path:s.path})),a=f.createHref(u);return c({fullPath:u,hash:l,query:i===Me?Le(e.query):e.query||{}},s,{redirectedFrom:void 0,href:a})}function F(e){return"string"===typeof e?d(n,e,y.value.path):c({},e)}function M(e,t){if(_!==e)return H(8,{from:t,to:e})}function L(e){return N(e)}function $(e){return L(c(F(e),{replace:!0}))}function U(e){const t=e.matched[e.matched.length-1];if(t&&t.redirect){const{redirect:n}=t;let r="function"===typeof n?n(e):n;return"string"===typeof r&&(r=r.includes("?")||r.includes("#")?r=F(r):{path:r},r.params={}),c({query:e.query,hash:e.hash,params:"path"in r?{}:e.params},r)}}function N(e,t){const n=_=I(e),r=y.value,o=e.state,s=e.force,l=!0===e.replace,u=U(n);if(u)return N(c(F(u),{state:"object"===typeof u?c({},o,u.state):o,force:s,replace:l}),t||n);const a=n;let f;return a.redirectedFrom=t,!s&&g(i,r,n)&&(f=H(16,{to:a,from:r}),ne(r,r,!0,!1)),(f?Promise.resolve(f):V(a,r)).catch((e=>W(e)?W(e,2)?e:te(e):Q(e,a,r))).then((e=>{if(e){if(W(e,2))return N(c({replace:l},F(e.to),{state:"object"===typeof e.to?c({},o,e.to.state):o,force:s}),t||a)}else e=q(a,r,!0,l,o);return B(a,r,e),e}))}function J(e,t){const n=M(e,t);return n?Promise.reject(n):Promise.resolve()}function V(e,t){let n;const[r,o,s]=ot(e,t);n=Be(r.reverse(),"beforeRouteLeave",e,t);for(const c of r)c.leaveGuards.forEach((r=>{n.push(Ge(r,e,t))}));const i=J.bind(null,e,t);return n.push(i),rt(n).then((()=>{n=[];for(const r of p.list())n.push(Ge(r,e,t));return n.push(i),rt(n)})).then((()=>{n=Be(o,"beforeRouteUpdate",e,t);for(const r of o)r.updateGuards.forEach((r=>{n.push(Ge(r,e,t))}));return n.push(i),rt(n)})).then((()=>{n=[];for(const r of e.matched)if(r.beforeEnter&&!t.matched.includes(r))if(a(r.beforeEnter))for(const o of r.beforeEnter)n.push(Ge(o,e,t));else n.push(Ge(r.beforeEnter,e,t));return n.push(i),rt(n)})).then((()=>(e.matched.forEach((e=>e.enterCallbacks={})),n=Be(s,"beforeRouteEnter",e,t),n.push(i),rt(n)))).then((()=>{n=[];for(const r of m.list())n.push(Ge(r,e,t));return n.push(i),rt(n)})).catch((e=>W(e,8)?e:Promise.reject(e)))}function B(e,t,n){for(const r of v.list())r(e,t,n)}function q(e,t,n,r,o){const i=M(e,t);if(i)return i;const l=t===G,u=s?history.state:{};n&&(r||l?f.replace(e.fullPath,c({scroll:l&&u&&u.scroll},o)):f.push(e.fullPath,o)),y.value=e,ne(e,t,n,l),te()}let K;function z(){K||(K=f.listen(((e,t,n)=>{if(!ce.listening)return;const r=I(e),o=U(r);if(o)return void N(c(o,{replace:!0}),r).catch(u);_=r;const i=y.value;s&&T(j(i.fullPath,n.delta),R()),V(r,i).catch((e=>W(e,12)?e:W(e,2)?(N(e.to,r).then((e=>{W(e,20)&&!n.delta&&n.type===k.pop&&f.go(-1,!1)})).catch(u),Promise.reject()):(n.delta&&f.go(-n.delta,!1),Q(e,r,i)))).then((e=>{e=e||q(r,i,!1),e&&(n.delta&&!W(e,8)?f.go(-n.delta,!1):n.type===k.pop&&W(e,20)&&f.go(-1,!1)),B(r,i,e)})).catch(u)})))}let X,Z=De(),Y=De();function Q(e,t,n){te(e);const r=Y.list();return r.length?r.forEach((r=>r(e,t,n))):console.error(e),Promise.reject(e)}function ee(){return X&&y.value!==G?Promise.resolve():new Promise(((e,t)=>{Z.add([e,t])}))}function te(e){return X||(X=!e,z(),Z.list().forEach((([t,n])=>e?n(e):t())),Z.reset()),e}function ne(t,n,o,i){const{scrollBehavior:c}=e;if(!s||!c)return Promise.resolve();const l=!o&&P(j(t.fullPath,0))||(i||!o)&&history.state&&history.state.scroll||null;return(0,r.Y3)().then((()=>c(t,n,l))).then((e=>e&&A(e))).catch((e=>Q(e,t,n)))}const re=e=>f.go(e);let oe;const ie=new Set,ce={currentRoute:y,listening:!0,addRoute:C,removeRoute:S,hasRoute:O,getRoutes:E,resolve:I,options:e,push:L,replace:$,go:re,back:()=>re(-1),forward:()=>re(1),beforeEach:p.add,beforeResolve:m.add,afterEach:v.add,onError:Y.add,isReady:ee,install(e){const t=this;e.component("RouterLink",Ke),e.component("RouterView",tt),e.config.globalProperties.$router=t,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>(0,o.SU)(y)}),s&&!oe&&y.value===G&&(oe=!0,L(f.location).catch((e=>{0})));const n={};for(const o in G)n[o]=(0,r.Fl)((()=>y.value[o]));e.provide(Ne,t),e.provide(Je,(0,o.qj)(n)),e.provide(Ve,y);const i=e.unmount;ie.add(e),e.unmount=function(){ie.delete(e),ie.size<1&&(_=G,K&&K(),K=null,y.value=G,oe=!1,X=!1),i()}}};return ce}function rt(e){return e.reduce(((e,t)=>e.then((()=>t()))),Promise.resolve())}function ot(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;iv(e,s)))?r.push(s):n.push(s));const c=e.matched[i];c&&(t.matched.find((e=>v(e,c)))||o.push(c))}return[n,r,o]}}}]); +//# sourceMappingURL=chunk-vendors.86212f98.js.map \ No newline at end of file diff --git a/app/src/main/assets/web/bookSource/js/chunk-vendors.86212f98.js.map b/app/src/main/assets/web/bookSource/js/chunk-vendors.86212f98.js.map new file mode 100644 index 000000000..d70add749 --- /dev/null +++ b/app/src/main/assets/web/bookSource/js/chunk-vendors.86212f98.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/chunk-vendors.86212f98.js","mappings":"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","sources":["webpack://legado_web_editor/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://legado_web_editor/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://legado_web_editor/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://legado_web_editor/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://legado_web_editor/./node_modules/vue-loader/dist/exportHelper.js","webpack://legado_web_editor/./node_modules/@vue/devtools-api/lib/esm/env.js","webpack://legado_web_editor/./node_modules/@vue/devtools-api/lib/esm/const.js","webpack://legado_web_editor/./node_modules/@vue/devtools-api/lib/esm/time.js","webpack://legado_web_editor/./node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack://legado_web_editor/./node_modules/@vue/devtools-api/lib/esm/index.js","webpack://legado_web_editor/./node_modules/vuex/dist/vuex.esm-bundler.js","webpack://legado_web_editor/./node_modules/vue-router/dist/vue-router.mjs"],"sourcesContent":["import { extend, isArray, isMap, isIntegerKey, hasOwn, isSymbol, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\r\n console.warn(`[Vue warn] ${msg}`, ...args);\r\n}\n\nlet activeEffectScope;\r\nclass EffectScope {\r\n constructor(detached = false) {\r\n /**\r\n * @internal\r\n */\r\n this.active = true;\r\n /**\r\n * @internal\r\n */\r\n this.effects = [];\r\n /**\r\n * @internal\r\n */\r\n this.cleanups = [];\r\n if (!detached && activeEffectScope) {\r\n this.parent = activeEffectScope;\r\n this.index =\r\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\r\n }\r\n }\r\n run(fn) {\r\n if (this.active) {\r\n const currentEffectScope = activeEffectScope;\r\n try {\r\n activeEffectScope = this;\r\n return fn();\r\n }\r\n finally {\r\n activeEffectScope = currentEffectScope;\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`cannot run an inactive effect scope.`);\r\n }\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n on() {\r\n activeEffectScope = this;\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n off() {\r\n activeEffectScope = this.parent;\r\n }\r\n stop(fromParent) {\r\n if (this.active) {\r\n let i, l;\r\n for (i = 0, l = this.effects.length; i < l; i++) {\r\n this.effects[i].stop();\r\n }\r\n for (i = 0, l = this.cleanups.length; i < l; i++) {\r\n this.cleanups[i]();\r\n }\r\n if (this.scopes) {\r\n for (i = 0, l = this.scopes.length; i < l; i++) {\r\n this.scopes[i].stop(true);\r\n }\r\n }\r\n // nested scope, dereference from parent to avoid memory leaks\r\n if (this.parent && !fromParent) {\r\n // optimized O(1) removal\r\n const last = this.parent.scopes.pop();\r\n if (last && last !== this) {\r\n this.parent.scopes[this.index] = last;\r\n last.index = this.index;\r\n }\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction effectScope(detached) {\r\n return new EffectScope(detached);\r\n}\r\nfunction recordEffectScope(effect, scope = activeEffectScope) {\r\n if (scope && scope.active) {\r\n scope.effects.push(effect);\r\n }\r\n}\r\nfunction getCurrentScope() {\r\n return activeEffectScope;\r\n}\r\nfunction onScopeDispose(fn) {\r\n if (activeEffectScope) {\r\n activeEffectScope.cleanups.push(fn);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`onScopeDispose() is called when there is no active effect scope` +\r\n ` to be associated with.`);\r\n }\r\n}\n\nconst createDep = (effects) => {\r\n const dep = new Set(effects);\r\n dep.w = 0;\r\n dep.n = 0;\r\n return dep;\r\n};\r\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\r\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\r\nconst initDepMarkers = ({ deps }) => {\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].w |= trackOpBit; // set was tracked\r\n }\r\n }\r\n};\r\nconst finalizeDepMarkers = (effect) => {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n let ptr = 0;\r\n for (let i = 0; i < deps.length; i++) {\r\n const dep = deps[i];\r\n if (wasTracked(dep) && !newTracked(dep)) {\r\n dep.delete(effect);\r\n }\r\n else {\r\n deps[ptr++] = dep;\r\n }\r\n // clear bits\r\n dep.w &= ~trackOpBit;\r\n dep.n &= ~trackOpBit;\r\n }\r\n deps.length = ptr;\r\n }\r\n};\n\nconst targetMap = new WeakMap();\r\n// The number of effects currently being tracked recursively.\r\nlet effectTrackDepth = 0;\r\nlet trackOpBit = 1;\r\n/**\r\n * The bitwise track markers support at most 30 levels of recursion.\r\n * This value is chosen to enable modern JS engines to use a SMI on all platforms.\r\n * When recursion depth is greater, fall back to using a full cleanup.\r\n */\r\nconst maxMarkerBits = 30;\r\nlet activeEffect;\r\nconst ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');\r\nconst MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');\r\nclass ReactiveEffect {\r\n constructor(fn, scheduler = null, scope) {\r\n this.fn = fn;\r\n this.scheduler = scheduler;\r\n this.active = true;\r\n this.deps = [];\r\n this.parent = undefined;\r\n recordEffectScope(this, scope);\r\n }\r\n run() {\r\n if (!this.active) {\r\n return this.fn();\r\n }\r\n let parent = activeEffect;\r\n let lastShouldTrack = shouldTrack;\r\n while (parent) {\r\n if (parent === this) {\r\n return;\r\n }\r\n parent = parent.parent;\r\n }\r\n try {\r\n this.parent = activeEffect;\r\n activeEffect = this;\r\n shouldTrack = true;\r\n trackOpBit = 1 << ++effectTrackDepth;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n initDepMarkers(this);\r\n }\r\n else {\r\n cleanupEffect(this);\r\n }\r\n return this.fn();\r\n }\r\n finally {\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n finalizeDepMarkers(this);\r\n }\r\n trackOpBit = 1 << --effectTrackDepth;\r\n activeEffect = this.parent;\r\n shouldTrack = lastShouldTrack;\r\n this.parent = undefined;\r\n if (this.deferStop) {\r\n this.stop();\r\n }\r\n }\r\n }\r\n stop() {\r\n // stopped while running itself - defer the cleanup\r\n if (activeEffect === this) {\r\n this.deferStop = true;\r\n }\r\n else if (this.active) {\r\n cleanupEffect(this);\r\n if (this.onStop) {\r\n this.onStop();\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction cleanupEffect(effect) {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].delete(effect);\r\n }\r\n deps.length = 0;\r\n }\r\n}\r\nfunction effect(fn, options) {\r\n if (fn.effect) {\r\n fn = fn.effect.fn;\r\n }\r\n const _effect = new ReactiveEffect(fn);\r\n if (options) {\r\n extend(_effect, options);\r\n if (options.scope)\r\n recordEffectScope(_effect, options.scope);\r\n }\r\n if (!options || !options.lazy) {\r\n _effect.run();\r\n }\r\n const runner = _effect.run.bind(_effect);\r\n runner.effect = _effect;\r\n return runner;\r\n}\r\nfunction stop(runner) {\r\n runner.effect.stop();\r\n}\r\nlet shouldTrack = true;\r\nconst trackStack = [];\r\nfunction pauseTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = false;\r\n}\r\nfunction enableTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = true;\r\n}\r\nfunction resetTracking() {\r\n const last = trackStack.pop();\r\n shouldTrack = last === undefined ? true : last;\r\n}\r\nfunction track(target, type, key) {\r\n if (shouldTrack && activeEffect) {\r\n let depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n targetMap.set(target, (depsMap = new Map()));\r\n }\r\n let dep = depsMap.get(key);\r\n if (!dep) {\r\n depsMap.set(key, (dep = createDep()));\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { effect: activeEffect, target, type, key }\r\n : undefined;\r\n trackEffects(dep, eventInfo);\r\n }\r\n}\r\nfunction trackEffects(dep, debuggerEventExtraInfo) {\r\n let shouldTrack = false;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n if (!newTracked(dep)) {\r\n dep.n |= trackOpBit; // set newly tracked\r\n shouldTrack = !wasTracked(dep);\r\n }\r\n }\r\n else {\r\n // Full cleanup mode.\r\n shouldTrack = !dep.has(activeEffect);\r\n }\r\n if (shouldTrack) {\r\n dep.add(activeEffect);\r\n activeEffect.deps.push(dep);\r\n if ((process.env.NODE_ENV !== 'production') && activeEffect.onTrack) {\r\n activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));\r\n }\r\n }\r\n}\r\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\r\n const depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n // never been tracked\r\n return;\r\n }\r\n let deps = [];\r\n if (type === \"clear\" /* CLEAR */) {\r\n // collection being cleared\r\n // trigger all effects for target\r\n deps = [...depsMap.values()];\r\n }\r\n else if (key === 'length' && isArray(target)) {\r\n depsMap.forEach((dep, key) => {\r\n if (key === 'length' || key >= newValue) {\r\n deps.push(dep);\r\n }\r\n });\r\n }\r\n else {\r\n // schedule runs for SET | ADD | DELETE\r\n if (key !== void 0) {\r\n deps.push(depsMap.get(key));\r\n }\r\n // also run for iteration key on ADD | DELETE | Map.SET\r\n switch (type) {\r\n case \"add\" /* ADD */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n else if (isIntegerKey(key)) {\r\n // new index added to array -> length changes\r\n deps.push(depsMap.get('length'));\r\n }\r\n break;\r\n case \"delete\" /* DELETE */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n break;\r\n case \"set\" /* SET */:\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n }\r\n break;\r\n }\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { target, type, key, newValue, oldValue, oldTarget }\r\n : undefined;\r\n if (deps.length === 1) {\r\n if (deps[0]) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(deps[0], eventInfo);\r\n }\r\n else {\r\n triggerEffects(deps[0]);\r\n }\r\n }\r\n }\r\n else {\r\n const effects = [];\r\n for (const dep of deps) {\r\n if (dep) {\r\n effects.push(...dep);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(createDep(effects), eventInfo);\r\n }\r\n else {\r\n triggerEffects(createDep(effects));\r\n }\r\n }\r\n}\r\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\r\n // spread into array for stabilization\r\n const effects = isArray(dep) ? dep : [...dep];\r\n for (const effect of effects) {\r\n if (effect.computed) {\r\n triggerEffect(effect, debuggerEventExtraInfo);\r\n }\r\n }\r\n for (const effect of effects) {\r\n if (!effect.computed) {\r\n triggerEffect(effect, debuggerEventExtraInfo);\r\n }\r\n }\r\n}\r\nfunction triggerEffect(effect, debuggerEventExtraInfo) {\r\n if (effect !== activeEffect || effect.allowRecurse) {\r\n if ((process.env.NODE_ENV !== 'production') && effect.onTrigger) {\r\n effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));\r\n }\r\n if (effect.scheduler) {\r\n effect.scheduler();\r\n }\r\n else {\r\n effect.run();\r\n }\r\n }\r\n}\n\nconst isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);\r\nconst builtInSymbols = new Set(\r\n/*#__PURE__*/\r\nObject.getOwnPropertyNames(Symbol)\r\n // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'\r\n // but accessing them on Symbol leads to TypeError because Symbol is a strict mode\r\n // function\r\n .filter(key => key !== 'arguments' && key !== 'caller')\r\n .map(key => Symbol[key])\r\n .filter(isSymbol));\r\nconst get = /*#__PURE__*/ createGetter();\r\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\r\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\r\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\r\nconst arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();\r\nfunction createArrayInstrumentations() {\r\n const instrumentations = {};\r\n ['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n const arr = toRaw(this);\r\n for (let i = 0, l = this.length; i < l; i++) {\r\n track(arr, \"get\" /* GET */, i + '');\r\n }\r\n // we run the method using the original args first (which may be reactive)\r\n const res = arr[key](...args);\r\n if (res === -1 || res === false) {\r\n // if that didn't work, run it again using raw values.\r\n return arr[key](...args.map(toRaw));\r\n }\r\n else {\r\n return res;\r\n }\r\n };\r\n });\r\n ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n pauseTracking();\r\n const res = toRaw(this)[key].apply(this, args);\r\n resetTracking();\r\n return res;\r\n };\r\n });\r\n return instrumentations;\r\n}\r\nfunction createGetter(isReadonly = false, shallow = false) {\r\n return function get(target, key, receiver) {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_isShallow\" /* IS_SHALLOW */) {\r\n return shallow;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */ &&\r\n receiver ===\r\n (isReadonly\r\n ? shallow\r\n ? shallowReadonlyMap\r\n : readonlyMap\r\n : shallow\r\n ? shallowReactiveMap\r\n : reactiveMap).get(target)) {\r\n return target;\r\n }\r\n const targetIsArray = isArray(target);\r\n if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) {\r\n return Reflect.get(arrayInstrumentations, key, receiver);\r\n }\r\n const res = Reflect.get(target, key, receiver);\r\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\r\n return res;\r\n }\r\n if (!isReadonly) {\r\n track(target, \"get\" /* GET */, key);\r\n }\r\n if (shallow) {\r\n return res;\r\n }\r\n if (isRef(res)) {\r\n // ref unwrapping - skip unwrap for Array + integer key.\r\n return targetIsArray && isIntegerKey(key) ? res : res.value;\r\n }\r\n if (isObject(res)) {\r\n // Convert returned value into a proxy as well. we do the isObject check\r\n // here to avoid invalid value warning. Also need to lazy access readonly\r\n // and reactive here to avoid circular dependency.\r\n return isReadonly ? readonly(res) : reactive(res);\r\n }\r\n return res;\r\n };\r\n}\r\nconst set = /*#__PURE__*/ createSetter();\r\nconst shallowSet = /*#__PURE__*/ createSetter(true);\r\nfunction createSetter(shallow = false) {\r\n return function set(target, key, value, receiver) {\r\n let oldValue = target[key];\r\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\r\n return false;\r\n }\r\n if (!shallow && !isReadonly(value)) {\r\n if (!isShallow(value)) {\r\n value = toRaw(value);\r\n oldValue = toRaw(oldValue);\r\n }\r\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n }\r\n const hadKey = isArray(target) && isIntegerKey(key)\r\n ? Number(key) < target.length\r\n : hasOwn(target, key);\r\n const result = Reflect.set(target, key, value, receiver);\r\n // don't trigger if target is something up in the prototype chain of original\r\n if (target === toRaw(receiver)) {\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n }\r\n return result;\r\n };\r\n}\r\nfunction deleteProperty(target, key) {\r\n const hadKey = hasOwn(target, key);\r\n const oldValue = target[key];\r\n const result = Reflect.deleteProperty(target, key);\r\n if (result && hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction has(target, key) {\r\n const result = Reflect.has(target, key);\r\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\r\n track(target, \"has\" /* HAS */, key);\r\n }\r\n return result;\r\n}\r\nfunction ownKeys(target) {\r\n track(target, \"iterate\" /* ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);\r\n return Reflect.ownKeys(target);\r\n}\r\nconst mutableHandlers = {\r\n get,\r\n set,\r\n deleteProperty,\r\n has,\r\n ownKeys\r\n};\r\nconst readonlyHandlers = {\r\n get: readonlyGet,\r\n set(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n },\r\n deleteProperty(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n }\r\n};\r\nconst shallowReactiveHandlers = /*#__PURE__*/ extend({}, mutableHandlers, {\r\n get: shallowGet,\r\n set: shallowSet\r\n});\r\n// Props handlers are special in the sense that it should not unwrap top-level\r\n// refs (in order to allow refs to be explicitly passed down), but should\r\n// retain the reactivity of the normal readonly object.\r\nconst shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {\r\n get: shallowReadonlyGet\r\n});\n\nconst toShallow = (value) => value;\r\nconst getProto = (v) => Reflect.getPrototypeOf(v);\r\nfunction get$1(target, key, isReadonly = false, isShallow = false) {\r\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\r\n // of the value\r\n target = target[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (key !== rawKey) {\r\n track(rawTarget, \"get\" /* GET */, key);\r\n }\r\n track(rawTarget, \"get\" /* GET */, rawKey);\r\n }\r\n const { has } = getProto(rawTarget);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n if (has.call(rawTarget, key)) {\r\n return wrap(target.get(key));\r\n }\r\n else if (has.call(rawTarget, rawKey)) {\r\n return wrap(target.get(rawKey));\r\n }\r\n else if (target !== rawTarget) {\r\n // #3602 readonly(reactive(Map))\r\n // ensure that the nested reactive `Map` can do tracking for itself\r\n target.get(key);\r\n }\r\n}\r\nfunction has$1(key, isReadonly = false) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (key !== rawKey) {\r\n track(rawTarget, \"has\" /* HAS */, key);\r\n }\r\n track(rawTarget, \"has\" /* HAS */, rawKey);\r\n }\r\n return key === rawKey\r\n ? target.has(key)\r\n : target.has(key) || target.has(rawKey);\r\n}\r\nfunction size(target, isReadonly = false) {\r\n target = target[\"__v_raw\" /* RAW */];\r\n !isReadonly && track(toRaw(target), \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return Reflect.get(target, 'size', target);\r\n}\r\nfunction add(value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const proto = getProto(target);\r\n const hadKey = proto.has.call(target, value);\r\n if (!hadKey) {\r\n target.add(value);\r\n trigger(target, \"add\" /* ADD */, value, value);\r\n }\r\n return this;\r\n}\r\nfunction set$1(key, value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get.call(target, key);\r\n target.set(key, value);\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n return this;\r\n}\r\nfunction deleteEntry(key) {\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get ? get.call(target, key) : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.delete(key);\r\n if (hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction clear() {\r\n const target = toRaw(this);\r\n const hadItems = target.size !== 0;\r\n const oldTarget = (process.env.NODE_ENV !== 'production')\r\n ? isMap(target)\r\n ? new Map(target)\r\n : new Set(target)\r\n : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.clear();\r\n if (hadItems) {\r\n trigger(target, \"clear\" /* CLEAR */, undefined, undefined, oldTarget);\r\n }\r\n return result;\r\n}\r\nfunction createForEach(isReadonly, isShallow) {\r\n return function forEach(callback, thisArg) {\r\n const observed = this;\r\n const target = observed[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly && track(rawTarget, \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return target.forEach((value, key) => {\r\n // important: make sure the callback is\r\n // 1. invoked with the reactive map as `this` and 3rd arg\r\n // 2. the value received should be a corresponding reactive/readonly.\r\n return callback.call(thisArg, wrap(value), wrap(key), observed);\r\n });\r\n };\r\n}\r\nfunction createIterableMethod(method, isReadonly, isShallow) {\r\n return function (...args) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const targetIsMap = isMap(rawTarget);\r\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\r\n const isKeyOnly = method === 'keys' && targetIsMap;\r\n const innerIterator = target[method](...args);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly &&\r\n track(rawTarget, \"iterate\" /* ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\r\n // return a wrapped iterator which returns observed versions of the\r\n // values emitted from the real iterator\r\n return {\r\n // iterator protocol\r\n next() {\r\n const { value, done } = innerIterator.next();\r\n return done\r\n ? { value, done }\r\n : {\r\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\r\n done\r\n };\r\n },\r\n // iterable protocol\r\n [Symbol.iterator]() {\r\n return this;\r\n }\r\n };\r\n };\r\n}\r\nfunction createReadonlyMethod(type) {\r\n return function (...args) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\r\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\r\n }\r\n return type === \"delete\" /* DELETE */ ? false : this;\r\n };\r\n}\r\nfunction createInstrumentations() {\r\n const mutableInstrumentations = {\r\n get(key) {\r\n return get$1(this, key);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, false)\r\n };\r\n const shallowInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, false, true);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, true)\r\n };\r\n const readonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, false)\r\n };\r\n const shallowReadonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, true)\r\n };\r\n const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\r\n iteratorMethods.forEach(method => {\r\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\r\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\r\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\r\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\r\n });\r\n return [\r\n mutableInstrumentations,\r\n readonlyInstrumentations,\r\n shallowInstrumentations,\r\n shallowReadonlyInstrumentations\r\n ];\r\n}\r\nconst [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();\r\nfunction createInstrumentationGetter(isReadonly, shallow) {\r\n const instrumentations = shallow\r\n ? isReadonly\r\n ? shallowReadonlyInstrumentations\r\n : shallowInstrumentations\r\n : isReadonly\r\n ? readonlyInstrumentations\r\n : mutableInstrumentations;\r\n return (target, key, receiver) => {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */) {\r\n return target;\r\n }\r\n return Reflect.get(hasOwn(instrumentations, key) && key in target\r\n ? instrumentations\r\n : target, key, receiver);\r\n };\r\n}\r\nconst mutableCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, false)\r\n};\r\nconst shallowCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, true)\r\n};\r\nconst readonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, false)\r\n};\r\nconst shallowReadonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, true)\r\n};\r\nfunction checkIdentityKeys(target, has, key) {\r\n const rawKey = toRaw(key);\r\n if (rawKey !== key && has.call(target, rawKey)) {\r\n const type = toRawType(target);\r\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\r\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\r\n `which can lead to inconsistencies. ` +\r\n `Avoid differentiating between the raw and reactive versions ` +\r\n `of an object and only use the reactive version if possible.`);\r\n }\r\n}\n\nconst reactiveMap = new WeakMap();\r\nconst shallowReactiveMap = new WeakMap();\r\nconst readonlyMap = new WeakMap();\r\nconst shallowReadonlyMap = new WeakMap();\r\nfunction targetTypeMap(rawType) {\r\n switch (rawType) {\r\n case 'Object':\r\n case 'Array':\r\n return 1 /* COMMON */;\r\n case 'Map':\r\n case 'Set':\r\n case 'WeakMap':\r\n case 'WeakSet':\r\n return 2 /* COLLECTION */;\r\n default:\r\n return 0 /* INVALID */;\r\n }\r\n}\r\nfunction getTargetType(value) {\r\n return value[\"__v_skip\" /* SKIP */] || !Object.isExtensible(value)\r\n ? 0 /* INVALID */\r\n : targetTypeMap(toRawType(value));\r\n}\r\nfunction reactive(target) {\r\n // if trying to observe a readonly proxy, return the readonly version.\r\n if (isReadonly(target)) {\r\n return target;\r\n }\r\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\r\n}\r\n/**\r\n * Return a shallowly-reactive copy of the original object, where only the root\r\n * level properties are reactive. It also does not auto-unwrap refs (even at the\r\n * root level).\r\n */\r\nfunction shallowReactive(target) {\r\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\r\n}\r\n/**\r\n * Creates a readonly copy of the original object. Note the returned copy is not\r\n * made reactive, but `readonly` can be called on an already reactive object.\r\n */\r\nfunction readonly(target) {\r\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\r\n}\r\n/**\r\n * Returns a reactive-copy of the original object, where only the root level\r\n * properties are readonly, and does NOT unwrap refs nor recursively convert\r\n * returned properties.\r\n * This is used for creating the props proxy object for stateful components.\r\n */\r\nfunction shallowReadonly(target) {\r\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\r\n}\r\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {\r\n if (!isObject(target)) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`value cannot be made reactive: ${String(target)}`);\r\n }\r\n return target;\r\n }\r\n // target is already a Proxy, return it.\r\n // exception: calling readonly() on a reactive object\r\n if (target[\"__v_raw\" /* RAW */] &&\r\n !(isReadonly && target[\"__v_isReactive\" /* IS_REACTIVE */])) {\r\n return target;\r\n }\r\n // target already has corresponding Proxy\r\n const existingProxy = proxyMap.get(target);\r\n if (existingProxy) {\r\n return existingProxy;\r\n }\r\n // only specific value types can be observed.\r\n const targetType = getTargetType(target);\r\n if (targetType === 0 /* INVALID */) {\r\n return target;\r\n }\r\n const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);\r\n proxyMap.set(target, proxy);\r\n return proxy;\r\n}\r\nfunction isReactive(value) {\r\n if (isReadonly(value)) {\r\n return isReactive(value[\"__v_raw\" /* RAW */]);\r\n }\r\n return !!(value && value[\"__v_isReactive\" /* IS_REACTIVE */]);\r\n}\r\nfunction isReadonly(value) {\r\n return !!(value && value[\"__v_isReadonly\" /* IS_READONLY */]);\r\n}\r\nfunction isShallow(value) {\r\n return !!(value && value[\"__v_isShallow\" /* IS_SHALLOW */]);\r\n}\r\nfunction isProxy(value) {\r\n return isReactive(value) || isReadonly(value);\r\n}\r\nfunction toRaw(observed) {\r\n const raw = observed && observed[\"__v_raw\" /* RAW */];\r\n return raw ? toRaw(raw) : observed;\r\n}\r\nfunction markRaw(value) {\r\n def(value, \"__v_skip\" /* SKIP */, true);\r\n return value;\r\n}\r\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\r\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref) {\r\n if (shouldTrack && activeEffect) {\r\n ref = toRaw(ref);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n trackEffects(ref.dep || (ref.dep = createDep()), {\r\n target: ref,\r\n type: \"get\" /* GET */,\r\n key: 'value'\r\n });\r\n }\r\n else {\r\n trackEffects(ref.dep || (ref.dep = createDep()));\r\n }\r\n }\r\n}\r\nfunction triggerRefValue(ref, newVal) {\r\n ref = toRaw(ref);\r\n if (ref.dep) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(ref.dep, {\r\n target: ref,\r\n type: \"set\" /* SET */,\r\n key: 'value',\r\n newValue: newVal\r\n });\r\n }\r\n else {\r\n triggerEffects(ref.dep);\r\n }\r\n }\r\n}\r\nfunction isRef(r) {\r\n return !!(r && r.__v_isRef === true);\r\n}\r\nfunction ref(value) {\r\n return createRef(value, false);\r\n}\r\nfunction shallowRef(value) {\r\n return createRef(value, true);\r\n}\r\nfunction createRef(rawValue, shallow) {\r\n if (isRef(rawValue)) {\r\n return rawValue;\r\n }\r\n return new RefImpl(rawValue, shallow);\r\n}\r\nclass RefImpl {\r\n constructor(value, __v_isShallow) {\r\n this.__v_isShallow = __v_isShallow;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._rawValue = __v_isShallow ? value : toRaw(value);\r\n this._value = __v_isShallow ? value : toReactive(value);\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n return this._value;\r\n }\r\n set value(newVal) {\r\n newVal = this.__v_isShallow ? newVal : toRaw(newVal);\r\n if (hasChanged(newVal, this._rawValue)) {\r\n this._rawValue = newVal;\r\n this._value = this.__v_isShallow ? newVal : toReactive(newVal);\r\n triggerRefValue(this, newVal);\r\n }\r\n }\r\n}\r\nfunction triggerRef(ref) {\r\n triggerRefValue(ref, (process.env.NODE_ENV !== 'production') ? ref.value : void 0);\r\n}\r\nfunction unref(ref) {\r\n return isRef(ref) ? ref.value : ref;\r\n}\r\nconst shallowUnwrapHandlers = {\r\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\r\n set: (target, key, value, receiver) => {\r\n const oldValue = target[key];\r\n if (isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n else {\r\n return Reflect.set(target, key, value, receiver);\r\n }\r\n }\r\n};\r\nfunction proxyRefs(objectWithRefs) {\r\n return isReactive(objectWithRefs)\r\n ? objectWithRefs\r\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\r\n}\r\nclass CustomRefImpl {\r\n constructor(factory) {\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n const { get, set } = factory(() => trackRefValue(this), () => triggerRefValue(this));\r\n this._get = get;\r\n this._set = set;\r\n }\r\n get value() {\r\n return this._get();\r\n }\r\n set value(newVal) {\r\n this._set(newVal);\r\n }\r\n}\r\nfunction customRef(factory) {\r\n return new CustomRefImpl(factory);\r\n}\r\nfunction toRefs(object) {\r\n if ((process.env.NODE_ENV !== 'production') && !isProxy(object)) {\r\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\r\n }\r\n const ret = isArray(object) ? new Array(object.length) : {};\r\n for (const key in object) {\r\n ret[key] = toRef(object, key);\r\n }\r\n return ret;\r\n}\r\nclass ObjectRefImpl {\r\n constructor(_object, _key, _defaultValue) {\r\n this._object = _object;\r\n this._key = _key;\r\n this._defaultValue = _defaultValue;\r\n this.__v_isRef = true;\r\n }\r\n get value() {\r\n const val = this._object[this._key];\r\n return val === undefined ? this._defaultValue : val;\r\n }\r\n set value(newVal) {\r\n this._object[this._key] = newVal;\r\n }\r\n}\r\nfunction toRef(object, key, defaultValue) {\r\n const val = object[key];\r\n return isRef(val)\r\n ? val\r\n : new ObjectRefImpl(object, key, defaultValue);\r\n}\n\nclass ComputedRefImpl {\r\n constructor(getter, _setter, isReadonly, isSSR) {\r\n this._setter = _setter;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._dirty = true;\r\n this.effect = new ReactiveEffect(getter, () => {\r\n if (!this._dirty) {\r\n this._dirty = true;\r\n triggerRefValue(this);\r\n }\r\n });\r\n this.effect.computed = this;\r\n this.effect.active = this._cacheable = !isSSR;\r\n this[\"__v_isReadonly\" /* IS_READONLY */] = isReadonly;\r\n }\r\n get value() {\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n const self = toRaw(this);\r\n trackRefValue(self);\r\n if (self._dirty || !self._cacheable) {\r\n self._dirty = false;\r\n self._value = self.effect.run();\r\n }\r\n return self._value;\r\n }\r\n set value(newValue) {\r\n this._setter(newValue);\r\n }\r\n}\r\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\r\n let getter;\r\n let setter;\r\n const onlyGetter = isFunction(getterOrOptions);\r\n if (onlyGetter) {\r\n getter = getterOrOptions;\r\n setter = (process.env.NODE_ENV !== 'production')\r\n ? () => {\r\n console.warn('Write operation failed: computed value is readonly');\r\n }\r\n : NOOP;\r\n }\r\n else {\r\n getter = getterOrOptions.get;\r\n setter = getterOrOptions.set;\r\n }\r\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\r\n if ((process.env.NODE_ENV !== 'production') && debugOptions && !isSSR) {\r\n cRef.effect.onTrack = debugOptions.onTrack;\r\n cRef.effect.onTrigger = debugOptions.onTrigger;\r\n }\r\n return cRef;\r\n}\n\nvar _a;\r\nconst tick = /*#__PURE__*/ Promise.resolve();\r\nconst queue = [];\r\nlet queued = false;\r\nconst scheduler = (fn) => {\r\n queue.push(fn);\r\n if (!queued) {\r\n queued = true;\r\n tick.then(flush);\r\n }\r\n};\r\nconst flush = () => {\r\n for (let i = 0; i < queue.length; i++) {\r\n queue[i]();\r\n }\r\n queue.length = 0;\r\n queued = false;\r\n};\r\nclass DeferredComputedRefImpl {\r\n constructor(getter) {\r\n this.dep = undefined;\r\n this._dirty = true;\r\n this.__v_isRef = true;\r\n this[_a] = true;\r\n let compareTarget;\r\n let hasCompareTarget = false;\r\n let scheduled = false;\r\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\r\n if (this.dep) {\r\n if (computedTrigger) {\r\n compareTarget = this._value;\r\n hasCompareTarget = true;\r\n }\r\n else if (!scheduled) {\r\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\r\n scheduled = true;\r\n hasCompareTarget = false;\r\n scheduler(() => {\r\n if (this.effect.active && this._get() !== valueToCompare) {\r\n triggerRefValue(this);\r\n }\r\n scheduled = false;\r\n });\r\n }\r\n // chained upstream computeds are notified synchronously to ensure\r\n // value invalidation in case of sync access; normal effects are\r\n // deferred to be triggered in scheduler.\r\n for (const e of this.dep) {\r\n if (e.computed instanceof DeferredComputedRefImpl) {\r\n e.scheduler(true /* computedTrigger */);\r\n }\r\n }\r\n }\r\n this._dirty = true;\r\n });\r\n this.effect.computed = this;\r\n }\r\n _get() {\r\n if (this._dirty) {\r\n this._dirty = false;\r\n return (this._value = this.effect.run());\r\n }\r\n return this._value;\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n return toRaw(this)._get();\r\n }\r\n}\r\n_a = \"__v_isReadonly\" /* IS_READONLY */;\r\nfunction deferredComputed(getter) {\r\n return new DeferredComputedRefImpl(getter);\r\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, EffectScope, markRaw, proxyRefs, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, toNumber, hyphenate, camelize, isOn, hasOwn, isModelListener, hasChanged, remove, isObject, isSet, isMap, isPlainObject, invokeArrayFns, isBuiltInDirective, capitalize, isGloballyWhitelisted, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, NO, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn(msg, ...args) {\r\n // avoid props formatting or warn handler tracking deps that might be mutated\r\n // during patch, leading to infinite recursion.\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(appWarnHandler, instance, 11 /* APP_WARN_HANDLER */, [\r\n msg + args.join(''),\r\n instance && instance.proxy,\r\n trace\r\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\r\n .join('\\n'),\r\n trace\r\n ]);\r\n }\r\n else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n /* istanbul ignore if */\r\n if (trace.length &&\r\n // avoid spamming console during tests\r\n !false) {\r\n warnArgs.push(`\\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n // we can't just use the stack because it will be incomplete during updates\r\n // that did not start from the root. Re-construct the parent chain using\r\n // instance parent pointers.\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n }\r\n else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\r\n const close = `>` + postfix;\r\n return vnode.props\r\n ? [open, ...formatProps(vnode.props), close]\r\n : [open + close];\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach(key => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (typeof value === 'number' ||\r\n typeof value === 'boolean' ||\r\n value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n }\r\n else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n }\r\n else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\n\nconst ErrorTypeStrings = {\r\n [\"sp\" /* SERVER_PREFETCH */]: 'serverPrefetch hook',\r\n [\"bc\" /* BEFORE_CREATE */]: 'beforeCreate hook',\r\n [\"c\" /* CREATED */]: 'created hook',\r\n [\"bm\" /* BEFORE_MOUNT */]: 'beforeMount hook',\r\n [\"m\" /* MOUNTED */]: 'mounted hook',\r\n [\"bu\" /* BEFORE_UPDATE */]: 'beforeUpdate hook',\r\n [\"u\" /* UPDATED */]: 'updated',\r\n [\"bum\" /* BEFORE_UNMOUNT */]: 'beforeUnmount hook',\r\n [\"um\" /* UNMOUNTED */]: 'unmounted hook',\r\n [\"a\" /* ACTIVATED */]: 'activated hook',\r\n [\"da\" /* DEACTIVATED */]: 'deactivated hook',\r\n [\"ec\" /* ERROR_CAPTURED */]: 'errorCaptured hook',\r\n [\"rtc\" /* RENDER_TRACKED */]: 'renderTracked hook',\r\n [\"rtg\" /* RENDER_TRIGGERED */]: 'renderTriggered hook',\r\n [0 /* SETUP_FUNCTION */]: 'setup function',\r\n [1 /* RENDER_FUNCTION */]: 'render function',\r\n [2 /* WATCH_GETTER */]: 'watcher getter',\r\n [3 /* WATCH_CALLBACK */]: 'watcher callback',\r\n [4 /* WATCH_CLEANUP */]: 'watcher cleanup function',\r\n [5 /* NATIVE_EVENT_HANDLER */]: 'native event handler',\r\n [6 /* COMPONENT_EVENT_HANDLER */]: 'component event handler',\r\n [7 /* VNODE_HOOK */]: 'vnode hook',\r\n [8 /* DIRECTIVE_HOOK */]: 'directive hook',\r\n [9 /* TRANSITION_HOOK */]: 'transition hook',\r\n [10 /* APP_ERROR_HANDLER */]: 'app errorHandler',\r\n [11 /* APP_WARN_HANDLER */]: 'app warnHandler',\r\n [12 /* FUNCTION_REF */]: 'ref function',\r\n [13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',\r\n [14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\r\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n let res;\r\n try {\r\n res = args ? fn(...args) : fn();\r\n }\r\n catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n return res;\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch(err => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type, throwInDev = true) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n // the exposed instance is the render proxy to keep it consistent with 2.x\r\n const exposedInstance = instance.proxy;\r\n // in production the hook receives only the error code\r\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n // app-level handling\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(appErrorHandler, null, 10 /* APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode, throwInDev);\r\n}\r\nfunction logError(err, type, contextVNode, throwInDev = true) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const info = ErrorTypeStrings[type];\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n // crash in dev by default so it's more noticeable\r\n if (throwInDev) {\r\n throw err;\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n }\r\n else {\r\n // recover in prod to reduce the impact on end-user\r\n console.error(err);\r\n }\r\n}\n\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nconst queue = [];\r\nlet flushIndex = 0;\r\nconst pendingPreFlushCbs = [];\r\nlet activePreFlushCbs = null;\r\nlet preFlushIndex = 0;\r\nconst pendingPostFlushCbs = [];\r\nlet activePostFlushCbs = null;\r\nlet postFlushIndex = 0;\r\nconst resolvedPromise = /*#__PURE__*/ Promise.resolve();\r\nlet currentFlushPromise = null;\r\nlet currentPreFlushParentJob = null;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\r\n}\r\n// #2768\r\n// Use binary-search to find a suitable position in the queue,\r\n// so that the queue maintains the increasing order of job's id,\r\n// which can prevent the job from being skipped and also can avoid repeated patching.\r\nfunction findInsertionIndex(id) {\r\n // the start index should be `flushIndex + 1`\r\n let start = flushIndex + 1;\r\n let end = queue.length;\r\n while (start < end) {\r\n const middle = (start + end) >>> 1;\r\n const middleJobId = getId(queue[middle]);\r\n middleJobId < id ? (start = middle + 1) : (end = middle);\r\n }\r\n return start;\r\n}\r\nfunction queueJob(job) {\r\n // the dedupe search uses the startIndex argument of Array.includes()\r\n // by default the search index includes the current job that is being run\r\n // so it cannot recursively trigger itself again.\r\n // if the job is a watch() callback, the search will start with a +1 index to\r\n // allow it recursively trigger itself - it is the user's responsibility to\r\n // ensure it doesn't end up in an infinite loop.\r\n if ((!queue.length ||\r\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) &&\r\n job !== currentPreFlushParentJob) {\r\n if (job.id == null) {\r\n queue.push(job);\r\n }\r\n else {\r\n queue.splice(findInsertionIndex(job.id), 0, job);\r\n }\r\n queueFlush();\r\n }\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > flushIndex) {\r\n queue.splice(i, 1);\r\n }\r\n}\r\nfunction queueCb(cb, activeQueue, pendingQueue, index) {\r\n if (!isArray(cb)) {\r\n if (!activeQueue ||\r\n !activeQueue.includes(cb, cb.allowRecurse ? index + 1 : index)) {\r\n pendingQueue.push(cb);\r\n }\r\n }\r\n else {\r\n // if cb is an array, it is a component lifecycle hook which can only be\r\n // triggered by a job, which is already deduped in the main queue, so\r\n // we can skip duplicate check here to improve perf\r\n pendingQueue.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction queuePreFlushCb(cb) {\r\n queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex);\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex);\r\n}\r\nfunction flushPreFlushCbs(seen, parentJob = null) {\r\n if (pendingPreFlushCbs.length) {\r\n currentPreFlushParentJob = parentJob;\r\n activePreFlushCbs = [...new Set(pendingPreFlushCbs)];\r\n pendingPreFlushCbs.length = 0;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePreFlushCbs[preFlushIndex])) {\r\n continue;\r\n }\r\n activePreFlushCbs[preFlushIndex]();\r\n }\r\n activePreFlushCbs = null;\r\n preFlushIndex = 0;\r\n currentPreFlushParentJob = null;\r\n // recursively flush until it drains\r\n flushPreFlushCbs(seen, parentJob);\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n // flush any pre cbs queued during the flush (e.g. pre watchers)\r\n flushPreFlushCbs();\r\n if (pendingPostFlushCbs.length) {\r\n const deduped = [...new Set(pendingPostFlushCbs)];\r\n pendingPostFlushCbs.length = 0;\r\n // #1947 already has active queue, nested flushPostFlushCbs call\r\n if (activePostFlushCbs) {\r\n activePostFlushCbs.push(...deduped);\r\n return;\r\n }\r\n activePostFlushCbs = deduped;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\r\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\r\n continue;\r\n }\r\n activePostFlushCbs[postFlushIndex]();\r\n }\r\n activePostFlushCbs = null;\r\n postFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => job.id == null ? Infinity : job.id;\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n flushPreFlushCbs(seen);\r\n // Sort queue before flush.\r\n // This ensures that:\r\n // 1. Components are updated from parent to child. (because parent is always\r\n // created before the child so its render effect will have smaller\r\n // priority number)\r\n // 2. If a component is unmounted during a parent component's update,\r\n // its update can be skipped.\r\n queue.sort((a, b) => getId(a) - getId(b));\r\n // conditional usage of checkRecursiveUpdate must be determined out of\r\n // try ... catch block since Rollup by default de-optimizes treeshaking\r\n // inside try-catch. This can leave all warning code unshaked. Although\r\n // they would get eventually shaken by a minifier like terser, some minifiers\r\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\r\n const check = (process.env.NODE_ENV !== 'production')\r\n ? (job) => checkRecursiveUpdates(seen, job)\r\n : NOOP;\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job && job.active !== false) {\r\n if ((process.env.NODE_ENV !== 'production') && check(job)) {\r\n continue;\r\n }\r\n // console.log(`running:`, job.id)\r\n callWithErrorHandling(job, null, 14 /* SCHEDULER */);\r\n }\r\n }\r\n }\r\n finally {\r\n flushIndex = 0;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n // some postFlushCb queued jobs!\r\n // keep flushing until it drains.\r\n if (queue.length ||\r\n pendingPreFlushCbs.length ||\r\n pendingPostFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n }\r\n else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n const instance = fn.ownerInstance;\r\n const componentName = instance && getComponentName(instance.type);\r\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\r\n `This means you have a reactive effect that is mutating its own ` +\r\n `dependencies and thus recursively triggering itself. Possible sources ` +\r\n `include component template, render function, updated hook or ` +\r\n `watcher source function.`);\r\n return true;\r\n }\r\n else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\n\n/* eslint-disable no-restricted-globals */\r\nlet isHmrUpdating = false;\r\nconst hmrDirtyComponents = new Set();\r\n// Expose the HMR runtime on the global object\r\n// This makes it entirely tree-shakable without polluting the exports and makes\r\n// it easier to be used in toolings like vue-loader\r\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\r\n// to be set so that its instances can be registered / removed.\r\nif ((process.env.NODE_ENV !== 'production')) {\r\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\r\n createRecord: tryWrap(createRecord),\r\n rerender: tryWrap(rerender),\r\n reload: tryWrap(reload)\r\n };\r\n}\r\nconst map = new Map();\r\nfunction registerHMR(instance) {\r\n const id = instance.type.__hmrId;\r\n let record = map.get(id);\r\n if (!record) {\r\n createRecord(id, instance.type);\r\n record = map.get(id);\r\n }\r\n record.instances.add(instance);\r\n}\r\nfunction unregisterHMR(instance) {\r\n map.get(instance.type.__hmrId).instances.delete(instance);\r\n}\r\nfunction createRecord(id, initialDef) {\r\n if (map.has(id)) {\r\n return false;\r\n }\r\n map.set(id, {\r\n initialDef: normalizeClassComponent(initialDef),\r\n instances: new Set()\r\n });\r\n return true;\r\n}\r\nfunction normalizeClassComponent(component) {\r\n return isClassComponent(component) ? component.__vccOpts : component;\r\n}\r\nfunction rerender(id, newRender) {\r\n const record = map.get(id);\r\n if (!record) {\r\n return;\r\n }\r\n // update initial record (for not-yet-rendered component)\r\n record.initialDef.render = newRender;\r\n [...record.instances].forEach(instance => {\r\n if (newRender) {\r\n instance.render = newRender;\r\n normalizeClassComponent(instance.type).render = newRender;\r\n }\r\n instance.renderCache = [];\r\n // this flag forces child components with slot content to update\r\n isHmrUpdating = true;\r\n instance.update();\r\n isHmrUpdating = false;\r\n });\r\n}\r\nfunction reload(id, newComp) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n newComp = normalizeClassComponent(newComp);\r\n // update initial def (for not-yet-rendered components)\r\n updateComponentDef(record.initialDef, newComp);\r\n // create a snapshot which avoids the set being mutated during updates\r\n const instances = [...record.instances];\r\n for (const instance of instances) {\r\n const oldComp = normalizeClassComponent(instance.type);\r\n if (!hmrDirtyComponents.has(oldComp)) {\r\n // 1. Update existing comp definition to match new one\r\n if (oldComp !== record.initialDef) {\r\n updateComponentDef(oldComp, newComp);\r\n }\r\n // 2. mark definition dirty. This forces the renderer to replace the\r\n // component on patch.\r\n hmrDirtyComponents.add(oldComp);\r\n }\r\n // 3. invalidate options resolution cache\r\n instance.appContext.optionsCache.delete(instance.type);\r\n // 4. actually update\r\n if (instance.ceReload) {\r\n // custom element\r\n hmrDirtyComponents.add(oldComp);\r\n instance.ceReload(newComp.styles);\r\n hmrDirtyComponents.delete(oldComp);\r\n }\r\n else if (instance.parent) {\r\n // 4. Force the parent instance to re-render. This will cause all updated\r\n // components to be unmounted and re-mounted. Queue the update so that we\r\n // don't end up forcing the same parent to re-render multiple times.\r\n queueJob(instance.parent.update);\r\n // instance is the inner component of an async custom element\r\n // invoke to reset styles\r\n if (instance.parent.type.__asyncLoader &&\r\n instance.parent.ceReload) {\r\n instance.parent.ceReload(newComp.styles);\r\n }\r\n }\r\n else if (instance.appContext.reload) {\r\n // root instance mounted via createApp() has a reload method\r\n instance.appContext.reload();\r\n }\r\n else if (typeof window !== 'undefined') {\r\n // root instance inside tree created via raw render(). Force reload.\r\n window.location.reload();\r\n }\r\n else {\r\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\r\n }\r\n }\r\n // 5. make sure to cleanup dirty hmr components after update\r\n queuePostFlushCb(() => {\r\n for (const instance of instances) {\r\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\r\n }\r\n });\r\n}\r\nfunction updateComponentDef(oldComp, newComp) {\r\n extend(oldComp, newComp);\r\n for (const key in oldComp) {\r\n if (key !== '__file' && !(key in newComp)) {\r\n delete oldComp[key];\r\n }\r\n }\r\n}\r\nfunction tryWrap(fn) {\r\n return (id, arg) => {\r\n try {\r\n return fn(id, arg);\r\n }\r\n catch (e) {\r\n console.error(e);\r\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\r\n `Full reload required.`);\r\n }\r\n };\r\n}\n\nlet devtools;\r\nlet buffer = [];\r\nlet devtoolsNotInstalled = false;\r\nfunction emit(event, ...args) {\r\n if (devtools) {\r\n devtools.emit(event, ...args);\r\n }\r\n else if (!devtoolsNotInstalled) {\r\n buffer.push({ event, args });\r\n }\r\n}\r\nfunction setDevtoolsHook(hook, target) {\r\n var _a, _b;\r\n devtools = hook;\r\n if (devtools) {\r\n devtools.enabled = true;\r\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\r\n buffer = [];\r\n }\r\n else if (\r\n // handle late devtools injection - only do this if we are in an actual\r\n // browser environment to avoid the timer handle stalling test runner exit\r\n // (#4815)\r\n typeof window !== 'undefined' &&\r\n // some envs mock window but not fully\r\n window.HTMLElement &&\r\n // also exclude jsdom\r\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\r\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\r\n replay.push((newHook) => {\r\n setDevtoolsHook(newHook, target);\r\n });\r\n // clear buffer after 3s - the user probably doesn't have devtools installed\r\n // at all, and keeping the buffer will cause memory leaks (#4738)\r\n setTimeout(() => {\r\n if (!devtools) {\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n }, 3000);\r\n }\r\n else {\r\n // non-browser env, assume not installed\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n emit(\"app:init\" /* APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment,\r\n Static\r\n });\r\n}\r\nfunction devtoolsUnmountApp(app) {\r\n emit(\"app:unmount\" /* APP_UNMOUNT */, app);\r\n}\r\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\r\nconst devtoolsComponentUpdated = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst devtoolsComponentRemoved = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* COMPONENT_REMOVED */);\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\r\n };\r\n}\r\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\r\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\r\nfunction createDevtoolsPerformanceHook(hook) {\r\n return (component, type, time) => {\r\n emit(hook, component.appContext.app, component.uid, component, type, time);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n emit(\"component:emit\" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);\r\n}\n\nfunction emit$1(instance, event, ...rawArgs) {\r\n if (instance.isUnmounted)\r\n return;\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\r\n if (emitsOptions) {\r\n if (!(event in emitsOptions) &&\r\n !(false )) {\r\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\r\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\r\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\r\n }\r\n }\r\n else {\r\n const validator = emitsOptions[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...rawArgs);\r\n if (!isValid) {\r\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let args = rawArgs;\r\n const isModelListener = event.startsWith('update:');\r\n // for v-model update:xxx events, apply modifiers on args\r\n const modelArg = isModelListener && event.slice(7);\r\n if (modelArg && modelArg in props) {\r\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\r\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\r\n if (trim) {\r\n args = rawArgs.map(a => a.trim());\r\n }\r\n if (number) {\r\n args = rawArgs.map(toNumber);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentEmit(instance, event, args);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const lowerCaseEvent = event.toLowerCase();\r\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\r\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\r\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\r\n `Note that HTML attributes are case-insensitive and you cannot use ` +\r\n `v-on to listen to camelCase events when using in-DOM templates. ` +\r\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\r\n }\r\n }\r\n let handlerName;\r\n let handler = props[(handlerName = toHandlerKey(event))] ||\r\n // also try camelCase event handler (#2249)\r\n props[(handlerName = toHandlerKey(camelize(event)))];\r\n // for v-model update:xxx events, also trigger kebab-case equivalent\r\n // for props passed via kebab-case\r\n if (!handler && isModelListener) {\r\n handler = props[(handlerName = toHandlerKey(hyphenate(event)))];\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n const onceHandler = props[handlerName + `Once`];\r\n if (onceHandler) {\r\n if (!instance.emitted) {\r\n instance.emitted = {};\r\n }\r\n else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n instance.emitted[handlerName] = true;\r\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.emitsCache;\r\n const cached = cache.get(comp);\r\n if (cached !== undefined) {\r\n return cached;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendEmits = (raw) => {\r\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\r\n if (normalizedFromExtend) {\r\n hasExtends = true;\r\n extend(normalized, normalizedFromExtend);\r\n }\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendEmits);\r\n }\r\n if (comp.extends) {\r\n extendEmits(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendEmits);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n cache.set(comp, null);\r\n return null;\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach(key => (normalized[key] = null));\r\n }\r\n else {\r\n extend(normalized, raw);\r\n }\r\n cache.set(comp, normalized);\r\n return normalized;\r\n}\r\n// Check if an incoming prop key is a declared emit event listener.\r\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\r\n// both considered matched listeners.\r\nfunction isEmitListener(options, key) {\r\n if (!options || !isOn(key)) {\r\n return false;\r\n }\r\n key = key.slice(2).replace(/Once$/, '');\r\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\r\n hasOwn(options, hyphenate(key)) ||\r\n hasOwn(options, key));\r\n}\n\n/**\r\n * mark the current rendering instance for asset resolution (e.g.\r\n * resolveComponent, resolveDirective) during render\r\n */\r\nlet currentRenderingInstance = null;\r\nlet currentScopeId = null;\r\n/**\r\n * Note: rendering calls maybe nested. The function returns the parent rendering\r\n * instance if present, which should be restored after the render is done:\r\n *\r\n * ```js\r\n * const prev = setCurrentRenderingInstance(i)\r\n * // ...render\r\n * setCurrentRenderingInstance(prev)\r\n * ```\r\n */\r\nfunction setCurrentRenderingInstance(instance) {\r\n const prev = currentRenderingInstance;\r\n currentRenderingInstance = instance;\r\n currentScopeId = (instance && instance.type.__scopeId) || null;\r\n return prev;\r\n}\r\n/**\r\n * Set scope id when creating hoisted vnodes.\r\n * @private compiler helper\r\n */\r\nfunction pushScopeId(id) {\r\n currentScopeId = id;\r\n}\r\n/**\r\n * Technically we no longer need this after 3.0.8 but we need to keep the same\r\n * API for backwards compat w/ code generated by compilers.\r\n * @private\r\n */\r\nfunction popScopeId() {\r\n currentScopeId = null;\r\n}\r\n/**\r\n * Only for backwards compat\r\n * @private\r\n */\r\nconst withScopeId = (_id) => withCtx;\r\n/**\r\n * Wrap a slot function to memoize current rendering instance\r\n * @private compiler helper\r\n */\r\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\r\n) {\r\n if (!ctx)\r\n return fn;\r\n // already normalized\r\n if (fn._n) {\r\n return fn;\r\n }\r\n const renderFnWithContext = (...args) => {\r\n // If a user calls a compiled slot inside a template expression (#1745), it\r\n // can mess up block tracking, so by default we disable block tracking and\r\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\r\n // This isn't necessary if rendering a compiled ``, so we flip the\r\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(-1);\r\n }\r\n const prevInstance = setCurrentRenderingInstance(ctx);\r\n const res = fn(...args);\r\n setCurrentRenderingInstance(prevInstance);\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(1);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentUpdated(ctx);\r\n }\r\n return res;\r\n };\r\n // mark normalized to avoid duplicated wrapping\r\n renderFnWithContext._n = true;\r\n // mark this as compiled by default\r\n // this is used in vnode.ts -> normalizeChildren() to set the slot\r\n // rendering flag.\r\n renderFnWithContext._c = true;\r\n // disable block tracking by default\r\n renderFnWithContext._d = true;\r\n return renderFnWithContext;\r\n}\n\n/**\r\n * dev only flag to track whether $attrs was used during render.\r\n * If $attrs was used during render then the warning for failed attrs\r\n * fallthrough can be suppressed.\r\n */\r\nlet accessedAttrs = false;\r\nfunction markAttrsAccessed() {\r\n accessedAttrs = true;\r\n}\r\nfunction renderComponentRoot(instance) {\r\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\r\n let result;\r\n let fallthroughAttrs;\r\n const prev = setCurrentRenderingInstance(instance);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n accessedAttrs = false;\r\n }\r\n try {\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n // withProxy is a proxy with a different `has` trap only for\r\n // runtime-compiled render functions using `with` block.\r\n const proxyToUse = withProxy || proxy;\r\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\r\n fallthroughAttrs = attrs;\r\n }\r\n else {\r\n // functional\r\n const render = Component;\r\n // in dev, mark attrs accessed if optional props (attrs === props)\r\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\r\n markAttrsAccessed();\r\n }\r\n result = normalizeVNode(render.length > 1\r\n ? render(props, (process.env.NODE_ENV !== 'production')\r\n ? {\r\n get attrs() {\r\n markAttrsAccessed();\r\n return attrs;\r\n },\r\n slots,\r\n emit\r\n }\r\n : { attrs, slots, emit })\r\n : render(props, null /* we know it doesn't need it */));\r\n fallthroughAttrs = Component.props\r\n ? attrs\r\n : getFunctionalFallthrough(attrs);\r\n }\r\n }\r\n catch (err) {\r\n blockStack.length = 0;\r\n handleError(err, instance, 1 /* RENDER_FUNCTION */);\r\n result = createVNode(Comment);\r\n }\r\n // attr merging\r\n // in dev mode, comments are preserved, and it's possible for a template\r\n // to have comments along side the root element which makes it a fragment\r\n let root = result;\r\n let setRoot = undefined;\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n result.patchFlag > 0 &&\r\n result.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {\r\n [root, setRoot] = getChildRoot(result);\r\n }\r\n if (fallthroughAttrs && inheritAttrs !== false) {\r\n const keys = Object.keys(fallthroughAttrs);\r\n const { shapeFlag } = root;\r\n if (keys.length) {\r\n if (shapeFlag & (1 /* ELEMENT */ | 6 /* COMPONENT */)) {\r\n if (propsOptions && keys.some(isModelListener)) {\r\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\r\n // prop, it indicates this component expects to handle v-model and\r\n // it should not fallthrough.\r\n // related: #1543, #1643, #1989\r\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\r\n }\r\n root = cloneVNode(root, fallthroughAttrs);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\r\n const allAttrs = Object.keys(attrs);\r\n const eventAttrs = [];\r\n const extraAttrs = [];\r\n for (let i = 0, l = allAttrs.length; i < l; i++) {\r\n const key = allAttrs[i];\r\n if (isOn(key)) {\r\n // ignore v-model handlers when they fail to fallthrough\r\n if (!isModelListener(key)) {\r\n // remove `on`, lowercase first letter to reflect event casing\r\n // accurately\r\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\r\n }\r\n }\r\n else {\r\n extraAttrs.push(key);\r\n }\r\n }\r\n if (extraAttrs.length) {\r\n warn(`Extraneous non-props attributes (` +\r\n `${extraAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes.`);\r\n }\r\n if (eventAttrs.length) {\r\n warn(`Extraneous non-emits event listeners (` +\r\n `${eventAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes. ` +\r\n `If the listener is intended to be a component custom event listener only, ` +\r\n `declare it using the \"emits\" option.`);\r\n }\r\n }\r\n }\r\n }\r\n // inherit directives\r\n if (vnode.dirs) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Runtime directive used on component with non-element root node. ` +\r\n `The directives will not function as intended.`);\r\n }\r\n // clone before mutating since the root may be a hoisted vnode\r\n root = cloneVNode(root);\r\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\r\n }\r\n // inherit transition data\r\n if (vnode.transition) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Component inside renders non-element root node ` +\r\n `that cannot be animated.`);\r\n }\r\n root.transition = vnode.transition;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\r\n setRoot(root);\r\n }\r\n else {\r\n result = root;\r\n }\r\n setCurrentRenderingInstance(prev);\r\n return result;\r\n}\r\n/**\r\n * dev only\r\n * In dev mode, template root level comments are rendered, which turns the\r\n * template into a fragment root, but we need to locate the single element\r\n * root for attrs and scope id processing.\r\n */\r\nconst getChildRoot = (vnode) => {\r\n const rawChildren = vnode.children;\r\n const dynamicChildren = vnode.dynamicChildren;\r\n const childRoot = filterSingleRoot(rawChildren);\r\n if (!childRoot) {\r\n return [vnode, undefined];\r\n }\r\n const index = rawChildren.indexOf(childRoot);\r\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\r\n const setRoot = (updatedRoot) => {\r\n rawChildren[index] = updatedRoot;\r\n if (dynamicChildren) {\r\n if (dynamicIndex > -1) {\r\n dynamicChildren[dynamicIndex] = updatedRoot;\r\n }\r\n else if (updatedRoot.patchFlag > 0) {\r\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\r\n }\r\n }\r\n };\r\n return [normalizeVNode(childRoot), setRoot];\r\n};\r\nfunction filterSingleRoot(children) {\r\n let singleRoot;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if (isVNode(child)) {\r\n // ignore user comment\r\n if (child.type !== Comment || child.children === 'v-if') {\r\n if (singleRoot) {\r\n // has more than 1 non-comment child, return now\r\n return;\r\n }\r\n else {\r\n singleRoot = child;\r\n }\r\n }\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n return singleRoot;\r\n}\r\nconst getFunctionalFallthrough = (attrs) => {\r\n let res;\r\n for (const key in attrs) {\r\n if (key === 'class' || key === 'style' || isOn(key)) {\r\n (res || (res = {}))[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst filterModelListeners = (attrs, props) => {\r\n const res = {};\r\n for (const key in attrs) {\r\n if (!isModelListener(key) || !(key.slice(9) in props)) {\r\n res[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst isElementRoot = (vnode) => {\r\n return (vnode.shapeFlag & (6 /* COMPONENT */ | 1 /* ELEMENT */) ||\r\n vnode.type === Comment // potential v-if branch switch\r\n );\r\n};\r\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\r\n const { props: prevProps, children: prevChildren, component } = prevVNode;\r\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\r\n const emits = component.emitsOptions;\r\n // Parent component's render function was hot-updated. Since this may have\r\n // caused the child component's slots content to have changed, we need to\r\n // force the child to update as well.\r\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\r\n return true;\r\n }\r\n // force child update for runtime directive or transition on component vnode.\r\n if (nextVNode.dirs || nextVNode.transition) {\r\n return true;\r\n }\r\n if (optimized && patchFlag >= 0) {\r\n if (patchFlag & 1024 /* DYNAMIC_SLOTS */) {\r\n // slot content that references values that might have changed,\r\n // e.g. in a v-for\r\n return true;\r\n }\r\n if (patchFlag & 16 /* FULL_PROPS */) {\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n // presence of this flag indicates props are always non-null\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n else if (patchFlag & 8 /* PROPS */) {\r\n const dynamicProps = nextVNode.dynamicProps;\r\n for (let i = 0; i < dynamicProps.length; i++) {\r\n const key = dynamicProps[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emits, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // this path is only taken by manually written render functions\r\n // so presence of any children leads to a forced update\r\n if (prevChildren || nextChildren) {\r\n if (!nextChildren || !nextChildren.$stable) {\r\n return true;\r\n }\r\n }\r\n if (prevProps === nextProps) {\r\n return false;\r\n }\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n if (!nextProps) {\r\n return true;\r\n }\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n return false;\r\n}\r\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\r\n const nextKeys = Object.keys(nextProps);\r\n if (nextKeys.length !== Object.keys(prevProps).length) {\r\n return true;\r\n }\r\n for (let i = 0; i < nextKeys.length; i++) {\r\n const key = nextKeys[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emitsOptions, key)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\r\n) {\r\n while (parent && parent.subTree === vnode) {\r\n (vnode = parent.vnode).el = el;\r\n parent = parent.parent;\r\n }\r\n}\n\nconst isSuspense = (type) => type.__isSuspense;\r\n// Suspense exposes a component-like API, and is treated like a component\r\n// in the compiler, but internally it's a special built-in type that hooks\r\n// directly into the renderer.\r\nconst SuspenseImpl = {\r\n name: 'Suspense',\r\n // In order to make Suspense tree-shakable, we need to avoid importing it\r\n // directly in the renderer. The renderer checks for the __isSuspense flag\r\n // on a vnode's type and calls the `process` method, passing in renderer\r\n // internals.\r\n __isSuspense: true,\r\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \r\n // platform-specific impl passed from renderer\r\n rendererInternals) {\r\n if (n1 == null) {\r\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n else {\r\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n },\r\n hydrate: hydrateSuspense,\r\n create: createSuspenseBoundary,\r\n normalize: normalizeSuspenseChildren\r\n};\r\n// Force-casted public typing for h and TSX props inference\r\nconst Suspense = (SuspenseImpl );\r\nfunction triggerEvent(vnode, name) {\r\n const eventListener = vnode.props && vnode.props[name];\r\n if (isFunction(eventListener)) {\r\n eventListener();\r\n }\r\n}\r\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\r\n const { p: patch, o: { createElement } } = rendererInternals;\r\n const hiddenContainer = createElement('div');\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\r\n // start mounting the content subtree in an off-dom container\r\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\r\n // now check if we have encountered any async deps\r\n if (suspense.deps > 0) {\r\n // has async\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onPending');\r\n triggerEvent(vnode, 'onFallback');\r\n // mount the fallback tree\r\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds);\r\n setActiveBranch(suspense, vnode.ssFallback);\r\n }\r\n else {\r\n // Suspense has no async deps. Just resolve.\r\n suspense.resolve();\r\n }\r\n}\r\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\r\n const suspense = (n2.suspense = n1.suspense);\r\n suspense.vnode = n2;\r\n n2.el = n1.el;\r\n const newBranch = n2.ssContent;\r\n const newFallback = n2.ssFallback;\r\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\r\n if (pendingBranch) {\r\n suspense.pendingBranch = newBranch;\r\n if (isSameVNodeType(newBranch, pendingBranch)) {\r\n // same root type but content may have changed.\r\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else if (isInFallback) {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else {\r\n // toggled before pending tree is resolved\r\n suspense.pendingId++;\r\n if (isHydrating) {\r\n // if toggled before hydration is finished, the current DOM tree is\r\n // no longer valid. set it as the active branch so it will be unmounted\r\n // when resolved\r\n suspense.isHydrating = false;\r\n suspense.activeBranch = pendingBranch;\r\n }\r\n else {\r\n unmount(pendingBranch, parentComponent, suspense);\r\n }\r\n // increment pending ID. this is used to invalidate async callbacks\r\n // reset suspense state\r\n suspense.deps = 0;\r\n // discard effects from pending branch\r\n suspense.effects.length = 0;\r\n // discard previous container\r\n suspense.hiddenContainer = createElement('div');\r\n if (isInFallback) {\r\n // already in fallback state\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // toggled \"back\" to current active branch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n // force resolve\r\n suspense.resolve(true);\r\n }\r\n else {\r\n // switched to a 3rd branch\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // root did not change, just normal patch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newBranch);\r\n }\r\n else {\r\n // root node toggled\r\n // invoke @pending event\r\n triggerEvent(n2, 'onPending');\r\n // mount pending branch in off-dom container\r\n suspense.pendingBranch = newBranch;\r\n suspense.pendingId++;\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n // incoming branch has no async deps, resolve now.\r\n suspense.resolve();\r\n }\r\n else {\r\n const { timeout, pendingId } = suspense;\r\n if (timeout > 0) {\r\n setTimeout(() => {\r\n if (suspense.pendingId === pendingId) {\r\n suspense.fallback(newFallback);\r\n }\r\n }, timeout);\r\n }\r\n else if (timeout === 0) {\r\n suspense.fallback(newFallback);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nlet hasWarned = false;\r\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\r\n /* istanbul ignore if */\r\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\r\n hasWarned = true;\r\n // @ts-ignore `console.info` cannot be null error\r\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\r\n }\r\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\r\n const timeout = toNumber(vnode.props && vnode.props.timeout);\r\n const suspense = {\r\n vnode,\r\n parent,\r\n parentComponent,\r\n isSVG,\r\n container,\r\n hiddenContainer,\r\n anchor,\r\n deps: 0,\r\n pendingId: 0,\r\n timeout: typeof timeout === 'number' ? timeout : -1,\r\n activeBranch: null,\r\n pendingBranch: null,\r\n isInFallback: true,\r\n isHydrating,\r\n isUnmounted: false,\r\n effects: [],\r\n resolve(resume = false) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!resume && !suspense.pendingBranch) {\r\n throw new Error(`suspense.resolve() is called without a pending branch.`);\r\n }\r\n if (suspense.isUnmounted) {\r\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\r\n }\r\n }\r\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\r\n if (suspense.isHydrating) {\r\n suspense.isHydrating = false;\r\n }\r\n else if (!resume) {\r\n const delayEnter = activeBranch &&\r\n pendingBranch.transition &&\r\n pendingBranch.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = () => {\r\n if (pendingId === suspense.pendingId) {\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n };\r\n }\r\n // this is initial anchor on mount\r\n let { anchor } = suspense;\r\n // unmount current active tree\r\n if (activeBranch) {\r\n // if the fallback tree was mounted, it may have been moved\r\n // as part of a parent suspense. get the latest anchor for insertion\r\n anchor = next(activeBranch);\r\n unmount(activeBranch, parentComponent, suspense, true);\r\n }\r\n if (!delayEnter) {\r\n // move content from off-dom container to actual container\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n }\r\n setActiveBranch(suspense, pendingBranch);\r\n suspense.pendingBranch = null;\r\n suspense.isInFallback = false;\r\n // flush buffered effects\r\n // check if there is a pending parent suspense\r\n let parent = suspense.parent;\r\n let hasUnresolvedAncestor = false;\r\n while (parent) {\r\n if (parent.pendingBranch) {\r\n // found a pending parent suspense, merge buffered post jobs\r\n // into that parent\r\n parent.effects.push(...effects);\r\n hasUnresolvedAncestor = true;\r\n break;\r\n }\r\n parent = parent.parent;\r\n }\r\n // no pending parent suspense, flush all jobs\r\n if (!hasUnresolvedAncestor) {\r\n queuePostFlushCb(effects);\r\n }\r\n suspense.effects = [];\r\n // invoke @resolve event\r\n triggerEvent(vnode, 'onResolve');\r\n },\r\n fallback(fallbackVNode) {\r\n if (!suspense.pendingBranch) {\r\n return;\r\n }\r\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onFallback');\r\n const anchor = next(activeBranch);\r\n const mountFallback = () => {\r\n if (!suspense.isInFallback) {\r\n return;\r\n }\r\n // mount the fallback tree\r\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, fallbackVNode);\r\n };\r\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = mountFallback;\r\n }\r\n suspense.isInFallback = true;\r\n // unmount current active branch\r\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\r\n true // shouldRemove\r\n );\r\n if (!delayEnter) {\r\n mountFallback();\r\n }\r\n },\r\n move(container, anchor, type) {\r\n suspense.activeBranch &&\r\n move(suspense.activeBranch, container, anchor, type);\r\n suspense.container = container;\r\n },\r\n next() {\r\n return suspense.activeBranch && next(suspense.activeBranch);\r\n },\r\n registerDep(instance, setupRenderEffect) {\r\n const isInPendingSuspense = !!suspense.pendingBranch;\r\n if (isInPendingSuspense) {\r\n suspense.deps++;\r\n }\r\n const hydratedEl = instance.vnode.el;\r\n instance\r\n .asyncDep.catch(err => {\r\n handleError(err, instance, 0 /* SETUP_FUNCTION */);\r\n })\r\n .then(asyncSetupResult => {\r\n // retry when the setup() promise resolves.\r\n // component may have been unmounted before resolve.\r\n if (instance.isUnmounted ||\r\n suspense.isUnmounted ||\r\n suspense.pendingId !== instance.suspenseId) {\r\n return;\r\n }\r\n // retry from this component\r\n instance.asyncResolved = true;\r\n const { vnode } = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n pushWarningContext(vnode);\r\n }\r\n handleSetupResult(instance, asyncSetupResult, false);\r\n if (hydratedEl) {\r\n // vnode may have been replaced if an update happened before the\r\n // async dep is resolved.\r\n vnode.el = hydratedEl;\r\n }\r\n const placeholder = !hydratedEl && instance.subTree.el;\r\n setupRenderEffect(instance, vnode, \r\n // component may have been moved before resolve.\r\n // if this is not a hydration, instance.subTree will be the comment\r\n // placeholder.\r\n parentNode(hydratedEl || instance.subTree.el), \r\n // anchor will not be used if this is hydration, so only need to\r\n // consider the comment placeholder case.\r\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\r\n if (placeholder) {\r\n remove(placeholder);\r\n }\r\n updateHOCHostEl(instance, vnode.el);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n popWarningContext();\r\n }\r\n // only decrease deps count if suspense is not already resolved\r\n if (isInPendingSuspense && --suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n });\r\n },\r\n unmount(parentSuspense, doRemove) {\r\n suspense.isUnmounted = true;\r\n if (suspense.activeBranch) {\r\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n if (suspense.pendingBranch) {\r\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n }\r\n };\r\n return suspense;\r\n}\r\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\r\n /* eslint-disable no-restricted-globals */\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\r\n // there are two possible scenarios for server-rendered suspense:\r\n // - success: ssr content should be fully resolved\r\n // - failure: ssr content should be the fallback branch.\r\n // however, on the client we don't really know if it has failed or not\r\n // attempt to hydrate the DOM assuming it has succeeded, but we still\r\n // need to construct a suspense boundary first\r\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\r\n if (suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n return result;\r\n /* eslint-enable no-restricted-globals */\r\n}\r\nfunction normalizeSuspenseChildren(vnode) {\r\n const { shapeFlag, children } = vnode;\r\n const isSlotChildren = shapeFlag & 32 /* SLOTS_CHILDREN */;\r\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\r\n vnode.ssFallback = isSlotChildren\r\n ? normalizeSuspenseSlot(children.fallback)\r\n : createVNode(Comment);\r\n}\r\nfunction normalizeSuspenseSlot(s) {\r\n let block;\r\n if (isFunction(s)) {\r\n const trackBlock = isBlockTreeEnabled && s._c;\r\n if (trackBlock) {\r\n // disableTracking: false\r\n // allow block tracking for compiled slots\r\n // (see ./componentRenderContext.ts)\r\n s._d = false;\r\n openBlock();\r\n }\r\n s = s();\r\n if (trackBlock) {\r\n s._d = true;\r\n block = currentBlock;\r\n closeBlock();\r\n }\r\n }\r\n if (isArray(s)) {\r\n const singleChild = filterSingleRoot(s);\r\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\r\n warn(` slots expect a single root node.`);\r\n }\r\n s = singleChild;\r\n }\r\n s = normalizeVNode(s);\r\n if (block && !s.dynamicChildren) {\r\n s.dynamicChildren = block.filter(c => c !== s);\r\n }\r\n return s;\r\n}\r\nfunction queueEffectWithSuspense(fn, suspense) {\r\n if (suspense && suspense.pendingBranch) {\r\n if (isArray(fn)) {\r\n suspense.effects.push(...fn);\r\n }\r\n else {\r\n suspense.effects.push(fn);\r\n }\r\n }\r\n else {\r\n queuePostFlushCb(fn);\r\n }\r\n}\r\nfunction setActiveBranch(suspense, branch) {\r\n suspense.activeBranch = branch;\r\n const { vnode, parentComponent } = suspense;\r\n const el = (vnode.el = branch.el);\r\n // in case suspense is the root node of a component,\r\n // recursively update the HOC el\r\n if (parentComponent && parentComponent.subTree === vnode) {\r\n parentComponent.vnode.el = el;\r\n updateHOCHostEl(parentComponent, el);\r\n }\r\n}\n\nfunction provide(key, value) {\r\n if (!currentInstance) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`provide() can only be used inside setup().`);\r\n }\r\n }\r\n else {\r\n let provides = currentInstance.provides;\r\n // by default an instance inherits its parent's provides object\r\n // but when it needs to provide values of its own, it creates its\r\n // own provides object using parent provides object as prototype.\r\n // this way in `inject` we can simply look up injections from direct\r\n // parent and let the prototype chain do the work.\r\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\r\n if (parentProvides === provides) {\r\n provides = currentInstance.provides = Object.create(parentProvides);\r\n }\r\n // TS doesn't allow symbol as index type\r\n provides[key] = value;\r\n }\r\n}\r\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\r\n // fallback to `currentRenderingInstance` so that this can be called in\r\n // a functional component\r\n const instance = currentInstance || currentRenderingInstance;\r\n if (instance) {\r\n // #2400\r\n // to support `app.use` plugins,\r\n // fallback to appContext's `provides` if the instance is at root\r\n const provides = instance.parent == null\r\n ? instance.vnode.appContext && instance.vnode.appContext.provides\r\n : instance.parent.provides;\r\n if (provides && key in provides) {\r\n // TS doesn't allow symbol as index type\r\n return provides[key];\r\n }\r\n else if (arguments.length > 1) {\r\n return treatDefaultAsFactory && isFunction(defaultValue)\r\n ? defaultValue.call(instance.proxy)\r\n : defaultValue;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`injection \"${String(key)}\" not found.`);\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`inject() can only be used inside setup() or functional components.`);\r\n }\r\n}\n\n// Simple effect.\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\nfunction watchPostEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' }));\r\n}\r\nfunction watchSyncEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));\r\n}\r\n// initial value for watchers to trigger on undefined initial values\r\nconst INITIAL_WATCHER_VALUE = {};\r\n// implementation\r\nfunction watch(source, cb, options) {\r\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\r\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\r\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\r\n `supports \\`watch(source, cb, options?) signature.`);\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\r\n if ((process.env.NODE_ENV !== 'production') && !cb) {\r\n if (immediate !== undefined) {\r\n warn(`watch() \"immediate\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n if (deep !== undefined) {\r\n warn(`watch() \"deep\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n }\r\n const warnInvalidSource = (s) => {\r\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\r\n `a reactive object, or an array of these types.`);\r\n };\r\n const instance = currentInstance;\r\n let getter;\r\n let forceTrigger = false;\r\n let isMultiSource = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = isShallow$1(source);\r\n }\r\n else if (isReactive(source)) {\r\n getter = () => source;\r\n deep = true;\r\n }\r\n else if (isArray(source)) {\r\n isMultiSource = true;\r\n forceTrigger = source.some(s => isReactive(s) || isShallow$1(s));\r\n getter = () => source.map(s => {\r\n if (isRef(s)) {\r\n return s.value;\r\n }\r\n else if (isReactive(s)) {\r\n return traverse(s);\r\n }\r\n else if (isFunction(s)) {\r\n return callWithErrorHandling(s, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\r\n }\r\n });\r\n }\r\n else if (isFunction(source)) {\r\n if (cb) {\r\n // getter with cb\r\n getter = () => callWithErrorHandling(source, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n // no cb -> simple effect\r\n getter = () => {\r\n if (instance && instance.isUnmounted) {\r\n return;\r\n }\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return callWithAsyncErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onCleanup]);\r\n };\r\n }\r\n }\r\n else {\r\n getter = NOOP;\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n const baseGetter = getter;\r\n getter = () => traverse(baseGetter());\r\n }\r\n let cleanup;\r\n let onCleanup = (fn) => {\r\n cleanup = effect.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);\r\n };\r\n };\r\n // in SSR there is no need to setup an actual effect, and it should be noop\r\n // unless it's eager\r\n if (isInSSRComponentSetup) {\r\n // we will also not call the invalidate callback (+ runner is not set up)\r\n onCleanup = NOOP;\r\n if (!cb) {\r\n getter();\r\n }\r\n else if (immediate) {\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n getter(),\r\n isMultiSource ? [] : undefined,\r\n onCleanup\r\n ]);\r\n }\r\n return NOOP;\r\n }\r\n let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!effect.active) {\r\n return;\r\n }\r\n if (cb) {\r\n // watch(source, cb)\r\n const newValue = effect.run();\r\n if (deep ||\r\n forceTrigger ||\r\n (isMultiSource\r\n ? newValue.some((v, i) => hasChanged(v, oldValue[i]))\r\n : hasChanged(newValue, oldValue)) ||\r\n (false )) {\r\n // cleanup before running cb again\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\r\n onCleanup\r\n ]);\r\n oldValue = newValue;\r\n }\r\n }\r\n else {\r\n // watchEffect\r\n effect.run();\r\n }\r\n };\r\n // important: mark the job as a watcher callback so that scheduler knows\r\n // it is allowed to self-trigger (#1727)\r\n job.allowRecurse = !!cb;\r\n let scheduler;\r\n if (flush === 'sync') {\r\n scheduler = job; // the scheduler function gets called directly\r\n }\r\n else if (flush === 'post') {\r\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\r\n }\r\n else {\r\n // default: 'pre'\r\n scheduler = () => queuePreFlushCb(job);\r\n }\r\n const effect = new ReactiveEffect(getter, scheduler);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n effect.onTrack = onTrack;\r\n effect.onTrigger = onTrigger;\r\n }\r\n // initial run\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n }\r\n else {\r\n oldValue = effect.run();\r\n }\r\n }\r\n else if (flush === 'post') {\r\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\r\n }\r\n else {\r\n effect.run();\r\n }\r\n return () => {\r\n effect.stop();\r\n if (instance && instance.scope) {\r\n remove(instance.scope.effects, effect);\r\n }\r\n };\r\n}\r\n// this.$watch\r\nfunction instanceWatch(source, value, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source)\r\n ? source.includes('.')\r\n ? createPathGetter(publicThis, source)\r\n : () => publicThis[source]\r\n : source.bind(publicThis, publicThis);\r\n let cb;\r\n if (isFunction(value)) {\r\n cb = value;\r\n }\r\n else {\r\n cb = value.handler;\r\n options = value;\r\n }\r\n const cur = currentInstance;\r\n setCurrentInstance(this);\r\n const res = doWatch(getter, cb.bind(publicThis), options);\r\n if (cur) {\r\n setCurrentInstance(cur);\r\n }\r\n else {\r\n unsetCurrentInstance();\r\n }\r\n return res;\r\n}\r\nfunction createPathGetter(ctx, path) {\r\n const segments = path.split('.');\r\n return () => {\r\n let cur = ctx;\r\n for (let i = 0; i < segments.length && cur; i++) {\r\n cur = cur[segments[i]];\r\n }\r\n return cur;\r\n };\r\n}\r\nfunction traverse(value, seen) {\r\n if (!isObject(value) || value[\"__v_skip\" /* SKIP */]) {\r\n return value;\r\n }\r\n seen = seen || new Set();\r\n if (seen.has(value)) {\r\n return value;\r\n }\r\n seen.add(value);\r\n if (isRef(value)) {\r\n traverse(value.value, seen);\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n traverse(value[i], seen);\r\n }\r\n }\r\n else if (isSet(value) || isMap(value)) {\r\n value.forEach((v) => {\r\n traverse(v, seen);\r\n });\r\n }\r\n else if (isPlainObject(value)) {\r\n for (const key in value) {\r\n traverse(value[key], seen);\r\n }\r\n }\r\n return value;\r\n}\n\nfunction useTransitionState() {\r\n const state = {\r\n isMounted: false,\r\n isLeaving: false,\r\n isUnmounting: false,\r\n leavingVNodes: new Map()\r\n };\r\n onMounted(() => {\r\n state.isMounted = true;\r\n });\r\n onBeforeUnmount(() => {\r\n state.isUnmounting = true;\r\n });\r\n return state;\r\n}\r\nconst TransitionHookValidator = [Function, Array];\r\nconst BaseTransitionImpl = {\r\n name: `BaseTransition`,\r\n props: {\r\n mode: String,\r\n appear: Boolean,\r\n persisted: Boolean,\r\n // enter\r\n onBeforeEnter: TransitionHookValidator,\r\n onEnter: TransitionHookValidator,\r\n onAfterEnter: TransitionHookValidator,\r\n onEnterCancelled: TransitionHookValidator,\r\n // leave\r\n onBeforeLeave: TransitionHookValidator,\r\n onLeave: TransitionHookValidator,\r\n onAfterLeave: TransitionHookValidator,\r\n onLeaveCancelled: TransitionHookValidator,\r\n // appear\r\n onBeforeAppear: TransitionHookValidator,\r\n onAppear: TransitionHookValidator,\r\n onAfterAppear: TransitionHookValidator,\r\n onAppearCancelled: TransitionHookValidator\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n const state = useTransitionState();\r\n let prevTransitionKey;\r\n return () => {\r\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\r\n if (!children || !children.length) {\r\n return;\r\n }\r\n let child = children[0];\r\n if (children.length > 1) {\r\n let hasFound = false;\r\n // locate first non-comment child\r\n for (const c of children) {\r\n if (c.type !== Comment) {\r\n if ((process.env.NODE_ENV !== 'production') && hasFound) {\r\n // warn more than one non-comment child\r\n warn(' can only be used on a single element or component. ' +\r\n 'Use for lists.');\r\n break;\r\n }\r\n child = c;\r\n hasFound = true;\r\n if (!(process.env.NODE_ENV !== 'production'))\r\n break;\r\n }\r\n }\r\n }\r\n // there's no need to track reactivity for these props so use the raw\r\n // props for a bit better perf\r\n const rawProps = toRaw(props);\r\n const { mode } = rawProps;\r\n // check mode\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n mode &&\r\n mode !== 'in-out' &&\r\n mode !== 'out-in' &&\r\n mode !== 'default') {\r\n warn(`invalid mode: ${mode}`);\r\n }\r\n if (state.isLeaving) {\r\n return emptyPlaceholder(child);\r\n }\r\n // in the case of , we need to\r\n // compare the type of the kept-alive children.\r\n const innerChild = getKeepAliveChild(child);\r\n if (!innerChild) {\r\n return emptyPlaceholder(child);\r\n }\r\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\r\n setTransitionHooks(innerChild, enterHooks);\r\n const oldChild = instance.subTree;\r\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\r\n let transitionKeyChanged = false;\r\n const { getTransitionKey } = innerChild.type;\r\n if (getTransitionKey) {\r\n const key = getTransitionKey();\r\n if (prevTransitionKey === undefined) {\r\n prevTransitionKey = key;\r\n }\r\n else if (key !== prevTransitionKey) {\r\n prevTransitionKey = key;\r\n transitionKeyChanged = true;\r\n }\r\n }\r\n // handle mode\r\n if (oldInnerChild &&\r\n oldInnerChild.type !== Comment &&\r\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\r\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\r\n // update old tree's hooks in case of dynamic transition\r\n setTransitionHooks(oldInnerChild, leavingHooks);\r\n // switching between different views\r\n if (mode === 'out-in') {\r\n state.isLeaving = true;\r\n // return placeholder node and queue update when leave finishes\r\n leavingHooks.afterLeave = () => {\r\n state.isLeaving = false;\r\n instance.update();\r\n };\r\n return emptyPlaceholder(child);\r\n }\r\n else if (mode === 'in-out' && innerChild.type !== Comment) {\r\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\r\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\r\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\r\n // early removal callback\r\n el._leaveCb = () => {\r\n earlyRemove();\r\n el._leaveCb = undefined;\r\n delete enterHooks.delayedLeave;\r\n };\r\n enterHooks.delayedLeave = delayedLeave;\r\n };\r\n }\r\n }\r\n return child;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst BaseTransition = BaseTransitionImpl;\r\nfunction getLeavingNodesForType(state, vnode) {\r\n const { leavingVNodes } = state;\r\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\r\n if (!leavingVNodesCache) {\r\n leavingVNodesCache = Object.create(null);\r\n leavingVNodes.set(vnode.type, leavingVNodesCache);\r\n }\r\n return leavingVNodesCache;\r\n}\r\n// The transition hooks are attached to the vnode as vnode.transition\r\n// and will be called at appropriate timing in the renderer.\r\nfunction resolveTransitionHooks(vnode, props, state, instance) {\r\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\r\n const key = String(vnode.key);\r\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\r\n const callHook = (hook, args) => {\r\n hook &&\r\n callWithAsyncErrorHandling(hook, instance, 9 /* TRANSITION_HOOK */, args);\r\n };\r\n const callAsyncHook = (hook, args) => {\r\n const done = args[1];\r\n callHook(hook, args);\r\n if (isArray(hook)) {\r\n if (hook.every(hook => hook.length <= 1))\r\n done();\r\n }\r\n else if (hook.length <= 1) {\r\n done();\r\n }\r\n };\r\n const hooks = {\r\n mode,\r\n persisted,\r\n beforeEnter(el) {\r\n let hook = onBeforeEnter;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onBeforeAppear || onBeforeEnter;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n // for same element (v-show)\r\n if (el._leaveCb) {\r\n el._leaveCb(true /* cancelled */);\r\n }\r\n // for toggled element with same key (v-if)\r\n const leavingVNode = leavingVNodesCache[key];\r\n if (leavingVNode &&\r\n isSameVNodeType(vnode, leavingVNode) &&\r\n leavingVNode.el._leaveCb) {\r\n // force early removal (not cancelled)\r\n leavingVNode.el._leaveCb();\r\n }\r\n callHook(hook, [el]);\r\n },\r\n enter(el) {\r\n let hook = onEnter;\r\n let afterHook = onAfterEnter;\r\n let cancelHook = onEnterCancelled;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onAppear || onEnter;\r\n afterHook = onAfterAppear || onAfterEnter;\r\n cancelHook = onAppearCancelled || onEnterCancelled;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let called = false;\r\n const done = (el._enterCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n if (cancelled) {\r\n callHook(cancelHook, [el]);\r\n }\r\n else {\r\n callHook(afterHook, [el]);\r\n }\r\n if (hooks.delayedLeave) {\r\n hooks.delayedLeave();\r\n }\r\n el._enterCb = undefined;\r\n });\r\n if (hook) {\r\n callAsyncHook(hook, [el, done]);\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n leave(el, remove) {\r\n const key = String(vnode.key);\r\n if (el._enterCb) {\r\n el._enterCb(true /* cancelled */);\r\n }\r\n if (state.isUnmounting) {\r\n return remove();\r\n }\r\n callHook(onBeforeLeave, [el]);\r\n let called = false;\r\n const done = (el._leaveCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n remove();\r\n if (cancelled) {\r\n callHook(onLeaveCancelled, [el]);\r\n }\r\n else {\r\n callHook(onAfterLeave, [el]);\r\n }\r\n el._leaveCb = undefined;\r\n if (leavingVNodesCache[key] === vnode) {\r\n delete leavingVNodesCache[key];\r\n }\r\n });\r\n leavingVNodesCache[key] = vnode;\r\n if (onLeave) {\r\n callAsyncHook(onLeave, [el, done]);\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n clone(vnode) {\r\n return resolveTransitionHooks(vnode, props, state, instance);\r\n }\r\n };\r\n return hooks;\r\n}\r\n// the placeholder really only handles one special case: KeepAlive\r\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\r\n// placeholder with empty content to avoid the KeepAlive instance from being\r\n// unmounted.\r\nfunction emptyPlaceholder(vnode) {\r\n if (isKeepAlive(vnode)) {\r\n vnode = cloneVNode(vnode);\r\n vnode.children = null;\r\n return vnode;\r\n }\r\n}\r\nfunction getKeepAliveChild(vnode) {\r\n return isKeepAlive(vnode)\r\n ? vnode.children\r\n ? vnode.children[0]\r\n : undefined\r\n : vnode;\r\n}\r\nfunction setTransitionHooks(vnode, hooks) {\r\n if (vnode.shapeFlag & 6 /* COMPONENT */ && vnode.component) {\r\n setTransitionHooks(vnode.component.subTree, hooks);\r\n }\r\n else if (vnode.shapeFlag & 128 /* SUSPENSE */) {\r\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\r\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\r\n }\r\n else {\r\n vnode.transition = hooks;\r\n }\r\n}\r\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\r\n let ret = [];\r\n let keyedFragmentCount = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n let child = children[i];\r\n // #5360 inherit parent key in case of \n\n\n\n\n","import { render } from \"./App.vue?vue&type=template&id=c114d7a2\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=c114d7a2&lang=scss\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","\n\n\n\n\n\n","/**\n * 发送后端请求\n * @param type 请求资源URL\n * @param data 保存数据\n * @returns {Promise}\n */\nfunction http(type, data) {\n let formatUrl;\n if (localStorage.getItem(\"url\") === null) {\n formatUrl = \"http://\" + location.host + \"/\" + type;\n } else {\n formatUrl = \"http://\" + localStorage.getItem(\"url\") + \"/\" + type;\n }\n console.log(formatUrl);\n switch (type) {\n case \"getBookSources\":\n return Get(formatUrl);\n case \"saveBookSources\":\n return Post(formatUrl, data);\n case \"deleteBookSources\":\n return Post(formatUrl, data);\n }\n}\n\nexport { http };\n\n/**\n * POST请求\n * @param url\n * @param body\n * @returns {Promise}\n * @constructor\n */\nfunction Post(url, body) {\n return fetch(url, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }).then((res) => res.json());\n}\n\n/**\n * GET请求\n * @param url\n * @returns {Promise}\n * @constructor\n */\nfunction Get(url) {\n return fetch(url).then((res) => res.json());\n}\n","import { createStore } from \"vuex\";\nimport source_json from \"@/utils/bookSource.json\";\n\nexport default createStore({\n state: {\n // url: localStorage.getItem(\"url\") || \"\",\n bookSource: [], // 临时存放所有书源\n bookItemContent: source_json, // 当前点击的书源项\n currentTab: localStorage.getItem(\"tabName\") || \"editTab\",\n editTabSourceInfo: {},\n deBugMsg: \"\",\n searchKey: \"\",\n },\n getters: {},\n mutations: {\n changeSearchKey(state, key) {\n state.searchKey = key;\n },\n\n changeSource(state, data) {\n state.bookSource = data;\n },\n changeBookSource(state, data) {\n state.bookSource = data;\n },\n // editList Click\n changeBookItemContent(state, content) {\n const newContent = JSON.stringify(content);\n state.bookItemContent = JSON.parse(newContent);\n // console.log(content);\n },\n // edit Content\n changeBookItemNewContent(state, newContent) {\n if (newContent.type.includes(\"_\")) {\n let rule1 = newContent.type.split(\"_\")[0];\n let rule2 = newContent.type.split(\"_\")[1];\n state.bookItemContent[rule1][rule2] = newContent.value;\n // console.log(rule1, rule2, state.bookItemContent);\n // console.log(newContent);\n } else {\n state.bookItemContent[newContent.type] = newContent.value;\n // edit last time\n state.bookItemContent.lastUpdateTime = new Date().getTime();\n }\n // console.log(state.bookItemContent);\n },\n // update editTab tabName and editTab info\n changeTabName(state, tabName) {\n state.currentTab = tabName;\n localStorage.setItem(\"tabName\", tabName);\n\n console.log(tabName);\n },\n changeEidtTabSourceInfo(state) {\n // edit last time\n for (const sourceJsonKey in source_json) {\n state.editTabSourceInfo[sourceJsonKey] = source_json[sourceJsonKey];\n }\n for (const bookItemContentKey in state.bookItemContent) {\n state.editTabSourceInfo[bookItemContentKey] =\n state.bookItemContent[bookItemContentKey];\n }\n },\n editHistory(state, history) {\n let historyObj;\n if (localStorage.getItem(\"history\")) {\n historyObj = JSON.parse(localStorage.getItem(\"history\"));\n historyObj.new.push(history);\n if (historyObj.new.length > 50) {\n historyObj.new.shift();\n }\n if (historyObj.old.length > 50) {\n historyObj.old.shift();\n }\n localStorage.setItem(\"history\", JSON.stringify(historyObj));\n } else {\n const arr = { new: [history], old: [] };\n localStorage.setItem(\"history\", JSON.stringify(arr));\n }\n },\n editHistoryUndo(state) {\n if (localStorage.getItem(\"history\")) {\n let historyObj = JSON.parse(localStorage.getItem(\"history\"));\n historyObj.old.push(state.bookItemContent);\n if (historyObj.new.length) {\n state.bookItemContent = historyObj.new.pop();\n }\n localStorage.setItem(\"history\", JSON.stringify(historyObj));\n }\n },\n clearAllHistory() {\n localStorage.setItem(\"history\", JSON.stringify({ new: [], old: [] }));\n },\n clearEdit(state) {\n state.editTabSourceInfo = {};\n state.bookItemContent = { ...source_json };\n // console.log(source_json);\n // console.log(state.bookItemContent);\n },\n changeDeBugMsg(state, msg) {\n let el = document.querySelector(\"#debug_text\");\n el.scrollTop = el.scrollHeight;\n state.deBugMsg = state.deBugMsg + msg + \"\\n\";\n },\n deBugMsgClear(state) {\n state.deBugMsg = \"\";\n },\n\n // clear all source\n clearAllSource(state) {\n state.bookSource = [];\n console.log(\"clear all source \");\n },\n },\n actions: {},\n modules: {},\n});\n","\n\n\n\n\n","import { render } from \"./editLoading.vue?vue&type=template&id=ab8a8a34&scoped=true\"\nimport script from \"./editLoading.vue?vue&type=script&lang=js\"\nexport * from \"./editLoading.vue?vue&type=script&lang=js\"\n\nimport \"./editLoading.vue?vue&type=style&index=0&id=ab8a8a34&scoped=true&lang=css\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ab8a8a34\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editWarn.vue?vue&type=template&id=27eae50d&scoped=true\"\nimport script from \"./editWarn.vue?vue&type=script&lang=js\"\nexport * from \"./editWarn.vue?vue&type=script&lang=js\"\n\nimport \"./editWarn.vue?vue&type=style&index=0&id=27eae50d&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-27eae50d\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editSuccess.vue?vue&type=template&id=bef92f74&scoped=true\"\nimport script from \"./editSuccess.vue?vue&type=script&lang=js\"\nexport * from \"./editSuccess.vue?vue&type=script&lang=js\"\n\nimport \"./editSuccess.vue?vue&type=style&index=0&id=bef92f74&scoped=true&lang=css\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-bef92f74\"]])\n\nexport default __exports__","import { render } from \"./editMenu.vue?vue&type=template&id=8302f478&scoped=true\"\nimport script from \"./editMenu.vue?vue&type=script&lang=js\"\nexport * from \"./editMenu.vue?vue&type=script&lang=js\"\n\nimport \"./editMenu.vue?vue&type=style&index=0&id=8302f478&lang=css\"\nimport \"./editMenu.vue?vue&type=style&index=1&id=8302f478&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-8302f478\"]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n","import { render } from \"./editTab.vue?vue&type=template&id=4301c68c&scoped=true\"\nimport script from \"./editTab.vue?vue&type=script&lang=js\"\nexport * from \"./editTab.vue?vue&type=script&lang=js\"\n\nimport \"./editTab.vue?vue&type=style&index=0&id=4301c68c&scoped=true&lang=css\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4301c68c\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editDebug.vue?vue&type=template&id=f11ea0d0&scoped=true\"\nimport script from \"./editDebug.vue?vue&type=script&lang=js\"\nexport * from \"./editDebug.vue?vue&type=script&lang=js\"\n\nimport \"./editDebug.vue?vue&type=style&index=0&id=f11ea0d0&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f11ea0d0\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editList.vue?vue&type=template&id=260cb454&scoped=true\"\nimport script from \"./editList.vue?vue&type=script&lang=js\"\nexport * from \"./editList.vue?vue&type=script&lang=js\"\n\nimport \"./editList.vue?vue&type=style&index=0&id=260cb454&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-260cb454\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editHelp.vue?vue&type=template&id=c4c82b2c&scoped=true\"\nimport script from \"./editHelp.vue?vue&type=script&lang=js\"\nexport * from \"./editHelp.vue?vue&type=script&lang=js\"\n\nimport \"./editHelp.vue?vue&type=style&index=0&id=c4c82b2c&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c4c82b2c\"]])\n\nexport default __exports__","import { render } from \"./editOut.vue?vue&type=template&id=31814839\"\nimport script from \"./editOut.vue?vue&type=script&lang=js\"\nexport * from \"./editOut.vue?vue&type=script&lang=js\"\n\nimport \"./editOut.vue?vue&type=style&index=0&id=31814839&lang=scss\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./bookSource.vue?vue&type=template&id=de4729c0&scoped=true\"\nimport script from \"./bookSource.vue?vue&type=script&lang=js\"\nexport * from \"./bookSource.vue?vue&type=script&lang=js\"\n\nimport \"./bookSource.vue?vue&type=style&index=0&id=de4729c0&lang=scss\"\nimport \"./bookSource.vue?vue&type=style&index=1&id=de4729c0&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-de4729c0\"]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./editInput.vue?vue&type=template&id=3974490a&scoped=true\"\nimport script from \"./editInput.vue?vue&type=script&lang=js\"\nexport * from \"./editInput.vue?vue&type=script&lang=js\"\n\nimport \"./editInput.vue?vue&type=style&index=0&id=3974490a&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3974490a\"]])\n\nexport default __exports__","export default {\n base: [\n {\n title: \"源域名\",\n rows: 1,\n id: \"bookSourceUrl\",\n hint: \"<必填>通常填写网站主页,例: https://www.qidian.com\",\n },\n {\n title: \"源类型\",\n rows: 1,\n id: \"bookSourceType\",\n hint: \"<必填>0:文本 1:音频 2:图片 3:文件(只提供下载的网站)\",\n },\n {\n title: \"源名称\",\n rows: 1,\n id: \"bookSourceName\",\n hint: \"<必填>会显示在源列表\",\n },\n {\n title: \"源分组\",\n rows: 1,\n id: \"bookSourceGroup\",\n hint: \"<选填>描述源的特征信息\",\n },\n {\n title: \"源注释\",\n rows: 1,\n id: \"bookSourceComment\",\n hint: \"<选填>描述源作者和状态\",\n },\n {\n title: \"登录地址\",\n rows: 1,\n id: \"loginUrl\",\n hint: \"<选填>填写网站登录网址,仅在需要登录的源有用\",\n },\n {\n title: \"登录界面\",\n rows: 3,\n id: \"loginUi\",\n hint: \"<选填>自定义登录界面\",\n },\n {\n title: \"登录检测\",\n rows: 3,\n id: \"loginCheckJs\",\n hint: \"<选填>登录检测js\",\n },\n {\n title: \"并发率\",\n rows: 1,\n id: \"concurrentRate\",\n hint: \"<选填>并发率\",\n },\n {\n title: \"请求头\",\n rows: 3,\n id: \"header\",\n hint: \"<选填>客户端标识\",\n },\n {\n title: \"链接验证\",\n rows: 1,\n id: \"bookUrlPattern\",\n hint: \"<选填>当详情页URL与源URL的域名不一致时有效,用于添加网址\",\n },\n ],\n search: [\n {\n title: \"搜索地址\",\n rows: 1,\n id: \"searchUrl\",\n hint: \"[域名可省略]/search.php@kw={{key}}\",\n },\n {\n title: \"校验文字\",\n rows: 1,\n id: \"ruleSearch_checkKeyWord\",\n hint: \"校验关键字\",\n },\n {\n title: \"列表规则\",\n rows: 1,\n id: \"ruleSearch_bookList\",\n hint: \"选择书籍节点 (规则结果为List)\",\n },\n {\n title: \"书名规则\",\n rows: 1,\n id: \"ruleSearch_name\",\n hint: \"选择节点书名 (规则结果为String)\",\n },\n {\n title: \"作者规则\",\n rows: 1,\n id: \"ruleSearch_author\",\n hint: \"选择节点作者 (规则结果为String)\",\n },\n {\n title: \"分类规则\",\n rows: 1,\n id: \"ruleSearch_kind\",\n hint: \"选择节点分类信息 (规则结果为String)\",\n },\n {\n title: \"字数规则\",\n rows: 1,\n id: \"ruleSearch_wordCount\",\n hint: \"选择节点字数信息 (规则结果为String)\",\n },\n {\n title: \"最新章节\",\n rows: 1,\n id: \"ruleSearch_lastChapter\",\n hint: \"选择节点最新章节 (规则结果为String)\",\n },\n {\n title: \"简介规则\",\n rows: 1,\n id: \"ruleSearch_intro\",\n hint: \"选择节点书籍简介 (规则结果为String)\",\n },\n {\n title: \"封面规则\",\n rows: 1,\n id: \"ruleSearch_coverUrl\",\n hint: \"选择节点书籍封面 (规则结果为String类型的url)\",\n },\n {\n title: \"详情地址\",\n rows: 1,\n id: \"ruleSearch_bookUrl\",\n hint: \"选择书籍详情页网址 (规则结果为String类型的url)\",\n },\n ],\n find: [\n {\n title: \"发现地址\",\n rows: 6,\n id: \"exploreUrl\",\n hint: \"内容能显示在发现菜单\\n每行一条发现分类(网址域名可省略),例:\\n名称1::网址(Url)1\\n名称2::网址(Url)2\\n...\",\n },\n {\n title: \"列表规则\",\n rows: 1,\n id: \"ruleExplore_bookList\",\n hint: \"选择书籍节点 (规则结果为List)\",\n },\n {\n title: \"书名规则\",\n rows: 1,\n id: \"ruleExplore_name\",\n hint: \"选择节点书名 (规则结果为String)\",\n },\n {\n title: \"作者规则\",\n rows: 1,\n id: \"ruleExplore_author\",\n hint: \"选择节点作者 (规则结果为String)\",\n },\n {\n title: \"分类规则\",\n rows: 1,\n id: \"ruleExplore_kind\",\n hint: \"选择节点分类信息 (规则结果为String)\",\n },\n {\n title: \"字数规则\",\n rows: 1,\n id: \"ruleExplore_wordCount\",\n hint: \"选择节点字数信息 (规则结果为String)\",\n },\n {\n title: \"最新章节\",\n rows: 1,\n id: \"ruleExplore_lastChapter\",\n hint: \"选择节点最新章节 (规则结果为String)\",\n },\n {\n title: \"简介规则\",\n rows: 1,\n id: \"ruleExplore_intro\",\n hint: \"选择节点书籍简介 (规则结果为String)\",\n },\n {\n title: \"封面规则\",\n rows: 1,\n id: \"ruleExplore_coverUrl\",\n hint: \"选择节点书籍封面 (规则结果为String类型的url)\",\n },\n {\n title: \"详情地址\",\n rows: 1,\n id: \"ruleExplore_bookUrl\",\n hint: \"选择书籍详情页网址 (规则结果为String类型的url)\",\n },\n ],\n detail: [\n {\n title: \"预处理\",\n rows: 3,\n id: \"ruleBookInfo_init\",\n hint: \"用于加速详情信息检索,只支持AllInOne规则\",\n },\n {\n title: \"书名规则\",\n rows: 1,\n id: \"ruleBookInfo_name\",\n hint: \"选择节点书名 (规则结果为String)\",\n },\n {\n title: \"作者规则\",\n rows: 1,\n id: \"ruleBookInfo_author\",\n hint: \"选择节点作者 (规则结果为String)\",\n },\n {\n title: \"分类规则\",\n rows: 1,\n id: \"ruleBookInfo_kind\",\n hint: \"选择节点分类信息 (规则结果为String)\",\n },\n {\n title: \"字数规则\",\n rows: 1,\n id: \"ruleBookInfo_wordCount\",\n hint: \"选择节点字数信息 (规则结果为String)\",\n },\n {\n title: \"最新章节\",\n rows: 1,\n id: \"ruleBookInfo_lastChapter\",\n hint: \"选择节点最新章节 (规则结果为String)\",\n },\n {\n title: \"简介规则\",\n rows: 1,\n id: \"ruleBookInfo_intro\",\n hint: \"选择节点书籍简介 (规则结果为String)\",\n },\n {\n title: \"封面规则\",\n rows: 1,\n id: \"ruleBookInfo_coverUrl\",\n hint: \"选择节点书籍封面 (规则结果为String类型的url)\",\n },\n {\n title: \"目录地址\",\n rows: 1,\n id: \"ruleBookInfo_tocUrl\",\n hint: \"选择书籍详情页网址 (规则结果为String类型的url, 与详情页相同时可省略)\",\n },\n ],\n directory: [\n {\n title: \"列表规则\",\n rows: 3,\n id: \"ruleToc_chapterList\",\n hint: \"选择目录列表的章节节点 (规则结果为List)\",\n },\n {\n title: \"章节名称\",\n rows: 1,\n id: \"ruleToc_chapterName\",\n hint: \"选择章节名称 (规则结果为String)\",\n },\n {\n title: \"章节地址\",\n rows: 1,\n id: \"ruleToc_chapterUrl\",\n hint: \"选择章节链接 (规则结果为String类型的Url)\",\n },\n {\n title: \"卷名标识\",\n rows: 1,\n id: \"ruleToc_isVolume\",\n hint: \"章节名称是否是卷名 (规则结果为Bool)\",\n },\n {\n title: \"收费标识\",\n rows: 1,\n id: \"ruleToc_isVip\",\n hint: \"章节是否为VIP章节 (规则结果为Bool)\",\n },\n {\n title: \"购买标识\",\n rows: 1,\n id: \"ruleToc_isPay\",\n hint: \"章节是否为已购买 (规则结果为Bool)\",\n },\n {\n title: \"章节信息\",\n rows: 1,\n id: \"ruleToc_updateTime\",\n hint: \"选择章节信息 (规则结果为String)\",\n },\n {\n title: \"翻页规则\",\n rows: 1,\n id: \"ruleToc_nextTocUrl\",\n hint: \"选择目录下一页链接 (规则结果为List或String)\",\n },\n ],\n content: [\n {\n title: \"脚本注入\",\n rows: 3,\n id: \"ruleContent_webJs\",\n hint: \"注入javascript,用于模拟鼠标点击等,必须有返回值,一般为String类型\",\n },\n {\n title: \"正文规则\",\n rows: 1,\n id: \"ruleContent_content\",\n hint: \"选择正文内容 (规则结果为String)\",\n },\n {\n title: \"翻页规则\",\n rows: 1,\n id: \"ruleContent_nextContentUrl\",\n hint: \"选择下一分页(不是下一章)链接 (规则结果为String类型的Url)\",\n },\n {\n title: \"资源正则\",\n rows: 1,\n id: \"ruleContent_sourceRegex\",\n hint: \"匹配资源的url特征,用于嗅探\",\n },\n {\n title: \"替换规则\",\n rows: 1,\n id: \"ruleContent_replaceRegex\",\n hint: \"多页内容合并后替换,用于正文净化\",\n },\n {\n title: \"图片样式\",\n rows: 1,\n id: \"ruleContent_imageStyle\",\n hint: \"FULL:铺满 不填:默认样式\",\n },\n {\n title: \"购买操作\",\n rows: 1,\n id: \"ruleContent_payAction\",\n hint: \"购买章节 返回链接或js\",\n },\n ],\n other: [\n {\n title: \"启用搜索\",\n rows: 1,\n id: \"enabled\",\n hint: \"启用: true 关闭: false (可选,默认true)\",\n },\n {\n title: \"启用发现\",\n rows: 1,\n id: \"enabledExplore\",\n hint: \"启用: true 关闭: false (可选,默认true)\",\n },\n {\n title: \"搜索权重\",\n rows: 1,\n id: \"weight\",\n hint: \"整数: 0~N (可选,默认0) | 数字越大越靠前\",\n },\n {\n title: \"排序编号\",\n rows: 1,\n id: \"customOrder\",\n hint: \"整数: 0~N (可选,默认0) | 数字越小越靠前\",\n },\n ],\n};\n","import { render } from \"./bookBase.vue?vue&type=template&id=62934290\"\nimport script from \"./bookBase.vue?vue&type=script&lang=js\"\nexport * from \"./bookBase.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { reactive, toRefs, watchEffect } from \"vue\";\nimport store from \"@/store\";\n\nexport default function () {\n const data = reactive({\n bookContent: store.state.bookItemContent,\n });\n const upData = (newContent) => {\n // console.log(newContent);\n store.commit(\"changeBookItemNewContent\", newContent);\n };\n const setContent = (elId) => {\n try {\n if (elId.includes(\"_\")) {\n let rule1 = elId.split(\"_\")[0];\n let rule2 = elId.split(\"_\")[1];\n return data.bookContent[rule1][rule2];\n } else {\n return data.bookContent[elId];\n }\n } catch (e) {\n console.log(\"导入错误\", e.TypeError);\n store.commit(\"clearEdit\");\n }\n };\n\n watchEffect(() => {\n data.bookContent = store.state.bookItemContent;\n });\n return {\n ...toRefs(data),\n upData,\n setContent,\n };\n}\n","import { render } from \"./bookSearch.vue?vue&type=template&id=2d21a82c\"\nimport script from \"./bookSearch.vue?vue&type=script&lang=js\"\nexport * from \"./bookSearch.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./bookDirectory.vue?vue&type=template&id=d341382e\"\nimport script from \"./bookDirectory.vue?vue&type=script&lang=js\"\nexport * from \"./bookDirectory.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./bookContent.vue?vue&type=template&id=93f5f75e\"\nimport script from \"./bookContent.vue?vue&type=script&lang=js\"\nexport * from \"./bookContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./bookDetail.vue?vue&type=template&id=48657fe9\"\nimport script from \"./bookDetail.vue?vue&type=script&lang=js\"\nexport * from \"./bookDetail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./bookOther.vue?vue&type=template&id=0e205a98\"\nimport script from \"./bookOther.vue?vue&type=script&lang=js\"\nexport * from \"./bookOther.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./bookFind.vue?vue&type=template&id=4eb0e864\"\nimport script from \"./bookFind.vue?vue&type=script&lang=js\"\nexport * from \"./bookFind.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createRouter, createWebHashHistory } from \"vue-router\";\n\nimport bookSource from \"@/views/bookSource\";\nimport bookBase from \"@/views/bookBase\";\nimport bookSearch from \"@/views/bookSearch\";\nimport bookDirectory from \"@/views/bookDirectory\";\nimport bookContent from \"@/views/bookContent\";\nimport bookDetail from \"@/views/bookDetail\";\nimport bookOther from \"@/views/bookOther\";\nimport bookFind from \"@/views/bookFind\";\n\nconst routes = [\n {\n path: \"/\",\n redirect: { name: \"home\" },\n },\n {\n path: \"/bookSource\",\n name: \"home\",\n component: bookSource,\n redirect: { name: \"base\" },\n children: [\n {\n path: \"/bookSource/base\",\n name: \"base\",\n component: bookBase,\n },\n {\n path: \"/bookSource/search\",\n name: \"search\",\n component: bookSearch,\n },\n {\n path: \"/bookSource/find\",\n name: \"find\",\n component: bookFind,\n },\n {\n path: \"/bookSource/detail\",\n name: \"detail\",\n component: bookDetail,\n },\n {\n path: \"/bookSource/directory\",\n name: \"directory\",\n component: bookDirectory,\n },\n {\n path: \"/bookSource/content\",\n name: \"content\",\n component: bookContent,\n },\n {\n path: \"/bookSource/other\",\n name: \"other\",\n component: bookOther,\n },\n {\n path: \"/bookSource/:asdasdasd/:asdasdas\",\n redirect: { name: \"home\" },\n },\n ],\n },\n {\n path: \"/:asdasdasd\",\n redirect: { name: \"home\" },\n },\n {\n path: \"/bookSource/:asdasdasda\",\n redirect: { name: \"home\" },\n },\n];\n\nconst router = createRouter({\n // history: createWebHistory(process.env.BASE_URL),\n history: createWebHashHistory(),\n routes,\n});\n\nexport default router;\n","import { createApp } from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport store from \"./store\";\n\ncreateApp(App).use(store).use(router).mount(\"#app\");\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunklegado_web_editor\"] = self[\"webpackChunklegado_web_editor\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(800); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["class","_createElementBlock","_createVNode","_component_router_view","setup","__exports__","render","_createElementVNode","href","_hoisted_2","_component_router_link","to","name","custom","navigate","isActive","onClick","active","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","Component","_createBlock","_KeepAlive","_resolveDynamicComponent","_component_edit_menu","_component_edit_out","_hoisted_12","_hoisted_15","_hoisted_18","_hoisted_21","_hoisted_24","$setup","_component_edit_loading","key","_component_edit_warn","text","onChangeShow","_component_edit_success","isShow","title","http","type","data","formatUrl","localStorage","getItem","location","host","console","log","Get","Post","url","body","fetch","method","headers","JSON","stringify","then","res","json","createStore","state","bookSource","bookItemContent","source_json","currentTab","editTabSourceInfo","deBugMsg","searchKey","getters","mutations","changeSearchKey","changeSource","changeBookSource","changeBookItemContent","content","newContent","parse","changeBookItemNewContent","includes","rule1","split","rule2","value","lastUpdateTime","Date","getTime","changeTabName","tabName","setItem","changeEidtTabSourceInfo","sourceJsonKey","bookItemContentKey","editHistory","history","historyObj","new","push","length","shift","old","arr","editHistoryUndo","pop","clearAllHistory","clearEdit","changeDeBugMsg","msg","el","document","querySelector","scrollTop","scrollHeight","deBugMsgClear","clearAllSource","actions","modules","$props","_toDisplayString","props","default","Boolean","String","emit","changeShow","emits","setTimeout","components","editLoading","editWarn","editSuccess","ref","warnShow","successText","successShow","warnText","bool","changeSuccessShow","pull","store","commit","catch","err","isSuccess","okData","Array","isArray","failMsg","forEach","item","find","x","bookSourceUrl","errorMsg","conver","undo","redo","saveSource","bookSourceType","bookSourceName","debug","wsUrl","replace","port","parseInt","socket","WebSocket","sKey","ruleSearch","checkKeyWord","onopen","send","onmessage","onclose","onMounted","onkeydown","e","ctrlKey","metaKey","preventDefault","shiftKey","_ctx","placeholder","$event","reactive","sourceInfo","watchEffect","Object","keys","toRefs","style","onInput","onKeydown","id","textareaDom","printDebug","changeSearch","startSearch","querySelectorAll","click","onFocus","_Fragment","_renderList","index","bookSourceGroup","bookSources","delArr","currentActive","handleItemClick","sourcesList","clearAllSources","formatTime","date","time","year","getFullYear","month","getMonth","day","getDate","hour","getHours","minute","getMinutes","seconds","getSeconds","filter","toUpperCase","deleteActiveSource","delSources","source","splice","upFile","input","createElement","accept","addEventListener","file","target","files","reader","FileReader","readAsText","onload","jsonData","result","outExport","exportFile","download","myBlob","Blob","window","URL","createObjectURL","_hoisted_1","editDebug","editTab","editList","editHelp","current_tab","handleSetActive","changInput","pullSource","editMenu","editOut","_component_edit_input","hint","rows","onChangeContent","onBlur","Number","attr","change","getAttribute","changeHistory","newHistory","idName","changeHeight","nextTick","textArea","height","offsetHeight","base","search","detail","directory","other","editInput","bookinfo","bookContent","upData","setContent","elId","TypeError","useCounter","routes","path","redirect","component","children","bookBase","bookSearch","bookFind","bookDetail","bookDirectory","bookOther","router","createRouter","createWebHashHistory","createApp","App","use","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","r","d","definition","o","defineProperty","enumerable","get","g","globalThis","this","Function","obj","prop","prototype","hasOwnProperty","call","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/app/src/main/assets/web/bookSource/js/app.386e58ec.js b/app/src/main/assets/web/bookSource/js/app.386e58ec.js deleted file mode 100644 index 738d15792..000000000 --- a/app/src/main/assets/web/bookSource/js/app.386e58ec.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(){"use strict";var t={674:function(t,e,o){var n=o(963),r=o(252);const a={class:"editor"};function i(t,e,o,n,i,l){const c=(0,r.up)("router-view");return(0,r.wg)(),(0,r.iD)("div",a,[(0,r.Wm)(c)])}var l={setup(){}},c=o(744);const s=(0,c.Z)(l,[["render",i]]);var u=s,d=o(201),h=o(577);const p=t=>((0,r.dD)("data-v-de4729c0"),t=t(),(0,r.Cn)(),t),g={class:"left"},m=p((()=>(0,r._)("div",null,[(0,r._)("a",{href:"/"},"←主页"),(0,r._)("b",null,"书源")],-1))),b=["onClick"],v=["onClick"],k=["onClick"],w=["onClick"],S=["onClick"],C=["onClick"],_=["onClick"];function f(t,e,o,n,a,i){const l=(0,r.up)("router-link"),c=(0,r.up)("router-view"),s=(0,r.up)("edit-menu"),u=(0,r.up)("edit-out");return(0,r.wg)(),(0,r.iD)(r.HY,null,[(0,r._)("div",g,[(0,r._)("div",null,[m,(0,r._)("ul",null,[(0,r.Wm)(l,{to:{name:"base"},custom:""},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 基础 ",10,b)])),_:1}),(0,r.Wm)(l,{to:{name:"search"},custom:""},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 搜索 ",10,v)])),_:1}),(0,r.Wm)(l,{to:{name:"find"},custom:""},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 发现 ",10,k)])),_:1}),(0,r.Wm)(l,{custom:"",to:{name:"detail"}},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 详情 ",10,w)])),_:1}),(0,r.Wm)(l,{custom:"",to:{name:"directory"}},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 目录 ",10,S)])),_:1}),(0,r.Wm)(l,{custom:"",to:{name:"content"}},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 正文 ",10,C)])),_:1}),(0,r.Wm)(l,{custom:"",to:{name:"other"}},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 其他 ",10,_)])),_:1})])]),(0,r.Wm)(c,null,{default:(0,r.w5)((({Component:t})=>[((0,r.wg)(),(0,r.j4)(r.Ob,null,[((0,r.wg)(),(0,r.j4)((0,r.LL)(t)))],1024))])),_:1})]),(0,r.Wm)(s),(0,r.Wm)(u)],64)}var y=o(262);const I=t=>((0,r.dD)("data-v-3fa941b0"),t=t(),(0,r.Cn)(),t),U={class:"menu"},D=(0,r.Uk)("⇈推送源 "),x=I((()=>(0,r._)("span",null,"Ctrl+P",-1))),T=[D,x],B=(0,r.Uk)("⇊拉取源 "),K=I((()=>(0,r._)("span",null,"Shift+P",-1))),A=[B,K],j=(0,r.Uk)("⋙生成源"),E=I((()=>(0,r._)("span",null,"Ctrl+E",-1))),H=[j,E],N=(0,r.Uk)(" ✗清空表单"),O=I((()=>(0,r._)("span",null,"Shift+C",-1))),L=[N,O],P=(0,r.Uk)("↶撤销操作"),J=I((()=>(0,r._)("span",null,"Ctrl+Z",-1))),Z=[P,J],q=(0,r.Uk)("↷重做操作"),W=I((()=>(0,r._)("span",null,"Shift+R",-1))),$=[q,W],M=(0,r.Uk)(" ⇏调试源 "),R=I((()=>(0,r._)("span",null,"Ctrl+Enter",-1))),Y=[M,R],z=(0,r.Uk)(" ✓保存源"),V=I((()=>(0,r._)("span",null,"Ctrl+S",-1))),F=[z,V];function G(t,e,o,n,a,i){const l=(0,r.up)("edit-loading"),c=(0,r.up)("edit-warn"),s=(0,r.up)("edit-success");return(0,r.wg)(),(0,r.iD)("div",U,[(0,r._)("div",null,[n.isShow?((0,r.wg)(),(0,r.j4)(l,{key:0})):(0,r.kq)("",!0),(0,r.Wm)(c,{text:n.warnText,"is-show":n.warnShow,onChangeShow:n.changeShow},null,8,["text","is-show","onChangeShow"]),n.successShow?((0,r.wg)(),(0,r.j4)(s,{key:1,isShow:n.successShow,onChangeShow:n.changeSuccessShow,text:n.successText},null,8,["isShow","onChangeShow","text"])):(0,r.kq)("",!0)]),(0,r._)("button",{onClick:e[0]||(e[0]=(...t)=>n.push&&n.push(...t)),title:"Ctrl+P"},T),(0,r._)("button",{onClick:e[1]||(e[1]=(...t)=>n.pull&&n.pull(...t)),title:"Shift+P"},A),(0,r._)("button",{onClick:e[2]||(e[2]=(...t)=>n.conver&&n.conver(...t)),title:"Ctrl+E"},H),(0,r._)("button",{onClick:e[3]||(e[3]=(...t)=>n.clearEdit&&n.clearEdit(...t)),title:"Shift+C"},L),(0,r._)("button",{onClick:e[4]||(e[4]=(...t)=>n.undo&&n.undo(...t)),title:"Ctrl+Z"},Z),(0,r._)("button",{onClick:e[5]||(e[5]=(...t)=>n.redo&&n.redo(...t)),title:"Shift+R"},$),(0,r._)("button",{onClick:e[6]||(e[6]=(...t)=>n.debug&&n.debug(...t)),title:"Ctrl+Enter"},Y),(0,r._)("button",{onClick:e[7]||(e[7]=(...t)=>n.saveSource&&n.saveSource(...t)),title:"Ctrl+S"},F)])}function Q(t,e){const o=`http://${localStorage.getItem("url")||""}/${t}`;switch(t){case"getBookSources":return tt(o);case"saveBookSources":return X(o,e);case"deleteBookSources":return X(o,e)}}function X(t,e){return fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then((t=>t.json()))}function tt(t){return fetch(t).then((t=>t.json()))}var et=o(907),ot=JSON.parse('{"bookSourceUrl":"","bookSourceType":"","bookSourceName":"","bookSourceGroup":"","bookSourceComment":"","loginUrl":"","loginUi":"","loginCheckJs":"","concurrentRate":"","header":"","bookUrlPattern":"","searchUrl":"","exploreUrl":"","enabled":true,"enabledExplore":true,"weight":null,"customOrder":null,"lastUpdateTime":0,"ruleSearch":{"checkKeyWord":"","bookList":"","name":"","author":"","kind":"","wordCount":"","lastChapter":"","intro":"","coverUrl":"","bookUrl":""},"ruleExplore":{"bookList":"","name":"","author":"","kind":"","wordCount":"","lastChapter":"","intro":"","coverUrl":"","bookUrl":""},"ruleBookInfo":{"init":"","name":"","author":"","kind":"","wordCount":"","lastChapter":"","intro":"","coverUrl":"","tocUrl":""},"ruleToc":{"chapterList":"","chapterName":"","chapterUrl":"","isVolume":"","isVip":"","isPay":"","updateTime":"","nextTocUrl":""},"ruleContent":{"webJs":"","content":"","nextContentUrl":"","sourceRegex":"","replaceRegex":"","imageStyle":"","payAction":""}}'),nt=(0,et.MT)({state:{url:localStorage.getItem("url")||"",bookSource:[],bookItemContent:ot,currentTab:localStorage.getItem("tabName")||"editTab",editTabSourceInfo:{},deBugMsg:"",searchKey:""},getters:{},mutations:{changeSearchKey(t,e){t.searchKey=e},changeUrl(t,e){t.url=e,localStorage.setItem("url",e)},changeSource(t,e){t.bookSource=e},changeBookSource(t,e){t.bookSource=e},changeBookItemContent(t,e){const o=JSON.stringify(e);t.bookItemContent=JSON.parse(o)},changeBookItemNewContent(t,e){if(e.type.includes("_")){let o=e.type.split("_")[0],n=e.type.split("_")[1];t.bookItemContent[o][n]=e.value}else t.bookItemContent[e.type]=e.value,t.bookItemContent.lastUpdateTime=(new Date).getTime()},changeTabName(t,e){t.currentTab=e,localStorage.setItem("tabName",e),console.log(e)},changeEidtTabSourceInfo(t){for(const e in ot)t.editTabSourceInfo[e]=ot[e];for(const e in t.bookItemContent)t.editTabSourceInfo[e]=t.bookItemContent[e]},editHistory(t,e){let o;if(localStorage.getItem("history"))o=JSON.parse(localStorage.getItem("history")),o.new.push(e),o.new.length>50&&o.new.shift(),o.old.length>50&&o.old.shift(),localStorage.setItem("history",JSON.stringify(o));else{const t={new:[e],old:[]};localStorage.setItem("history",JSON.stringify(t))}},editHistoryUndo(t){if(localStorage.getItem("history")){let e=JSON.parse(localStorage.getItem("history"));e.old.push(t.bookItemContent),e.new.length&&(t.bookItemContent=e.new.pop()),localStorage.setItem("history",JSON.stringify(e))}},clearAllHistory(){localStorage.setItem("history",JSON.stringify({new:[],old:[]}))},clearEdit(t){t.editTabSourceInfo={},t.bookItemContent={...ot}},changeDeBugMsg(t,e){let o=document.querySelector("#debug_text");o.scrollTop=o.scrollHeight,t.deBugMsg=t.deBugMsg+e+"\n"},deBugMsgClear(t){t.deBugMsg=""},clearAllSource(t){t.bookSource=[],console.log("clear all source ")}},actions:{},modules:{}});const rt=t=>((0,r.dD)("data-v-ab8a8a34"),t=t(),(0,r.Cn)(),t),at={class:"fixed"},it=rt((()=>(0,r._)("div",{class:"half-circle-spinner"},[(0,r._)("div",{class:"circle circle-1"}),(0,r._)("div",{class:"circle circle-2"})],-1))),lt=[it];function ct(t,e,o,n,a,i){return(0,r.wg)(),(0,r.iD)("div",at,lt)}var st={name:"editLoading"};const ut=(0,c.Z)(st,[["render",ct],["__scopeId","data-v-ab8a8a34"]]);var dt=ut;const ht={key:0,class:"warm"};function pt(t,e,o,n,a,i){return o.isShow?((0,r.wg)(),(0,r.iD)("div",ht,[(0,r._)("p",null,(0,h.zw)(o.text),1),(0,r._)("div",null,[(0,r._)("button",{onClick:e[0]||(e[0]=(...t)=>n.changeShow&&n.changeShow(...t))},"关闭")])])):(0,r.kq)("",!0)}var gt={name:"editWarm",props:{isShow:{default:!1,type:Boolean},text:{type:String,default:""}},setup(t,{emit:e}){const o=()=>{e("changeShow",!t.isShow)};return{changeShow:o}}};const mt=(0,c.Z)(gt,[["render",pt],["__scopeId","data-v-27eae50d"]]);var bt=mt;const vt={class:"success"};function kt(t,e,o,n,a,i){return(0,r.wg)(),(0,r.iD)("div",vt,[(0,r._)("p",null,(0,h.zw)(o.text),1)])}var wt={props:{text:{type:String,default:""},isShow:{type:Boolean,default:!1}},emits:["changeShow"],setup(t,{emit:e}){return setTimeout((()=>{e("changeShow",!t.isShow)}),3e3),{}}};const St=(0,c.Z)(wt,[["render",kt],["__scopeId","data-v-bef92f74"]]);var Ct=St,_t={components:{editLoading:dt,editWarn:bt,editSuccess:Ct},setup(){const t=(0,y.iH)(!1),e=(0,y.iH)(!1),o=(0,y.iH)(""),n=(0,y.iH)(!1),a=(0,y.iH)(""),i=t=>{e.value=t},l=t=>{console.log(t),n.value=t},c=()=>{t.value=!0,console.log(nt.state.url),Q("getBookSources").then((e=>{nt.commit("changeTabName","editList"),nt.commit("changeSource",e.data),localStorage.setItem("url",nt.state.url),t.value=!1,o.value=`成功拉取${e.data.length}条源`,n.value=!0})).catch((o=>{console.log(o),t.value=!1,a.value=" 请求发生了错误,请检查你的后端地址,填写是否正确,或者 阅读APP\n确认开启web服务",e.value=!0,nt.commit("changeUrl","")}))},s=()=>{o.value="正在推送中",n.value=!0,t.value=!0,Q("saveBookSources",nt.state.bookSource).then((r=>{if(r.isSuccess){let t=r.data;if(Array.isArray(t)){let e="";nt.state.bookSource.length>t.length&&(nt.state.bookSource.forEach((e=>{t.find((t=>t.bookSourceUrl===e.bookSourceUrl))||console.log(e.bookSourceUrl)})),e="\n推送失败的源将用红色字体标注!"),o.value=`批量推送源到「阅读3.0APP」\n共计: ${nt.state.bookSource.length} 条\n成功: ${t.length} 条\n失败: ${nt.state.bookSource.length-t.length} 条${e}`,n.value=!0}else o.value=`批量推送源到「阅读3.0APP」成功!\n共计: ${nt.state.bookSource.length} 条`,n.value=!0}else a.value=`批量推送源失败!\nErrorMsg: ${r.errorMsg}`,e.value=!0;t.value=!1})).catch((o=>{console.log(o),t.value=!1,e.value=!0,a.value="请求发生了错误,请检查你的后端地址,填写是否正确,或者 阅读APP\n确认开启web服务"}))},u=()=>{nt.commit("changeEidtTabSourceInfo"),nt.commit("changeTabName","editTab")},d=()=>{nt.commit("editHistoryUndo")},h=()=>{nt.commit("clearEdit"),console.log("已清除"),o.value="已清除",n.value=!0},p=()=>{nt.commit("clearEdit"),nt.commit("clearAllHistory"),o.value="已清除所有历史记录",n.value=!0},g=()=>{""!==nt.state.bookItemContent.bookSourceUrl&&""!==nt.state.bookItemContent.bookSourceType&&""!==nt.state.bookItemContent.bookSourceName?Q("saveBookSources",nt.state.bookItemContent).then((t=>{t.isSuccess?(o.value=`源《${nt.state.bookItemContent.bookSourceName}》已成功保存到「阅读3.0APP」`,n.value=!0):(a.value=`源《${nt.state.bookItemContent.bookSourceName}》保存失败!\nErrorMsg: ${t.errorMsg}`,e.value=!0)})):(a.value="请检查你的 源域名 源名称 源类型 <必填>项是否全部填写",e.value=!0)},m=()=>{t.value=!0,nt.commit("deBugMsgClear"),nt.commit("changeTabName","editDebug"),Q("saveBookSources",nt.state.bookItemContent).then((e=>{console.log(e);const r=new WebSocket("ws://"+nt.state.url.replace(/\d+$/,(t=>parseInt(t)+1))+"/bookSourceDebug");let a;nt.state.bookItemContent.ruleSearch.checkKeyWord?(a=nt.state.bookItemContent.ruleSearch.checkKeyWord,console.log(a,"-------- bookItemContent")):nt.state.searchKey?(a=nt.state.searchKey,console.log(a,"----------- searchKey")):(a="我的",console.log(a,"-------------- sKey")),r.onopen=()=>{r.send(`{"tag":"${nt.state.bookItemContent.bookSourceUrl}", "key":"${a}"}`)},r.onmessage=t=>{nt.commit("changeDeBugMsg",t.data)},r.onclose=()=>{t.value=!1,o.value="调试已关闭!",n.value=!0,nt.commit("changeDeBugMsg","调试已关闭!")}}))};return(0,r.bv)((()=>{document.onkeydown=t=>{(t.ctrlKey||t.metaKey)&&"Enter"===t.key&&m(),(t.ctrlKey||t.metaKey)&&"s"===t.key&&(g(),t.preventDefault()),t.shiftKey&&"R"===t.key&&p(),t.shiftKey&&"C"===t.key&&h(),t.ctrlKey&&"e"===t.key&&(u(),t.preventDefault()),t.shiftKey&&"P"===t.key&&c(),t.ctrlKey&&"p"===t.key&&(s(),t.preventDefault())}})),{debug:m,push:s,pull:c,clearEdit:h,isShow:t,changeShow:i,warnShow:e,successText:o,changeSuccessShow:l,successShow:n,undo:d,redo:p,conver:u,warnText:a,saveSource:g}}};const ft=(0,c.Z)(_t,[["render",G],["__scopeId","data-v-3fa941b0"]]);var yt=ft;const It={class:"out"};function Ut(t,e,o,n,a,i){return(0,r.wg)(),(0,r.iD)("div",It,[(0,r._)("ul",null,[(0,r._)("li",{class:(0,h.C_)("editTab"===t.current_tab?"active":""),onClick:e[0]||(e[0]=t=>n.handleSetActive("editTab"))}," 编辑源 ",2),(0,r._)("li",{class:(0,h.C_)("editDebug"===t.current_tab?"active":""),onClick:e[1]||(e[1]=t=>n.handleSetActive("editDebug"))}," 调试源 ",2),(0,r._)("li",{class:(0,h.C_)("editList"===t.current_tab?"active":""),onClick:e[2]||(e[2]=t=>n.handleSetActive("editList"))}," 源列表 ",2),(0,r._)("li",{class:(0,h.C_)("editHelp"===t.current_tab?"active":""),onClick:e[3]||(e[3]=t=>n.handleSetActive("editHelp"))}," 帮助信息 ",2)]),((0,r.wg)(),(0,r.j4)(r.Ob,null,[((0,r.wg)(),(0,r.j4)((0,r.LL)(t.current_tab)))],1024))])}function Dt(t,e,o,a,i,l){return(0,r.wy)(((0,r.wg)(),(0,r.iD)("textarea",{placeholder:"这里输出序列化的JSON数据,可直接导入'阅读'APP","onUpdate:modelValue":e[0]||(e[0]=e=>t.sourceInfo=e)},null,512)),[[n.nr,t.sourceInfo]])}var xt={name:"editTab",setup(){const t=(0,y.qj)({sourceInfo:""});return(0,r.m0)((()=>{let e=nt.state.editTabSourceInfo;Object.keys(e).length>0?(e.lastUpdateTime=(new Date).getTime(),t.sourceInfo=JSON.stringify(e,null,4)):t.sourceInfo=""})),{...(0,y.BK)(t)}}};const Tt=(0,c.Z)(xt,[["render",Dt],["__scopeId","data-v-4301c68c"]]);var Bt=Tt;function Kt(t,e,o,a,i,l){return(0,r.wg)(),(0,r.iD)(r.HY,null,[(0,r.wy)((0,r._)("input",{type:"text",style:{"text-align":"center",border:"1px solid #dddddd","border-radius":"4px"},placeholder:"输入搜索关键字,默认搜「我的」","onUpdate:modelValue":e[0]||(e[0]=e=>t.searchKey=e),onInput:e[1]||(e[1]=e=>a.changeSearch(t.searchKey)),onKeydown:e[2]||(e[2]=(0,n.D2)(((...t)=>a.startSearch&&a.startSearch(...t)),["enter"])),title:"输入关键词 enter(回车键)快捷搜索"},null,544),[[n.nr,t.searchKey]]),(0,r.wy)((0,r._)("textarea",{placeholder:"这里用于输出调试信息","onUpdate:modelValue":e[3]||(e[3]=e=>t.printDebug=e),ref:"textareaDom",id:"debug_text"},null,512),[[n.nr,t.printDebug]])],64)}var At={name:"editDebug",setup(){const t=(0,y.iH)(""),e=(0,y.qj)({printDebug:nt.state.deBugMsg,searchKey:""}),o=t=>{nt.commit("changeSearchKey",t)};(0,r.m0)((()=>{e.printDebug=nt.state.deBugMsg}));const n=()=>{document.querySelectorAll(".menu>button")[6].click()};return{...(0,y.BK)(e),textareaDom:t,changeSearch:o,startSearch:n}}};const jt=(0,c.Z)(At,[["render",Kt],["__scopeId","data-v-f11ea0d0"]]);var Et=jt;const Ht={style:{display:"flex","flex-flow":"column"}},Nt={class:"tool"},Ot={class:"book_list"},Lt=["value"],Pt={class:"book_index"},Jt=["onClick"],Zt={class:"book_info"};function qt(t,e,o,a,i,l){return(0,r.wg)(),(0,r.iD)("div",Ht,[(0,r.wy)((0,r._)("input",{class:"search",type:"text",placeholder:"输入筛选关键词(源名称、源URL或源分组)输入自动筛选源","onUpdate:modelValue":e[0]||(e[0]=e=>t.searchKey=e),onInput:e[1]||(e[1]=e=>a.sourcesList(t.searchKey)),onFocus:e[2]||(e[2]=e=>t.delArr=[])},null,544),[[n.nr,t.searchKey]]),(0,r._)("div",null,[(0,r._)("div",Nt,[(0,r._)("button",{onClick:e[3]||(e[3]=(...t)=>a.upFile&&a.upFile(...t))},"导入书源文件"),(0,r._)("button",{onClick:e[4]||(e[4]=(...t)=>a.outExport&&a.outExport(...t))},"导出书源文件"),(0,r._)("button",{onClick:e[5]||(e[5]=(...t)=>a.deleteActiveSource&&a.deleteActiveSource(...t))},"删除选中源"),(0,r._)("button",{onClick:e[6]||(e[6]=(...t)=>a.clearAllSources&&a.clearAllSources(...t))},"清空列表")]),(0,r._)("div",Ot,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(a.sourcesList(t.searchKey),((o,i)=>((0,r.wg)(),(0,r.iD)("div",{key:o.bookSourceUrl,class:(0,h.C_)(["book_item",i===a.currentActive?"book_active":""])},[(0,r.wy)((0,r._)("input",{type:"checkbox",value:i,"onUpdate:modelValue":e[7]||(e[7]=e=>t.delArr=e)},null,8,Lt),[[n.e8,t.delArr]]),(0,r._)("div",Pt,(0,h.zw)(i+1),1),(0,r._)("div",{style:{"margin-left":"10px",flex:"1"},onClick:t=>a.handleItemClick(i)},[(0,r._)("div",Zt,[(0,r._)("span",null,(0,h.zw)(o.bookSourceName),1),(0,r._)("span",null,"最后修改:"+(0,h.zw)(a.formatTime(o.lastUpdateTime)),1),(0,r._)("span",null,"分组:"+(0,h.zw)(o.bookSourceGroup||"无分组"),1)]),(0,r._)("div",null,(0,h.zw)(o.bookSourceUrl),1)],8,Jt)],2)))),128))])])])}var Wt={name:"editList",setup(){const t=(0,y.iH)(nt.state.bookSource);let e=(0,y.qj)({searchKey:"",delArr:[]}),o=(0,y.iH)(null);const n=t=>{o.value=t,nt.commit("clearEdit"),nt.commit("changeBookItemContent",l(e.searchKey)[t])},a=()=>{nt.commit("clearAllSource")},i=t=>{const e=new Date(t),o=e.getFullYear();let n=e.getMonth()+1;n=n<10?"0"+n:n;let r=e.getDate();r=r<10?"0"+r:r;let a=e.getHours();a=a<10?"0"+a:a;let i=e.getMinutes();i=i<10?"0"+i:i;let l=e.getSeconds();return l=l<10?"0"+l:l,o+"-"+n+"-"+r+" "+a+":"+i+":"+l},l=e=>""===e?t.value:t.value.filter((t=>t.bookSourceName.toUpperCase().includes(e.toUpperCase())))||t.value.filter((t=>t.bookSourceGroup.toUpperCase().includes(e.toUpperCase())))||t.value.filter((t=>t.bookSourceUrl.toUpperCase().includes(e.toUpperCase())));(0,r.m0)((()=>{t.value=nt.state.bookSource}));const c=()=>{if(0===e.delArr.length)return console.log("没有选中的书源"),!1;const o=[],n=l(e.searchKey);e.delArr.forEach((t=>{o.push(n[t])})),Q("deleteBookSources",o).then((o=>{o.isSuccess?(console.log("删除成功"),e.delArr.forEach((t=>{n.splice(t,1),console.log(t)})),e.delArr=[],Q("getBookSources").then((e=>{t.value=e.data,console.log("同步完成!")}))):console.log("错误",o)}))},s=()=>{const t=document.createElement("input");t.type="file",t.accept=".json",t.addEventListener("change",(t=>{const e=t.target.files[0];var o=new FileReader;o.readAsText(e),o.onload=()=>{const t=JSON.parse(o.result);nt.commit("changeBookSource",t)}})),t.click()},u=()=>{const t=document.createElement("a");t.download=`BookSources${Date().replace(/.*?\s(\d+)\s(\d+)\s(\d+:\d+:\d+).*/,"$2$1$3").replace(/:/g,"")}.json`;let e=new Blob([JSON.stringify(nt.state.bookSource,null,4)],{type:"application/json"});t.href=window.URL.createObjectURL(e),t.click()};return{currentActive:o,deleteActiveSource:c,handleItemClick:n,...(0,y.BK)(e),formatTime:i,sourcesList:l,clearAllSources:a,bookSources:t,upFile:s,outExport:u}}};const $t=(0,c.Z)(Wt,[["render",qt],["__scopeId","data-v-253b4dc8"]]);var Mt=$t;const Rt=(0,r.uE)('书源制作教程xpath基础教程xpath高级教程正则表达式教程正则表达式在线验证工具
^$()[]{}.?+*| 这些是Java正则特殊符号,匹配需转义
(?s) 前缀表示跨行解析
(?m) 前缀表示逐行匹配
(?i) 前缀表示忽略大小写
',6);function Yt(t,e,o,n,r,a){return Rt}var zt={name:"editHelp"};const Vt=(0,c.Z)(zt,[["render",Yt],["__scopeId","data-v-c4c82b2c"]]);var Ft=Vt,Gt={name:"editOut",components:{editDebug:Et,editTab:Bt,editList:Mt,editHelp:Ft},setup(){const t=(0,y.qj)({url:localStorage.getItem("url")||"",current_tab:nt.state.currentTab||"editTab"}),e=t=>{nt.commit("changeTabName",t),localStorage.setItem("tabName",t)},o=t=>{nt.commit("changeUrl",t)};(0,r.m0)((()=>{t.current_tab=nt.state.currentTab}));const n=()=>{document.querySelectorAll(".menu>button")[1].click()};return{...(0,y.BK)(t),handleSetActive:e,changInput:o,pullSource:n}}};const Qt=(0,c.Z)(Gt,[["render",Ut]]);var Xt=Qt,te={components:{editMenu:yt,editOut:Xt},setup(){const t=(0,y.qj)({});return(0,r.bv)((()=>{})),{...(0,y.BK)(t)}}};const ee=(0,c.Z)(te,[["render",f],["__scopeId","data-v-de4729c0"]]);var oe=ee;const ne={class:"main"};function re(t,e,o,n,a,i){const l=(0,r.up)("edit-input");return(0,r.wg)(),(0,r.iD)("div",ne,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((e,o)=>((0,r.wg)(),(0,r.j4)(l,{key:o,type:e.id,hint:e.hint,title:e.title,rows:e.rows,content:t.bookContent[e.id],onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))])}const ae=t=>((0,r.dD)("data-v-3974490a"),t=t(),(0,r.Cn)(),t),ie={class:"edit_input"},le=ae((()=>(0,r._)("i",null,":",-1))),ce=["id","placeholder","rows","value"];function se(t,e,o,n,a,i){return(0,r.wg)(),(0,r.iD)("div",ie,[(0,r._)("span",null,[(0,r.Uk)((0,h.zw)(o.title),1),le]),(0,r._)("textarea",{id:o.type,placeholder:o.hint,rows:o.rows,value:o.content,ref:"attr",onInput:e[0]||(e[0]=(...t)=>n.change&&n.change(...t)),onBlur:e[1]||(e[1]=(...t)=>n.changeHistory&&n.changeHistory(...t)),onFocus:e[2]||(e[2]=(...t)=>n.changeHeight&&n.changeHeight(...t))},null,40,ce)])}var ue={props:{title:{type:String,default:""},rows:{type:Number,default:1},hint:{type:String,default:""},type:{type:String,default:""},content:{type:[String,Number,Boolean],default:""}},emits:["changeContent"],setup(t,{emit:e}){const o=(0,y.iH)(""),n=()=>{e("changeContent",{value:o.value.value,type:o.value.getAttribute("id")})},a=()=>{localStorage.getItem("history")||localStorage.setItem("history",JSON.stringify({new:[],old:[]}));const t=JSON.parse(localStorage.getItem("history")),e=t.new;if(e.length)if(e[e.length-1][o.value.getAttribute("id")]!==nt.state.bookItemContent[o.value.getAttribute("id")])nt.commit("editHistory",nt.state.bookItemContent);else{const t=o.value.getAttribute("id");if(t.includes("_")){let o=t.split("_")[0],n=t.split("_")[1];e[e.length-1][o][n]!==nt.state.bookItemContent[o][n]&&(nt.commit("editHistory",nt.state.bookItemContent),console.log("添加记录"))}else console.log("重复历史,不记录")}else nt.commit("editHistory",nt.state.bookItemContent),console.log("第一次记录")},i=()=>{(0,r.Y3)((()=>{let t=o.value;const e=t.scrollHeight,n=t.offsetHeight;n<=e&&(t.style.height="auto",t.style.height=t.scrollHeight+"px")}))};return{changeHistory:a,change:n,attr:o,changeHeight:i}}};const de=(0,c.Z)(ue,[["render",se],["__scopeId","data-v-3974490a"]]);var he=de,pe={base:[{title:"源域名",rows:1,id:"bookSourceUrl",hint:"<必填>通常填写网站主页,例: https://www.qidian.com"},{title:"源类型",rows:1,id:"bookSourceType",hint:"<必填>0:文本 1:音频 2:图片 3:文件(只提供下载的网站)"},{title:"源名称",rows:1,id:"bookSourceName",hint:"<必填>会显示在源列表"},{title:"源分组",rows:1,id:"bookSourceGroup",hint:"<选填>描述源的特征信息"},{title:"源注释",rows:1,id:"bookSourceComment",hint:"<选填>描述源作者和状态"},{title:"登录地址",rows:1,id:"loginUrl",hint:"<选填>填写网站登录网址,仅在需要登录的源有用"},{title:"登录界面",rows:3,id:"loginUi",hint:"<选填>自定义登录界面"},{title:"登录检测",rows:3,id:"loginCheckJs",hint:"<选填>登录检测js"},{title:"并发率",rows:1,id:"concurrentRate",hint:"<选填>并发率"},{title:"请求头",rows:3,id:"header",hint:"<选填>客户端标识"},{title:"链接验证",rows:1,id:"bookUrlPattern",hint:"<选填>当详情页URL与源URL的域名不一致时有效,用于添加网址"}],search:[{title:"搜索地址",rows:1,id:"searchUrl",hint:"[域名可省略]/search.php@kw={{key}}"},{title:"校验文字",rows:1,id:"ruleSearch_checkKeyWord",hint:"校验关键字"},{title:"列表规则",rows:1,id:"ruleSearch_bookList",hint:"选择书籍节点 (规则结果为List)"},{title:"书名规则",rows:1,id:"ruleSearch_name",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",rows:1,id:"ruleSearch_author",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",rows:1,id:"ruleSearch_kind",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",rows:1,id:"ruleSearch_wordCount",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",rows:1,id:"ruleSearch_lastChapter",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",rows:1,id:"ruleSearch_intro",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",rows:1,id:"ruleSearch_coverUrl",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",rows:1,id:"ruleSearch_bookUrl",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}],find:[{title:"发现地址",rows:6,id:"exploreUrl",hint:"内容能显示在发现菜单\n每行一条发现分类(网址域名可省略),例:\n名称1::网址(Url)1\n名称2::网址(Url)2\n..."},{title:"列表规则",rows:1,id:"ruleExplore_bookList",hint:"选择书籍节点 (规则结果为List)"},{title:"书名规则",rows:1,id:"ruleExplore_name",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",rows:1,id:"ruleExplore_author",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",rows:1,id:"ruleExplore_kind",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",rows:1,id:"ruleExplore_wordCount",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",rows:1,id:"ruleExplore_lastChapter",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",rows:1,id:"ruleExplore_intro",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",rows:1,id:"ruleExplore_coverUrl",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",rows:1,id:"ruleExplore_bookUrl",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}],detail:[{title:"预处理",rows:3,id:"ruleBookInfo_init",hint:"用于加速详情信息检索,只支持AllInOne规则"},{title:"书名规则",rows:1,id:"ruleBookInfo_name",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",rows:1,id:"ruleBookInfo_author",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",rows:1,id:"ruleBookInfo_kind",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",rows:1,id:"ruleBookInfo_wordCount",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",rows:1,id:"ruleBookInfo_lastChapter",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",rows:1,id:"ruleBookInfo_intro",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",rows:1,id:"ruleBookInfo_coverUrl",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"目录地址",rows:1,id:"ruleBookInfo_tocUrl",hint:"选择书籍详情页网址 (规则结果为String类型的url, 与详情页相同时可省略)"}],directory:[{title:"列表规则",rows:3,id:"ruleToc_chapterList",hint:"选择目录列表的章节节点 (规则结果为List)"},{title:"章节名称",rows:1,id:"ruleToc_chapterName",hint:"选择章节名称 (规则结果为String)"},{title:"章节地址",rows:1,id:"ruleToc_chapterUrl",hint:"选择章节链接 (规则结果为String类型的Url)"},{title:"卷名标识",rows:1,id:"ruleToc_isVolume",hint:"章节名称是否是卷名 (规则结果为Bool)"},{title:"收费标识",rows:1,id:"ruleToc_isVip",hint:"章节是否为VIP章节 (规则结果为Bool)"},{title:"购买标识",rows:1,id:"ruleToc_isPay",hint:"章节是否为已购买 (规则结果为Bool)"},{title:"章节信息",rows:1,id:"ruleToc_updateTime",hint:"选择章节信息 (规则结果为String)"},{title:"翻页规则",rows:1,id:"ruleToc_nextTocUrl",hint:"选择目录下一页链接 (规则结果为List或String)"}],content:[{title:"脚本注入",rows:3,id:"ruleContent_webJs",hint:"注入javascript,用于模拟鼠标点击等,必须有返回值,一般为String类型"},{title:"正文规则",rows:1,id:"ruleContent_content",hint:"选择正文内容 (规则结果为String)"},{title:"翻页规则",rows:1,id:"ruleContent_nextContentUrl",hint:"选择下一分页(不是下一章)链接 (规则结果为String类型的Url)"},{title:"资源正则",rows:1,id:"ruleContent_sourceRegex",hint:"匹配资源的url特征,用于嗅探"},{title:"替换规则",rows:1,id:"ruleContent_replaceRegex",hint:"多页内容合并后替换,用于正文净化"},{title:"图片样式",rows:1,id:"ruleContent_imageStyle",hint:"FULL:铺满 不填:默认样式"},{title:"购买操作",rows:1,id:"ruleContent_payAction",hint:"购买章节 返回链接或js"}],other:[{title:"启用搜索",rows:1,id:"enabled",hint:"启用: true 关闭: false (可选,默认true)"},{title:"启用发现",rows:1,id:"enabledExplore",hint:"启用: true 关闭: false (可选,默认true)"},{title:"搜索权重",rows:1,id:"weight",hint:"整数: 0~N (可选,默认0) | 数字越大越靠前"},{title:"排序编号",rows:1,id:"customOrder",hint:"整数: 0~N (可选,默认0) | 数字越小越靠前"}]},ge={components:{editInput:he},setup(){const t=(0,y.qj)({data:pe.base,bookContent:nt.state.bookItemContent}),e=t=>{nt.commit("changeBookItemNewContent",t)};return(0,r.m0)((()=>{t.bookContent=nt.state.bookItemContent})),{...(0,y.BK)(t),upData:e}}};const me=(0,c.Z)(ge,[["render",re]]);var be=me;const ve={class:"main"};function ke(t,e,o,n,a,i){const l=(0,r.up)("edit-input");return(0,r.wg)(),(0,r.iD)("div",ve,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((t,e)=>((0,r.wg)(),(0,r.j4)(l,{key:e,type:t.id,hint:t.hint,title:t.title,rows:t.rows,content:n.setContent(t.id),onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))])}function we(){const t=(0,y.qj)({bookContent:nt.state.bookItemContent}),e=t=>{nt.commit("changeBookItemNewContent",t)},o=e=>{try{if(e.includes("_")){let o=e.split("_")[0],n=e.split("_")[1];return t.bookContent[o][n]}return t.bookContent[e]}catch(o){console.log("导入错误",o.TypeError),nt.commit("clearEdit")}};return(0,r.m0)((()=>{t.bookContent=nt.state.bookItemContent})),{...(0,y.BK)(t),upData:e,setContent:o}}var Se={components:{editInput:he},setup(){const{upData:t,bookContent:e,setContent:o}=we(),n=(0,y.qj)({data:pe.search});return{...(0,y.BK)(n),upData:t,bookContent:e,setContent:o}}};const Ce=(0,c.Z)(Se,[["render",ke]]);var _e=Ce;const fe={class:"main"};function ye(t,e,o,n,a,i){const l=(0,r.up)("edit-input");return(0,r.wg)(),(0,r.iD)("div",fe,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((t,e)=>((0,r.wg)(),(0,r.j4)(l,{key:e,type:t.id,hint:t.hint,title:t.title,rows:t.rows,content:n.setContent(t.id),onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))])}var Ie={components:{editInput:he},setup(){const{upData:t,setContent:e,bookContent:o}=we(),n=(0,y.qj)({data:pe.directory});return{...(0,y.BK)(n),upData:t,setContent:e,bookContent:o}}};const Ue=(0,c.Z)(Ie,[["render",ye]]);var De=Ue;const xe={class:"main"};function Te(t,e,o,n,a,i){const l=(0,r.up)("edit-input");return(0,r.wg)(),(0,r.iD)("div",xe,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((t,e)=>((0,r.wg)(),(0,r.j4)(l,{key:e,type:t.id,hint:t.hint,title:t.title,rows:t.rows,content:n.setContent(t.id),onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))])}var Be={components:{editInput:he},setup(){const{setContent:t,upData:e,bookContent:o}=we(),n=(0,y.qj)({data:pe.content});return{...(0,y.BK)(n),upData:e,setContent:t,bookContent:o}}};const Ke=(0,c.Z)(Be,[["render",Te]]);var Ae=Ke;const je={class:"main"};function Ee(t,e,o,n,a,i){const l=(0,r.up)("edit-input");return(0,r.wg)(),(0,r.iD)("div",je,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((t,e)=>((0,r.wg)(),(0,r.j4)(l,{key:e,type:t.id,hint:t.hint,title:t.title,rows:t.rows,content:n.setContent(t.id),onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))])}var He={components:{editInput:he},setup(){const{upData:t,bookContent:e,setContent:o}=we(),n=(0,y.qj)({data:pe.detail});return{...(0,y.BK)(n),upData:t,bookContent:e,setContent:o}}};const Ne=(0,c.Z)(He,[["render",Ee]]);var Oe=Ne;const Le={class:"main"};function Pe(t,e,o,n,a,i){const l=(0,r.up)("edit-input"),c=(0,r.up)("router-view");return(0,r.wg)(),(0,r.iD)(r.HY,null,[(0,r._)("div",Le,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((t,e)=>((0,r.wg)(),(0,r.j4)(l,{key:e,type:t.id,hint:t.hint,title:t.title,rows:t.rows,content:n.setContent(t.id),onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))]),(0,r.Wm)(c)],64)}var Je={components:{editInput:he},setup(){const{upData:t,bookContent:e,setContent:o}=we(),n=(0,y.qj)({data:pe.other});return{...(0,y.BK)(n),upData:t,bookContent:e,setContent:o}}};const Ze=(0,c.Z)(Je,[["render",Pe]]);var qe=Ze;const We={class:"main"};function $e(t,e,o,n,a,i){const l=(0,r.up)("edit-input");return(0,r.wg)(),(0,r.iD)("div",We,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((t,e)=>((0,r.wg)(),(0,r.j4)(l,{key:e,type:t.id,hint:t.hint,title:t.title,rows:t.rows,content:n.setContent(t.id),onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))])}var Me={components:{editInput:he},setup(){const{upData:t,setContent:e,bookContent:o}=we(),n=(0,y.qj)({data:pe.find});return{...(0,y.BK)(n),upData:t,setContent:e,bookContent:o}}};const Re=(0,c.Z)(Me,[["render",$e]]);var Ye=Re;const ze=[{path:"/",redirect:{name:"home"}},{path:"/bookSource",name:"home",component:oe,redirect:{name:"base"},children:[{path:"/bookSource/base",name:"base",component:be},{path:"/bookSource/search",name:"search",component:_e},{path:"/bookSource/find",name:"find",component:Ye},{path:"/bookSource/detail",name:"detail",component:Oe},{path:"/bookSource/directory",name:"directory",component:De},{path:"/bookSource/content",name:"content",component:Ae},{path:"/bookSource/other",name:"other",component:qe},{path:"/bookSource/:asdasdasd/:asdasdas",redirect:{name:"home"}}]},{path:"/:asdasdasd",redirect:{name:"home"}},{path:"/bookSource/:asdasdasda",redirect:{name:"home"}}],Ve=(0,d.p7)({history:(0,d.r5)(),routes:ze});var Fe=Ve;(0,n.ri)(u).use(nt).use(Fe).mount("#app")}},e={};function o(n){var r=e[n];if(void 0!==r)return r.exports;var a=e[n]={exports:{}};return t[n](a,a.exports,o),a.exports}o.m=t,function(){var t=[];o.O=function(e,n,r,a){if(!n){var i=1/0;for(u=0;u=a)&&Object.keys(o.O).every((function(t){return o.O[t](n[c])}))?n.splice(c--,1):(l=!1,a0&&t[u-1][2]>a;u--)t[u]=t[u-1];t[u]=[n,r,a]}}(),function(){o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})}}(),function(){o.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"===typeof window)return window}}()}(),function(){o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}}(),function(){var t={143:0};o.O.j=function(e){return 0===t[e]};var e=function(e,n){var r,a,i=n[0],l=n[1],c=n[2],s=0;if(i.some((function(e){return 0!==t[e]}))){for(r in l)o.o(l,r)&&(o.m[r]=l[r]);if(c)var u=c(o)}for(e&&e(n);s\n
\n \n
\n\n\n\n\n\n","import { render } from \"./App.vue?vue&type=template&id=c114d7a2\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=c114d7a2&lang=scss\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","\n\n\n\n\n\n","/**\n * 发送后端请求\n * @param type 请求资源URL\n * @param data 保存数据\n * @returns {Promise}\n */\nfunction http(type, data) {\n const formatUrl = `http://${localStorage.getItem(\"url\") || \"\"}/${type}`;\n switch (type) {\n case \"getBookSources\":\n return Get(formatUrl);\n case \"saveBookSources\":\n return Post(formatUrl, data);\n case \"deleteBookSources\":\n return Post(formatUrl, data);\n }\n}\n\nexport { http };\n\n/**\n * POST请求\n * @param url\n * @param body\n * @returns {Promise}\n * @constructor\n */\nfunction Post(url, body) {\n return fetch(url, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }).then((res) => res.json());\n}\n\n/**\n * GET请求\n * @param url\n * @returns {Promise}\n * @constructor\n */\nfunction Get(url) {\n return fetch(url).then((res) => res.json());\n}\n","import { createStore } from \"vuex\";\nimport source_json from \"@/utils/bookSource.json\";\n\nexport default createStore({\n state: {\n url: localStorage.getItem(\"url\") || \"\",\n bookSource: [], // 临时存放所有书源\n bookItemContent: source_json, // 当前点击的书源项\n currentTab: localStorage.getItem(\"tabName\") || \"editTab\",\n editTabSourceInfo: {},\n deBugMsg: \"\",\n searchKey: \"\",\n },\n getters: {},\n mutations: {\n changeSearchKey(state, key) {\n state.searchKey = key;\n },\n changeUrl(state, url) {\n state.url = url;\n localStorage.setItem(\"url\", url);\n },\n changeSource(state, data) {\n state.bookSource = data;\n },\n changeBookSource(state, data) {\n state.bookSource = data;\n },\n // editList Click\n changeBookItemContent(state, content) {\n const newContent = JSON.stringify(content);\n state.bookItemContent = JSON.parse(newContent);\n // console.log(content);\n },\n // edit Content\n changeBookItemNewContent(state, newContent) {\n if (newContent.type.includes(\"_\")) {\n let rule1 = newContent.type.split(\"_\")[0];\n let rule2 = newContent.type.split(\"_\")[1];\n state.bookItemContent[rule1][rule2] = newContent.value;\n // console.log(rule1, rule2, state.bookItemContent);\n // console.log(newContent);\n } else {\n state.bookItemContent[newContent.type] = newContent.value;\n // edit last time\n state.bookItemContent.lastUpdateTime = new Date().getTime();\n }\n // console.log(state.bookItemContent);\n },\n // update editTab tabName and editTab info\n changeTabName(state, tabName) {\n state.currentTab = tabName;\n localStorage.setItem(\"tabName\", tabName);\n\n console.log(tabName);\n },\n changeEidtTabSourceInfo(state) {\n // edit last time\n for (const sourceJsonKey in source_json) {\n state.editTabSourceInfo[sourceJsonKey] = source_json[sourceJsonKey];\n }\n for (const bookItemContentKey in state.bookItemContent) {\n state.editTabSourceInfo[bookItemContentKey] =\n state.bookItemContent[bookItemContentKey];\n }\n },\n editHistory(state, history) {\n let historyObj;\n if (localStorage.getItem(\"history\")) {\n historyObj = JSON.parse(localStorage.getItem(\"history\"));\n historyObj.new.push(history);\n if (historyObj.new.length > 50) {\n historyObj.new.shift();\n }\n if (historyObj.old.length > 50) {\n historyObj.old.shift();\n }\n localStorage.setItem(\"history\", JSON.stringify(historyObj));\n } else {\n const arr = { new: [history], old: [] };\n localStorage.setItem(\"history\", JSON.stringify(arr));\n }\n },\n editHistoryUndo(state) {\n if (localStorage.getItem(\"history\")) {\n let historyObj = JSON.parse(localStorage.getItem(\"history\"));\n historyObj.old.push(state.bookItemContent);\n if (historyObj.new.length) {\n state.bookItemContent = historyObj.new.pop();\n }\n localStorage.setItem(\"history\", JSON.stringify(historyObj));\n }\n },\n clearAllHistory() {\n localStorage.setItem(\"history\", JSON.stringify({ new: [], old: [] }));\n },\n clearEdit(state) {\n state.editTabSourceInfo = {};\n state.bookItemContent = { ...source_json };\n // console.log(source_json);\n // console.log(state.bookItemContent);\n },\n changeDeBugMsg(state, msg) {\n let el = document.querySelector(\"#debug_text\");\n el.scrollTop = el.scrollHeight;\n state.deBugMsg = state.deBugMsg + msg + \"\\n\";\n },\n deBugMsgClear(state) {\n state.deBugMsg = \"\";\n },\n\n // clear all source\n clearAllSource(state) {\n state.bookSource = [];\n console.log(\"clear all source \");\n },\n },\n actions: {},\n modules: {},\n});\n","\n\n\n\n\n","import { render } from \"./editLoading.vue?vue&type=template&id=ab8a8a34&scoped=true\"\nimport script from \"./editLoading.vue?vue&type=script&lang=js\"\nexport * from \"./editLoading.vue?vue&type=script&lang=js\"\n\nimport \"./editLoading.vue?vue&type=style&index=0&id=ab8a8a34&scoped=true&lang=css\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ab8a8a34\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editWarn.vue?vue&type=template&id=27eae50d&scoped=true\"\nimport script from \"./editWarn.vue?vue&type=script&lang=js\"\nexport * from \"./editWarn.vue?vue&type=script&lang=js\"\n\nimport \"./editWarn.vue?vue&type=style&index=0&id=27eae50d&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-27eae50d\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editSuccess.vue?vue&type=template&id=bef92f74&scoped=true\"\nimport script from \"./editSuccess.vue?vue&type=script&lang=js\"\nexport * from \"./editSuccess.vue?vue&type=script&lang=js\"\n\nimport \"./editSuccess.vue?vue&type=style&index=0&id=bef92f74&scoped=true&lang=css\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-bef92f74\"]])\n\nexport default __exports__","import { render } from \"./editMenu.vue?vue&type=template&id=3fa941b0&scoped=true\"\nimport script from \"./editMenu.vue?vue&type=script&lang=js\"\nexport * from \"./editMenu.vue?vue&type=script&lang=js\"\n\nimport \"./editMenu.vue?vue&type=style&index=0&id=3fa941b0&lang=css\"\nimport \"./editMenu.vue?vue&type=style&index=1&id=3fa941b0&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3fa941b0\"]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n","import { render } from \"./editTab.vue?vue&type=template&id=4301c68c&scoped=true\"\nimport script from \"./editTab.vue?vue&type=script&lang=js\"\nexport * from \"./editTab.vue?vue&type=script&lang=js\"\n\nimport \"./editTab.vue?vue&type=style&index=0&id=4301c68c&scoped=true&lang=css\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4301c68c\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editDebug.vue?vue&type=template&id=f11ea0d0&scoped=true\"\nimport script from \"./editDebug.vue?vue&type=script&lang=js\"\nexport * from \"./editDebug.vue?vue&type=script&lang=js\"\n\nimport \"./editDebug.vue?vue&type=style&index=0&id=f11ea0d0&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f11ea0d0\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editList.vue?vue&type=template&id=253b4dc8&scoped=true\"\nimport script from \"./editList.vue?vue&type=script&lang=js\"\nexport * from \"./editList.vue?vue&type=script&lang=js\"\n\nimport \"./editList.vue?vue&type=style&index=0&id=253b4dc8&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-253b4dc8\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editHelp.vue?vue&type=template&id=c4c82b2c&scoped=true\"\nimport script from \"./editHelp.vue?vue&type=script&lang=js\"\nexport * from \"./editHelp.vue?vue&type=script&lang=js\"\n\nimport \"./editHelp.vue?vue&type=style&index=0&id=c4c82b2c&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c4c82b2c\"]])\n\nexport default __exports__","import { render } from \"./editOut.vue?vue&type=template&id=31814839\"\nimport script from \"./editOut.vue?vue&type=script&lang=js\"\nexport * from \"./editOut.vue?vue&type=script&lang=js\"\n\nimport \"./editOut.vue?vue&type=style&index=0&id=31814839&lang=scss\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./bookSource.vue?vue&type=template&id=de4729c0&scoped=true\"\nimport script from \"./bookSource.vue?vue&type=script&lang=js\"\nexport * from \"./bookSource.vue?vue&type=script&lang=js\"\n\nimport \"./bookSource.vue?vue&type=style&index=0&id=de4729c0&lang=scss\"\nimport \"./bookSource.vue?vue&type=style&index=1&id=de4729c0&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-de4729c0\"]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./editInput.vue?vue&type=template&id=3974490a&scoped=true\"\nimport script from \"./editInput.vue?vue&type=script&lang=js\"\nexport * from \"./editInput.vue?vue&type=script&lang=js\"\n\nimport \"./editInput.vue?vue&type=style&index=0&id=3974490a&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3974490a\"]])\n\nexport default __exports__","export default {\n base: [\n {\n title: \"源域名\",\n rows: 1,\n id: \"bookSourceUrl\",\n hint: \"<必填>通常填写网站主页,例: https://www.qidian.com\",\n },\n {\n title: \"源类型\",\n rows: 1,\n id: \"bookSourceType\",\n hint: \"<必填>0:文本 1:音频 2:图片 3:文件(只提供下载的网站)\",\n },\n {\n title: \"源名称\",\n rows: 1,\n id: \"bookSourceName\",\n hint: \"<必填>会显示在源列表\",\n },\n {\n title: \"源分组\",\n rows: 1,\n id: \"bookSourceGroup\",\n hint: \"<选填>描述源的特征信息\",\n },\n {\n title: \"源注释\",\n rows: 1,\n id: \"bookSourceComment\",\n hint: \"<选填>描述源作者和状态\",\n },\n {\n title: \"登录地址\",\n rows: 1,\n id: \"loginUrl\",\n hint: \"<选填>填写网站登录网址,仅在需要登录的源有用\",\n },\n {\n title: \"登录界面\",\n rows: 3,\n id: \"loginUi\",\n hint: \"<选填>自定义登录界面\",\n },\n {\n title: \"登录检测\",\n rows: 3,\n id: \"loginCheckJs\",\n hint: \"<选填>登录检测js\",\n },\n {\n title: \"并发率\",\n rows: 1,\n id: \"concurrentRate\",\n hint: \"<选填>并发率\",\n },\n {\n title: \"请求头\",\n rows: 3,\n id: \"header\",\n hint: \"<选填>客户端标识\",\n },\n {\n title: \"链接验证\",\n rows: 1,\n id: \"bookUrlPattern\",\n hint: \"<选填>当详情页URL与源URL的域名不一致时有效,用于添加网址\",\n },\n ],\n search: [\n {\n title: \"搜索地址\",\n rows: 1,\n id: \"searchUrl\",\n hint: \"[域名可省略]/search.php@kw={{key}}\",\n },\n {\n title: \"校验文字\",\n rows: 1,\n id: \"ruleSearch_checkKeyWord\",\n hint: \"校验关键字\",\n },\n {\n title: \"列表规则\",\n rows: 1,\n id: \"ruleSearch_bookList\",\n hint: \"选择书籍节点 (规则结果为List)\",\n },\n {\n title: \"书名规则\",\n rows: 1,\n id: \"ruleSearch_name\",\n hint: \"选择节点书名 (规则结果为String)\",\n },\n {\n title: \"作者规则\",\n rows: 1,\n id: \"ruleSearch_author\",\n hint: \"选择节点作者 (规则结果为String)\",\n },\n {\n title: \"分类规则\",\n rows: 1,\n id: \"ruleSearch_kind\",\n hint: \"选择节点分类信息 (规则结果为String)\",\n },\n {\n title: \"字数规则\",\n rows: 1,\n id: \"ruleSearch_wordCount\",\n hint: \"选择节点字数信息 (规则结果为String)\",\n },\n {\n title: \"最新章节\",\n rows: 1,\n id: \"ruleSearch_lastChapter\",\n hint: \"选择节点最新章节 (规则结果为String)\",\n },\n {\n title: \"简介规则\",\n rows: 1,\n id: \"ruleSearch_intro\",\n hint: \"选择节点书籍简介 (规则结果为String)\",\n },\n {\n title: \"封面规则\",\n rows: 1,\n id: \"ruleSearch_coverUrl\",\n hint: \"选择节点书籍封面 (规则结果为String类型的url)\",\n },\n {\n title: \"详情地址\",\n rows: 1,\n id: \"ruleSearch_bookUrl\",\n hint: \"选择书籍详情页网址 (规则结果为String类型的url)\",\n },\n ],\n find: [\n {\n title: \"发现地址\",\n rows: 6,\n id: \"exploreUrl\",\n hint: \"内容能显示在发现菜单\\n每行一条发现分类(网址域名可省略),例:\\n名称1::网址(Url)1\\n名称2::网址(Url)2\\n...\",\n },\n {\n title: \"列表规则\",\n rows: 1,\n id: \"ruleExplore_bookList\",\n hint: \"选择书籍节点 (规则结果为List)\",\n },\n {\n title: \"书名规则\",\n rows: 1,\n id: \"ruleExplore_name\",\n hint: \"选择节点书名 (规则结果为String)\",\n },\n {\n title: \"作者规则\",\n rows: 1,\n id: \"ruleExplore_author\",\n hint: \"选择节点作者 (规则结果为String)\",\n },\n {\n title: \"分类规则\",\n rows: 1,\n id: \"ruleExplore_kind\",\n hint: \"选择节点分类信息 (规则结果为String)\",\n },\n {\n title: \"字数规则\",\n rows: 1,\n id: \"ruleExplore_wordCount\",\n hint: \"选择节点字数信息 (规则结果为String)\",\n },\n {\n title: \"最新章节\",\n rows: 1,\n id: \"ruleExplore_lastChapter\",\n hint: \"选择节点最新章节 (规则结果为String)\",\n },\n {\n title: \"简介规则\",\n rows: 1,\n id: \"ruleExplore_intro\",\n hint: \"选择节点书籍简介 (规则结果为String)\",\n },\n {\n title: \"封面规则\",\n rows: 1,\n id: \"ruleExplore_coverUrl\",\n hint: \"选择节点书籍封面 (规则结果为String类型的url)\",\n },\n {\n title: \"详情地址\",\n rows: 1,\n id: \"ruleExplore_bookUrl\",\n hint: \"选择书籍详情页网址 (规则结果为String类型的url)\",\n },\n ],\n detail: [\n {\n title: \"预处理\",\n rows: 3,\n id: \"ruleBookInfo_init\",\n hint: \"用于加速详情信息检索,只支持AllInOne规则\",\n },\n {\n title: \"书名规则\",\n rows: 1,\n id: \"ruleBookInfo_name\",\n hint: \"选择节点书名 (规则结果为String)\",\n },\n {\n title: \"作者规则\",\n rows: 1,\n id: \"ruleBookInfo_author\",\n hint: \"选择节点作者 (规则结果为String)\",\n },\n {\n title: \"分类规则\",\n rows: 1,\n id: \"ruleBookInfo_kind\",\n hint: \"选择节点分类信息 (规则结果为String)\",\n },\n {\n title: \"字数规则\",\n rows: 1,\n id: \"ruleBookInfo_wordCount\",\n hint: \"选择节点字数信息 (规则结果为String)\",\n },\n {\n title: \"最新章节\",\n rows: 1,\n id: \"ruleBookInfo_lastChapter\",\n hint: \"选择节点最新章节 (规则结果为String)\",\n },\n {\n title: \"简介规则\",\n rows: 1,\n id: \"ruleBookInfo_intro\",\n hint: \"选择节点书籍简介 (规则结果为String)\",\n },\n {\n title: \"封面规则\",\n rows: 1,\n id: \"ruleBookInfo_coverUrl\",\n hint: \"选择节点书籍封面 (规则结果为String类型的url)\",\n },\n {\n title: \"目录地址\",\n rows: 1,\n id: \"ruleBookInfo_tocUrl\",\n hint: \"选择书籍详情页网址 (规则结果为String类型的url, 与详情页相同时可省略)\",\n },\n ],\n directory: [\n {\n title: \"列表规则\",\n rows: 3,\n id: \"ruleToc_chapterList\",\n hint: \"选择目录列表的章节节点 (规则结果为List)\",\n },\n {\n title: \"章节名称\",\n rows: 1,\n id: \"ruleToc_chapterName\",\n hint: \"选择章节名称 (规则结果为String)\",\n },\n {\n title: \"章节地址\",\n rows: 1,\n id: \"ruleToc_chapterUrl\",\n hint: \"选择章节链接 (规则结果为String类型的Url)\",\n },\n {\n title: \"卷名标识\",\n rows: 1,\n id: \"ruleToc_isVolume\",\n hint: \"章节名称是否是卷名 (规则结果为Bool)\",\n },\n {\n title: \"收费标识\",\n rows: 1,\n id: \"ruleToc_isVip\",\n hint: \"章节是否为VIP章节 (规则结果为Bool)\",\n },\n {\n title: \"购买标识\",\n rows: 1,\n id: \"ruleToc_isPay\",\n hint: \"章节是否为已购买 (规则结果为Bool)\",\n },\n {\n title: \"章节信息\",\n rows: 1,\n id: \"ruleToc_updateTime\",\n hint: \"选择章节信息 (规则结果为String)\",\n },\n {\n title: \"翻页规则\",\n rows: 1,\n id: \"ruleToc_nextTocUrl\",\n hint: \"选择目录下一页链接 (规则结果为List或String)\",\n },\n ],\n content: [\n {\n title: \"脚本注入\",\n rows: 3,\n id: \"ruleContent_webJs\",\n hint: \"注入javascript,用于模拟鼠标点击等,必须有返回值,一般为String类型\",\n },\n {\n title: \"正文规则\",\n rows: 1,\n id: \"ruleContent_content\",\n hint: \"选择正文内容 (规则结果为String)\",\n },\n {\n title: \"翻页规则\",\n rows: 1,\n id: \"ruleContent_nextContentUrl\",\n hint: \"选择下一分页(不是下一章)链接 (规则结果为String类型的Url)\",\n },\n {\n title: \"资源正则\",\n rows: 1,\n id: \"ruleContent_sourceRegex\",\n hint: \"匹配资源的url特征,用于嗅探\",\n },\n {\n title: \"替换规则\",\n rows: 1,\n id: \"ruleContent_replaceRegex\",\n hint: \"多页内容合并后替换,用于正文净化\",\n },\n {\n title: \"图片样式\",\n rows: 1,\n id: \"ruleContent_imageStyle\",\n hint: \"FULL:铺满 不填:默认样式\",\n },\n {\n title: \"购买操作\",\n rows: 1,\n id: \"ruleContent_payAction\",\n hint: \"购买章节 返回链接或js\",\n },\n ],\n other: [\n {\n title: \"启用搜索\",\n rows: 1,\n id: \"enabled\",\n hint: \"启用: true 关闭: false (可选,默认true)\",\n },\n {\n title: \"启用发现\",\n rows: 1,\n id: \"enabledExplore\",\n hint: \"启用: true 关闭: false (可选,默认true)\",\n },\n {\n title: \"搜索权重\",\n rows: 1,\n id: \"weight\",\n hint: \"整数: 0~N (可选,默认0) | 数字越大越靠前\",\n },\n {\n title: \"排序编号\",\n rows: 1,\n id: \"customOrder\",\n hint: \"整数: 0~N (可选,默认0) | 数字越小越靠前\",\n },\n ],\n};\n","import { render } from \"./bookBase.vue?vue&type=template&id=62934290\"\nimport script from \"./bookBase.vue?vue&type=script&lang=js\"\nexport * from \"./bookBase.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { reactive, toRefs, watchEffect } from \"vue\";\nimport store from \"@/store\";\n\nexport default function () {\n const data = reactive({\n bookContent: store.state.bookItemContent,\n });\n const upData = (newContent) => {\n // console.log(newContent);\n store.commit(\"changeBookItemNewContent\", newContent);\n };\n const setContent = (elId) => {\n try {\n if (elId.includes(\"_\")) {\n let rule1 = elId.split(\"_\")[0];\n let rule2 = elId.split(\"_\")[1];\n return data.bookContent[rule1][rule2];\n } else {\n return data.bookContent[elId];\n }\n } catch (e) {\n console.log(\"导入错误\", e.TypeError);\n store.commit(\"clearEdit\");\n }\n };\n\n watchEffect(() => {\n data.bookContent = store.state.bookItemContent;\n });\n return {\n ...toRefs(data),\n upData,\n setContent,\n };\n}\n","import { render } from \"./bookSearch.vue?vue&type=template&id=2d21a82c\"\nimport script from \"./bookSearch.vue?vue&type=script&lang=js\"\nexport * from \"./bookSearch.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./bookDirectory.vue?vue&type=template&id=d341382e\"\nimport script from \"./bookDirectory.vue?vue&type=script&lang=js\"\nexport * from \"./bookDirectory.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./bookContent.vue?vue&type=template&id=93f5f75e\"\nimport script from \"./bookContent.vue?vue&type=script&lang=js\"\nexport * from \"./bookContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./bookDetail.vue?vue&type=template&id=48657fe9\"\nimport script from \"./bookDetail.vue?vue&type=script&lang=js\"\nexport * from \"./bookDetail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./bookOther.vue?vue&type=template&id=0e205a98\"\nimport script from \"./bookOther.vue?vue&type=script&lang=js\"\nexport * from \"./bookOther.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./bookFind.vue?vue&type=template&id=4eb0e864\"\nimport script from \"./bookFind.vue?vue&type=script&lang=js\"\nexport * from \"./bookFind.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createRouter, createWebHashHistory } from \"vue-router\";\n\nimport bookSource from \"@/views/bookSource\";\nimport bookBase from \"@/views/bookBase\";\nimport bookSearch from \"@/views/bookSearch\";\nimport bookDirectory from \"@/views/bookDirectory\";\nimport bookContent from \"@/views/bookContent\";\nimport bookDetail from \"@/views/bookDetail\";\nimport bookOther from \"@/views/bookOther\";\nimport bookFind from \"@/views/bookFind\";\n\nconst routes = [\n {\n path: \"/\",\n redirect: { name: \"home\" },\n },\n {\n path: \"/bookSource\",\n name: \"home\",\n component: bookSource,\n redirect: { name: \"base\" },\n children: [\n {\n path: \"/bookSource/base\",\n name: \"base\",\n component: bookBase,\n },\n {\n path: \"/bookSource/search\",\n name: \"search\",\n component: bookSearch,\n },\n {\n path: \"/bookSource/find\",\n name: \"find\",\n component: bookFind,\n },\n {\n path: \"/bookSource/detail\",\n name: \"detail\",\n component: bookDetail,\n },\n {\n path: \"/bookSource/directory\",\n name: \"directory\",\n component: bookDirectory,\n },\n {\n path: \"/bookSource/content\",\n name: \"content\",\n component: bookContent,\n },\n {\n path: \"/bookSource/other\",\n name: \"other\",\n component: bookOther,\n },\n {\n path: \"/bookSource/:asdasdasd/:asdasdas\",\n redirect: { name: \"home\" },\n },\n ],\n },\n {\n path: \"/:asdasdasd\",\n redirect: { name: \"home\" },\n },\n {\n path: \"/bookSource/:asdasdasda\",\n redirect: { name: \"home\" },\n },\n];\n\nconst router = createRouter({\n // history: createWebHistory(process.env.BASE_URL),\n history: createWebHashHistory(),\n routes,\n});\n\nexport default router;\n","import { createApp } from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport store from \"./store\";\n\ncreateApp(App).use(store).use(router).mount(\"#app\");\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunklegado_web_editor\"] = self[\"webpackChunklegado_web_editor\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(674); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["class","_createElementBlock","_createVNode","_component_router_view","setup","__exports__","render","_createElementVNode","href","_hoisted_2","_component_router_link","to","name","custom","navigate","isActive","onClick","active","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","Component","_createBlock","_KeepAlive","_resolveDynamicComponent","_component_edit_menu","_component_edit_out","_hoisted_12","_hoisted_15","_hoisted_18","_hoisted_21","_hoisted_24","$setup","_component_edit_loading","key","_component_edit_warn","text","onChangeShow","_component_edit_success","isShow","title","http","type","data","formatUrl","localStorage","getItem","Get","Post","url","body","fetch","method","headers","JSON","stringify","then","res","json","createStore","state","bookSource","bookItemContent","source_json","currentTab","editTabSourceInfo","deBugMsg","searchKey","getters","mutations","changeSearchKey","changeUrl","setItem","changeSource","changeBookSource","changeBookItemContent","content","newContent","parse","changeBookItemNewContent","includes","rule1","split","rule2","value","lastUpdateTime","Date","getTime","changeTabName","tabName","console","log","changeEidtTabSourceInfo","sourceJsonKey","bookItemContentKey","editHistory","history","historyObj","new","push","length","shift","old","arr","editHistoryUndo","pop","clearAllHistory","clearEdit","changeDeBugMsg","msg","el","document","querySelector","scrollTop","scrollHeight","deBugMsgClear","clearAllSource","actions","modules","$props","_toDisplayString","props","default","Boolean","String","emit","changeShow","emits","setTimeout","components","editLoading","editWarn","editSuccess","ref","warnShow","successText","successShow","warnText","bool","changeSuccessShow","pull","store","commit","catch","err","isSuccess","okData","Array","isArray","failMsg","forEach","item","find","x","bookSourceUrl","errorMsg","conver","undo","redo","saveSource","bookSourceType","bookSourceName","debug","socket","WebSocket","replace","port","parseInt","sKey","ruleSearch","checkKeyWord","onopen","send","onmessage","onclose","onMounted","onkeydown","e","ctrlKey","metaKey","preventDefault","shiftKey","_ctx","placeholder","$event","reactive","sourceInfo","watchEffect","Object","keys","toRefs","style","onInput","onKeydown","id","textareaDom","printDebug","changeSearch","startSearch","querySelectorAll","click","onFocus","_Fragment","_renderList","index","bookSourceGroup","bookSources","delArr","currentActive","handleItemClick","sourcesList","clearAllSources","formatTime","date","time","year","getFullYear","month","getMonth","day","getDate","hour","getHours","minute","getMinutes","seconds","getSeconds","filter","toUpperCase","deleteActiveSource","delSources","source","splice","upFile","input","createElement","accept","addEventListener","file","target","files","reader","FileReader","readAsText","onload","jsonData","result","outExport","exportFile","download","myBlob","Blob","window","URL","createObjectURL","_hoisted_1","editDebug","editTab","editList","editHelp","current_tab","handleSetActive","changInput","pullSource","editMenu","editOut","_component_edit_input","hint","rows","onChangeContent","onBlur","Number","attr","change","getAttribute","changeHistory","newHistory","idName","changeHeight","nextTick","textArea","height","offsetHeight","base","search","detail","directory","other","editInput","bookinfo","bookContent","upData","setContent","elId","TypeError","useCounter","routes","path","redirect","component","children","bookBase","bookSearch","bookFind","bookDetail","bookDirectory","bookOther","router","createRouter","createWebHashHistory","createApp","App","use","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","r","d","definition","o","defineProperty","enumerable","get","g","globalThis","this","Function","obj","prop","prototype","hasOwnProperty","call","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file From 2ff73f150bd675d80966458b4c82c4d7cae050b3 Mon Sep 17 00:00:00 2001 From: jgckM Date: Sat, 3 Sep 2022 21:31:24 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/web/bookSource/css/app.37e72839.css | 1 + app/src/main/assets/web/bookSource/index.html | 2 +- app/src/main/assets/web/bookSource/js/app.836bd8bb.js | 2 ++ app/src/main/assets/web/bookSource/js/app.836bd8bb.js.map | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 app/src/main/assets/web/bookSource/css/app.37e72839.css create mode 100644 app/src/main/assets/web/bookSource/js/app.836bd8bb.js create mode 100644 app/src/main/assets/web/bookSource/js/app.836bd8bb.js.map diff --git a/app/src/main/assets/web/bookSource/css/app.37e72839.css b/app/src/main/assets/web/bookSource/css/app.37e72839.css new file mode 100644 index 000000000..3b3c0d6ed --- /dev/null +++ b/app/src/main/assets/web/bookSource/css/app.37e72839.css @@ -0,0 +1 @@ +@font-face{font-family:Cascadia;src:url(../fonts/Cascadia-Code-Regular-2.97c09831.ttf)}.editor{display:flex;align-items:stretch;height:100vh}.left{width:calc(50% - 55px);min-width:500px;display:inline-block}.main{width:100%;height:calc(100vh - 64px);overflow-y:auto}textarea{min-height:20px;flex:1;outline:none;border-radius:4px;border:1px solid #ccc;font-size:14px;font-family:Cascadia,Microsoft YaHei UI,Arial,serif;line-height:20px;padding:10px 10px 10px}.fixed[data-v-ab8a8a34]{position:fixed;top:100px;left:50%;transform:translateX(-50%)}.half-circle-spinner [data-v-ab8a8a34],.half-circle-spinner[data-v-ab8a8a34]{box-sizing:border-box}.half-circle-spinner[data-v-ab8a8a34]{width:60px;height:60px;border-radius:100%;position:relative}.half-circle-spinner .circle[data-v-ab8a8a34]{content:"";position:absolute;width:100%;height:100%;border-radius:100%;border:6px solid transparent}.half-circle-spinner .circle.circle-1[data-v-ab8a8a34]{border-top-color:#ff1d5e;-webkit-animation:half-circle-spinner-animation-ab8a8a34 1s infinite;animation:half-circle-spinner-animation-ab8a8a34 1s infinite}.half-circle-spinner .circle.circle-2[data-v-ab8a8a34]{border-bottom-color:#ff1d5e;-webkit-animation:half-circle-spinner-animation-ab8a8a34 1s infinite alternate;animation:half-circle-spinner-animation-ab8a8a34 1s infinite alternate}@-webkit-keyframes half-circle-spinner-animation-ab8a8a34{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes half-circle-spinner-animation-ab8a8a34{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.warm[data-v-27eae50d]{position:fixed;top:100px;left:50%;transform:translateX(-50%);color:#eee;background-color:#ff1d5e;padding:20px;border-radius:8px;font-size:18px}button[data-v-27eae50d]{float:right;width:70px;height:35px;outline:none;border:unset;border-radius:8px;font-size:14px;transition:background-color .3s ease}.success[data-v-bef92f74],button[data-v-27eae50d]:hover{color:#333;background-color:#7fffd4}.success[data-v-bef92f74]{z-index:3;position:fixed;top:100px;left:50%;transform:translateX(-50%);padding:10px;border-radius:8px}p[data-v-bef92f74]{margin:0}.menu{display:flex;flex-direction:column;justify-content:center}button[data-v-7d09e592]{width:100px;height:50px;margin:5px;outline:none;padding:10px;font-size:16px;border-radius:4px;box-sizing:border-box;border:1px solid #333;background-color:transparent;transition:all .3s ease;overflow:hidden}button span[data-v-7d09e592]{display:inline-block;transform:translateY(20px);opacity:0;font-size:12px;transition:all .3s ease}button[data-v-7d09e592]:hover{color:#fff;background-color:gray}button:hover span[data-v-7d09e592]{transform:translateY(0);opacity:1}textarea[data-v-4301c68c]{font-size:14px}input[data-v-f11ea0d0]{outline:none;height:25px;font-size:16px}textarea[data-v-f11ea0d0]{font-size:14px}.search[data-v-260cb454]{border:1px solid #ddd;border-radius:4px}input[data-v-260cb454]{text-align:center;font-size:16px;height:25px;outline:none}.tool[data-v-260cb454]{display:flex;justify-content:space-around;padding:4px 0}.tool button[data-v-260cb454]{border-radius:4px;padding:5px;outline:none;border:none;flex:1;margin:0 2px}.tool button[data-v-260cb454]:hover{background-color:#ddd}input[type=checkbox][data-v-260cb454]{transform:scale(2);margin:0 15px 0}.book_item[data-v-260cb454]{overflow:hidden;display:flex;align-items:center;margin-top:10px;padding:10px;cursor:pointer;background-color:#eee}.book_active[data-v-260cb454]{background-color:#32cd32}.book_index[data-v-260cb454]{width:auto;height:30px;text-align:center;line-height:30px;border-radius:8px;padding:0 10px;background-color:#ffb6c1}.book_info[data-v-260cb454]{display:flex;justify-content:space-between}.book_list[data-v-260cb454]{height:calc(100vh - 125px);overflow-y:auto}a[data-v-c4c82b2c]{display:block;height:25px;transition:margin-left .3s ease}a[data-v-c4c82b2c]:hover{color:red;margin-left:10px}code[data-v-c4c82b2c]{display:inline-block;font-size:16px;font-family:Cascadia Mono,JetBrains Mono,Microsoft YaHei UI,serif;background-color:#f3f4f4;border-radius:4px}.author[data-v-c4c82b2c]{position:fixed;right:20px;bottom:20px}.author a[data-v-c4c82b2c]{padding:5px 10px;border-radius:4px}.author a[data-v-c4c82b2c]:hover{box-shadow:0 0 3px 3px #ccc;background-color:#ddd}.out{min-width:620px}.out,.out .box{flex:1;display:flex;flex-flow:column}a{text-decoration:none;color:#333}body,ul{margin:0;padding:0}ul{width:100%;height:40px;display:flex}ul li{display:block;text-align:center;line-height:40px;width:16%;list-style:none;cursor:pointer}ul li:hover{color:red}.active{color:#fff!important;background-color:hsla(0,0%,50%,.459);border-bottom:unset!important}ul li[data-v-de4729c0]{border-bottom:2px solid #333}a[data-v-de4729c0]{font-size:18px;color:blue}span[data-v-3974490a]{display:flex;justify-content:space-around;width:70px;white-space:nowrap}span i[data-v-3974490a]{font-style:normal}.edit_input[data-v-3974490a]{display:flex;justify-content:space-between;align-items:center;margin:10px 5px} \ No newline at end of file diff --git a/app/src/main/assets/web/bookSource/index.html b/app/src/main/assets/web/bookSource/index.html index f9b191dfd..bc26752ff 100644 --- a/app/src/main/assets/web/bookSource/index.html +++ b/app/src/main/assets/web/bookSource/index.html @@ -1 +1 @@ -legado_web_editor
\ No newline at end of file +legado_web_editor
\ No newline at end of file diff --git a/app/src/main/assets/web/bookSource/js/app.836bd8bb.js b/app/src/main/assets/web/bookSource/js/app.836bd8bb.js new file mode 100644 index 000000000..51ed710fa --- /dev/null +++ b/app/src/main/assets/web/bookSource/js/app.836bd8bb.js @@ -0,0 +1,2 @@ +(function(){"use strict";var t={27:function(t,e,o){var n=o(963),r=o(252);const a={class:"editor"};function i(t,e,o,n,i,l){const c=(0,r.up)("router-view");return(0,r.wg)(),(0,r.iD)("div",a,[(0,r.Wm)(c)])}var l={setup(){}},c=o(744);const s=(0,c.Z)(l,[["render",i]]);var u=s,d=o(201),h=o(577);const p=t=>((0,r.dD)("data-v-de4729c0"),t=t(),(0,r.Cn)(),t),g={class:"left"},m=p((()=>(0,r._)("div",null,[(0,r._)("a",{href:"/"},"←主页"),(0,r._)("b",null,"书源")],-1))),b=["onClick"],v=["onClick"],k=["onClick"],w=["onClick"],S=["onClick"],C=["onClick"],_=["onClick"];function f(t,e,o,n,a,i){const l=(0,r.up)("router-link"),c=(0,r.up)("router-view"),s=(0,r.up)("edit-menu"),u=(0,r.up)("edit-out");return(0,r.wg)(),(0,r.iD)(r.HY,null,[(0,r._)("div",g,[(0,r._)("div",null,[m,(0,r._)("ul",null,[(0,r.Wm)(l,{to:{name:"base"},custom:""},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 基础 ",10,b)])),_:1}),(0,r.Wm)(l,{to:{name:"search"},custom:""},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 搜索 ",10,v)])),_:1}),(0,r.Wm)(l,{to:{name:"find"},custom:""},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 发现 ",10,k)])),_:1}),(0,r.Wm)(l,{custom:"",to:{name:"detail"}},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 详情 ",10,w)])),_:1}),(0,r.Wm)(l,{custom:"",to:{name:"directory"}},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 目录 ",10,S)])),_:1}),(0,r.Wm)(l,{custom:"",to:{name:"content"}},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 正文 ",10,C)])),_:1}),(0,r.Wm)(l,{custom:"",to:{name:"other"}},{default:(0,r.w5)((({navigate:t,isActive:e})=>[(0,r._)("li",{onClick:t,class:(0,h.C_)({active:e?"active":""})}," 其他 ",10,_)])),_:1})])]),(0,r.Wm)(c,null,{default:(0,r.w5)((({Component:t})=>[((0,r.wg)(),(0,r.j4)(r.Ob,null,[((0,r.wg)(),(0,r.j4)((0,r.LL)(t)))],1024))])),_:1})]),(0,r.Wm)(s),(0,r.Wm)(u)],64)}var y=o(262);const I=t=>((0,r.dD)("data-v-7d09e592"),t=t(),(0,r.Cn)(),t),D={class:"menu"},U=(0,r.Uk)("⇈推送源 "),x=I((()=>(0,r._)("span",null,"Ctrl+P",-1))),T=[U,x],B=(0,r.Uk)("⇊拉取源 "),K=I((()=>(0,r._)("span",null,"Shift+P",-1))),A=[B,K],j=(0,r.Uk)("⋙生成源"),E=I((()=>(0,r._)("span",null,"Ctrl+E",-1))),H=[j,E],N=(0,r.Uk)(" ✗清空表单"),O=I((()=>(0,r._)("span",null,"Shift+C",-1))),L=[N,O],P=(0,r.Uk)("↶撤销操作"),J=I((()=>(0,r._)("span",null,"Ctrl+Z",-1))),Z=[P,J],q=(0,r.Uk)("↷重做操作"),W=I((()=>(0,r._)("span",null,"Shift+R",-1))),M=[q,W],$=(0,r.Uk)(" ⇏调试源 "),R=I((()=>(0,r._)("span",null,"Ctrl+Enter",-1))),Y=[$,R],z=(0,r.Uk)(" ✓保存源"),V=I((()=>(0,r._)("span",null,"Ctrl+S",-1))),F=[z,V];function G(t,e,o,n,a,i){const l=(0,r.up)("edit-loading"),c=(0,r.up)("edit-warn"),s=(0,r.up)("edit-success");return(0,r.wg)(),(0,r.iD)("div",D,[(0,r._)("div",null,[n.isShow?((0,r.wg)(),(0,r.j4)(l,{key:0})):(0,r.kq)("",!0),(0,r.Wm)(c,{text:n.warnText,"is-show":n.warnShow,onChangeShow:n.changeShow},null,8,["text","is-show","onChangeShow"]),n.successShow?((0,r.wg)(),(0,r.j4)(s,{key:1,isShow:n.successShow,onChangeShow:n.changeSuccessShow,text:n.successText},null,8,["isShow","onChangeShow","text"])):(0,r.kq)("",!0)]),(0,r._)("button",{onClick:e[0]||(e[0]=(...t)=>n.push&&n.push(...t)),title:"Ctrl+P"},T),(0,r._)("button",{onClick:e[1]||(e[1]=(...t)=>n.pull&&n.pull(...t)),title:"Shift+P"},A),(0,r._)("button",{onClick:e[2]||(e[2]=(...t)=>n.conver&&n.conver(...t)),title:"Ctrl+E"},H),(0,r._)("button",{onClick:e[3]||(e[3]=(...t)=>n.clearEdit&&n.clearEdit(...t)),title:"Shift+C"},L),(0,r._)("button",{onClick:e[4]||(e[4]=(...t)=>n.undo&&n.undo(...t)),title:"Ctrl+Z"},Z),(0,r._)("button",{onClick:e[5]||(e[5]=(...t)=>n.redo&&n.redo(...t)),title:"Shift+R"},M),(0,r._)("button",{onClick:e[6]||(e[6]=(...t)=>n.debug&&n.debug(...t)),title:"Ctrl+Enter"},Y),(0,r._)("button",{onClick:e[7]||(e[7]=(...t)=>n.saveSource&&n.saveSource(...t)),title:"Ctrl+S"},F)])}function Q(t,e){let o;switch(o=null===localStorage.getItem("url")?"http://"+location.host+"/"+t:"http://"+localStorage.getItem("url")+"/"+t,console.log(o),t){case"getBookSources":return tt(o);case"saveBookSources":return X(o,e);case"deleteBookSources":return X(o,e)}}function X(t,e){return fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then((t=>t.json()))}function tt(t){return fetch(t).then((t=>t.json()))}var et=o(907),ot=JSON.parse('{"bookSourceUrl":"","bookSourceType":"","bookSourceName":"","bookSourceGroup":"","bookSourceComment":"","loginUrl":"","loginUi":"","loginCheckJs":"","concurrentRate":"","header":"","bookUrlPattern":"","searchUrl":"","exploreUrl":"","enabled":true,"enabledExplore":true,"weight":null,"customOrder":null,"lastUpdateTime":0,"ruleSearch":{"checkKeyWord":"","bookList":"","name":"","author":"","kind":"","wordCount":"","lastChapter":"","intro":"","coverUrl":"","bookUrl":""},"ruleExplore":{"bookList":"","name":"","author":"","kind":"","wordCount":"","lastChapter":"","intro":"","coverUrl":"","bookUrl":""},"ruleBookInfo":{"init":"","name":"","author":"","kind":"","wordCount":"","lastChapter":"","intro":"","coverUrl":"","tocUrl":""},"ruleToc":{"chapterList":"","chapterName":"","chapterUrl":"","isVolume":"","isVip":"","isPay":"","updateTime":"","nextTocUrl":""},"ruleContent":{"webJs":"","content":"","nextContentUrl":"","sourceRegex":"","replaceRegex":"","imageStyle":"","payAction":""}}'),nt=(0,et.MT)({state:{url:localStorage.getItem("url")||"",bookSource:[],bookItemContent:ot,currentTab:localStorage.getItem("tabName")||"editTab",editTabSourceInfo:{},deBugMsg:"",searchKey:""},getters:{},mutations:{changeSearchKey(t,e){t.searchKey=e},changeSource(t,e){t.bookSource=e},changeBookSource(t,e){t.bookSource=e},changeBookItemContent(t,e){const o=JSON.stringify(e);t.bookItemContent=JSON.parse(o)},changeBookItemNewContent(t,e){if(e.type.includes("_")){let o=e.type.split("_")[0],n=e.type.split("_")[1];t.bookItemContent[o][n]=e.value}else t.bookItemContent[e.type]=e.value,t.bookItemContent.lastUpdateTime=(new Date).getTime()},changeTabName(t,e){t.currentTab=e,localStorage.setItem("tabName",e),console.log(e)},changeEidtTabSourceInfo(t){for(const e in ot)t.editTabSourceInfo[e]=ot[e];for(const e in t.bookItemContent)t.editTabSourceInfo[e]=t.bookItemContent[e]},editHistory(t,e){let o;if(localStorage.getItem("history"))o=JSON.parse(localStorage.getItem("history")),o.new.push(e),o.new.length>50&&o.new.shift(),o.old.length>50&&o.old.shift(),localStorage.setItem("history",JSON.stringify(o));else{const t={new:[e],old:[]};localStorage.setItem("history",JSON.stringify(t))}},editHistoryUndo(t){if(localStorage.getItem("history")){let e=JSON.parse(localStorage.getItem("history"));e.old.push(t.bookItemContent),e.new.length&&(t.bookItemContent=e.new.pop()),localStorage.setItem("history",JSON.stringify(e))}},clearAllHistory(){localStorage.setItem("history",JSON.stringify({new:[],old:[]}))},clearEdit(t){t.editTabSourceInfo={},t.bookItemContent={...ot}},changeDeBugMsg(t,e){let o=document.querySelector("#debug_text");o.scrollTop=o.scrollHeight,t.deBugMsg=t.deBugMsg+e+"\n"},deBugMsgClear(t){t.deBugMsg=""},clearAllSource(t){t.bookSource=[],console.log("clear all source ")}},actions:{},modules:{}});const rt=t=>((0,r.dD)("data-v-ab8a8a34"),t=t(),(0,r.Cn)(),t),at={class:"fixed"},it=rt((()=>(0,r._)("div",{class:"half-circle-spinner"},[(0,r._)("div",{class:"circle circle-1"}),(0,r._)("div",{class:"circle circle-2"})],-1))),lt=[it];function ct(t,e,o,n,a,i){return(0,r.wg)(),(0,r.iD)("div",at,lt)}var st={name:"editLoading"};const ut=(0,c.Z)(st,[["render",ct],["__scopeId","data-v-ab8a8a34"]]);var dt=ut;const ht={key:0,class:"warm"};function pt(t,e,o,n,a,i){return o.isShow?((0,r.wg)(),(0,r.iD)("div",ht,[(0,r._)("p",null,(0,h.zw)(o.text),1),(0,r._)("div",null,[(0,r._)("button",{onClick:e[0]||(e[0]=(...t)=>n.changeShow&&n.changeShow(...t))},"关闭")])])):(0,r.kq)("",!0)}var gt={name:"editWarm",props:{isShow:{default:!1,type:Boolean},text:{type:String,default:""}},setup(t,{emit:e}){const o=()=>{e("changeShow",!t.isShow)};return{changeShow:o}}};const mt=(0,c.Z)(gt,[["render",pt],["__scopeId","data-v-27eae50d"]]);var bt=mt;const vt={class:"success"};function kt(t,e,o,n,a,i){return(0,r.wg)(),(0,r.iD)("div",vt,[(0,r._)("p",null,(0,h.zw)(o.text),1)])}var wt={props:{text:{type:String,default:""},isShow:{type:Boolean,default:!1}},emits:["changeShow"],setup(t,{emit:e}){return setTimeout((()=>{e("changeShow",!t.isShow)}),3e3),{}}};const St=(0,c.Z)(wt,[["render",kt],["__scopeId","data-v-bef92f74"]]);var Ct=St,_t={components:{editLoading:dt,editWarn:bt,editSuccess:Ct},setup(){const t=(0,y.iH)(!1),e=(0,y.iH)(!1),o=(0,y.iH)(""),n=(0,y.iH)(!1),a=(0,y.iH)(""),i=t=>{e.value=t},l=t=>{console.log(t),n.value=t},c=()=>{t.value=!0,Q("getBookSources").then((e=>{nt.commit("changeTabName","editList"),nt.commit("changeSource",e.data),t.value=!1,o.value=`成功拉取${e.data.length}条源`,n.value=!0})).catch((o=>{console.log(o),t.value=!1,a.value=" 请求发生了错误,请检查你的后端地址,填写是否正确,或者 阅读APP\n确认开启web服务",e.value=!0}))},s=()=>{o.value="正在推送中",n.value=!0,t.value=!0,Q("saveBookSources",nt.state.bookSource).then((r=>{if(r.isSuccess){let t=r.data;if(Array.isArray(t)){let e="";nt.state.bookSource.length>t.length&&(nt.state.bookSource.forEach((e=>{t.find((t=>t.bookSourceUrl===e.bookSourceUrl))||console.log(e.bookSourceUrl)})),e="\n推送失败的源将用红色字体标注!"),o.value=`批量推送源到「阅读3.0APP」\n共计: ${nt.state.bookSource.length} 条\n成功: ${t.length} 条\n失败: ${nt.state.bookSource.length-t.length} 条${e}`,n.value=!0}else o.value=`批量推送源到「阅读3.0APP」成功!\n共计: ${nt.state.bookSource.length} 条`,n.value=!0}else a.value=`批量推送源失败!\nErrorMsg: ${r.errorMsg}`,e.value=!0;t.value=!1})).catch((o=>{console.log(o),t.value=!1,e.value=!0,a.value="请求发生了错误,请检查你的后端地址,填写是否正确,或者 阅读APP\n确认开启web服务"}))},u=()=>{nt.commit("changeEidtTabSourceInfo"),nt.commit("changeTabName","editTab")},d=()=>{nt.commit("editHistoryUndo")},h=()=>{nt.commit("clearEdit"),console.log("已清除"),o.value="已清除",n.value=!0},p=()=>{nt.commit("clearEdit"),nt.commit("clearAllHistory"),o.value="已清除所有历史记录",n.value=!0},g=()=>{""!==nt.state.bookItemContent.bookSourceUrl&&""!==nt.state.bookItemContent.bookSourceType&&""!==nt.state.bookItemContent.bookSourceName?Q("saveBookSources",nt.state.bookItemContent).then((t=>{t.isSuccess?(o.value=`源《${nt.state.bookItemContent.bookSourceName}》已成功保存到「阅读3.0APP」`,n.value=!0):(a.value=`源《${nt.state.bookItemContent.bookSourceName}》保存失败!\nErrorMsg: ${t.errorMsg}`,e.value=!0)})):(a.value="请检查你的 源域名 源名称 源类型 <必填>项是否全部填写",e.value=!0)},m=()=>{t.value=!0,nt.commit("deBugMsgClear"),nt.commit("changeTabName","editDebug"),Q("saveBookSources",nt.state.bookItemContent).then((e=>{let r;if(console.log(e),null===localStorage.getItem("url"))r=location.host.replace(/\d+$/,(t=>parseInt(t)+1))+"/bookSourceDebug";else{let t=localStorage.getItem("url");r=t.replace(/\d+$/,(t=>parseInt(t)+1))+"/bookSourceDebug"}console.log(r);const a=new WebSocket("ws://"+r);let i;nt.state.bookItemContent.ruleSearch.checkKeyWord?(i=nt.state.bookItemContent.ruleSearch.checkKeyWord,console.log(i,"-------- bookItemContent")):nt.state.searchKey?(i=nt.state.searchKey,console.log(i,"----------- searchKey")):(i="我的",console.log(i,"-------------- sKey")),a.onopen=()=>{a.send(`{"tag":"${nt.state.bookItemContent.bookSourceUrl}", "key":"${i}"}`)},a.onmessage=t=>{nt.commit("changeDeBugMsg",t.data)},a.onclose=()=>{t.value=!1,o.value="调试已关闭!",n.value=!0,nt.commit("changeDeBugMsg","调试已关闭!")}}))};return(0,r.bv)((()=>{document.onkeydown=t=>{(t.ctrlKey||t.metaKey)&&"Enter"===t.key&&m(),(t.ctrlKey||t.metaKey)&&"s"===t.key&&(g(),t.preventDefault()),t.shiftKey&&"R"===t.key&&p(),t.shiftKey&&"C"===t.key&&h(),t.ctrlKey&&"e"===t.key&&(u(),t.preventDefault()),t.shiftKey&&"P"===t.key&&c(),t.ctrlKey&&"p"===t.key&&(s(),t.preventDefault())}})),{debug:m,push:s,pull:c,clearEdit:h,isShow:t,changeShow:i,warnShow:e,successText:o,changeSuccessShow:l,successShow:n,undo:d,redo:p,conver:u,warnText:a,saveSource:g}}};const ft=(0,c.Z)(_t,[["render",G],["__scopeId","data-v-7d09e592"]]);var yt=ft;const It={class:"out"};function Dt(t,e,o,n,a,i){return(0,r.wg)(),(0,r.iD)("div",It,[(0,r._)("ul",null,[(0,r._)("li",{class:(0,h.C_)("editTab"===t.current_tab?"active":""),onClick:e[0]||(e[0]=t=>n.handleSetActive("editTab"))}," 编辑源 ",2),(0,r._)("li",{class:(0,h.C_)("editDebug"===t.current_tab?"active":""),onClick:e[1]||(e[1]=t=>n.handleSetActive("editDebug"))}," 调试源 ",2),(0,r._)("li",{class:(0,h.C_)("editList"===t.current_tab?"active":""),onClick:e[2]||(e[2]=t=>n.handleSetActive("editList"))}," 源列表 ",2),(0,r._)("li",{class:(0,h.C_)("editHelp"===t.current_tab?"active":""),onClick:e[3]||(e[3]=t=>n.handleSetActive("editHelp"))}," 帮助信息 ",2)]),((0,r.wg)(),(0,r.j4)(r.Ob,null,[((0,r.wg)(),(0,r.j4)((0,r.LL)(t.current_tab)))],1024))])}function Ut(t,e,o,a,i,l){return(0,r.wy)(((0,r.wg)(),(0,r.iD)("textarea",{placeholder:"这里输出序列化的JSON数据,可直接导入'阅读'APP","onUpdate:modelValue":e[0]||(e[0]=e=>t.sourceInfo=e)},null,512)),[[n.nr,t.sourceInfo]])}var xt={name:"editTab",setup(){const t=(0,y.qj)({sourceInfo:""});return(0,r.m0)((()=>{let e=nt.state.editTabSourceInfo;Object.keys(e).length>0?(e.lastUpdateTime=(new Date).getTime(),t.sourceInfo=JSON.stringify(e,null,4)):t.sourceInfo=""})),{...(0,y.BK)(t)}}};const Tt=(0,c.Z)(xt,[["render",Ut],["__scopeId","data-v-4301c68c"]]);var Bt=Tt;function Kt(t,e,o,a,i,l){return(0,r.wg)(),(0,r.iD)(r.HY,null,[(0,r.wy)((0,r._)("input",{type:"text",style:{"text-align":"center",border:"1px solid #dddddd","border-radius":"4px"},placeholder:"输入搜索关键字,默认搜「我的」","onUpdate:modelValue":e[0]||(e[0]=e=>t.searchKey=e),onInput:e[1]||(e[1]=e=>a.changeSearch(t.searchKey)),onKeydown:e[2]||(e[2]=(0,n.D2)(((...t)=>a.startSearch&&a.startSearch(...t)),["enter"])),title:"输入关键词 enter(回车键)快捷搜索"},null,544),[[n.nr,t.searchKey]]),(0,r.wy)((0,r._)("textarea",{placeholder:"这里用于输出调试信息","onUpdate:modelValue":e[3]||(e[3]=e=>t.printDebug=e),ref:"textareaDom",id:"debug_text"},null,512),[[n.nr,t.printDebug]])],64)}var At={name:"editDebug",setup(){const t=(0,y.iH)(""),e=(0,y.qj)({printDebug:nt.state.deBugMsg,searchKey:""}),o=t=>{nt.commit("changeSearchKey",t)};(0,r.m0)((()=>{e.printDebug=nt.state.deBugMsg}));const n=()=>{document.querySelectorAll(".menu>button")[6].click()};return{...(0,y.BK)(e),textareaDom:t,changeSearch:o,startSearch:n}}};const jt=(0,c.Z)(At,[["render",Kt],["__scopeId","data-v-f11ea0d0"]]);var Et=jt;const Ht={style:{display:"flex","flex-flow":"column"}},Nt={class:"tool"},Ot={class:"book_list"},Lt=["value"],Pt={class:"book_index"},Jt=["onClick"],Zt={class:"book_info"};function qt(t,e,o,a,i,l){return(0,r.wg)(),(0,r.iD)("div",Ht,[(0,r.wy)((0,r._)("input",{class:"search",type:"text",placeholder:"输入筛选关键词(源名称、源URL或源分组)输入自动筛选源","onUpdate:modelValue":e[0]||(e[0]=e=>t.searchKey=e),onInput:e[1]||(e[1]=e=>a.sourcesList(t.searchKey)),onFocus:e[2]||(e[2]=e=>t.delArr=[])},null,544),[[n.nr,t.searchKey]]),(0,r._)("div",null,[(0,r._)("div",Nt,[(0,r._)("button",{onClick:e[3]||(e[3]=(...t)=>a.upFile&&a.upFile(...t))},"导入书源文件"),(0,r._)("button",{onClick:e[4]||(e[4]=(...t)=>a.outExport&&a.outExport(...t))},"导出书源文件"),(0,r._)("button",{onClick:e[5]||(e[5]=(...t)=>a.deleteActiveSource&&a.deleteActiveSource(...t))},"删除选中源"),(0,r._)("button",{onClick:e[6]||(e[6]=(...t)=>a.clearAllSources&&a.clearAllSources(...t))},"清空列表")]),(0,r._)("div",Ot,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(a.sourcesList(t.searchKey),((o,i)=>((0,r.wg)(),(0,r.iD)("div",{key:o.bookSourceUrl,class:(0,h.C_)(["book_item",i===a.currentActive?"book_active":""])},[(0,r.wy)((0,r._)("input",{type:"checkbox",value:i,"onUpdate:modelValue":e[7]||(e[7]=e=>t.delArr=e)},null,8,Lt),[[n.e8,t.delArr]]),(0,r._)("div",Pt,(0,h.zw)(i+1),1),(0,r._)("div",{style:{"margin-left":"10px",flex:"1"},onClick:t=>a.handleItemClick(i)},[(0,r._)("div",Zt,[(0,r._)("span",null,(0,h.zw)(o.bookSourceName),1),(0,r._)("span",null,"最后修改:"+(0,h.zw)(a.formatTime(o.lastUpdateTime)),1),(0,r._)("span",null,"分组:"+(0,h.zw)(o.bookSourceGroup||"无分组"),1)]),(0,r._)("div",null,(0,h.zw)(o.bookSourceUrl),1)],8,Jt)],2)))),128))])])])}var Wt={name:"editList",setup(){const t=(0,y.iH)(nt.state.bookSource);let e=(0,y.qj)({searchKey:"",delArr:[]}),o=(0,y.iH)(null);const n=t=>{o.value=t,nt.commit("clearEdit"),nt.commit("changeBookItemContent",l(e.searchKey)[t])},a=()=>{nt.commit("clearAllSource")},i=t=>{const e=new Date(t),o=e.getFullYear();let n=e.getMonth()+1;n=n<10?"0"+n:n;let r=e.getDate();r=r<10?"0"+r:r;let a=e.getHours();a=a<10?"0"+a:a;let i=e.getMinutes();i=i<10?"0"+i:i;let l=e.getSeconds();return l=l<10?"0"+l:l,o+"-"+n+"-"+r+" "+a+":"+i+":"+l},l=e=>""===e?t.value:t.value.filter((t=>t.bookSourceName.toUpperCase().includes(e.toUpperCase())))||t.value.filter((t=>t.bookSourceGroup.toUpperCase().includes(e.toUpperCase())))||t.value.filter((t=>t.bookSourceUrl.toUpperCase().includes(e.toUpperCase())));(0,r.m0)((()=>{t.value=nt.state.bookSource}));const c=()=>{if(0===e.delArr.length)return console.log("没有选中的书源"),!1;const o=[],n=l(e.searchKey);e.delArr.forEach((t=>{o.push(n[t])})),Q("deleteBookSources",o).then((o=>{o.isSuccess?(console.log("删除成功"),e.delArr.forEach((t=>{n.splice(t,1),console.log(t)})),e.delArr=[],Q("getBookSources").then((e=>{t.value=e.data,console.log("同步完成!")}))):console.log("错误",o)}))},s=()=>{const t=document.createElement("input");t.type="file",t.accept=".json",t.addEventListener("change",(t=>{const e=t.target.files[0];var o=new FileReader;o.readAsText(e),o.onload=()=>{const t=JSON.parse(o.result);nt.commit("changeBookSource",t)}})),t.click()},u=()=>{const t=document.createElement("a");t.download=`BookSources${Date().replace(/.*?\s(\d+)\s(\d+)\s(\d+:\d+:\d+).*/,"$2$1$3").replace(/:/g,"")}.json`;let e=new Blob([JSON.stringify(nt.state.bookSource,null,4)],{type:"application/json"});t.href=window.URL.createObjectURL(e),t.click()};return{currentActive:o,deleteActiveSource:c,handleItemClick:n,...(0,y.BK)(e),formatTime:i,sourcesList:l,clearAllSources:a,bookSources:t,upFile:s,outExport:u}}};const Mt=(0,c.Z)(Wt,[["render",qt],["__scopeId","data-v-260cb454"]]);var $t=Mt;const Rt=(0,r.uE)('书源制作教程xpath基础教程xpath高级教程正则表达式教程正则表达式在线验证工具
^$()[]{}.?+*| 这些是Java正则特殊符号,匹配需转义
(?s) 前缀表示跨行解析
(?m) 前缀表示逐行匹配
(?i) 前缀表示忽略大小写
',6);function Yt(t,e,o,n,r,a){return Rt}var zt={name:"editHelp"};const Vt=(0,c.Z)(zt,[["render",Yt],["__scopeId","data-v-c4c82b2c"]]);var Ft=Vt,Gt={name:"editOut",components:{editDebug:Et,editTab:Bt,editList:$t,editHelp:Ft},setup(){const t=(0,y.qj)({url:localStorage.getItem("url")||"",current_tab:nt.state.currentTab||"editTab"}),e=t=>{nt.commit("changeTabName",t),localStorage.setItem("tabName",t)},o=t=>{nt.commit("changeUrl",t)};(0,r.m0)((()=>{t.current_tab=nt.state.currentTab}));const n=()=>{document.querySelectorAll(".menu>button")[1].click()};return{...(0,y.BK)(t),handleSetActive:e,changInput:o,pullSource:n}}};const Qt=(0,c.Z)(Gt,[["render",Dt]]);var Xt=Qt,te={components:{editMenu:yt,editOut:Xt},setup(){const t=(0,y.qj)({});return(0,r.bv)((()=>{})),{...(0,y.BK)(t)}}};const ee=(0,c.Z)(te,[["render",f],["__scopeId","data-v-de4729c0"]]);var oe=ee;const ne={class:"main"};function re(t,e,o,n,a,i){const l=(0,r.up)("edit-input");return(0,r.wg)(),(0,r.iD)("div",ne,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((e,o)=>((0,r.wg)(),(0,r.j4)(l,{key:o,type:e.id,hint:e.hint,title:e.title,rows:e.rows,content:t.bookContent[e.id],onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))])}const ae=t=>((0,r.dD)("data-v-3974490a"),t=t(),(0,r.Cn)(),t),ie={class:"edit_input"},le=ae((()=>(0,r._)("i",null,":",-1))),ce=["id","placeholder","rows","value"];function se(t,e,o,n,a,i){return(0,r.wg)(),(0,r.iD)("div",ie,[(0,r._)("span",null,[(0,r.Uk)((0,h.zw)(o.title),1),le]),(0,r._)("textarea",{id:o.type,placeholder:o.hint,rows:o.rows,value:o.content,ref:"attr",onInput:e[0]||(e[0]=(...t)=>n.change&&n.change(...t)),onBlur:e[1]||(e[1]=(...t)=>n.changeHistory&&n.changeHistory(...t)),onFocus:e[2]||(e[2]=(...t)=>n.changeHeight&&n.changeHeight(...t))},null,40,ce)])}var ue={props:{title:{type:String,default:""},rows:{type:Number,default:1},hint:{type:String,default:""},type:{type:String,default:""},content:{type:[String,Number,Boolean],default:""}},emits:["changeContent"],setup(t,{emit:e}){const o=(0,y.iH)(""),n=()=>{e("changeContent",{value:o.value.value,type:o.value.getAttribute("id")})},a=()=>{localStorage.getItem("history")||localStorage.setItem("history",JSON.stringify({new:[],old:[]}));const t=JSON.parse(localStorage.getItem("history")),e=t.new;if(e.length)if(e[e.length-1][o.value.getAttribute("id")]!==nt.state.bookItemContent[o.value.getAttribute("id")])nt.commit("editHistory",nt.state.bookItemContent);else{const t=o.value.getAttribute("id");if(t.includes("_")){let o=t.split("_")[0],n=t.split("_")[1];e[e.length-1][o][n]!==nt.state.bookItemContent[o][n]&&(nt.commit("editHistory",nt.state.bookItemContent),console.log("添加记录"))}else console.log("重复历史,不记录")}else nt.commit("editHistory",nt.state.bookItemContent),console.log("第一次记录")},i=()=>{(0,r.Y3)((()=>{let t=o.value;const e=t.scrollHeight,n=t.offsetHeight;n<=e&&(t.style.height="auto",t.style.height=t.scrollHeight+"px")}))};return{changeHistory:a,change:n,attr:o,changeHeight:i}}};const de=(0,c.Z)(ue,[["render",se],["__scopeId","data-v-3974490a"]]);var he=de,pe={base:[{title:"源域名",rows:1,id:"bookSourceUrl",hint:"<必填>通常填写网站主页,例: https://www.qidian.com"},{title:"源类型",rows:1,id:"bookSourceType",hint:"<必填>0:文本 1:音频 2:图片 3:文件(只提供下载的网站)"},{title:"源名称",rows:1,id:"bookSourceName",hint:"<必填>会显示在源列表"},{title:"源分组",rows:1,id:"bookSourceGroup",hint:"<选填>描述源的特征信息"},{title:"源注释",rows:1,id:"bookSourceComment",hint:"<选填>描述源作者和状态"},{title:"登录地址",rows:1,id:"loginUrl",hint:"<选填>填写网站登录网址,仅在需要登录的源有用"},{title:"登录界面",rows:3,id:"loginUi",hint:"<选填>自定义登录界面"},{title:"登录检测",rows:3,id:"loginCheckJs",hint:"<选填>登录检测js"},{title:"并发率",rows:1,id:"concurrentRate",hint:"<选填>并发率"},{title:"请求头",rows:3,id:"header",hint:"<选填>客户端标识"},{title:"链接验证",rows:1,id:"bookUrlPattern",hint:"<选填>当详情页URL与源URL的域名不一致时有效,用于添加网址"}],search:[{title:"搜索地址",rows:1,id:"searchUrl",hint:"[域名可省略]/search.php@kw={{key}}"},{title:"校验文字",rows:1,id:"ruleSearch_checkKeyWord",hint:"校验关键字"},{title:"列表规则",rows:1,id:"ruleSearch_bookList",hint:"选择书籍节点 (规则结果为List)"},{title:"书名规则",rows:1,id:"ruleSearch_name",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",rows:1,id:"ruleSearch_author",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",rows:1,id:"ruleSearch_kind",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",rows:1,id:"ruleSearch_wordCount",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",rows:1,id:"ruleSearch_lastChapter",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",rows:1,id:"ruleSearch_intro",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",rows:1,id:"ruleSearch_coverUrl",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",rows:1,id:"ruleSearch_bookUrl",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}],find:[{title:"发现地址",rows:6,id:"exploreUrl",hint:"内容能显示在发现菜单\n每行一条发现分类(网址域名可省略),例:\n名称1::网址(Url)1\n名称2::网址(Url)2\n..."},{title:"列表规则",rows:1,id:"ruleExplore_bookList",hint:"选择书籍节点 (规则结果为List)"},{title:"书名规则",rows:1,id:"ruleExplore_name",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",rows:1,id:"ruleExplore_author",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",rows:1,id:"ruleExplore_kind",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",rows:1,id:"ruleExplore_wordCount",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",rows:1,id:"ruleExplore_lastChapter",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",rows:1,id:"ruleExplore_intro",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",rows:1,id:"ruleExplore_coverUrl",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",rows:1,id:"ruleExplore_bookUrl",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}],detail:[{title:"预处理",rows:3,id:"ruleBookInfo_init",hint:"用于加速详情信息检索,只支持AllInOne规则"},{title:"书名规则",rows:1,id:"ruleBookInfo_name",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",rows:1,id:"ruleBookInfo_author",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",rows:1,id:"ruleBookInfo_kind",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",rows:1,id:"ruleBookInfo_wordCount",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",rows:1,id:"ruleBookInfo_lastChapter",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",rows:1,id:"ruleBookInfo_intro",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",rows:1,id:"ruleBookInfo_coverUrl",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"目录地址",rows:1,id:"ruleBookInfo_tocUrl",hint:"选择书籍详情页网址 (规则结果为String类型的url, 与详情页相同时可省略)"}],directory:[{title:"列表规则",rows:3,id:"ruleToc_chapterList",hint:"选择目录列表的章节节点 (规则结果为List)"},{title:"章节名称",rows:1,id:"ruleToc_chapterName",hint:"选择章节名称 (规则结果为String)"},{title:"章节地址",rows:1,id:"ruleToc_chapterUrl",hint:"选择章节链接 (规则结果为String类型的Url)"},{title:"卷名标识",rows:1,id:"ruleToc_isVolume",hint:"章节名称是否是卷名 (规则结果为Bool)"},{title:"收费标识",rows:1,id:"ruleToc_isVip",hint:"章节是否为VIP章节 (规则结果为Bool)"},{title:"购买标识",rows:1,id:"ruleToc_isPay",hint:"章节是否为已购买 (规则结果为Bool)"},{title:"章节信息",rows:1,id:"ruleToc_updateTime",hint:"选择章节信息 (规则结果为String)"},{title:"翻页规则",rows:1,id:"ruleToc_nextTocUrl",hint:"选择目录下一页链接 (规则结果为List或String)"}],content:[{title:"脚本注入",rows:3,id:"ruleContent_webJs",hint:"注入javascript,用于模拟鼠标点击等,必须有返回值,一般为String类型"},{title:"正文规则",rows:1,id:"ruleContent_content",hint:"选择正文内容 (规则结果为String)"},{title:"翻页规则",rows:1,id:"ruleContent_nextContentUrl",hint:"选择下一分页(不是下一章)链接 (规则结果为String类型的Url)"},{title:"资源正则",rows:1,id:"ruleContent_sourceRegex",hint:"匹配资源的url特征,用于嗅探"},{title:"替换规则",rows:1,id:"ruleContent_replaceRegex",hint:"多页内容合并后替换,用于正文净化"},{title:"图片样式",rows:1,id:"ruleContent_imageStyle",hint:"FULL:铺满 不填:默认样式"},{title:"购买操作",rows:1,id:"ruleContent_payAction",hint:"购买章节 返回链接或js"}],other:[{title:"启用搜索",rows:1,id:"enabled",hint:"启用: true 关闭: false (可选,默认true)"},{title:"启用发现",rows:1,id:"enabledExplore",hint:"启用: true 关闭: false (可选,默认true)"},{title:"搜索权重",rows:1,id:"weight",hint:"整数: 0~N (可选,默认0) | 数字越大越靠前"},{title:"排序编号",rows:1,id:"customOrder",hint:"整数: 0~N (可选,默认0) | 数字越小越靠前"}]},ge={components:{editInput:he},setup(){const t=(0,y.qj)({data:pe.base,bookContent:nt.state.bookItemContent}),e=t=>{nt.commit("changeBookItemNewContent",t)};return(0,r.m0)((()=>{t.bookContent=nt.state.bookItemContent})),{...(0,y.BK)(t),upData:e}}};const me=(0,c.Z)(ge,[["render",re]]);var be=me;const ve={class:"main"};function ke(t,e,o,n,a,i){const l=(0,r.up)("edit-input");return(0,r.wg)(),(0,r.iD)("div",ve,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((t,e)=>((0,r.wg)(),(0,r.j4)(l,{key:e,type:t.id,hint:t.hint,title:t.title,rows:t.rows,content:n.setContent(t.id),onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))])}function we(){const t=(0,y.qj)({bookContent:nt.state.bookItemContent}),e=t=>{nt.commit("changeBookItemNewContent",t)},o=e=>{try{if(e.includes("_")){let o=e.split("_")[0],n=e.split("_")[1];return t.bookContent[o][n]}return t.bookContent[e]}catch(o){console.log("导入错误",o.TypeError),nt.commit("clearEdit")}};return(0,r.m0)((()=>{t.bookContent=nt.state.bookItemContent})),{...(0,y.BK)(t),upData:e,setContent:o}}var Se={components:{editInput:he},setup(){const{upData:t,bookContent:e,setContent:o}=we(),n=(0,y.qj)({data:pe.search});return{...(0,y.BK)(n),upData:t,bookContent:e,setContent:o}}};const Ce=(0,c.Z)(Se,[["render",ke]]);var _e=Ce;const fe={class:"main"};function ye(t,e,o,n,a,i){const l=(0,r.up)("edit-input");return(0,r.wg)(),(0,r.iD)("div",fe,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((t,e)=>((0,r.wg)(),(0,r.j4)(l,{key:e,type:t.id,hint:t.hint,title:t.title,rows:t.rows,content:n.setContent(t.id),onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))])}var Ie={components:{editInput:he},setup(){const{upData:t,setContent:e,bookContent:o}=we(),n=(0,y.qj)({data:pe.directory});return{...(0,y.BK)(n),upData:t,setContent:e,bookContent:o}}};const De=(0,c.Z)(Ie,[["render",ye]]);var Ue=De;const xe={class:"main"};function Te(t,e,o,n,a,i){const l=(0,r.up)("edit-input");return(0,r.wg)(),(0,r.iD)("div",xe,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((t,e)=>((0,r.wg)(),(0,r.j4)(l,{key:e,type:t.id,hint:t.hint,title:t.title,rows:t.rows,content:n.setContent(t.id),onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))])}var Be={components:{editInput:he},setup(){const{setContent:t,upData:e,bookContent:o}=we(),n=(0,y.qj)({data:pe.content});return{...(0,y.BK)(n),upData:e,setContent:t,bookContent:o}}};const Ke=(0,c.Z)(Be,[["render",Te]]);var Ae=Ke;const je={class:"main"};function Ee(t,e,o,n,a,i){const l=(0,r.up)("edit-input");return(0,r.wg)(),(0,r.iD)("div",je,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((t,e)=>((0,r.wg)(),(0,r.j4)(l,{key:e,type:t.id,hint:t.hint,title:t.title,rows:t.rows,content:n.setContent(t.id),onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))])}var He={components:{editInput:he},setup(){const{upData:t,bookContent:e,setContent:o}=we(),n=(0,y.qj)({data:pe.detail});return{...(0,y.BK)(n),upData:t,bookContent:e,setContent:o}}};const Ne=(0,c.Z)(He,[["render",Ee]]);var Oe=Ne;const Le={class:"main"};function Pe(t,e,o,n,a,i){const l=(0,r.up)("edit-input"),c=(0,r.up)("router-view");return(0,r.wg)(),(0,r.iD)(r.HY,null,[(0,r._)("div",Le,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((t,e)=>((0,r.wg)(),(0,r.j4)(l,{key:e,type:t.id,hint:t.hint,title:t.title,rows:t.rows,content:n.setContent(t.id),onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))]),(0,r.Wm)(c)],64)}var Je={components:{editInput:he},setup(){const{upData:t,bookContent:e,setContent:o}=we(),n=(0,y.qj)({data:pe.other});return{...(0,y.BK)(n),upData:t,bookContent:e,setContent:o}}};const Ze=(0,c.Z)(Je,[["render",Pe]]);var qe=Ze;const We={class:"main"};function Me(t,e,o,n,a,i){const l=(0,r.up)("edit-input");return(0,r.wg)(),(0,r.iD)("div",We,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(t.data,((t,e)=>((0,r.wg)(),(0,r.j4)(l,{key:e,type:t.id,hint:t.hint,title:t.title,rows:t.rows,content:n.setContent(t.id),onChangeContent:n.upData},null,8,["type","hint","title","rows","content","onChangeContent"])))),128))])}var $e={components:{editInput:he},setup(){const{upData:t,setContent:e,bookContent:o}=we(),n=(0,y.qj)({data:pe.find});return{...(0,y.BK)(n),upData:t,setContent:e,bookContent:o}}};const Re=(0,c.Z)($e,[["render",Me]]);var Ye=Re;const ze=[{path:"/",redirect:{name:"home"}},{path:"/bookSource",name:"home",component:oe,redirect:{name:"base"},children:[{path:"/bookSource/base",name:"base",component:be},{path:"/bookSource/search",name:"search",component:_e},{path:"/bookSource/find",name:"find",component:Ye},{path:"/bookSource/detail",name:"detail",component:Oe},{path:"/bookSource/directory",name:"directory",component:Ue},{path:"/bookSource/content",name:"content",component:Ae},{path:"/bookSource/other",name:"other",component:qe},{path:"/bookSource/:asdasdasd/:asdasdas",redirect:{name:"home"}}]},{path:"/:asdasdasd",redirect:{name:"home"}},{path:"/bookSource/:asdasdasda",redirect:{name:"home"}}],Ve=(0,d.p7)({history:(0,d.r5)(),routes:ze});var Fe=Ve;(0,n.ri)(u).use(nt).use(Fe).mount("#app")}},e={};function o(n){var r=e[n];if(void 0!==r)return r.exports;var a=e[n]={exports:{}};return t[n](a,a.exports,o),a.exports}o.m=t,function(){var t=[];o.O=function(e,n,r,a){if(!n){var i=1/0;for(u=0;u=a)&&Object.keys(o.O).every((function(t){return o.O[t](n[c])}))?n.splice(c--,1):(l=!1,a0&&t[u-1][2]>a;u--)t[u]=t[u-1];t[u]=[n,r,a]}}(),function(){o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})}}(),function(){o.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"===typeof window)return window}}()}(),function(){o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}}(),function(){var t={143:0};o.O.j=function(e){return 0===t[e]};var e=function(e,n){var r,a,i=n[0],l=n[1],c=n[2],s=0;if(i.some((function(e){return 0!==t[e]}))){for(r in l)o.o(l,r)&&(o.m[r]=l[r]);if(c)var u=c(o)}for(e&&e(n);s\n
\n \n
\n\n\n\n\n\n","import { render } from \"./App.vue?vue&type=template&id=c114d7a2\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=c114d7a2&lang=scss\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","\n\n\n\n\n\n","/**\n * 发送后端请求\n * @param type 请求资源URL\n * @param data 保存数据\n * @returns {Promise}\n */\nfunction http(type, data) {\n let formatUrl;\n if (localStorage.getItem(\"url\") === null) {\n formatUrl = \"http://\" + location.host + \"/\" + type;\n } else {\n formatUrl = \"http://\" + localStorage.getItem(\"url\") + \"/\" + type;\n }\n console.log(formatUrl);\n switch (type) {\n case \"getBookSources\":\n return Get(formatUrl);\n case \"saveBookSources\":\n return Post(formatUrl, data);\n case \"deleteBookSources\":\n return Post(formatUrl, data);\n }\n}\n\nexport { http };\n\n/**\n * POST请求\n * @param url\n * @param body\n * @returns {Promise}\n * @constructor\n */\nfunction Post(url, body) {\n return fetch(url, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }).then((res) => res.json());\n}\n\n/**\n * GET请求\n * @param url\n * @returns {Promise}\n * @constructor\n */\nfunction Get(url) {\n return fetch(url).then((res) => res.json());\n}\n","import { createStore } from \"vuex\";\nimport source_json from \"@/utils/bookSource.json\";\n\nexport default createStore({\n state: {\n url: localStorage.getItem(\"url\") || \"\",\n bookSource: [], // 临时存放所有书源\n bookItemContent: source_json, // 当前点击的书源项\n currentTab: localStorage.getItem(\"tabName\") || \"editTab\",\n editTabSourceInfo: {},\n deBugMsg: \"\",\n searchKey: \"\",\n },\n getters: {},\n mutations: {\n changeSearchKey(state, key) {\n state.searchKey = key;\n },\n\n changeSource(state, data) {\n state.bookSource = data;\n },\n changeBookSource(state, data) {\n state.bookSource = data;\n },\n // editList Click\n changeBookItemContent(state, content) {\n const newContent = JSON.stringify(content);\n state.bookItemContent = JSON.parse(newContent);\n // console.log(content);\n },\n // edit Content\n changeBookItemNewContent(state, newContent) {\n if (newContent.type.includes(\"_\")) {\n let rule1 = newContent.type.split(\"_\")[0];\n let rule2 = newContent.type.split(\"_\")[1];\n state.bookItemContent[rule1][rule2] = newContent.value;\n // console.log(rule1, rule2, state.bookItemContent);\n // console.log(newContent);\n } else {\n state.bookItemContent[newContent.type] = newContent.value;\n // edit last time\n state.bookItemContent.lastUpdateTime = new Date().getTime();\n }\n // console.log(state.bookItemContent);\n },\n // update editTab tabName and editTab info\n changeTabName(state, tabName) {\n state.currentTab = tabName;\n localStorage.setItem(\"tabName\", tabName);\n\n console.log(tabName);\n },\n changeEidtTabSourceInfo(state) {\n // edit last time\n for (const sourceJsonKey in source_json) {\n state.editTabSourceInfo[sourceJsonKey] = source_json[sourceJsonKey];\n }\n for (const bookItemContentKey in state.bookItemContent) {\n state.editTabSourceInfo[bookItemContentKey] =\n state.bookItemContent[bookItemContentKey];\n }\n },\n editHistory(state, history) {\n let historyObj;\n if (localStorage.getItem(\"history\")) {\n historyObj = JSON.parse(localStorage.getItem(\"history\"));\n historyObj.new.push(history);\n if (historyObj.new.length > 50) {\n historyObj.new.shift();\n }\n if (historyObj.old.length > 50) {\n historyObj.old.shift();\n }\n localStorage.setItem(\"history\", JSON.stringify(historyObj));\n } else {\n const arr = { new: [history], old: [] };\n localStorage.setItem(\"history\", JSON.stringify(arr));\n }\n },\n editHistoryUndo(state) {\n if (localStorage.getItem(\"history\")) {\n let historyObj = JSON.parse(localStorage.getItem(\"history\"));\n historyObj.old.push(state.bookItemContent);\n if (historyObj.new.length) {\n state.bookItemContent = historyObj.new.pop();\n }\n localStorage.setItem(\"history\", JSON.stringify(historyObj));\n }\n },\n clearAllHistory() {\n localStorage.setItem(\"history\", JSON.stringify({ new: [], old: [] }));\n },\n clearEdit(state) {\n state.editTabSourceInfo = {};\n state.bookItemContent = { ...source_json };\n // console.log(source_json);\n // console.log(state.bookItemContent);\n },\n changeDeBugMsg(state, msg) {\n let el = document.querySelector(\"#debug_text\");\n el.scrollTop = el.scrollHeight;\n state.deBugMsg = state.deBugMsg + msg + \"\\n\";\n },\n deBugMsgClear(state) {\n state.deBugMsg = \"\";\n },\n\n // clear all source\n clearAllSource(state) {\n state.bookSource = [];\n console.log(\"clear all source \");\n },\n },\n actions: {},\n modules: {},\n});\n","\n\n\n\n\n","import { render } from \"./editLoading.vue?vue&type=template&id=ab8a8a34&scoped=true\"\nimport script from \"./editLoading.vue?vue&type=script&lang=js\"\nexport * from \"./editLoading.vue?vue&type=script&lang=js\"\n\nimport \"./editLoading.vue?vue&type=style&index=0&id=ab8a8a34&scoped=true&lang=css\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ab8a8a34\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editWarn.vue?vue&type=template&id=27eae50d&scoped=true\"\nimport script from \"./editWarn.vue?vue&type=script&lang=js\"\nexport * from \"./editWarn.vue?vue&type=script&lang=js\"\n\nimport \"./editWarn.vue?vue&type=style&index=0&id=27eae50d&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-27eae50d\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editSuccess.vue?vue&type=template&id=bef92f74&scoped=true\"\nimport script from \"./editSuccess.vue?vue&type=script&lang=js\"\nexport * from \"./editSuccess.vue?vue&type=script&lang=js\"\n\nimport \"./editSuccess.vue?vue&type=style&index=0&id=bef92f74&scoped=true&lang=css\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-bef92f74\"]])\n\nexport default __exports__","import { render } from \"./editMenu.vue?vue&type=template&id=7d09e592&scoped=true\"\nimport script from \"./editMenu.vue?vue&type=script&lang=js\"\nexport * from \"./editMenu.vue?vue&type=script&lang=js\"\n\nimport \"./editMenu.vue?vue&type=style&index=0&id=7d09e592&lang=css\"\nimport \"./editMenu.vue?vue&type=style&index=1&id=7d09e592&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7d09e592\"]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n","import { render } from \"./editTab.vue?vue&type=template&id=4301c68c&scoped=true\"\nimport script from \"./editTab.vue?vue&type=script&lang=js\"\nexport * from \"./editTab.vue?vue&type=script&lang=js\"\n\nimport \"./editTab.vue?vue&type=style&index=0&id=4301c68c&scoped=true&lang=css\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4301c68c\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editDebug.vue?vue&type=template&id=f11ea0d0&scoped=true\"\nimport script from \"./editDebug.vue?vue&type=script&lang=js\"\nexport * from \"./editDebug.vue?vue&type=script&lang=js\"\n\nimport \"./editDebug.vue?vue&type=style&index=0&id=f11ea0d0&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f11ea0d0\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editList.vue?vue&type=template&id=260cb454&scoped=true\"\nimport script from \"./editList.vue?vue&type=script&lang=js\"\nexport * from \"./editList.vue?vue&type=script&lang=js\"\n\nimport \"./editList.vue?vue&type=style&index=0&id=260cb454&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-260cb454\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./editHelp.vue?vue&type=template&id=c4c82b2c&scoped=true\"\nimport script from \"./editHelp.vue?vue&type=script&lang=js\"\nexport * from \"./editHelp.vue?vue&type=script&lang=js\"\n\nimport \"./editHelp.vue?vue&type=style&index=0&id=c4c82b2c&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c4c82b2c\"]])\n\nexport default __exports__","import { render } from \"./editOut.vue?vue&type=template&id=31814839\"\nimport script from \"./editOut.vue?vue&type=script&lang=js\"\nexport * from \"./editOut.vue?vue&type=script&lang=js\"\n\nimport \"./editOut.vue?vue&type=style&index=0&id=31814839&lang=scss\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./bookSource.vue?vue&type=template&id=de4729c0&scoped=true\"\nimport script from \"./bookSource.vue?vue&type=script&lang=js\"\nexport * from \"./bookSource.vue?vue&type=script&lang=js\"\n\nimport \"./bookSource.vue?vue&type=style&index=0&id=de4729c0&lang=scss\"\nimport \"./bookSource.vue?vue&type=style&index=1&id=de4729c0&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-de4729c0\"]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./editInput.vue?vue&type=template&id=3974490a&scoped=true\"\nimport script from \"./editInput.vue?vue&type=script&lang=js\"\nexport * from \"./editInput.vue?vue&type=script&lang=js\"\n\nimport \"./editInput.vue?vue&type=style&index=0&id=3974490a&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3974490a\"]])\n\nexport default __exports__","export default {\n base: [\n {\n title: \"源域名\",\n rows: 1,\n id: \"bookSourceUrl\",\n hint: \"<必填>通常填写网站主页,例: https://www.qidian.com\",\n },\n {\n title: \"源类型\",\n rows: 1,\n id: \"bookSourceType\",\n hint: \"<必填>0:文本 1:音频 2:图片 3:文件(只提供下载的网站)\",\n },\n {\n title: \"源名称\",\n rows: 1,\n id: \"bookSourceName\",\n hint: \"<必填>会显示在源列表\",\n },\n {\n title: \"源分组\",\n rows: 1,\n id: \"bookSourceGroup\",\n hint: \"<选填>描述源的特征信息\",\n },\n {\n title: \"源注释\",\n rows: 1,\n id: \"bookSourceComment\",\n hint: \"<选填>描述源作者和状态\",\n },\n {\n title: \"登录地址\",\n rows: 1,\n id: \"loginUrl\",\n hint: \"<选填>填写网站登录网址,仅在需要登录的源有用\",\n },\n {\n title: \"登录界面\",\n rows: 3,\n id: \"loginUi\",\n hint: \"<选填>自定义登录界面\",\n },\n {\n title: \"登录检测\",\n rows: 3,\n id: \"loginCheckJs\",\n hint: \"<选填>登录检测js\",\n },\n {\n title: \"并发率\",\n rows: 1,\n id: \"concurrentRate\",\n hint: \"<选填>并发率\",\n },\n {\n title: \"请求头\",\n rows: 3,\n id: \"header\",\n hint: \"<选填>客户端标识\",\n },\n {\n title: \"链接验证\",\n rows: 1,\n id: \"bookUrlPattern\",\n hint: \"<选填>当详情页URL与源URL的域名不一致时有效,用于添加网址\",\n },\n ],\n search: [\n {\n title: \"搜索地址\",\n rows: 1,\n id: \"searchUrl\",\n hint: \"[域名可省略]/search.php@kw={{key}}\",\n },\n {\n title: \"校验文字\",\n rows: 1,\n id: \"ruleSearch_checkKeyWord\",\n hint: \"校验关键字\",\n },\n {\n title: \"列表规则\",\n rows: 1,\n id: \"ruleSearch_bookList\",\n hint: \"选择书籍节点 (规则结果为List)\",\n },\n {\n title: \"书名规则\",\n rows: 1,\n id: \"ruleSearch_name\",\n hint: \"选择节点书名 (规则结果为String)\",\n },\n {\n title: \"作者规则\",\n rows: 1,\n id: \"ruleSearch_author\",\n hint: \"选择节点作者 (规则结果为String)\",\n },\n {\n title: \"分类规则\",\n rows: 1,\n id: \"ruleSearch_kind\",\n hint: \"选择节点分类信息 (规则结果为String)\",\n },\n {\n title: \"字数规则\",\n rows: 1,\n id: \"ruleSearch_wordCount\",\n hint: \"选择节点字数信息 (规则结果为String)\",\n },\n {\n title: \"最新章节\",\n rows: 1,\n id: \"ruleSearch_lastChapter\",\n hint: \"选择节点最新章节 (规则结果为String)\",\n },\n {\n title: \"简介规则\",\n rows: 1,\n id: \"ruleSearch_intro\",\n hint: \"选择节点书籍简介 (规则结果为String)\",\n },\n {\n title: \"封面规则\",\n rows: 1,\n id: \"ruleSearch_coverUrl\",\n hint: \"选择节点书籍封面 (规则结果为String类型的url)\",\n },\n {\n title: \"详情地址\",\n rows: 1,\n id: \"ruleSearch_bookUrl\",\n hint: \"选择书籍详情页网址 (规则结果为String类型的url)\",\n },\n ],\n find: [\n {\n title: \"发现地址\",\n rows: 6,\n id: \"exploreUrl\",\n hint: \"内容能显示在发现菜单\\n每行一条发现分类(网址域名可省略),例:\\n名称1::网址(Url)1\\n名称2::网址(Url)2\\n...\",\n },\n {\n title: \"列表规则\",\n rows: 1,\n id: \"ruleExplore_bookList\",\n hint: \"选择书籍节点 (规则结果为List)\",\n },\n {\n title: \"书名规则\",\n rows: 1,\n id: \"ruleExplore_name\",\n hint: \"选择节点书名 (规则结果为String)\",\n },\n {\n title: \"作者规则\",\n rows: 1,\n id: \"ruleExplore_author\",\n hint: \"选择节点作者 (规则结果为String)\",\n },\n {\n title: \"分类规则\",\n rows: 1,\n id: \"ruleExplore_kind\",\n hint: \"选择节点分类信息 (规则结果为String)\",\n },\n {\n title: \"字数规则\",\n rows: 1,\n id: \"ruleExplore_wordCount\",\n hint: \"选择节点字数信息 (规则结果为String)\",\n },\n {\n title: \"最新章节\",\n rows: 1,\n id: \"ruleExplore_lastChapter\",\n hint: \"选择节点最新章节 (规则结果为String)\",\n },\n {\n title: \"简介规则\",\n rows: 1,\n id: \"ruleExplore_intro\",\n hint: \"选择节点书籍简介 (规则结果为String)\",\n },\n {\n title: \"封面规则\",\n rows: 1,\n id: \"ruleExplore_coverUrl\",\n hint: \"选择节点书籍封面 (规则结果为String类型的url)\",\n },\n {\n title: \"详情地址\",\n rows: 1,\n id: \"ruleExplore_bookUrl\",\n hint: \"选择书籍详情页网址 (规则结果为String类型的url)\",\n },\n ],\n detail: [\n {\n title: \"预处理\",\n rows: 3,\n id: \"ruleBookInfo_init\",\n hint: \"用于加速详情信息检索,只支持AllInOne规则\",\n },\n {\n title: \"书名规则\",\n rows: 1,\n id: \"ruleBookInfo_name\",\n hint: \"选择节点书名 (规则结果为String)\",\n },\n {\n title: \"作者规则\",\n rows: 1,\n id: \"ruleBookInfo_author\",\n hint: \"选择节点作者 (规则结果为String)\",\n },\n {\n title: \"分类规则\",\n rows: 1,\n id: \"ruleBookInfo_kind\",\n hint: \"选择节点分类信息 (规则结果为String)\",\n },\n {\n title: \"字数规则\",\n rows: 1,\n id: \"ruleBookInfo_wordCount\",\n hint: \"选择节点字数信息 (规则结果为String)\",\n },\n {\n title: \"最新章节\",\n rows: 1,\n id: \"ruleBookInfo_lastChapter\",\n hint: \"选择节点最新章节 (规则结果为String)\",\n },\n {\n title: \"简介规则\",\n rows: 1,\n id: \"ruleBookInfo_intro\",\n hint: \"选择节点书籍简介 (规则结果为String)\",\n },\n {\n title: \"封面规则\",\n rows: 1,\n id: \"ruleBookInfo_coverUrl\",\n hint: \"选择节点书籍封面 (规则结果为String类型的url)\",\n },\n {\n title: \"目录地址\",\n rows: 1,\n id: \"ruleBookInfo_tocUrl\",\n hint: \"选择书籍详情页网址 (规则结果为String类型的url, 与详情页相同时可省略)\",\n },\n ],\n directory: [\n {\n title: \"列表规则\",\n rows: 3,\n id: \"ruleToc_chapterList\",\n hint: \"选择目录列表的章节节点 (规则结果为List)\",\n },\n {\n title: \"章节名称\",\n rows: 1,\n id: \"ruleToc_chapterName\",\n hint: \"选择章节名称 (规则结果为String)\",\n },\n {\n title: \"章节地址\",\n rows: 1,\n id: \"ruleToc_chapterUrl\",\n hint: \"选择章节链接 (规则结果为String类型的Url)\",\n },\n {\n title: \"卷名标识\",\n rows: 1,\n id: \"ruleToc_isVolume\",\n hint: \"章节名称是否是卷名 (规则结果为Bool)\",\n },\n {\n title: \"收费标识\",\n rows: 1,\n id: \"ruleToc_isVip\",\n hint: \"章节是否为VIP章节 (规则结果为Bool)\",\n },\n {\n title: \"购买标识\",\n rows: 1,\n id: \"ruleToc_isPay\",\n hint: \"章节是否为已购买 (规则结果为Bool)\",\n },\n {\n title: \"章节信息\",\n rows: 1,\n id: \"ruleToc_updateTime\",\n hint: \"选择章节信息 (规则结果为String)\",\n },\n {\n title: \"翻页规则\",\n rows: 1,\n id: \"ruleToc_nextTocUrl\",\n hint: \"选择目录下一页链接 (规则结果为List或String)\",\n },\n ],\n content: [\n {\n title: \"脚本注入\",\n rows: 3,\n id: \"ruleContent_webJs\",\n hint: \"注入javascript,用于模拟鼠标点击等,必须有返回值,一般为String类型\",\n },\n {\n title: \"正文规则\",\n rows: 1,\n id: \"ruleContent_content\",\n hint: \"选择正文内容 (规则结果为String)\",\n },\n {\n title: \"翻页规则\",\n rows: 1,\n id: \"ruleContent_nextContentUrl\",\n hint: \"选择下一分页(不是下一章)链接 (规则结果为String类型的Url)\",\n },\n {\n title: \"资源正则\",\n rows: 1,\n id: \"ruleContent_sourceRegex\",\n hint: \"匹配资源的url特征,用于嗅探\",\n },\n {\n title: \"替换规则\",\n rows: 1,\n id: \"ruleContent_replaceRegex\",\n hint: \"多页内容合并后替换,用于正文净化\",\n },\n {\n title: \"图片样式\",\n rows: 1,\n id: \"ruleContent_imageStyle\",\n hint: \"FULL:铺满 不填:默认样式\",\n },\n {\n title: \"购买操作\",\n rows: 1,\n id: \"ruleContent_payAction\",\n hint: \"购买章节 返回链接或js\",\n },\n ],\n other: [\n {\n title: \"启用搜索\",\n rows: 1,\n id: \"enabled\",\n hint: \"启用: true 关闭: false (可选,默认true)\",\n },\n {\n title: \"启用发现\",\n rows: 1,\n id: \"enabledExplore\",\n hint: \"启用: true 关闭: false (可选,默认true)\",\n },\n {\n title: \"搜索权重\",\n rows: 1,\n id: \"weight\",\n hint: \"整数: 0~N (可选,默认0) | 数字越大越靠前\",\n },\n {\n title: \"排序编号\",\n rows: 1,\n id: \"customOrder\",\n hint: \"整数: 0~N (可选,默认0) | 数字越小越靠前\",\n },\n ],\n};\n","import { render } from \"./bookBase.vue?vue&type=template&id=62934290\"\nimport script from \"./bookBase.vue?vue&type=script&lang=js\"\nexport * from \"./bookBase.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { reactive, toRefs, watchEffect } from \"vue\";\nimport store from \"@/store\";\n\nexport default function () {\n const data = reactive({\n bookContent: store.state.bookItemContent,\n });\n const upData = (newContent) => {\n // console.log(newContent);\n store.commit(\"changeBookItemNewContent\", newContent);\n };\n const setContent = (elId) => {\n try {\n if (elId.includes(\"_\")) {\n let rule1 = elId.split(\"_\")[0];\n let rule2 = elId.split(\"_\")[1];\n return data.bookContent[rule1][rule2];\n } else {\n return data.bookContent[elId];\n }\n } catch (e) {\n console.log(\"导入错误\", e.TypeError);\n store.commit(\"clearEdit\");\n }\n };\n\n watchEffect(() => {\n data.bookContent = store.state.bookItemContent;\n });\n return {\n ...toRefs(data),\n upData,\n setContent,\n };\n}\n","import { render } from \"./bookSearch.vue?vue&type=template&id=2d21a82c\"\nimport script from \"./bookSearch.vue?vue&type=script&lang=js\"\nexport * from \"./bookSearch.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./bookDirectory.vue?vue&type=template&id=d341382e\"\nimport script from \"./bookDirectory.vue?vue&type=script&lang=js\"\nexport * from \"./bookDirectory.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./bookContent.vue?vue&type=template&id=93f5f75e\"\nimport script from \"./bookContent.vue?vue&type=script&lang=js\"\nexport * from \"./bookContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./bookDetail.vue?vue&type=template&id=48657fe9\"\nimport script from \"./bookDetail.vue?vue&type=script&lang=js\"\nexport * from \"./bookDetail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./bookOther.vue?vue&type=template&id=0e205a98\"\nimport script from \"./bookOther.vue?vue&type=script&lang=js\"\nexport * from \"./bookOther.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./bookFind.vue?vue&type=template&id=4eb0e864\"\nimport script from \"./bookFind.vue?vue&type=script&lang=js\"\nexport * from \"./bookFind.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\study\\\\legado_web_editor\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createRouter, createWebHashHistory } from \"vue-router\";\n\nimport bookSource from \"@/views/bookSource\";\nimport bookBase from \"@/views/bookBase\";\nimport bookSearch from \"@/views/bookSearch\";\nimport bookDirectory from \"@/views/bookDirectory\";\nimport bookContent from \"@/views/bookContent\";\nimport bookDetail from \"@/views/bookDetail\";\nimport bookOther from \"@/views/bookOther\";\nimport bookFind from \"@/views/bookFind\";\n\nconst routes = [\n {\n path: \"/\",\n redirect: { name: \"home\" },\n },\n {\n path: \"/bookSource\",\n name: \"home\",\n component: bookSource,\n redirect: { name: \"base\" },\n children: [\n {\n path: \"/bookSource/base\",\n name: \"base\",\n component: bookBase,\n },\n {\n path: \"/bookSource/search\",\n name: \"search\",\n component: bookSearch,\n },\n {\n path: \"/bookSource/find\",\n name: \"find\",\n component: bookFind,\n },\n {\n path: \"/bookSource/detail\",\n name: \"detail\",\n component: bookDetail,\n },\n {\n path: \"/bookSource/directory\",\n name: \"directory\",\n component: bookDirectory,\n },\n {\n path: \"/bookSource/content\",\n name: \"content\",\n component: bookContent,\n },\n {\n path: \"/bookSource/other\",\n name: \"other\",\n component: bookOther,\n },\n {\n path: \"/bookSource/:asdasdasd/:asdasdas\",\n redirect: { name: \"home\" },\n },\n ],\n },\n {\n path: \"/:asdasdasd\",\n redirect: { name: \"home\" },\n },\n {\n path: \"/bookSource/:asdasdasda\",\n redirect: { name: \"home\" },\n },\n];\n\nconst router = createRouter({\n // history: createWebHistory(process.env.BASE_URL),\n history: createWebHashHistory(),\n routes,\n});\n\nexport default router;\n","import { createApp } from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport store from \"./store\";\n\ncreateApp(App).use(store).use(router).mount(\"#app\");\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunklegado_web_editor\"] = self[\"webpackChunklegado_web_editor\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(27); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["class","_createElementBlock","_createVNode","_component_router_view","setup","__exports__","render","_createElementVNode","href","_hoisted_2","_component_router_link","to","name","custom","navigate","isActive","onClick","active","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","Component","_createBlock","_KeepAlive","_resolveDynamicComponent","_component_edit_menu","_component_edit_out","_hoisted_12","_hoisted_15","_hoisted_18","_hoisted_21","_hoisted_24","$setup","_component_edit_loading","key","_component_edit_warn","text","onChangeShow","_component_edit_success","isShow","title","http","type","data","formatUrl","localStorage","getItem","location","host","console","log","Get","Post","url","body","fetch","method","headers","JSON","stringify","then","res","json","createStore","state","bookSource","bookItemContent","source_json","currentTab","editTabSourceInfo","deBugMsg","searchKey","getters","mutations","changeSearchKey","changeSource","changeBookSource","changeBookItemContent","content","newContent","parse","changeBookItemNewContent","includes","rule1","split","rule2","value","lastUpdateTime","Date","getTime","changeTabName","tabName","setItem","changeEidtTabSourceInfo","sourceJsonKey","bookItemContentKey","editHistory","history","historyObj","new","push","length","shift","old","arr","editHistoryUndo","pop","clearAllHistory","clearEdit","changeDeBugMsg","msg","el","document","querySelector","scrollTop","scrollHeight","deBugMsgClear","clearAllSource","actions","modules","$props","_toDisplayString","props","default","Boolean","String","emit","changeShow","emits","setTimeout","components","editLoading","editWarn","editSuccess","ref","warnShow","successText","successShow","warnText","bool","changeSuccessShow","pull","store","commit","catch","err","isSuccess","okData","Array","isArray","failMsg","forEach","item","find","x","bookSourceUrl","errorMsg","conver","undo","redo","saveSource","bookSourceType","bookSourceName","debug","wsUrl","replace","port","parseInt","socket","WebSocket","sKey","ruleSearch","checkKeyWord","onopen","send","onmessage","onclose","onMounted","onkeydown","e","ctrlKey","metaKey","preventDefault","shiftKey","_ctx","placeholder","$event","reactive","sourceInfo","watchEffect","Object","keys","toRefs","style","onInput","onKeydown","id","textareaDom","printDebug","changeSearch","startSearch","querySelectorAll","click","onFocus","_Fragment","_renderList","index","bookSourceGroup","bookSources","delArr","currentActive","handleItemClick","sourcesList","clearAllSources","formatTime","date","time","year","getFullYear","month","getMonth","day","getDate","hour","getHours","minute","getMinutes","seconds","getSeconds","filter","toUpperCase","deleteActiveSource","delSources","source","splice","upFile","input","createElement","accept","addEventListener","file","target","files","reader","FileReader","readAsText","onload","jsonData","result","outExport","exportFile","download","myBlob","Blob","window","URL","createObjectURL","_hoisted_1","editDebug","editTab","editList","editHelp","current_tab","handleSetActive","changInput","pullSource","editMenu","editOut","_component_edit_input","hint","rows","onChangeContent","onBlur","Number","attr","change","getAttribute","changeHistory","newHistory","idName","changeHeight","nextTick","textArea","height","offsetHeight","base","search","detail","directory","other","editInput","bookinfo","bookContent","upData","setContent","elId","TypeError","useCounter","routes","path","redirect","component","children","bookBase","bookSearch","bookFind","bookDetail","bookDirectory","bookOther","router","createRouter","createWebHashHistory","createApp","App","use","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","r","d","definition","o","defineProperty","enumerable","get","g","globalThis","this","Function","obj","prop","prototype","hasOwnProperty","call","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file
-
-
- ←主页 - 书源 -
-
-
基本
-
-
源域名 :
- -
-
-
源类型 :
- -
-
-
源名称 :
- -
-
-
源分组 :
- -
-
-
源注释 :
- -
-
-
登录地址:
- -
-
-
登录界面:
- -
-
-
登录检测:
- -
-
-
并发率 :
- -
-
-
请求头 :
- -
-
-
链接验证:
- -
-

-
搜索
-
-
搜索地址:
- -
-
-
校验文字:
- -
-
-
列表规则:
- -
-
-
书名规则:
- -
-
-
作者规则:
- -
-
-
分类规则:
- -
-
-
字数规则:
- -
-
-
最新章节:
- -
-
-
简介规则:
- -
-
-
封面规则:
- -
-
-
详情地址:
- -
-

-
发现
-
-
发现地址:
- -
-
-
列表规则:
- -
-
-
书名规则:
- -
-
-
作者规则:
- -
-
-
分类规则:
- -
-
-
字数规则:
- -
-
-
最新章节:
- -
-
-
简介规则:
- -
-
-
封面规则:
- -
-
-
详情地址:
- -
-

-
详情
-
-
预处理 :
- -
-
-
书名规则:
- -
-
-
作者规则:
- -
-
-
分类规则:
- -
-
-
字数规则:
- -
-
-
最新章节:
- -
-
-
简介规则:
- -
-
-
封面规则:
- -
-
-
目录地址:
- -
-

-
目录
-
-
列表规则:
- -
-
-
章节名称:
- -
-
-
章节地址:
- -
-
-
卷名标识:
- -
-
-
收费标识:
- -
-
-
购买标识:
- -
-
-
章节信息:
- -
-
-
翻页规则:
- -
-

-
正文
-
-
脚本注入:
- -
-
-
正文规则:
- -
-
-
翻页规则:
- -
-
-
资源正则:
- -
-
-
替换规则:
- -
-
-
图片样式:
- -
-
-
购买操作:
- -
-

-
其它规则
-
-
启用搜索:
- -
-
-
启用发现:
- -
-
-
搜索权重:
- -
-
-
排序编号:
- -
-
-
更新时间:
- -
-
-
- -
-
-
-
编辑源
-
调试源
-
源列表
-
帮助信息
-
-
-
- -
-
- - -
-
- -
- - - - -
-
-
-
- -
-
-
-
-