Bump web v3.23.051311

This commit is contained in:
Xwite authored and github-actions[bot] committed 2023-05-13 03:34:26 +00:00
1 parent 4529f23f78
commit a70b0e3aba
14 files changed
+23 -23

No files matched your search

@@ -1 +1 @@
@charset "UTF-8";.title[data-v-98799b36]{margin-bottom:57px;font:24px/32px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}p[data-v-98799b36]{display:block;word-wrap:break-word;word-break:break-all;letter-spacing:calc(var(--c62877dc) * 1em);line-height:calc(1 + var(--1ecc5ae0));margin:calc(var(--37c81202) * 1em) 0}p[data-v-98799b36] img{height:1em}.full[data-v-98799b36]{display:block;width:100%}.el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);min-width:150px;border-radius:var(--el-popover-border-radius);border:1px solid var(--el-popover-border-color);padding:var(--el-popover-padding);z-index:var(--el-index-popper);color:var(--el-text-color-regular);line-height:1.4;text-align:justify;font-size:var(--el-popover-font-size);box-shadow:var(--el-box-shadow-light);word-break:break-all;box-sizing:border-box}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);line-height:1;margin-bottom:12px}.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color:var(--el-text-color-primary);--el-popover-border-color:var(--el-text-color-primary);--el-popover-title-text-color:var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus,.el-popover.el-popper:focus:active{outline-width:0}@font-face{font-family:FZZCYSK;src:local("\263a"),url(./popfont-a80d6a88.ttf);font-style:normal;font-weight:400}@font-face{font-family:iconfont;src:url(./iconfont-9aaccea3.woff) format("woff")}[data-v-7c8b23a7] .iconfont,[data-v-7c8b23a7] .moon-icon{font-family:iconfont;font-style:normal}.settings-wrapper[data-v-7c8b23a7]{user-select:none;margin:-13px;text-align:left;padding:40px 0 40px 24px;background:#ede7da url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX48dr48Nf58tv379X17NJtIBxUAAACFUlEQVQ4y1XRUZakMAgF0Af2AiDWApDZgHZqAV1nZv9rGh7Rj7Y8McUFEg1wvcMESMNVD/neU8Xcaz7nYYkYlYO6Ti82PBI4BvIEg1aj3wKwRvIMgZsUy5LdhCawPFh1sZs4SrlyN9fQKpv8s5dgZ2eLyqqJiu+WkCmUEybXkm3INS01WAiv0PapJ0CZc0SJQUzcWnZYbOOY20iFD8Bk+/j2A3wNxH7GdShFYS5ff237kXh9I9zSkQmIAhOsOSVfJ6DIXTMDaPnzkRJ92S1BQQmXl5LdirgRLLDdcYqcGPwe3QN4xCBiGNbrqq9wpW1XCecChwaQdVOsRDpPCpeoolPdxeXp3WNB9PHVzWBHlygy4NJCCrFHREv6bDt0VGwJZASkpONmm1UseGeFKAQexgaAkrfYWl3AGxWOLL2AIMBNbCXpktmS3k3vHeYjGCPBa43wJTurO3ZFVpQSJdAZGLoHTyk1upkjxMEaIxum3iIARcCa5kSkFAW5fi1mUlL9eyOsaanFmOMruwvEdE3ZYzsRSzo5ewRLXyVPPEvknt8ij4DvCg2O7xOgBCUprEzV4z1WekSpUgI8DT2mrnSOXKRfQavwuKA1F+tFnMKdJSUpMA7wQAifWRkMgjUKKZE4lBl6MCM4B1pq1P4uIjDE6Pq6rL0FnW1nIFmta5vrSvq/Ch4tpqG/ZNyyWa5jZPktq81eYv8Bt5s4iFITOp4AAAAASUVORK5CYII=) repeat}.settings-wrapper .settings-title[data-v-7c8b23a7]{font-size:18px;line-height:22px;margin-bottom:28px;font-family:FZZCYSK;font-weight:400}.settings-wrapper .setting-list[data-v-7c8b23a7]{max-height:calc(70vh - 50px);overflow:auto}.settings-wrapper .setting-list ul[data-v-7c8b23a7]{list-style:none outside none;margin:0;padding:0}.settings-wrapper .setting-list ul li[data-v-7c8b23a7]{list-style:none outside none}.settings-wrapper .setting-list ul li i[data-v-7c8b23a7]{font:12px/16px PingFangSC-Regular,-apple-system,Simsun;display:inline-block;min-width:48px;margin-right:16px;vertical-align:middle;color:#666}.settings-wrapper .setting-list ul li .theme-item[data-v-7c8b23a7]{line-height:32px;width:34px;height:34px;margin-right:16px;margin-top:5px;border-radius:100%;display:inline-block;cursor:pointer;text-align:center;vertical-align:middle}.settings-wrapper .setting-list ul li .theme-item .iconfont[data-v-7c8b23a7]{display:none}.settings-wrapper .setting-list ul li .selected[data-v-7c8b23a7]{color:#ed4259}.settings-wrapper .setting-list ul li .selected .iconfont[data-v-7c8b23a7]{display:inline}.settings-wrapper .setting-list ul .font-list[data-v-7c8b23a7],.settings-wrapper .setting-list ul .infinite-loading[data-v-7c8b23a7]{margin-top:28px}.settings-wrapper .setting-list ul .font-list .font-item[data-v-7c8b23a7],.settings-wrapper .setting-list ul .font-list .infinite-loading-item[data-v-7c8b23a7],.settings-wrapper .setting-list ul .infinite-loading .font-item[data-v-7c8b23a7],.settings-wrapper .setting-list ul .infinite-loading .infinite-loading-item[data-v-7c8b23a7]{width:78px;height:34px;cursor:pointer;margin-right:16px;border-radius:2px;text-align:center;vertical-align:middle;display:inline-block;font:14px/34px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}.settings-wrapper .setting-list ul .font-list .font-item-input[data-v-7c8b23a7],.settings-wrappLine truncated
@charset "UTF-8";.title[data-v-98799b36]{margin-bottom:57px;font:24px/32px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}p[data-v-98799b36]{display:block;word-wrap:break-word;word-break:break-all;letter-spacing:calc(var(--c62877dc) * 1em);line-height:calc(1 + var(--1ecc5ae0));margin:calc(var(--37c81202) * 1em) 0}p[data-v-98799b36] img{height:1em}.full[data-v-98799b36]{display:block;width:100%}.el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);min-width:150px;border-radius:var(--el-popover-border-radius);border:1px solid var(--el-popover-border-color);padding:var(--el-popover-padding);z-index:var(--el-index-popper);color:var(--el-text-color-regular);line-height:1.4;text-align:justify;font-size:var(--el-popover-font-size);box-shadow:var(--el-box-shadow-light);word-break:break-all;box-sizing:border-box}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);line-height:1;margin-bottom:12px}.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color:var(--el-text-color-primary);--el-popover-border-color:var(--el-text-color-primary);--el-popover-title-text-color:var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus,.el-popover.el-popper:focus:active{outline-width:0}@font-face{font-family:FZZCYSK;src:local("\263a"),url(./popfont-a80d6a88.ttf);font-style:normal;font-weight:400}@font-face{font-family:iconfont;src:url(./iconfont-9aaccea3.woff) format("woff")}[data-v-7c8b23a7] .iconfont,[data-v-7c8b23a7] .moon-icon{font-family:iconfont;font-style:normal}.settings-wrapper[data-v-7c8b23a7]{user-select:none;margin:-13px;text-align:left;padding:40px 0 40px 24px;background:#ede7da url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX48dr48Nf58tv379X17NJtIBxUAAACFUlEQVQ4y1XRUZakMAgF0Af2AiDWApDZgHZqAV1nZv9rGh7Rj7Y8McUFEg1wvcMESMNVD/neU8Xcaz7nYYkYlYO6Ti82PBI4BvIEg1aj3wKwRvIMgZsUy5LdhCawPFh1sZs4SrlyN9fQKpv8s5dgZ2eLyqqJiu+WkCmUEybXkm3INS01WAiv0PapJ0CZc0SJQUzcWnZYbOOY20iFD8Bk+/j2A3wNxH7GdShFYS5ff237kXh9I9zSkQmIAhOsOSVfJ6DIXTMDaPnzkRJ92S1BQQmXl5LdirgRLLDdcYqcGPwe3QN4xCBiGNbrqq9wpW1XCecChwaQdVOsRDpPCpeoolPdxeXp3WNB9PHVzWBHlygy4NJCCrFHREv6bDt0VGwJZASkpONmm1UseGeFKAQexgaAkrfYWl3AGxWOLL2AIMBNbCXpktmS3k3vHeYjGCPBa43wJTurO3ZFVpQSJdAZGLoHTyk1upkjxMEaIxum3iIARcCa5kSkFAW5fi1mUlL9eyOsaanFmOMruwvEdE3ZYzsRSzo5ewRLXyVPPEvknt8ij4DvCg2O7xOgBCUprEzV4z1WekSpUgI8DT2mrnSOXKRfQavwuKA1F+tFnMKdJSUpMA7wQAifWRkMgjUKKZE4lBl6MCM4B1pq1P4uIjDE6Pq6rL0FnW1nIFmta5vrSvq/Ch4tpqG/ZNyyWa5jZPktq81eYv8Bt5s4iFITOp4AAAAASUVORK5CYII=) repeat}.settings-wrapper .settings-title[data-v-7c8b23a7]{font-size:18px;line-height:22px;margin-bottom:28px;font-family:FZZCYSK;font-weight:400}.settings-wrapper .setting-list[data-v-7c8b23a7]{max-height:calc(70vh - 50px);overflow:auto}.settings-wrapper .setting-list ul[data-v-7c8b23a7]{list-style:none outside none;margin:0;padding:0}.settings-wrapper .setting-list ul li[data-v-7c8b23a7]{list-style:none outside none}.settings-wrapper .setting-list ul li i[data-v-7c8b23a7]{font:12px/16px PingFangSC-Regular,-apple-system,Simsun;display:inline-block;min-width:48px;margin-right:16px;vertical-align:middle;color:#666}.settings-wrapper .setting-list ul li .theme-item[data-v-7c8b23a7]{line-height:32px;width:34px;height:34px;margin-right:16px;margin-top:5px;border-radius:100%;display:inline-block;cursor:pointer;text-align:center;vertical-align:middle}.settings-wrapper .setting-list ul li .theme-item .iconfont[data-v-7c8b23a7]{display:none}.settings-wrapper .setting-list ul li .selected[data-v-7c8b23a7]{color:#ed4259}.settings-wrapper .setting-list ul li .selected .iconfont[data-v-7c8b23a7]{display:inline}.settings-wrapper .setting-list ul .font-list[data-v-7c8b23a7],.settings-wrapper .setting-list ul .infinite-loading[data-v-7c8b23a7]{margin-top:28px}.settings-wrapper .setting-list ul .font-list .font-item[data-v-7c8b23a7],.settings-wrapper .setting-list ul .font-list .infinite-loading-item[data-v-7c8b23a7],.settings-wrapper .setting-list ul .infinite-loading .font-item[data-v-7c8b23a7],.settings-wrapper .setting-list ul .infinite-loading .infinite-loading-item[data-v-7c8b23a7]{width:78px;height:34px;cursor:pointer;margin-right:16px;border-radius:2px;text-align:center;vertical-align:middle;display:inline-block;font:14px/34px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}.settings-wrapper .setting-list ul .font-list .font-item-input[data-v-7c8b23a7],.settings-wrappLine truncated
@@ -0,0 +1 @@
import{a1 as Ke,n as c,z as C,S as Ie,a7 as _e,o as h,d as v,g as e,t as H,F as oe,O as ie,u as o,a8 as T,a9 as Ve,aa as Ne,v as _,e as W,w as J,a2 as ze,A as ue,ab as He,f as $,L as Ae,ac as Je,x as We,ad as Re,p as ke,i as Be,s as Me,ae as qe,V as Te,N as Qe,k as K,a6 as Ge,c as Ze}from"./vendor-0c9d4c13.js";import{i as Ye,g as De,u as Xe}from"./loading-ddccb8e8.js";import{_ as ce,u as ge,A as de}from"./index-3dbb2f78.js";const je=(n,s,u,g)=>(n/=g/2,n<1?u/2*n*n+s:(n--,-u/2*(n*(n-2)-1)+s)),$e=()=>{let n,s,u,g,i,B,m,S,d,y,a,w,r;function I(){let b=n.scrollTop||n.scrollY||n.pageYOffset;return b=typeof b>"u"?0:b,b}function A(b){const k=b.getBoundingClientRect().top,Z=n.getBoundingClientRect?n.getBoundingClientRect().top:0;return k-Z+u}function x(b){n.scrollTo?n.scrollTo(0,b):n.scrollTop=b}function L(b){y||(y=b),a=b-y,w=B(a,u,S,d),x(w),a<d?requestAnimationFrame(L):M()}function M(){x(u+S),s&&m&&(s.setAttribute("tabindex","-1"),s.focus()),typeof r=="function"&&r(),y=!1}function ne(b,k={}){switch(d=k.duration||1e3,i=k.offset||0,r=k.callback,B=k.easing||je,m=k.a11y||!1,typeof k.container){case"object":n=k.container;break;case"string":n=document.querySelector(k.container);break;default:n=window}switch(u=I(),typeof b){case"number":s=void 0,m=!1,g=u+b;break;case"object":s=b,g=A(s);break;case"string":s=document.querySelector(b),g=A(s);break}switch(S=g-u+i,typeof k.duration){case"number":d=k.duration;break;case"function":d=k.duration(S);break}requestAnimationFrame(L)}return ne},ee=$e();const et=["data-chapterpos"],tt=["src"],ot=["innerHTML"],nt={__name:"ChapterContent",props:{chapterIndex:{type:Number,required:!0},contents:{type:Array,required:!0},title:{type:String,required:!0},spacing:{type:Object,required:!0},fontFamily:{type:String,required:!0},fontSize:{type:String,required:!0}},emits:["readedLengthChange"],setup(n,{expose:s,emit:u}){const g=n;Ke(r=>({c62877dc:g.spacing.letter,"1ecc5ae0":g.spacing.line,"37c81202":g.spacing.paragraph}));const i=r=>{const I=/<img[^>]*src="([^"]*(?:"[^>]+\})?)"[^>]*>/,A=r.match(I)[1];return Ye(A)?De(A):A},B=r=>{r.target.src=De(r.target.src)},m=r=>{const I=/<img[^>]*src="[^"]*(?:"[^>]+\})?"[^>]*>/g,A=" ";return r.replaceAll(I,A).length},S=c(()=>{let r=-1;return Array.from(g.contents,I=>(r+=m(I)+1,r))}),d=C(),y=C();s({scrollToReadedLength:r=>{if(r===0)return;let I=S.value.findIndex(A=>A>=r);I!==-1&&Ve(()=>{ee(y.value[I],{duration:0})})}});const w=C(null);return Ie(()=>{w.value=new IntersectionObserver(r=>{for(let{target:I,isIntersecting:A}of r)A&&u("readedLengthChange",g.chapterIndex,parseInt(I.dataset.chapterpos))},{rootMargin:`0px 0px -${window.innerHeight-24}px 0px`}),w.value.observe(d.value),y.value.forEach(r=>{w.value.observe(r)})}),_e(()=>{var r;(r=w.value)==null||r.disconnect(),w.value=null}),(r,I)=>(h(),v(oe,null,[e("div",{class:"title","data-chapterpos":"0",ref_key:"titleRef",ref:d},H(n.title),513),(h(!0),v(oe,null,ie(n.contents,(A,x)=>(h(),v("div",{key:x,ref_for:!0,ref_key:"paragraphRef",ref:y,"data-chapterpos":o(S)[x]},[/^\s*<img[^>]*src[^>]+>$/.test(A)?(h(),v("img",{key:0,class:"full",src:i(A),onErrorOnce:B,loading:"lazy"},null,40,tt)):(h(),v("p",{key:1,style:T({fontFamily:n.fontFamily,fontSize:n.fontSize}),innerHTML:A},null,12,ot))],8,et))),128))],64))}},st=ce(nt,[["__scopeId","data-v-98799b36"]]);const at="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXr5djn4dTp49bt59rT6LKxAAACnElEQVQozw3NUUwScRzA8d8R6MF8YMIx8uk47hDSJbj14IPzOGc7jPLvwTGg5uAYDbe2tt56cLtznvEnS6yDqCcEaWi91DvrbLJZz7b1aFtz1aO+2OZWvn+/+4CHeB6BMYaqBLfjPNRY6RFT2JJYby+uAk4WUTrtlmJ4hgPYb2q1XGDQjaK8pgJHvqNaAX+KyuIkDXpgQinb46nOulnn4b5laUHTxLfseeArAoNOeJlOIjdoal0n1FA7tKFv5roK+YaHOqP3P0XyKHPHY+MhTRe5uCZnKhtJKw2eSrSoBDPLtpZuNcFNJcFyiCMxOaaHIfXz1e8HQbWLySrBQ4x0x1qlhnHlnz2HQEC6TNb0gTHXa7IKhcaHqkE015hk9whA0YeWiLIXf7Fa2CZo3DjqjB4tTuF8jIcbfcEx5z/w4sXpQhXW+ju0cqh7icTFmRMaG+v6CIvTjcSpHcH8JEsF3EPh3fRthYdVLLgI2fWXm85/pGFE4l046s70L+yKCcirGFR+jbpy3kMmiCGHrSezVONsn1RBixncyk2PcVWk7DlgxHo8iZwDyq5uAUD854dZhdIFYzKoQig2haUKi1lVufz2RZUZPZ41n/hrOQB6h0Hhg8I367FNoEHgeM/KY7szSeQwD8q2WE3HM35ZLl0K1MJiOtHIkBclRQUwZnyOWcNsRQQgVLj1PSqkjF9DsoOSaSg3iinKzvfmgsNFFfpP/2T3GLGvL4fHEfwIX1sVvXcPqLztehWGcfn9nI2U9nTfCgJPe/jFPLZwgVEzimBgAm0VIyK2tt1cE/AzQdLK+SxLSQ4aDCZnnId94OG2S1XwvnTbNk/ZnhyRCQT+sZM6z9g6LXL1BOBe+zJySiFkHAINCtnQokbCJ/apCv0foqPiZVfhpywAAAAASUVORK5CYII=",it="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAACVBMVEX28ef48+n69esoK7jYAAAB4UlEQVQozw2OsW4bQQxEhwLXkDrysGdEqRRgVShfQQq8wOr2jD0jSpXCLvwXbtKfADlFqgSwC/9ljqweZgYzQFnb/QGepYhA9jzmTc1WaSEtQpbFgjWATI00ZZtIckXx8q2Oe5yEByBy+RHOTcM+VVTadULsvxvRC/q8WTwgcWGD+Mnaqa0oy2gw2pKFzK+PzEsus5hP9AHojKslVynLlioVTBEN8cjDNnZoR1uMGTiZAAN47HxMtEkGUE9b8HWzkqNX5Lpk0yVziAJOs46rK1pG/xNuXLjz95fSDoJE5IqG23MAYPtWoeWPvfVtIV/Ng9oH3W0gGMPIOqd4MK4QZ55dV61gOb8Zxp7I9qayaGxp6Q91cmC0ZRdBwEQVHWzSAanlZwVWc9yljeTCeaHjBVvlPSLeyeBUT2rPdJegQI103jVS3uYkyIx1il6mslMDedZuOkwzolsagvPuQAfp7cYg7k9V1NOxfq64PNSvMdwONV4VYEmqlbpZy5OAakRKkjPnL4CBv5/OZRgoWHBmNbxB0LgB1I4vXFj93UoF2/0TPEsWwV9EhbIiTPqYLine truncated
@@ -1 +0,0 @@
import{a1 as Ke,n as l,z as m,S as ke,a8 as _e,o as f,d as v,g as e,t as H,F as oe,O as ce,u as o,a9 as T,aa as Ve,ab as Ne,v as _,e as W,w as J,a2 as ze,A as ue,ac as He,f as $,L as de,ad as Je,x as We,ae as Re,p as Be,i as Se,s as Me,af as qe,V as Te,J as Ge,N as Qe,k as K,a6 as Ze,c as Ye,a7 as Xe}from"./vendor-42d5cecc.js";import{i as je,g as De,l as $e}from"./el-loading-06a73ac7.js";import{_ as le,u as ge,A as Ie}from"./index-dfa25950.js";const et=(s,n,g,p)=>(s/=p/2,s<1?g/2*s*s+n:(s--,-g/2*(s*(s-2)-1)+n)),tt=()=>{let s,n,g,p,i,B,y,S,d,C,a,E,c;function I(){let b=s.scrollTop||s.scrollY||s.pageYOffset;return b=typeof b>"u"?0:b,b}function A(b){const k=b.getBoundingClientRect().top,Z=s.getBoundingClientRect?s.getBoundingClientRect().top:0;return k-Z+g}function x(b){s.scrollTo?s.scrollTo(0,b):s.scrollTop=b}function F(b){C||(C=b),a=b-C,E=B(a,g,S,d),x(E),a<d?requestAnimationFrame(F):M()}function M(){x(g+S),n&&y&&(n.setAttribute("tabindex","-1"),n.focus()),typeof c=="function"&&c(),C=!1}function ne(b,k={}){switch(d=k.duration||1e3,i=k.offset||0,c=k.callback,B=k.easing||et,y=k.a11y||!1,typeof k.container){case"object":s=k.container;break;case"string":s=document.querySelector(k.container);break;default:s=window}switch(g=I(),typeof b){case"number":n=void 0,y=!1,p=g+b;break;case"object":n=b,p=A(n);break;case"string":n=document.querySelector(b),p=A(n);break}switch(S=p-g+i,typeof k.duration){case"number":d=k.duration;break;case"function":d=k.duration(S);break}requestAnimationFrame(F)}return ne},ee=tt();const ot=["data-chapterpos"],nt=["src"],st=["innerHTML"],at={__name:"ChapterContent",props:{chapterIndex:{type:Number,required:!0},contents:{type:Array,required:!0},title:{type:String,required:!0},spacing:{type:Object,required:!0},fontFamily:{type:String,required:!0},fontSize:{type:String,required:!0}},emits:["readedLengthChange"],setup(s,{expose:n,emit:g}){const p=s;Ke(c=>({c62877dc:p.spacing.letter,"1ecc5ae0":p.spacing.line,"37c81202":p.spacing.paragraph}));const i=c=>{const I=/<img[^>]*src="([^"]*(?:"[^>]+\})?)"[^>]*>/,A=c.match(I)[1];return je(A)?De(A):A},B=c=>{c.target.src=De(c.target.src)},y=c=>{const I=/<img[^>]*src="[^"]*(?:"[^>]+\})?"[^>]*>/g,A=" ";return c.replaceAll(I,A).length},S=l(()=>{let c=-1;return Array.from(p.contents,I=>(c+=y(I)+1,c))}),d=m(),C=m();n({scrollToReadedLength:c=>{if(c===0)return;let I=S.value.findIndex(A=>A>=c);I!==-1&&Ve(()=>{ee(C.value[I],{duration:0})})}});const E=m(null);return ke(()=>{E.value=new IntersectionObserver(c=>{for(let{target:I,isIntersecting:A}of c)A&&g("readedLengthChange",p.chapterIndex,parseInt(I.dataset.chapterpos))},{rootMargin:`0px 0px -${window.innerHeight-24}px 0px`}),E.value.observe(d.value),C.value.forEach(c=>{E.value.observe(c)})}),_e(()=>{var c;(c=E.value)==null||c.disconnect(),E.value=null}),(c,I)=>(f(),v(oe,null,[e("div",{class:"title","data-chapterpos":"0",ref_key:"titleRef",ref:d},H(s.title),513),(f(!0),v(oe,null,ce(s.contents,(A,x)=>(f(),v("div",{key:x,ref_for:!0,ref_key:"paragraphRef",ref:C,"data-chapterpos":o(S)[x]},[/^\s*<img[^>]*src[^>]+>$/.test(A)?(f(),v("img",{key:0,class:"full",src:i(A),onErrorOnce:B,loading:"lazy"},null,40,nt)):(f(),v("p",{key:1,style:T({fontFamily:s.fontFamily,fontSize:s.fontSize}),innerHTML:A},null,12,st))],8,ot))),128))],64))}},it=le(at,[["__scopeId","data-v-98799b36"]]);const ct="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXr5djn4dTp49bt59rT6LKxAAACnElEQVQozw3NUUwScRzA8d8R6MF8YMIx8uk47hDSJbj14IPzOGc7jPLvwTGg5uAYDbe2tt56cLtznvEnS6yDqCcEaWi91DvrbLJZz7b1aFtz1aO+2OZWvn+/+4CHeB6BMYaqBLfjPNRY6RFT2JJYby+uAk4WUTrtlmJ4hgPYb2q1XGDQjaK8pgJHvqNaAX+KyuIkDXpgQinb46nOulnn4b5laUHTxLfseeArAoNOeJlOIjdoal0n1FA7tKFv5roK+YaHOqP3P0XyKHPHY+MhTRe5uCZnKhtJKw2eSrSoBDPLtpZuNcFNJcFyiCMxOaaHIfXz1e8HQbWLySrBQ4x0x1qlhnHlnz2HQEC6TNb0gTHXa7IKhcaHqkE015hk9whA0YeWiLIXf7Fa2CZo3DjqjB4tTuF8jIcbfcEx5z/w4sXpQhXW+ju0cqh7icTFmRMaG+v6CIvTjcSpHcH8JEsF3EPh3fRthYdVLLgI2fWXm85/pGFE4l046s70L+yKCcirGFR+jbpy3kMmiCGHrSezVONsn1RBixncyk2PcVWk7DlgxHo8iZwDyq5uAUD854dZhdIFYzKoQig2haUKi1lVufz2RZUZPZ41n/hrOQB6h0Hhg8I367FNoEHgeM/KY7szSeQwD8q2WE3HM35ZLl0K1MJiOtHIkBclRQUwZnyOWcNsRQQgVLj1PSqkjF9DsoOSaSg3iinKzvfmgsNFFfpP/2T3GLGvL4fHEfwIX1sVvXcPqLztehWGcfn9nI2U9nTfCgJPe/jFPLZwgVEzimBgAm0VIyK2tt1cE/AzQdLK+SxLSQ4aDCZnnId94OG2S1XwvnTbNk/ZnhyRCQT+sZM6z9g6LXL1BOBe+zJySiFkHAINCtnQokbCJ/apCv0foqPiZVfhpywAAAAASUVORK5CYII=",lt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAACVBMVEX28ef48+n69esoK7jYAAAB4UlEQVQozw2OsW4bQQxEhwLXkDrysGdEqRRgVShfQQq8wOr2jD0jSpXCLvwXbtKfADlFqgSwC/9ljqweZgYzQFnb/QGepYhA9jzmTc1WaSEtQpbFgjWATI00ZZtIckXx8q2Oe5yEByBy+RHOTcM+VVTadULsvxvRC/q8WTwgcWGD+Mnaqa0oy2gw2pKFzK+PzEsus5hP9AHojKslVynLlioVTBEN8cjDNnZoR1uMGTiZAAN47HxMtEkGUE9b8HWzkqNX5Lpk0yVziAJOs46rK1pG/xNuXLjz95fSDoJE5IqG23MAYPtWoeWPvfVtIV/Ng9oH3W0gGMPIOqd4MK4QZ55dV61gOb8Zxp7I9qayaGxp6Q91cmC0ZRdBwEQVHWzSAanlZwVWc9yljeTCeaHjBVvlPSLeyeBUT2rPdJegQI103jVS3uYkyIx1il6mslMDedZuOkwzolsagvPuQAfp7cYg7k9V1NOxfq64PNSvMdwONV4VYEmqlbpZy5OAakRKkjPnL4CBv5/OZRgoWHBmNbxB0LgB1I4vXFj93UoFLine truncated
@@ -1 +0,0 @@
import{a1 as Q,n as $,o as g,d as f,g as e,F as V,O as P,t as d,a2 as B,a3 as S,c as q,w as z,f as M,u as o,a4 as G,a5 as D,p as L,i as W,s as X,z as _,J as j,N as J,S as ee,k,e as x,A as te,K as se,v as N,a6 as ae,H as oe,B as ne,a7 as ce}from"./vendor-42d5cecc.js";import{d as re,l as le}from"./el-loading-06a73ac7.js";import{_ as H,u as ie,A as E}from"./index-dfa25950.js";const O=n=>(L("data-v-fd33c3e8"),n=n(),W(),n),de={class:"books-wrapper"},ue={class:"wrapper"},he=["onClick"],pe={class:"cover-img"},ve=["src"],_e={class:"info"},ge={class:"name"},fe={class:"sub"},me={class:"author"},we={class:"tags"},Ae={class:"update-info"},Ie=O(()=>e("div",{class:"dot"},"•",-1)),Be={class:"size"},Se=O(()=>e("div",{class:"dot"},"•",-1)),ke={class:"date"},xe={class:"last-chapter"},ye={__name:"BookItems",props:["books","isSearch"],emits:["bookClick"],setup(n,{emit:r}){const y=n;Q(s=>({"036742a7":o(m)}));const C=s=>r("bookClick",G(s)),R=s=>/^data:/.test(s)?s:location.origin+"/cover?path="+encodeURIComponent(s),m=$(()=>y.isSearch?"space-between":"flex-start");return(s,h)=>{const w=D;return g(),f("div",de,[e("div",ue,[(g(!0),f(V,null,P(n.books,c=>{var i;return g(),f("div",{class:"book",key:c.bookUrl,onClick:l=>C(c)},[e("div",pe,[(g(),f("img",{class:"cover",src:R(c.coverUrl),key:c.coverUrl,alt:"",loading:"lazy"},null,8,ve))]),e("div",_e,[e("div",ge,d(c.name),1),e("div",fe,[e("div",me,d(c.author),1),B(e("div",we,[(g(!0),f(V,null,P((i=c.kind)==null?void 0:i.split(",").slice(0,2),l=>(g(),q(w,{key:l},{default:z(()=>[M(d(l),1)]),_:2},1024))),128))],512),[[S,n.isSearch]]),B(e("div",Ae,[Ie,e("div",Be,"共"+d(c.totalChapterNum)+"章",1),Se,e("div",ke,d(o(re)(c.lastCheckTime)),1)],512),[[S,!n.isSearch]])]),B(e("div",{class:"intro"},d(c.intro),513),[[S,n.isSearch]]),B(e("div",{class:"dur-chapter"}," 已读:"+d(c.durChapterTitle),513),[[S,!n.isSearch]]),e("div",xe,"最新:"+d(c.latestChapterTitle),1)])],8,he)}),128))])])}}},Ce=H(ye,[["__scopeId","data-v-fd33c3e8"]]);const Re="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAECUlEQVRYR7WXTYhcRRDHq3pY9yKrYBQ8KBsjgvHgwRhiQBTjYZm4Xe8NusawhwS/o9GLoKhgBGPAgJd1NdGIXwtZTbRf9Rqzl6gHTVyDeIkIgnEOghAM6oKHzTJd0sO8Zaa338zb7NjwmJn++Ndv+lVVVyOsoM3Ozl69sLBAiHiDc26NUuoKv9w5d14p9aeI/DI4OMgjIyN/lJXFMhOttQ8BgBaR0TLzEXEGAKzW+lCv+V0BmLmGiLtF5M5eQrFxRPxaRCaI6LOi9YUAzPwGADxxMYYjayaJ6MkoZKyTmU8AwF19Mp7LfElEW0LNZTvAzIcBYFufjedy00T0QLt2B4AxZo9S6qX/yXhT1jn3cpqme3IbSwDM/DgAvNlu3Dm3Uyl1HAA2IOJ2EdleEu5Io9H4EBHPVCqVLSISRsMuInrLazUBpqamhoaGhr4TkRsDgLVpmtbzPmPMLQBwOwD4vvzxw8P5IyJztVrtVL4my7L1iPhTx7Yj/jw/P79pfHx8vgmQZdkLiPhK+O8GBgauqVarv5f819FpxpjLlVJ/hYMi8mKSJHubAMz8KwBcF1EYI6IjqwRIlFImonGWiNZhlmVVRDxWYGTVAMx8HwB8EtMXka1orT0gIo9GJrxNRLH+FW8IMx8EgEeW5QDEgx5gTkQ2Bk7yr9b60hVb6rKAmc8BwJWBne+x4P3XiWhtPwGstV9FzpSzHuBvALgsMHaaiDp2ZbUwWZZNIuKuQOcfD7AAAJeEcaq1Xr9ao+3rmdknnscCzQse4LdWEukYazQaa2q12vl+QTDztwCwOdCr+zA8iYi3RQwREdl+ADDz9QDwIwB0OLaInPJRcEhEHoyEyAmt9d39ALDW2lg1hYjv+lfgC4WJgkTxcJIkPcuqbpC+qgKATwvm7PYAGwDgdBeRZ4notYvZCWPMDqXUe13W3to8C6y10yJyv//u6zj/2R6ziPiRiBwt6xPMrBExFZEdRcYR8WOt9bb8MNoKAJ+3Jvtwed05d4dSKtz+c4h4VGsdrRWttZMici8AXFVix+4homNLBUmWZQcQMc/9x4mommXZ84i4t11MKbV5dHR06bxvH5uZmbnZOfdN6O0RmMNE1CxulgCstdeKyBcAcFPrVTyltZ4wxiSVSuXplkhda72zh9P1rClFZFOSJHMdAP5Hq3rxR6eH+IGIvIOuqFlr94nIc10WdRzxy6riAMJnr2nn3JlcME3TppMWNWvtfhF5pmB8WX0RvZgEEEtaYUUbM2KtfUdE/FUubNHipvBmZIxZp5TaDwBprlQGIHLqzSHiPq01x4B7Xk6Z2d8TfDwPlwFozfd1f90598Hi4uKrY2NjFwrzQVkP81nNi/byAWOMv8gOp2n6fhnt/wDqJrRWLmhIrwAAAABJRU5ErkJggg==";const T=n=>(L("data-v-179d47ba"),n=n(),W(),n),Ee={class:"index-wrapper"},ze={class:"navigation-wrapper"},Me=T(()=>e("div",{class:"navigation-title-wrapper"},[e("div",{class:"navigation-title"},"阅读"),e("div",{class:"navigation-sub-title"},"清风不识字,何故乱翻书")],-1)),Te={class:"search-wrapper"},be={class:"bottom-wrapper"},Ve={class:"recent-wrapper"},Pe=T(()=>e("div",{class:"recent-title"},"最近阅读",-1)),Je={class:"reading-recent"},Ne={class:"setting-wrapper"},De=T(()=>e("div",{class:"setting-title"},"基本设定",-1)),Le={class:"setting-item"},We={class:"bottom-icons"},He={href:"https://github.com/gedoor/legado_web_bookshelf",target:"_blank"},Oe={class:"bottom-icon"},Ze=["src"],Ke={__name:"BookShelf",setup(n){const r=ie(),{connectStatus:y,connectType:C,newConnect:R,shelf:m}=X(r),s=_({name:"尚无阅读记录",author:"",url:"",chapterIndex:0,chapterPos:0}),h=_(!1),w=_(null),c=_(null);j(h,t=>{var a;if(!t)return(a=c.value)==null?void 0:a.close();c.value=ce.service({target:w.value,spinner:le,text:"正在获取书籍信息",lock:!0})});const i=_([]);J(()=>{i.value.length>0&&(h.value=!1)});const l=_(""),A=_(!1);J(()=>{if(!(A.value&&l.value!="")){if(A.value=!1,i.value=[],l.value==""){i.value=m.value;return}i.value=m.value.filter(t=>t.name.includes(l.value)||t.author.includes(l.value))}});const Z=()=>{l.value!=""&&(i.value=[],r.clearSearchBooks(),h.value=!0,A.value=!0,E.search(l.value,t=>{try{r.setSearchBooks(JSON.parse(t)),r.searchBooks.forEach(a=>i.value.push(a))}catch(a){throw k.error("Line truncated
@@ -0,0 +1 @@
import{a1 as Q,n as $,o as _,d as v,g as e,F as b,O as L,t as l,a2 as I,a3 as B,c as q,w as M,f as T,u as a,a4 as G,a5 as D,p as J,i as W,s as X,z as g,N as j,S as ee,k,e as S,A as te,K as se,v as N,a6 as ae,H as oe,B as ne}from"./vendor-0c9d4c13.js";import{d as ce,u as re}from"./loading-ddccb8e8.js";import{_ as H,u as ie,A as z}from"./index-3dbb2f78.js";const O=n=>(J("data-v-fd33c3e8"),n=n(),W(),n),le={class:"books-wrapper"},de={class:"wrapper"},ue=["onClick"],he={class:"cover-img"},pe=["src"],_e={class:"info"},ve={class:"name"},ge={class:"sub"},me={class:"author"},fe={class:"tags"},we={class:"update-info"},Ae=O(()=>e("div",{class:"dot"},"•",-1)),Ie={class:"size"},Be=O(()=>e("div",{class:"dot"},"•",-1)),ke={class:"date"},Se={class:"last-chapter"},ye={__name:"BookItems",props:["books","isSearch"],emits:["bookClick"],setup(n,{emit:c}){const y=n;Q(t=>({"036742a7":a(m)}));const x=t=>c("bookClick",G(t)),C=t=>/^data:/.test(t)?t:location.origin+"/cover?path="+encodeURIComponent(t),m=$(()=>y.isSearch?"space-between":"flex-start");return(t,R)=>{const E=D;return _(),v("div",le,[e("div",de,[(_(!0),v(b,null,L(n.books,r=>{var f;return _(),v("div",{class:"book",key:r.bookUrl,onClick:i=>x(r)},[e("div",he,[(_(),v("img",{class:"cover",src:C(r.coverUrl),key:r.coverUrl,alt:"",loading:"lazy"},null,8,pe))]),e("div",_e,[e("div",ve,l(r.name),1),e("div",ge,[e("div",me,l(r.author),1),I(e("div",fe,[(_(!0),v(b,null,L((f=r.kind)==null?void 0:f.split(",").slice(0,2),i=>(_(),q(E,{key:i},{default:M(()=>[T(l(i),1)]),_:2},1024))),128))],512),[[B,n.isSearch]]),I(e("div",we,[Ae,e("div",Ie,"共"+l(r.totalChapterNum)+"章",1),Be,e("div",ke,l(a(ce)(r.lastCheckTime)),1)],512),[[B,!n.isSearch]])]),I(e("div",{class:"intro"},l(r.intro),513),[[B,n.isSearch]]),I(e("div",{class:"dur-chapter"}," 已读:"+l(r.durChapterTitle),513),[[B,!n.isSearch]]),e("div",Se,"最新:"+l(r.latestChapterTitle),1)])],8,ue)}),128))])])}}},xe=H(ye,[["__scopeId","data-v-fd33c3e8"]]);const Ce="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAECUlEQVRYR7WXTYhcRRDHq3pY9yKrYBQ8KBsjgvHgwRhiQBTjYZm4Xe8NusawhwS/o9GLoKhgBGPAgJd1NdGIXwtZTbRf9Rqzl6gHTVyDeIkIgnEOghAM6oKHzTJd0sO8Zaa338zb7NjwmJn++Ndv+lVVVyOsoM3Ozl69sLBAiHiDc26NUuoKv9w5d14p9aeI/DI4OMgjIyN/lJXFMhOttQ8BgBaR0TLzEXEGAKzW+lCv+V0BmLmGiLtF5M5eQrFxRPxaRCaI6LOi9YUAzPwGADxxMYYjayaJ6MkoZKyTmU8AwF19Mp7LfElEW0LNZTvAzIcBYFufjedy00T0QLt2B4AxZo9S6qX/yXhT1jn3cpqme3IbSwDM/DgAvNlu3Dm3Uyl1HAA2IOJ2EdleEu5Io9H4EBHPVCqVLSISRsMuInrLazUBpqamhoaGhr4TkRsDgLVpmtbzPmPMLQBwOwD4vvzxw8P5IyJztVrtVL4my7L1iPhTx7Yj/jw/P79pfHx8vgmQZdkLiPhK+O8GBgauqVarv5f819FpxpjLlVJ/hYMi8mKSJHubAMz8KwBcF1EYI6IjqwRIlFImonGWiNZhlmVVRDxWYGTVAMx8HwB8EtMXka1orT0gIo9GJrxNRLH+FW8IMx8EgEeW5QDEgx5gTkQ2Bk7yr9b60hVb6rKAmc8BwJWBne+x4P3XiWhtPwGstV9FzpSzHuBvALgsMHaaiDp2ZbUwWZZNIuKuQOcfD7AAAJeEcaq1Xr9ao+3rmdknnscCzQse4LdWEukYazQaa2q12vl+QTDztwCwOdCr+zA8iYi3RQwREdl+ADDz9QDwIwB0OLaInPJRcEhEHoyEyAmt9d39ALDW2lg1hYjv+lfgC4WJgkTxcJIkPcuqbpC+qgKATwvm7PYAGwDgdBeRZ4notYvZCWPMDqXUe13W3to8C6y10yJyv//u6zj/2R6ziPiRiBwt6xPMrBExFZEdRcYR8WOt9bb8MNoKAJ+3Jvtwed05d4dSKtz+c4h4VGsdrRWttZMici8AXFVix+4homNLBUmWZQcQMc/9x4mommXZ84i4t11MKbV5dHR06bxvH5uZmbnZOfdN6O0RmMNE1CxulgCstdeKyBcAcFPrVTyltZ4wxiSVSuXplkhda72zh9P1rClFZFOSJHMdAP5Hq3rxR6eH+IGIvIOuqFlr94nIc10WdRzxy6riAMJnr2nn3JlcME3TppMWNWvtfhF5pmB8WX0RvZgEEEtaYUUbM2KtfUdE/FUubNHipvBmZIxZp5TaDwBprlQGIHLqzSHiPq01x4B7Xk6Z2d8TfDwPlwFozfd1f90598Hi4uKrY2NjFwrzQVkP81nNi/byAWOMv8gOp2n6fhnt/wDqJrRWLmhIrwAAAABJRU5ErkJggg==";const V=n=>(J("data-v-1fc5c811"),n=n(),W(),n),Re={class:"index-wrapper"},Ee={class:"navigation-wrapper"},ze=V(()=>e("div",{class:"navigation-title-wrapper"},[e("div",{class:"navigation-title"},"阅读"),e("div",{class:"navigation-sub-title"},"清风不识字,何故乱翻书")],-1)),Me={class:"search-wrapper"},Te={class:"bottom-wrapper"},Ve={class:"recent-wrapper"},Pe=V(()=>e("div",{class:"recent-title"},"最近阅读",-1)),be={class:"reading-recent"},Le={class:"setting-wrapper"},Ne=V(()=>e("div",{class:"setting-title"},"基本设定",-1)),De={class:"setting-item"},Je={class:"bottom-icons"},We={href:"https://github.com/gedoor/legado_web_bookshelf",target:"_blank"},He={class:"bottom-icon"},Oe=["src"],Ze={__name:"BookShelf",setup(n){const c=ie(),{connectStatus:y,connectType:x,newConnect:C,shelf:m}=X(c),t=g({name:"尚无阅读记录",author:"",url:"",chapterIndex:0,chapterPos:0}),R=g(null),{showLoading:E,closeLoading:r,loadingWrapper:f}=re(R,"正在获取书籍信息"),i=g([]),d=g(""),w=g(!1);j(()=>{if(!(w.value&&d.value!="")){if(w.value=!1,i.value=[],d.value==""){i.value=m.value;return}i.value=m.value.filter(s=>s.name.includes(d.value)||s.author.includes(d.value))}});const Z=()=>{d.value!=""&&(i.value=[],c.clearSearchBooks(),E(),w.value=!0,z.search(d.value,s=>{try{c.setSearchBooks(JSON.parse(s)),c.searchBooks.forEach(o=>i.value.push(o))}catch(o){throw k.error("后端数据错误"),o}},()=>{r(),i.value.length==0&&k.info("搜索结果为空")}))},K=()=>{},F=ae(),Y=async s=>{const{bookUrl:o,name:h,author:u,durChapterIndex:p=0,duLine truncated
@@ -1 +1 @@
@charset "UTF-8";.books-wrapper[data-v-fd33c3e8]{overflow:scroll}.books-wrapper .wrapper[data-v-fd33c3e8]{display:grid;grid-template-columns:repeat(auto-fill,380px);justify-content:space-around;grid-gap:10px}.books-wrapper .wrapper .book[data-v-fd33c3e8]{user-select:none;display:flex;cursor:pointer;margin-bottom:18px;padding:24px;width:360px;flex-direction:row;justify-content:space-around}.books-wrapper .wrapper .book .cover-img[data-v-fd33c3e8],.books-wrapper .wrapper .book .cover-img .cover[data-v-fd33c3e8]{width:84px;height:112px}.books-wrapper .wrapper .book .info[data-v-fd33c3e8]{display:flex;flex-direction:column;justify-content:space-around;align-items:left;height:112px;margin-left:20px;flex:1}.books-wrapper .wrapper .book .info .name[data-v-fd33c3e8]{width:fit-content;font-size:16px;font-weight:700;color:#33373d}.books-wrapper .wrapper .book .info .sub[data-v-fd33c3e8]{display:flex;flex-direction:row;align-items:baseline;justify-content:var(--036742a7);font-size:12px;font-weight:600;color:#6b6b6b}.books-wrapper .wrapper .book .info .sub .tags[data-v-fd33c3e8] .el-tag{margin-right:.5em}.books-wrapper .wrapper .book .info .sub .update-info[data-v-fd33c3e8]{display:flex}.books-wrapper .wrapper .book .info .sub .update-info .dot[data-v-fd33c3e8]{margin:0 7px}.books-wrapper .wrapper .book .info .intro[data-v-fd33c3e8],.books-wrapper .wrapper .book .info .dur-chapter[data-v-fd33c3e8],.books-wrapper .wrapper .book .info .last-chapter[data-v-fd33c3e8]{color:#969ba3;font-size:13px;margin-top:3px;font-weight:500;word-wrap:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;text-align:left}.books-wrapper .wrapper .book[data-v-fd33c3e8]:hover{background:rgba(0,0,0,.1);transition-duration:.5s}.books-wrapper .wrapper[data-v-fd33c3e8]:last-child{margin-right:auto}.books-wrapper[data-v-fd33c3e8]::-webkit-scrollbar{width:0!important}@media screen and (max-width: 750px){.books-wrapper .wrapper[data-v-fd33c3e8]{display:flex;flex-direction:column}.books-wrapper .wrapper .book[data-v-fd33c3e8]{box-sizing:border-box;width:100%;margin-bottom:0;padding:10px 20px}}@font-face{font-family:FZZCYSK;src:local("\263a"),url(./shelffont-16b1b95a.ttf);font-style:normal;font-weight:400}.index-wrapper[data-v-179d47ba]{height:100%;width:100%;display:flex;flex-direction:row}.index-wrapper .navigation-wrapper[data-v-179d47ba]{width:260px;min-width:260px;padding:48px 36px;background-color:#f7f7f7}.index-wrapper .navigation-wrapper .navigation-title[data-v-179d47ba]{font-size:24px;font-weight:500;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .navigation-sub-title[data-v-179d47ba]{font-size:16px;font-weight:300;font-family:FZZCYSK;margin-top:16px;color:#b1b1b1}.index-wrapper .navigation-wrapper .search-wrapper .search-input[data-v-179d47ba]{border-radius:50%;margin-top:24px}.index-wrapper .navigation-wrapper .search-wrapper .search-input[data-v-179d47ba] .el-input__wrapper{border-radius:50px;border-color:#e3e3e3}.index-wrapper .navigation-wrapper .recent-wrapper[data-v-179d47ba]{margin-top:36px}.index-wrapper .navigation-wrapper .recent-wrapper .recent-title[data-v-179d47ba]{font-size:14px;color:#b1b1b1;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .recent-wrapper .reading-recent[data-v-179d47ba]{margin:18px 0}.index-wrapper .navigation-wrapper .recent-wrapper .reading-recent .recent-book[data-v-179d47ba]{font-size:10px;cursor:pointer}.index-wrapper .navigation-wrapper .setting-wrapper[data-v-179d47ba]{margin-top:36px}.index-wrapper .navigation-wrapper .setting-wrapper .setting-title[data-v-179d47ba]{font-size:14px;color:#b1b1b1;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .setting-wrapper .no-point[data-v-179d47ba]{pointer-events:none}.index-wrapper .navigation-wrapper .setting-wrapper .setting-connect[data-v-179d47ba]{font-size:8px;margin-top:16px;cursor:pointer}.index-wrapper .navigation-wrapper .bottom-icons[data-v-179d47ba]{position:fixed;bottom:0;height:120px;width:260px;align-items:center;display:flex;flex-direction:row}.index-wrapper .shelf-wrapper[data-v-179d47ba]{padding:48px;width:100%;display:flex;flex-direction:column}.index-wrapper .shelf-wrapper[data-v-179d47ba] .el-loading-mask{background-color:#0000}.index-wrapper .shelf-wrapper[data-v-179d47ba] .el-loading-spinner{font-size:36px;color:#b5b5b5}.index-wrapper .shelf-wrapper[data-v-179d47ba] .el-loading-text{font-weight:500;color:#b5b5b5}@media screen and (max-width: 750px){.index-wrapper[data-v-179d47ba]{overflow-x:hidden;flex-direction:column}.index-wrapper .navigation-wrapper[data-v-179d47ba]{padding:20px 24px;box-sizing:border-box;width:100%}.index-wrapper .navigation-wrapper .navigation-title-wrapper[data-v-179d47ba]{white-space:nowrap;display:flex;justify-content:space-between;align-items:flex-end}.index-wrapper .navigation-wrapper .bottom-wrapper[data-v-179d47ba],.index-wrapper .navigation-wrapper .bottom-icons[data-v-179d47ba]{display:none}.index-wrapper .shelf-wrapper[dataLine truncated
@charset "UTF-8";.books-wrapper[data-v-fd33c3e8]{overflow:scroll}.books-wrapper .wrapper[data-v-fd33c3e8]{display:grid;grid-template-columns:repeat(auto-fill,380px);justify-content:space-around;grid-gap:10px}.books-wrapper .wrapper .book[data-v-fd33c3e8]{user-select:none;display:flex;cursor:pointer;margin-bottom:18px;padding:24px;width:360px;flex-direction:row;justify-content:space-around}.books-wrapper .wrapper .book .cover-img[data-v-fd33c3e8],.books-wrapper .wrapper .book .cover-img .cover[data-v-fd33c3e8]{width:84px;height:112px}.books-wrapper .wrapper .book .info[data-v-fd33c3e8]{display:flex;flex-direction:column;justify-content:space-around;align-items:left;height:112px;margin-left:20px;flex:1}.books-wrapper .wrapper .book .info .name[data-v-fd33c3e8]{width:fit-content;font-size:16px;font-weight:700;color:#33373d}.books-wrapper .wrapper .book .info .sub[data-v-fd33c3e8]{display:flex;flex-direction:row;align-items:baseline;justify-content:var(--036742a7);font-size:12px;font-weight:600;color:#6b6b6b}.books-wrapper .wrapper .book .info .sub .tags[data-v-fd33c3e8] .el-tag{margin-right:.5em}.books-wrapper .wrapper .book .info .sub .update-info[data-v-fd33c3e8]{display:flex}.books-wrapper .wrapper .book .info .sub .update-info .dot[data-v-fd33c3e8]{margin:0 7px}.books-wrapper .wrapper .book .info .intro[data-v-fd33c3e8],.books-wrapper .wrapper .book .info .dur-chapter[data-v-fd33c3e8],.books-wrapper .wrapper .book .info .last-chapter[data-v-fd33c3e8]{color:#969ba3;font-size:13px;margin-top:3px;font-weight:500;word-wrap:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;text-align:left}.books-wrapper .wrapper .book[data-v-fd33c3e8]:hover{background:rgba(0,0,0,.1);transition-duration:.5s}.books-wrapper .wrapper[data-v-fd33c3e8]:last-child{margin-right:auto}.books-wrapper[data-v-fd33c3e8]::-webkit-scrollbar{width:0!important}@media screen and (max-width: 750px){.books-wrapper .wrapper[data-v-fd33c3e8]{display:flex;flex-direction:column}.books-wrapper .wrapper .book[data-v-fd33c3e8]{box-sizing:border-box;width:100%;margin-bottom:0;padding:10px 20px}}@font-face{font-family:FZZCYSK;src:local("\263a"),url(./shelffont-16b1b95a.ttf);font-style:normal;font-weight:400}.index-wrapper[data-v-1fc5c811]{height:100%;width:100%;display:flex;flex-direction:row}.index-wrapper .navigation-wrapper[data-v-1fc5c811]{width:260px;min-width:260px;padding:48px 36px;background-color:#f7f7f7}.index-wrapper .navigation-wrapper .navigation-title[data-v-1fc5c811]{font-size:24px;font-weight:500;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .navigation-sub-title[data-v-1fc5c811]{font-size:16px;font-weight:300;font-family:FZZCYSK;margin-top:16px;color:#b1b1b1}.index-wrapper .navigation-wrapper .search-wrapper .search-input[data-v-1fc5c811]{border-radius:50%;margin-top:24px}.index-wrapper .navigation-wrapper .search-wrapper .search-input[data-v-1fc5c811] .el-input__wrapper{border-radius:50px;border-color:#e3e3e3}.index-wrapper .navigation-wrapper .recent-wrapper[data-v-1fc5c811]{margin-top:36px}.index-wrapper .navigation-wrapper .recent-wrapper .recent-title[data-v-1fc5c811]{font-size:14px;color:#b1b1b1;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .recent-wrapper .reading-recent[data-v-1fc5c811]{margin:18px 0}.index-wrapper .navigation-wrapper .recent-wrapper .reading-recent .recent-book[data-v-1fc5c811]{font-size:10px;cursor:pointer}.index-wrapper .navigation-wrapper .setting-wrapper[data-v-1fc5c811]{margin-top:36px}.index-wrapper .navigation-wrapper .setting-wrapper .setting-title[data-v-1fc5c811]{font-size:14px;color:#b1b1b1;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .setting-wrapper .no-point[data-v-1fc5c811]{pointer-events:none}.index-wrapper .navigation-wrapper .setting-wrapper .setting-connect[data-v-1fc5c811]{font-size:8px;margin-top:16px;cursor:pointer}.index-wrapper .navigation-wrapper .bottom-icons[data-v-1fc5c811]{position:fixed;bottom:0;height:120px;width:260px;align-items:center;display:flex;flex-direction:row}.index-wrapper .shelf-wrapper[data-v-1fc5c811]{padding:48px;width:100%;display:flex;flex-direction:column}.index-wrapper .shelf-wrapper[data-v-1fc5c811] .el-loading-mask{background-color:#0000}.index-wrapper .shelf-wrapper[data-v-1fc5c811] .el-loading-spinner{font-size:36px;color:#b5b5b5}.index-wrapper .shelf-wrapper[data-v-1fc5c811] .el-loading-text{font-weight:500;color:#b5b5b5}@media screen and (max-width: 750px){.index-wrapper[data-v-1fc5c811]{overflow-x:hidden;flex-direction:column}.index-wrapper .navigation-wrapper[data-v-1fc5c811]{padding:20px 24px;box-sizing:border-box;width:100%}.index-wrapper .navigation-wrapper .navigation-title-wrapper[data-v-1fc5c811]{white-space:nowrap;display:flex;justify-content:space-between;align-items:flex-end}.index-wrapper .navigation-wrapper .bottom-wrapper[data-v-1fc5c811],.index-wrapper .navigation-wrapper .bottom-icons[data-v-1fc5c811]{display:none}.index-wrapper .shelf-wrapper[dataLine truncated
@@ -1 +1 @@
import{u as n,A as r}from"./index-dfa25950.js";import"./vendor-42d5cecc.js";const i=n();i.setMiniInterface(window.innerWidth<750);window.onresize=()=>{i.setMiniInterface(window.innerWidth<750)};r.getReadConfig().then(a=>{var e=a.data.data;if(e){const t=n();let o=JSON.parse(e),s=t.config;o=Object.assign(s,o),t.setConfig(o)}});
import{u as n,A as r}from"./index-3dbb2f78.js";import"./vendor-0c9d4c13.js";const i=n();i.setMiniInterface(window.innerWidth<750);window.onresize=()=>{i.setMiniInterface(window.innerWidth<750)};r.getReadConfig().then(a=>{var e=a.data.data;if(e){const t=n();let o=JSON.parse(e),s=t.config;o=Object.assign(s,o),t.setConfig(o)}});
@@ -1 +0,0 @@
import{u}from"./index-dfa25950.js";const f=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;function D(t,n,e,a){let s=t<12?"AM":"PM";return a&&(s=s.split("").reduce((l,i)=>l+=`${i}.`,"")),e?s.toLowerCase():s}function L(t,n,e={}){var a;const s=t.getFullYear(),l=t.getMonth(),i=t.getDate(),o=t.getHours(),r=t.getMinutes(),g=t.getSeconds(),m=t.getMilliseconds(),d=t.getDay(),c=(a=e.customMeridiem)!=null?a:D,M={YY:()=>String(s).slice(-2),YYYY:()=>s,M:()=>l+1,MM:()=>`${l+1}`.padStart(2,"0"),MMM:()=>t.toLocaleDateString(e.locales,{month:"short"}),MMMM:()=>t.toLocaleDateString(e.locales,{month:"long"}),D:()=>String(i),DD:()=>`${i}`.padStart(2,"0"),H:()=>String(o),HH:()=>`${o}`.padStart(2,"0"),h:()=>`${o%12||12}`.padStart(1,"0"),hh:()=>`${o%12||12}`.padStart(2,"0"),m:()=>String(r),mm:()=>`${r}`.padStart(2,"0"),s:()=>String(g),ss:()=>`${g}`.padStart(2,"0"),SSS:()=>`${m}`.padStart(3,"0"),d:()=>d,dd:()=>t.toLocaleDateString(e.locales,{weekday:"narrow"}),ddd:()=>t.toLocaleDateString(e.locales,{weekday:"short"}),dddd:()=>t.toLocaleDateString(e.locales,{weekday:"long"}),A:()=>c(o,r),AA:()=>c(o,r,!1,!0),a:()=>c(o,r,!0),aa:()=>c(o,r,!0,!0)};return n.replace(f,(S,h)=>h||M[S]())}const w=t=>/,\s*\{/.test(t)||!(t.startsWith("http")||t.startsWith("data:")||t.startsWith("blob:"));function Y(t){return location.origin+"/image?path="+encodeURIComponent(t)+"&url="+encodeURIComponent(sessionStorage.getItem("bookUrl"))+"&width="+u().config.readWidth}const $=t=>{let n=new Date().getTime(),e=Math.floor((n-t)/1e3),a="";return e<=30?a="刚刚":e<60?a=e+"秒前":e<3600?a=Math.floor(e/60)+"分钟前":e<86400?a=Math.floor(e/3600)+"小时前":e<2592e3?a=Math.floor(e/86400)+"天前":a=L(new Date(t),"YYYY-MM-DD"),a},v='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><path fill="currentColor" d="M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32zm0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32zm448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32zm-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32zM195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248zM828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0zm-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0z"/></svg>';export{$ as d,Y as g,w as i,v as l};
@@ -0,0 +1,13 @@
import{r as xe,o as l,c as C,a as ne,b as re,d as E,e as p,w as u,f as y,u as i,l as z,g,F as R,E as Be,h as ue,p as Ue,i as Ee,j as Ve,k as x,m as de,s as X,n as F,t as Q,q as pe,v as he,x as se,y as Ie,z as O,A as M,B as ge,C as Ne,D as Te,G as ie,V as $e,H as Y,I as Le,J as _e,K as Re,L as T,M as Oe,N as Pe,O as K,P as me,Q as Se,R as q,S as De,T as Je,U as Ae,W as Ke,X as je,Y as Me,Z as He,_ as Fe,$ as ze,a0 as qe}from"./vendor-0c9d4c13.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))s(n);new MutationObserver(n=>{for(const r of n)if(r.type==="childList")for(const a of r.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&s(a)}).observe(document,{childList:!0,subtree:!0});function o(n){const r={};return n.integrity&&(r.integrity=n.integrity),n.referrerPolicy&&(r.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?r.credentials="include":n.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(n){if(n.ep)return;n.ep=!0;const r=o(n);fetch(n.href,r)}})();const We="modulepreload",Ge=function(e,t){return new URL(e,t).href},le={},oe=function(t,o,s){if(!o||o.length===0)return t();const n=document.getElementsByTagName("link");return Promise.all(o.map(r=>{if(r=Ge(r,s),r in le)return;le[r]=!0;const a=r.endsWith(".css"),f=a?'[rel="stylesheet"]':"";if(!!s)for(let S=n.length-1;S>=0;S--){const w=n[S];if(w.href===r&&(!a||w.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${r}"]${f}`))return;const _=document.createElement("link");if(_.rel=a?"stylesheet":We,a||(_.as="script",_.crossOrigin=""),_.href=r,document.head.appendChild(_),a)return new Promise((S,w)=>{_.addEventListener("load",S),_.addEventListener("error",()=>w(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>t())},P=(e,t)=>{const o=e.__vccOpts||e;for(const[s,n]of t)o[s]=n;return o},Qe={};function Xe(e,t){const o=xe("router-view");return l(),C(o)}const Ye=P(Qe,[["render",Xe]]),ye=[{path:"/",name:"shelf",component:()=>oe(()=>import("./BookShelf-dabb2b6c.js"),["./BookShelf-dabb2b6c.js","./vendor-0c9d4c13.js","./vendor-6f0d1692.css","./loading-ddccb8e8.js","./loading-c009631e.css","./BookShelf-fdcf8eba.css"],import.meta.url)},{path:"/chapter",name:"chapter",component:()=>oe(()=>import("./BookChapter-1722c488.js"),["./BookChapter-1722c488.js","./vendor-0c9d4c13.js","./vendor-6f0d1692.css","./loading-ddccb8e8.js","./loading-c009631e.css","./BookChapter-0adbc371.css"],import.meta.url)}];ne({history:re(),routes:ye});const $=e=>(Ue("data-v-aee57c78"),e=e(),Ee(),e),Ze=$(()=>g("br",null,null,-1)),et=$(()=>g("br",null,null,-1)),tt=$(()=>g("br",null,null,-1)),ot=$(()=>g("br",null,null,-1)),nt=$(()=>g("br",null,null,-1)),rt={style:{"margin-top":"20px"}},st=$(()=>g("code",null,"^$()[]{}.?+*|",-1)),it=$(()=>g("br",null,null,-1)),lt=$(()=>g("code",null,"(?s)",-1)),at=$(()=>g("br",null,null,-1)),ct=$(()=>g("code",null,"(?m)",-1)),ut=$(()=>g("br",null,null,-1)),dt=$(()=>g("code",null,"(?i)",-1)),pt=$(()=>g("br",null,null,-1)),ht={__name:"SourceHelp",setup(e){return(t,o)=>{const s=Be,n=ue;return l(),E(R,null,[p(s,{icon:i(z),href:"https://alanskycn.gitee.io/teachme/",target:"_blank"},{default:u(()=>[y("书源制作教程")]),_:1},8,["icon"]),Ze,p(s,{icon:i(z),href:"https://zhuanlan.zhihu.com/p/29436838",target:"_blank"},{default:u(()=>[y("xpath基础教程")]),_:1},8,["icon"]),et,p(s,{icon:i(z),href:"https://zhuanlan.zhihu.com/p/32187820",target:"_blank"},{default:u(()=>[y("xpath高级教程")]),_:1},8,["icon"]),tt,p(s,{icon:i(z),href:"https://www.w3cschool.cn/regex_rmjc",target:"_blank"},{default:u(()=>[y("正则表达式教程")]),_:1},8,["icon"]),ot,p(s,{icon:i(z),href:"https://regexr-cn.com/",target:"_blank"},{default:u(()=>[y("正则表达式在线验证工具")]),_:1},8,["icon"]),nt,g("div",rt,[g("span",null,[p(n,null,{default:u(()=>[st,y(" 这些是Java正则特殊符号,匹配需转义")]),_:1})]),it,g("span",null,[p(n,null,{default:u(()=>[lt,y(" 前缀表示跨行解析")]),_:1})]),at,g("span",null,[p(n,null,{default:u(()=>[ct,y(" 前缀表示逐行匹配")]),_:1})]),ut,g("span",null,[p(n,null,{default:u(()=>[dt,y(" 前缀表示忽略大小写")]),_:1})]),pt])],64)}}},gt=P(ht,[["__scopeId","data-v-aee57c78"]]),_t=1e3,V=Ve.create({baseURL:location.origin,timeout:120*_t}),{hostname:fe,port:be}=new URL(location.origin),mt=/source/i.test(location.href),St=e=>{throw mt&&x({message:"后端错误,检查网络或者阅读app",type:"error"}),e};V.interceptors.response.use(e=>e,St);const yt=()=>V.get("/getReadConfig"),ft=e=>V.post("/saveReadConfig",e),bt=e=>V.post("/saveBookProgress",e),kt=e=>{e&&navigator.sendBeacon(`${location.origin}/saveBookProgress`,JSON.stringify(e))},vt=()=>V.get("/getBookshelf"),Ct=e=>V.get("/getChapterList?url="+encodeURIComponent(e)),wt=(e,t)=>V.get("/getBookContent?url="+encodeURIComponent(e)+"&index="+t),xt=(e,t,o)=>{const s=`ws://${Line truncated
`},r=async()=>{o.value="",await j.saveSource(t.currentSource),j.debug(t.currentSourceUrl,s.value||t.searchKey,n,t.debugFinish)},a=F(()=>/bookSource/.test(window.location.href));return(f,b)=>{const _=Y;return l(),E(R,null,[i(a)?(l(),C(_,{key:0,id:"debug-key",modelValue:i(s),"onUpdate:modelValue":b[0]||(b[0]=S=>M(s)?s.value=S:null),placeholder:"搜索书名、作者","prefix-icon":i(ge),style:{"padding-bottom":"4px"},onKeydown:Re(r,["enter"])},null,8,["modelValue","prefix-icon","onKeydown"])):T("",!0),p(_,{id:"debug-text",modelValue:i(o),"onUpdate:modelValue":b[1]||(b[1]=S=>M(o)?o.value=S:null),type:"textarea",readonly:"",rows:"29",placeholder:"这里用于输出调试信息"},null,8,["modelValue"])],64)}}},Mt=P(jt,[["__scopeId","data-v-eb736730"]]),go=de("book",{state:()=>({connectStatus:"正在连接后端服务器……",connectType:"",newConnect:!0,searchBooks:[],shelf:[],catalog:[],readingBook:{index:0,chapterPos:0},popCataVisible:!1,contentLoading:!0,showContent:!1,config:{theme:0,font:0,fontSize:18,readWidth:800,infiniteLoading:!1,customFontName:"",spacing:{paragraph:1,line:.8,letter:0}},miniInterface:!1,readSettingsVisible:!1}),getters:{bookProgress:e=>{var a;if(e.catalog.length==0)return;const{index:t,chapterPos:o,bookName:s,bookAuthor:n}=e.readingBook;let r=(a=e.catalog[t])==null?void 0:a.title;if(r)return{name:s,author:n,durChapterIndex:t,durChapterPos:o,durChapterTime:new Date().getTime(),durChapterTitle:r}}},actions:{setConnectStatus(e){this.connectStatus=e},setConnectType(e){this.connectType=e},setNewConnect(e){this.newConnect=e},addBooks(e){this.shelf=e},setCatalog(e){this.catalog=e},setPopCataVisible(e){this.popCataVisible=e},setContentLoading(e){this.contentLoading=e},setReadingBook(e){this.readingBook=e},setConfig(e){Object.assign(this.config,e)},setReadSettingsVisible(e){this.readSettingsVisible=e},setShowContent(e){this.showContent=e},setMiniInterface(e){this.miniInterface=e},async setSearchBooks(e){e.forEach(t=>{this.shelf.find(s=>s.bookUrl==t.bookUrl)===void 0&&this.searchBooks.push(t)})},clearSearchBooks(){this.searchBooks=[]},async saveBookProgress(){return this.bookProgress?j.saveBookProgress(this.bookProgress):Promise.resolve()}}}),Ht=Oe();const Ft={__name:"SourceJson",setup(e){const t=H(),o=O(""),s=async n=>{try{t.changeEditTabSource(JSON.parse(n))}catch{x({message:"粘贴的源格式错误",type:"error"})}};return Pe(async()=>{let n=t.editTabSource;Object.keys(n).length>0?o.value=JSON.stringify(n,null,4):o.value=""}),(n,r)=>{const a=Y;return l(),C(a,{id:"source-json",modelValue:i(o),"onUpdate:modelValue":r[0]||(r[0]=f=>M(o)?o.value=f:null),type:"textarea",placeholder:"这里输出序列化的JSON数据,可直接导入'阅读'APP",rows:"30",onChange:s,style:{"margin-bottom":"4px"}},null,8,["modelValue"])}}},zt=P(Ft,[["__scopeId","data-v-7e91a802"]]);const qt={__name:"SourceTabTools",setup(e){const t=H(),{currentTab:o}=X(t),s=O([["editTab","编辑源"],["editDebug","调试源"],["editList","源列表"],["editHelp","帮助信息"]]);return(n,r)=>{const a=zt,f=Mt,b=Kt,_=gt,S=me,w=Se;return l(),C(w,{modelValue:i(o),"onUpdate:modelValue":r[0]||(r[0]=v=>M(o)?o.value=v:null)},{default:u(()=>[(l(!0),E(R,null,K(i(s),(v,c)=>(l(),C(S,{key:v[0],name:v[0],label:v[1]},{default:u(()=>[c==0?(l(),C(a,{key:0})):T("",!0),c==1?(l(),C(f,{key:1})):T("",!0),c==2?(l(),C(b,{key:2})):T("",!0),c==3?(l(),C(_,{key:3})):T("",!0)]),_:2},1032,["name","label"]))),128))]),_:1},8,["modelValue"])}}},Wt=P(qt,[["__scopeId","data-v-dcce2457"]]);const Gt={class:"menu flex-column-center"},Qt={class:"hotkeys-header flex-space-between"},Xt=["id"],Yt={key:0},Zt={class:"hotkeys-settings flex-column-center"},eo={class:"title"},to={class:"hotkeys-item__content"},oo={key:0},no={key:0},ro={__name:"ToolBar",setup(e){const t=H(),o=()=>{const h=x({message:"加载中……",showClose:!0,duration:0});j.getSources().then(({data:d})=>{d.isSuccess?(t.changeTabName("editList"),t.saveSources(d.data),x({message:`成功拉取${d.data.length}条源`,type:"success"})):x({message:d.errorMsg??"后端错误",type:"error"})}).finally(()=>h.close())},s=()=>{let h=t.sources;if(t.changeTabName("editList"),h.length===0)return x({message:"空空如也",type:"info"});x({message:"正在推送中",type:"info"}),j.saveSources(h).then(({data:d})=>{if(d.isSuccess){let m=d.data;if(Array.isArray(m)){let k="";h.length>m.length&&(k=`
推送失败的源将用红色字体标注!`,t.setPushReturnSources(m)),x({message:`批量推送源到「阅读3.0APP」
共计: ${h.length} 条
成功: ${m.length} 条
失败: ${h.length-m.length} 条${k}`,type:"success"})}}else x({message:`批量推送源失败!
ErrorMsg: ${d.errorMsg}`,type:"error"})})},n=()=>{t.changeTabName("editTab"),t.changeEditTabSource(t.currentSource)},r=()=>{t.changeCurrentSource(t.editTabSource)},a=()=>{t.editHistoryUndo()},f=()=>{t.clearEdit(),x({message:"已清除",type:"success"})},b=()=>{t.clearEdit(),t.clearAllHistory(),x({message:"已清除所有历史记录",type:"success"})},_=()=>{let h=/bookSource/.test(location.href),d=t.currentSource;$t(d)?j.saveSource(d).then(({data:m})=>{m.isSuccess?(x({message:`源《${h?d.bookSourceName:d.sourceName}》已成功保存到「阅读3.0APP」`,type:"success"}),t.saveCurrentSource()):x({message:`源《${h?d.bookSourceName:d.sourceName}》保存失败!
ErrorMsg: ${m.errorMsg}`,type:"error"})}):x({message:"请检查<必填>项是否全部填写",type:"error"})},S=()=>{t.startDebug()},w=O(Array.of({name:"⇈推送源",hotKeys:[],action:s},{name:"⇊拉取源",hotKeys:[],action:o},{name:"⋙生成源",hotKeys:[],action:n},{name:"⋘编辑源",hotKeys:[],action:r},{name:"✗清空表单",hotKeys:[],action:f},{name:"↶撤销操作",hotKeys:[],action:a},{name:"↷重做操作",hotKeys:[],action:b},{name:"⇏调试源",hotKeys:[],action:S},{name:"✓保存源",hotKeys:[],action:_})),v=O(!0),c=O(!1),U=O(-1),D=()=>{c.value||(v.value=!1),c.value=!1};_e(v,h=>{if(!h)return q.unbind("*");q.unbind(),q("*",d=>{d.preventDefault();let m=q.getPressedKeyString();m.length==1&&m[0]=="esc"||c.value&&U.value>-1&&(w.value[U.value].hotKeys=m)})},{immediate:!0});const B=h=>{c.value=!0,x({message:"按ESC键或者点击空白处结束录入",type:"info"}),w.value[h].hotKeys=[],U.value=h},J=()=>{v.value=!1;const h=[];w.value.forEach(({hotKeys:d,action:m})=>{q(d.join("+"),k=>{k.preventDefault(),m.call(null)}),h.push(d)}),I(h)},I=h=>{localStorage.setItem("legado_web_hotkeys",JSON.stringify(h))},L=()=>{try{const h=JSON.parse(localStorage.getItem("legado_web_hotkeys"));if(!Array.isArray(h)||h.length==0)return;w.value.forEach((d,m)=>d.hotKeys=h[m]),v.value=!1,J()}catch{x({message:"快捷键配置错误",type:"error"}),localStorage.removeItem("legado_web_hotkeys")}};return De(()=>{L()}),(h,d)=>{const m=se,k=ue,Z=Ae;return l(),E(R,null,[g("div",Gt,[(l(!0),E(R,null,K(i(w),N=>(l(),C(m,{size:"large",key:N.name,onClick:N.action},{default:u(()=>[y(Q(N.name),1)]),_:2},1032,["onClick"]))),128)),p(m,{size:"large",onClick:d[0]||(d[0]=()=>v.value=!0)},{default:u(()=>[y("快捷键")]),_:1})]),p(Z,{modelValue:i(v),"onUpdate:modelValue":d[1]||(d[1]=N=>M(v)?v.value=N:null),"show-close":!1,"before-close":D},{header:u(({titleClass:N,titleId:ee})=>[g("div",Qt,[g("div",{id:ee,class:he(N)},[y(" 快捷键设置 "),i(c)?(l(),E("span",Yt,[p(k,null,{default:u(()=>[y(" / 录入中 ")]),_:1})])):T("",!0)],10,Xt),p(m,{disabled:i(c),onClick:J,icon:i(Je)},{default:u(()=>[y("保存")]),_:1},8,["disabled","icon"])])]),default:u(()=>[g("div",Zt,[(l(!0),E(R,null,K(i(w),(N,ee)=>(l(),E("div",{key:N.name,class:"hotkeys-item flex-space-between"},[g("span",eo,[p(k,null,{default:u(()=>[y(Q(N.name),1)]),_:2},1024)]),g("div",to,[(l(!0),E(R,null,K(N.hotKeys,(te,we)=>(l(),E("div",{key:te},[g("kbd",null,Q(te),1),we+1<N.hotKeys.length?(l(),E("span",oo,[p(k,null,{default:u(()=>[y("+")]),_:1})])):T("",!0)]))),128)),N.hotKeys.length==0?(l(),E("span",no,"未设置")):T("",!0)]),p(m,{disabled:i(c),text:"",icon:i(pe),onClick:te=>B(ee)},{default:u(()=>[y("编辑")]),_:2},1032,["disabled","icon","onClick"])]))),128))])]),_:1},8,["modelValue"])],64)}}},so=P(ro,[["__scopeId","data-v-e3b61f1f"]]);const io={__name:"SourceTabForm",props:["config"],setup(e){const t=H(),{currentSource:o}=X(t);return(s,n)=>{const r=Y,a=Ke,f=je,b=Me,_=He,S=Fe,w=ze,v=me,c=Se;return l(),C(c,{id:"source-edit"},{default:u(()=>[(l(!0),E(R,null,K(Object.values(e.config),({name:U,children:D})=>(l(),C(v,{label:U,key:U},{default:u(()=>[p(w,{"label-position":"right","label-width":"5em"},{default:u(()=>[(l(!0),E(R,null,K(D,({type:B,title:J,namespace:I,id:L,array:h,hint:d,required:m})=>(l(),C(S,{label:J,key:J,required:m},{default:u(()=>[B=="String"&&typeof I>"u"?(l(),C(r,{key:0,type:"textarea",modelValue:i(o)[L],"onUpdate:modelValue":k=>i(o)[L]=k,placeholder:d,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):T("",!0),B=="String"&&typeof I<"u"?(l(),C(r,{key:1,type:"textarea",modelValue:i(o)[I][L],"onUpdate:modelValue":k=>i(o)[I][L]=k,placeholder:d,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):T("",!0),B=="Boolean"?(l(),C(a,{key:2,modelValue:i(o)[L],"onUpdate:modelValue":k=>i(o)[L]=k},null,8,["modelValue","onUpdate:modelValue"])):T("",!0),B=="Number"?(l(),C(f,{key:3,modelValue:i(o)[L],"onUpdate:modelValue":k=>i(o)[L]=k,min:0},null,8,["modelValue","onUpdate:modelValue"])):T("",!0),B=="Array"?(l(),C(_,{key:4,modelValue:i(o)[L],"onUpdate:modelValue":k=>i(o)[L]=k},{default:u(()=>[(l(!0),E(R,null,K(h,(k,Z)=>(l(),C(b,{value:Z,key:k,label:k},null,8,["value","label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):T("",!0)]),_:2},1032,["label","required"]))),128))]),_:2},1024)]),_:2},1032,["label"]))),128))]),_:1})}}},lo=P(io,[["__scopeId","data-v-2cfb5302"]]),ao={base:{name:"基础",children:[{title:"源类型",id:"bookSourceType",type:"Array",array:["文本","音频","图片","文件"],required:!0},{title:"源域名",id:"bookSourceUrl",type:"String",hint:"通常填写网站主页,例: https://www.qidian.com",required:!0},{title:"源名称",id:"bookSourceName",type:"String",hint:"会显示在源列表",required:!0},{title:"源分组",id:"bookSourceGroup",type:"String",hint:"描述源的特征信息"},{title:"源注释",id:"bookSourceComment",type:"String",hint:"描述源作者和状态"},{title:"书源变量",id:"variableCo Line truncated
每行一条发现分类(网址域名可省略),例:
名称1::网址(Url)1
名称2::网址(Url)2
...`},{title:"发现筛选",id:"exploreScreen",type:"String",hint:"发现筛选规则"},{title:"列表规则",namespace:"ruleExplore",id:"bookList",type:"String",hint:"选择书籍节点 (规则结果为List<Element>)"},{title:"书名规则",namespace:"ruleExplore",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleExplore",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleExplore",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleExplore",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleExplore",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleExplore",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleExplore",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",namespace:"ruleExplore",id:"bookUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}]},detail:{name:"详情",children:[{title:"预处理",namespace:"ruleBookInfo",id:"init",type:"String",hint:"用于加速详情信息检索,只支持AllInOne规则"},{title:"书名规则",namespace:"ruleBookInfo",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleBookInfo",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleBookInfo",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleBookInfo",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleBookInfo",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleBookInfo",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleBookInfo",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"目录地址",namespace:"ruleBookInfo",id:"tocUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url, 与详情页相同时可省略)"},{title:"下载URL",namespace:"ruleBookInfo",id:"downloadUrls",type:"String",hint:"文件类书源下载地址 (规则结果为String类型的url, 多个链接返回数组)"},{title:"修改书籍",namespace:"ruleBookInfo",id:"canReName",type:"String",hint:"允许修改书名作者(规则结果为String类型, 默认不允许)"}]},directory:{name:"目录",children:[{title:"预处理",namespace:"ruleToc",id:"preUpdateJs",type:"String",hint:"更新目录前调用JS 动态更新目录链接"},{title:"列表规则",namespace:"ruleToc",id:"chapterList",type:"String",hint:"选择目录列表的章节节点 (规则结果为List<Element>)"},{title:"章节名称",namespace:"ruleToc",id:"chapterName",type:"String",hint:"选择章节名称 (规则结果为String)"},{title:"章节地址",namespace:"ruleToc",id:"chapterUrl",type:"String",hint:"选择章节链接 (规则结果为String类型的Url)"},{title:"卷名标识",namespace:"ruleToc",id:"isVolume",type:"String",hint:"章节名称是否是卷名 (规则结果为Bool)"},{title:"收费标识",namespace:"ruleToc",id:"isVip",type:"String",hint:"章节是否为VIP章节 (规则结果为Bool)"},{title:"购买标识",namespace:"ruleToc",id:"isPay",type:"String",hint:"章节是否为已购买 (规则结果为Bool)"},{title:"章节信息",namespace:"ruleToc",id:"updateTime",type:"String",hint:"选择章节信息 (规则结果为String)"},{title:"翻页规则",namespace:"ruleToc",id:"nextTocUrl",type:"String",hint:"选择目录下一页链接 (规则结果为List<String>或String)"}]},content:{name:"正文",children:[{title:"脚本注入",namespace:"ruleContent",id:"webJs",type:"String",hint:"注入javascript,用于模拟鼠标点击等,必须有返回值,一般为String类型"},{title:"正文规则",namespace:"ruleContent",id:"content",type:"String",hint:"选择正文内容 (规则结果为String)"},{title:"翻页规则",namespace:"ruleContent",id:"nextContentUrl",type:"String",hint:"选择下一分页(不是下一章)链接 (规则结果为String类型的Url)"},{title:"资源正则",namespace:"ruleContent",id:"sourceRegex",type:"String",hint:"匹配资源的url特征,用于嗅探"},{title:"替换规则",namespace:"ruleContent",id:"replaceRegex",type:"String",hint:"多页内容合并后替换,用于正文净化"},{title:"图片样式",namespace:"ruleContent",id:"imageStyle",type:"String",hint:"FULL:铺满 不填:默认样式"},{title:"购买操作",namespace:"ruleContent",id:"payAc Line truncated
名称2::链接2`},{title:"登录地址",id:"loginUrl",type:"String",hint:"填写网站登录网址,仅在需要登录的源有用"},{title:"登录界面",id:"loginUi",type:"String",hint:"自定义登录界面"},{title:"登录检测",id:"loginCheckJs",type:"String",hint:"登录检测js"},{title:"封面解密",id:"coverDecodeJs",type:"String",hint:"封面解密js"},{title:"请求头",id:"header",type:"String",hint:"客户端标识"},{title:"变量说明",id:"variableComment",type:"String",hint:"源变量说明"},{title:"并发率",id:"concurrentRate",type:"String",hint:"并发率"}]},list:{name:"列表",children:[{title:"列表规则",id:"ruleArticles",type:"String",hint:"规则结果为List<Element>"},{title:"翻页规则",id:"ruleNextPage",type:"String",hint:"下一页链接 规则结果为List<String>或String"},{title:"标题规则",id:"ruleTitle",type:"String",hint:"文章标题 规则结果为String"},{title:"时间规则",id:"rulePubDate",type:"String",hint:"文章发布时间 规则结果为String"},{title:"描述规则",id:"ruleDescription",type:"String",hint:"文章简要描述 规则结果为String"},{title:"图片规则",id:"ruleImage",type:"String",hint:"文章图片链接 规则结果为String"},{title:"链接规则",id:"ruleLink",type:"String",hint:"文章链接 规则结果为String"}]},webView:{name:"WebView",children:[{title:"内容规则",id:"ruleContent",type:"String",hint:"文章正文"},{title:"样式规则",id:"style",type:"String",hint:"文章正文样式 填写css"},{title:"注入规则",id:"injectJs",type:"String",hint:"注入网页的JavaScript"},{title:"黑名单",id:"contentBlacklist",type:"String",hint:"webView链接加载黑名单,英文逗号隔开"},{title:"白名单",id:"contentWhitelist",type:"String",hint:"webView链接加载白名单,英文逗号隔开"}]},other:{name:"其他",children:[{title:"列表样式",id:"articleStyle",type:"Array",array:["默认","大图","双列"]},{title:"加载地址",id:"loadWithBaseUrl",type:"Boolean"},{title:"启用JS",id:"enableJs",type:"Boolean"},{title:"启用",id:"enabled",type:"Boolean"},{title:"Cookie",id:"enabledCookieJar",type:"Boolean"},{title:"单URL",id:"singleUrl",type:"Boolean"},{title:"排序编号",id:"customOrder",type:"Number"}]}};const uo={class:"editor"},po={__name:"SourceEditor",setup(e){const t=O({});return/bookSource/i.test(location.href)?(t.value=ao,document.title="书源管理"):(t.value=co,document.title="订阅源管理"),(o,s)=>{const n=lo,r=so,a=Wt;return l(),E("div",uo,[p(n,{class:"left",config:i(t)},null,8,["config"]),p(r),p(a,{class:"right"})])}}},ce=P(po,[["__scopeId","data-v-e99e7704"]]),ve=[{path:"/bookSource",name:"book-home",component:ce},{path:"/rssSource",name:"rss-home",component:ce}];ne({history:re(),routes:ve});const Ce=ne({history:re(),routes:ye.concat(ve)});Ce.afterEach(e=>{e.name=="shelf"&&(document.title="书架")});qe(Ye).use(Ht).use(Ce).mount("#app");oe(()=>import("./config-366f8406.js"),["./config-366f8406.js","./vendor-0c9d4c13.js","./vendor-6f0d1692.css","./config-811f2a0b.css"],import.meta.url);export{j as A,P as _,go as u};
@@ -1,13 +0,0 @@
import{r as xe,o as l,c as C,a as ne,b as re,d as E,e as p,w as u,f as y,u as i,l as z,g as _,F as R,E as Ue,h as ue,p as Be,i as Ee,j as Ve,k as x,m as de,s as X,n as F,t as Q,q as pe,v as he,x as se,y as Ie,z as O,A as M,B as _e,C as Te,D as Ne,G as ie,V as $e,H as Y,I as Le,J as ge,K as Re,L as N,M as Oe,N as Pe,O as K,P as me,Q as Se,R as q,S as De,T as Je,U as Ae,W as Ke,X as je,Y as Me,Z as He,_ as Fe,$ as ze,a0 as qe}from"./vendor-42d5cecc.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))s(n);new MutationObserver(n=>{for(const r of n)if(r.type==="childList")for(const a of r.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&s(a)}).observe(document,{childList:!0,subtree:!0});function o(n){const r={};return n.integrity&&(r.integrity=n.integrity),n.referrerPolicy&&(r.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?r.credentials="include":n.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(n){if(n.ep)return;n.ep=!0;const r=o(n);fetch(n.href,r)}})();const We="modulepreload",Ge=function(e,t){return new URL(e,t).href},le={},oe=function(t,o,s){if(!o||o.length===0)return t();const n=document.getElementsByTagName("link");return Promise.all(o.map(r=>{if(r=Ge(r,s),r in le)return;le[r]=!0;const a=r.endsWith(".css"),f=a?'[rel="stylesheet"]':"";if(!!s)for(let S=n.length-1;S>=0;S--){const w=n[S];if(w.href===r&&(!a||w.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${r}"]${f}`))return;const g=document.createElement("link");if(g.rel=a?"stylesheet":We,a||(g.as="script",g.crossOrigin=""),g.href=r,document.head.appendChild(g),a)return new Promise((S,w)=>{g.addEventListener("load",S),g.addEventListener("error",()=>w(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>t())},P=(e,t)=>{const o=e.__vccOpts||e;for(const[s,n]of t)o[s]=n;return o},Qe={};function Xe(e,t){const o=xe("router-view");return l(),C(o)}const Ye=P(Qe,[["render",Xe]]),ye=[{path:"/",name:"shelf",component:()=>oe(()=>import("./BookShelf-d61477a8.js"),["./BookShelf-d61477a8.js","./vendor-42d5cecc.js","./vendor-6f0d1692.css","./el-loading-06a73ac7.js","./el-loading-d0f2d079.css","./BookShelf-e718c249.css"],import.meta.url)},{path:"/chapter",name:"chapter",component:()=>oe(()=>import("./BookChapter-1992d750.js"),["./BookChapter-1992d750.js","./vendor-42d5cecc.js","./vendor-6f0d1692.css","./el-loading-06a73ac7.js","./el-loading-d0f2d079.css","./BookChapter-4ade18f3.css"],import.meta.url)}];ne({history:re(),routes:ye});const $=e=>(Be("data-v-aee57c78"),e=e(),Ee(),e),Ze=$(()=>_("br",null,null,-1)),et=$(()=>_("br",null,null,-1)),tt=$(()=>_("br",null,null,-1)),ot=$(()=>_("br",null,null,-1)),nt=$(()=>_("br",null,null,-1)),rt={style:{"margin-top":"20px"}},st=$(()=>_("code",null,"^$()[]{}.?+*|",-1)),it=$(()=>_("br",null,null,-1)),lt=$(()=>_("code",null,"(?s)",-1)),at=$(()=>_("br",null,null,-1)),ct=$(()=>_("code",null,"(?m)",-1)),ut=$(()=>_("br",null,null,-1)),dt=$(()=>_("code",null,"(?i)",-1)),pt=$(()=>_("br",null,null,-1)),ht={__name:"SourceHelp",setup(e){return(t,o)=>{const s=Ue,n=ue;return l(),E(R,null,[p(s,{icon:i(z),href:"https://alanskycn.gitee.io/teachme/",target:"_blank"},{default:u(()=>[y("书源制作教程")]),_:1},8,["icon"]),Ze,p(s,{icon:i(z),href:"https://zhuanlan.zhihu.com/p/29436838",target:"_blank"},{default:u(()=>[y("xpath基础教程")]),_:1},8,["icon"]),et,p(s,{icon:i(z),href:"https://zhuanlan.zhihu.com/p/32187820",target:"_blank"},{default:u(()=>[y("xpath高级教程")]),_:1},8,["icon"]),tt,p(s,{icon:i(z),href:"https://www.w3cschool.cn/regex_rmjc",target:"_blank"},{default:u(()=>[y("正则表达式教程")]),_:1},8,["icon"]),ot,p(s,{icon:i(z),href:"https://regexr-cn.com/",target:"_blank"},{default:u(()=>[y("正则表达式在线验证工具")]),_:1},8,["icon"]),nt,_("div",rt,[_("span",null,[p(n,null,{default:u(()=>[st,y(" 这些是Java正则特殊符号,匹配需转义")]),_:1})]),it,_("span",null,[p(n,null,{default:u(()=>[lt,y(" 前缀表示跨行解析")]),_:1})]),at,_("span",null,[p(n,null,{default:u(()=>[ct,y(" 前缀表示逐行匹配")]),_:1})]),ut,_("span",null,[p(n,null,{default:u(()=>[dt,y(" 前缀表示忽略大小写")]),_:1})]),pt])],64)}}},_t=P(ht,[["__scopeId","data-v-aee57c78"]]),gt=1e3,V=Ve.create({baseURL:location.origin,timeout:120*gt}),{hostname:fe,port:be}=new URL(location.origin),mt=/source/i.test(location.href),St=e=>{throw mt&&x({message:"后端错误,检查网络或者阅读app",type:"error"}),e};V.interceptors.response.use(e=>e,St);const yt=()=>V.get("/getReadConfig"),ft=e=>V.post("/saveReadConfig",e),bt=e=>V.post("/saveBookProgress",e),kt=()=>V.get("/getBookshelf"),vt=e=>V.get("/getChapterList?url="+encodeURIComponent(e)),Ct=(e,t)=>V.get("/getBookContent?url="+encodeURIComponent(e)+"&index="+t),wt=(e,t,o)=>{const s=`ws://${fe}:${Number(be)+1}/searchBook`,n=new WebSocket(s);n.onopen=()=>{n.send(Line truncated
`},r=async()=>{o.value="",await j.saveSource(t.currentSource),j.debug(t.currentSourceUrl,s.value||t.searchKey,n,t.debugFinish)},a=F(()=>/bookSource/.test(window.location.href));return(f,b)=>{const g=Y;return l(),E(R,null,[i(a)?(l(),C(g,{key:0,id:"debug-key",modelValue:i(s),"onUpdate:modelValue":b[0]||(b[0]=S=>M(s)?s.value=S:null),placeholder:"搜索书名、作者","prefix-icon":i(_e),style:{"padding-bottom":"4px"},onKeydown:Re(r,["enter"])},null,8,["modelValue","prefix-icon","onKeydown"])):N("",!0),p(g,{id:"debug-text",modelValue:i(o),"onUpdate:modelValue":b[1]||(b[1]=S=>M(o)?o.value=S:null),type:"textarea",readonly:"",rows:"29",placeholder:"这里用于输出调试信息"},null,8,["modelValue"])],64)}}},jt=P(Kt,[["__scopeId","data-v-eb736730"]]),ho=de("book",{state:()=>({connectStatus:"正在连接后端服务器……",connectType:"",newConnect:!0,searchBooks:[],shelf:[],catalog:[],readingBook:{index:0,chapterPos:0},popCataVisible:!1,contentLoading:!0,showContent:!1,config:{theme:0,font:0,fontSize:18,readWidth:800,infiniteLoading:!1,customFontName:"",spacing:{paragraph:1,line:.8,letter:0}},miniInterface:!1,readSettingsVisible:!1}),getters:{bookProgress:e=>{var a;if(e.catalog.length==0)return;const{index:t,chapterPos:o,bookName:s,bookAuthor:n}=e.readingBook;let r=(a=e.catalog[t])==null?void 0:a.title;if(r)return{name:s,author:n,durChapterIndex:t,durChapterPos:o,durChapterTime:new Date().getTime(),durChapterTitle:r}}},actions:{setConnectStatus(e){this.connectStatus=e},setConnectType(e){this.connectType=e},setNewConnect(e){this.newConnect=e},addBooks(e){this.shelf=e},setCatalog(e){this.catalog=e},setPopCataVisible(e){this.popCataVisible=e},setContentLoading(e){this.contentLoading=e},setReadingBook(e){this.readingBook=e},setConfig(e){Object.assign(this.config,e)},setReadSettingsVisible(e){this.readSettingsVisible=e},setShowContent(e){this.showContent=e},setMiniInterface(e){this.miniInterface=e},async setSearchBooks(e){e.forEach(t=>{this.shelf.find(s=>s.bookUrl==t.bookUrl)===void 0&&this.searchBooks.push(t)})},clearSearchBooks(){this.searchBooks=[]},async saveBookProgress(){return this.bookProgress?j.saveBookProcess(this.bookProgress):Promise.resolve()}}}),Mt=Oe();const Ht={__name:"SourceJson",setup(e){const t=H(),o=O(""),s=async n=>{try{t.changeEditTabSource(JSON.parse(n))}catch{x({message:"粘贴的源格式错误",type:"error"})}};return Pe(async()=>{let n=t.editTabSource;Object.keys(n).length>0?o.value=JSON.stringify(n,null,4):o.value=""}),(n,r)=>{const a=Y;return l(),C(a,{id:"source-json",modelValue:i(o),"onUpdate:modelValue":r[0]||(r[0]=f=>M(o)?o.value=f:null),type:"textarea",placeholder:"这里输出序列化的JSON数据,可直接导入'阅读'APP",rows:"30",onChange:s,style:{"margin-bottom":"4px"}},null,8,["modelValue"])}}},Ft=P(Ht,[["__scopeId","data-v-7e91a802"]]);const zt={__name:"SourceTabTools",setup(e){const t=H(),{currentTab:o}=X(t),s=O([["editTab","编辑源"],["editDebug","调试源"],["editList","源列表"],["editHelp","帮助信息"]]);return(n,r)=>{const a=Ft,f=jt,b=At,g=_t,S=me,w=Se;return l(),C(w,{modelValue:i(o),"onUpdate:modelValue":r[0]||(r[0]=v=>M(o)?o.value=v:null)},{default:u(()=>[(l(!0),E(R,null,K(i(s),(v,c)=>(l(),C(S,{key:v[0],name:v[0],label:v[1]},{default:u(()=>[c==0?(l(),C(a,{key:0})):N("",!0),c==1?(l(),C(f,{key:1})):N("",!0),c==2?(l(),C(b,{key:2})):N("",!0),c==3?(l(),C(g,{key:3})):N("",!0)]),_:2},1032,["name","label"]))),128))]),_:1},8,["modelValue"])}}},qt=P(zt,[["__scopeId","data-v-dcce2457"]]);const Wt={class:"menu flex-column-center"},Gt={class:"hotkeys-header flex-space-between"},Qt=["id"],Xt={key:0},Yt={class:"hotkeys-settings flex-column-center"},Zt={class:"title"},eo={class:"hotkeys-item__content"},to={key:0},oo={key:0},no={__name:"ToolBar",setup(e){const t=H(),o=()=>{const h=x({message:"加载中……",showClose:!0,duration:0});j.getSources().then(({data:d})=>{d.isSuccess?(t.changeTabName("editList"),t.saveSources(d.data),x({message:`成功拉取${d.data.length}条源`,type:"success"})):x({message:d.errorMsg??"后端错误",type:"error"})}).finally(()=>h.close())},s=()=>{let h=t.sources;if(t.changeTabName("editList"),h.length===0)return x({message:"空空如也",type:"info"});x({message:"正在推送中",type:"info"}),j.saveSources(h).then(({data:d})=>{if(d.isSuccess){let m=d.data;if(Array.isArray(m)){let k="";h.length>m.length&&(k=`
推送失败的源将用红色字体标注!`,t.setPushReturnSources(m)),x({message:`批量推送源到「阅读3.0APP」
共计: ${h.length} 条
成功: ${m.length} 条
失败: ${h.length-m.length} 条${k}`,type:"success"})}}else x({message:`批量推送源失败!
ErrorMsg: ${d.errorMsg}`,type:"error"})})},n=()=>{t.changeTabName("editTab"),t.changeEditTabSource(t.currentSource)},r=()=>{t.changeCurrentSource(t.editTabSource)},a=()=>{t.editHistoryUndo()},f=()=>{t.clearEdit(),x({message:"已清除",type:"success"})},b=()=>{t.clearEdit(),t.clearAllHistory(),x({message:"已清除所有历史记录",type:"success"})},g=()=>{let h=/bookSource/.test(location.href),d=t.currentSource;Nt(d)?j.saveSource(d).then(({data:m})=>{m.isSuccess?(x({message:`源《${h?d.bookSourceName:d.sourceName}》已成功保存到「阅读3.0APP」`,type:"success"}),t.saveCurrentSource()):x({message:`源《${h?d.bookSourceName:d.sourceName}》保存失败!
ErrorMsg: ${m.errorMsg}`,type:"error"})}):x({message:"请检查<必填>项是否全部填写",type:"error"})},S=()=>{t.startDebug()},w=O(Array.of({name:"⇈推送源",hotKeys:[],action:s},{name:"⇊拉取源",hotKeys:[],action:o},{name:"⋙生成源",hotKeys:[],action:n},{name:"⋘编辑源",hotKeys:[],action:r},{name:"✗清空表单",hotKeys:[],action:f},{name:"↶撤销操作",hotKeys:[],action:a},{name:"↷重做操作",hotKeys:[],action:b},{name:"⇏调试源",hotKeys:[],action:S},{name:"✓保存源",hotKeys:[],action:g})),v=O(!0),c=O(!1),B=O(-1),D=()=>{c.value||(v.value=!1),c.value=!1};ge(v,h=>{if(!h)return q.unbind("*");q.unbind(),q("*",d=>{d.preventDefault();let m=q.getPressedKeyString();m.length==1&&m[0]=="esc"||c.value&&B.value>-1&&(w.value[B.value].hotKeys=m)})},{immediate:!0});const U=h=>{c.value=!0,x({message:"按ESC键或者点击空白处结束录入",type:"info"}),w.value[h].hotKeys=[],B.value=h},J=()=>{v.value=!1;const h=[];w.value.forEach(({hotKeys:d,action:m})=>{q(d.join("+"),k=>{k.preventDefault(),m.call(null)}),h.push(d)}),I(h)},I=h=>{localStorage.setItem("legado_web_hotkeys",JSON.stringify(h))},L=()=>{try{const h=JSON.parse(localStorage.getItem("legado_web_hotkeys"));if(!Array.isArray(h)||h.length==0)return;w.value.forEach((d,m)=>d.hotKeys=h[m]),v.value=!1,J()}catch{x({message:"快捷键配置错误",type:"error"}),localStorage.removeItem("legado_web_hotkeys")}};return De(()=>{L()}),(h,d)=>{const m=se,k=ue,Z=Ae;return l(),E(R,null,[_("div",Wt,[(l(!0),E(R,null,K(i(w),T=>(l(),C(m,{size:"large",key:T.name,onClick:T.action},{default:u(()=>[y(Q(T.name),1)]),_:2},1032,["onClick"]))),128)),p(m,{size:"large",onClick:d[0]||(d[0]=()=>v.value=!0)},{default:u(()=>[y("快捷键")]),_:1})]),p(Z,{modelValue:i(v),"onUpdate:modelValue":d[1]||(d[1]=T=>M(v)?v.value=T:null),"show-close":!1,"before-close":D},{header:u(({titleClass:T,titleId:ee})=>[_("div",Gt,[_("div",{id:ee,class:he(T)},[y(" 快捷键设置 "),i(c)?(l(),E("span",Xt,[p(k,null,{default:u(()=>[y(" / 录入中 ")]),_:1})])):N("",!0)],10,Qt),p(m,{disabled:i(c),onClick:J,icon:i(Je)},{default:u(()=>[y("保存")]),_:1},8,["disabled","icon"])])]),default:u(()=>[_("div",Yt,[(l(!0),E(R,null,K(i(w),(T,ee)=>(l(),E("div",{key:T.name,class:"hotkeys-item flex-space-between"},[_("span",Zt,[p(k,null,{default:u(()=>[y(Q(T.name),1)]),_:2},1024)]),_("div",eo,[(l(!0),E(R,null,K(T.hotKeys,(te,we)=>(l(),E("div",{key:te},[_("kbd",null,Q(te),1),we+1<T.hotKeys.length?(l(),E("span",to,[p(k,null,{default:u(()=>[y("+")]),_:1})])):N("",!0)]))),128)),T.hotKeys.length==0?(l(),E("span",oo,"未设置")):N("",!0)]),p(m,{disabled:i(c),text:"",icon:i(pe),onClick:te=>U(ee)},{default:u(()=>[y("编辑")]),_:2},1032,["disabled","icon","onClick"])]))),128))])]),_:1},8,["modelValue"])],64)}}},ro=P(no,[["__scopeId","data-v-e3b61f1f"]]);const so={__name:"SourceTabForm",props:["config"],setup(e){const t=H(),{currentSource:o}=X(t);return(s,n)=>{const r=Y,a=Ke,f=je,b=Me,g=He,S=Fe,w=ze,v=me,c=Se;return l(),C(c,{id:"source-edit"},{default:u(()=>[(l(!0),E(R,null,K(Object.values(e.config),({name:B,children:D})=>(l(),C(v,{label:B,key:B},{default:u(()=>[p(w,{"label-position":"right","label-width":"5em"},{default:u(()=>[(l(!0),E(R,null,K(D,({type:U,title:J,namespace:I,id:L,array:h,hint:d,required:m})=>(l(),C(S,{label:J,key:J,required:m},{default:u(()=>[U=="String"&&typeof I>"u"?(l(),C(r,{key:0,type:"textarea",modelValue:i(o)[L],"onUpdate:modelValue":k=>i(o)[L]=k,placeholder:d,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):N("",!0),U=="String"&&typeof I<"u"?(l(),C(r,{key:1,type:"textarea",modelValue:i(o)[I][L],"onUpdate:modelValue":k=>i(o)[I][L]=k,placeholder:d,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):N("",!0),U=="Boolean"?(l(),C(a,{key:2,modelValue:i(o)[L],"onUpdate:modelValue":k=>i(o)[L]=k},null,8,["modelValue","onUpdate:modelValue"])):N("",!0),U=="Number"?(l(),C(f,{key:3,modelValue:i(o)[L],"onUpdate:modelValue":k=>i(o)[L]=k,min:0},null,8,["modelValue","onUpdate:modelValue"])):N("",!0),U=="Array"?(l(),C(g,{key:4,modelValue:i(o)[L],"onUpdate:modelValue":k=>i(o)[L]=k},{default:u(()=>[(l(!0),E(R,null,K(h,(k,Z)=>(l(),C(b,{value:Z,key:k,label:k},null,8,["value","label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):N("",!0)]),_:2},1032,["label","required"]))),128))]),_:2},1024)]),_:2},1032,["label"]))),128))]),_:1})}}},io=P(so,[["__scopeId","data-v-2cfb5302"]]),lo={base:{name:"基础",children:[{title:"源类型",id:"bookSourceType",type:"Array",array:["文本","音频","图片","文件"],required:!0},{title:"源域名",id:"bookSourceUrl",type:"String",hint:"通常填写网站主页,例: https://www.qidian.com",required:!0},{title:"源名称",id:"bookSourceName",type:"String",hint:"会显示在源列表",required:!0},{title:"源分组",id:"bookSourceGroup",type:"String",hint:"描述源的特征信息"},{title:"源注释",id:"bookSourceComment",type:"String",hint:"描述源作者和状态"},{title:"书源变量",id:"variableCo Line truncated
每行一条发现分类(网址域名可省略),例:
名称1::网址(Url)1
名称2::网址(Url)2
...`},{title:"发现筛选",id:"exploreScreen",type:"String",hint:"发现筛选规则"},{title:"列表规则",namespace:"ruleExplore",id:"bookList",type:"String",hint:"选择书籍节点 (规则结果为List<Element>)"},{title:"书名规则",namespace:"ruleExplore",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleExplore",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleExplore",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleExplore",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleExplore",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleExplore",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleExplore",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",namespace:"ruleExplore",id:"bookUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}]},detail:{name:"详情",children:[{title:"预处理",namespace:"ruleBookInfo",id:"init",type:"String",hint:"用于加速详情信息检索,只支持AllInOne规则"},{title:"书名规则",namespace:"ruleBookInfo",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleBookInfo",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleBookInfo",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleBookInfo",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleBookInfo",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleBookInfo",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleBookInfo",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"目录地址",namespace:"ruleBookInfo",id:"tocUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url, 与详情页相同时可省略)"},{title:"下载URL",namespace:"ruleBookInfo",id:"downloadUrls",type:"String",hint:"文件类书源下载地址 (规则结果为String类型的url, 多个链接返回数组)"},{title:"修改书籍",namespace:"ruleBookInfo",id:"canReName",type:"String",hint:"允许修改书名作者(规则结果为String类型, 默认不允许)"}]},directory:{name:"目录",children:[{title:"预处理",namespace:"ruleToc",id:"preUpdateJs",type:"String",hint:"更新目录前调用JS 动态更新目录链接"},{title:"列表规则",namespace:"ruleToc",id:"chapterList",type:"String",hint:"选择目录列表的章节节点 (规则结果为List<Element>)"},{title:"章节名称",namespace:"ruleToc",id:"chapterName",type:"String",hint:"选择章节名称 (规则结果为String)"},{title:"章节地址",namespace:"ruleToc",id:"chapterUrl",type:"String",hint:"选择章节链接 (规则结果为String类型的Url)"},{title:"卷名标识",namespace:"ruleToc",id:"isVolume",type:"String",hint:"章节名称是否是卷名 (规则结果为Bool)"},{title:"收费标识",namespace:"ruleToc",id:"isVip",type:"String",hint:"章节是否为VIP章节 (规则结果为Bool)"},{title:"购买标识",namespace:"ruleToc",id:"isPay",type:"String",hint:"章节是否为已购买 (规则结果为Bool)"},{title:"章节信息",namespace:"ruleToc",id:"updateTime",type:"String",hint:"选择章节信息 (规则结果为String)"},{title:"翻页规则",namespace:"ruleToc",id:"nextTocUrl",type:"String",hint:"选择目录下一页链接 (规则结果为List<String>或String)"}]},content:{name:"正文",children:[{title:"脚本注入",namespace:"ruleContent",id:"webJs",type:"String",hint:"注入javascript,用于模拟鼠标点击等,必须有返回值,一般为String类型"},{title:"正文规则",namespace:"ruleContent",id:"content",type:"String",hint:"选择正文内容 (规则结果为String)"},{title:"翻页规则",namespace:"ruleContent",id:"nextContentUrl",type:"String",hint:"选择下一分页(不是下一章)链接 (规则结果为String类型的Url)"},{title:"资源正则",namespace:"ruleContent",id:"sourceRegex",type:"String",hint:"匹配资源的url特征,用于嗅探"},{title:"替换规则",namespace:"ruleContent",id:"replaceRegex",type:"String",hint:"多页内容合并后替换,用于正文净化"},{title:"图片样式",namespace:"ruleContent",id:"imageStyle",type:"String",hint:"FULL:铺满 不填:默认样式"},{title:"购买操作",namespace:"ruleContent",id:"payAc Line truncated
名称2::链接2`},{title:"登录地址",id:"loginUrl",type:"String",hint:"填写网站登录网址,仅在需要登录的源有用"},{title:"登录界面",id:"loginUi",type:"String",hint:"自定义登录界面"},{title:"登录检测",id:"loginCheckJs",type:"String",hint:"登录检测js"},{title:"封面解密",id:"coverDecodeJs",type:"String",hint:"封面解密js"},{title:"请求头",id:"header",type:"String",hint:"客户端标识"},{title:"变量说明",id:"variableComment",type:"String",hint:"源变量说明"},{title:"并发率",id:"concurrentRate",type:"String",hint:"并发率"}]},list:{name:"列表",children:[{title:"列表规则",id:"ruleArticles",type:"String",hint:"规则结果为List<Element>"},{title:"翻页规则",id:"ruleNextPage",type:"String",hint:"下一页链接 规则结果为List<String>或String"},{title:"标题规则",id:"ruleTitle",type:"String",hint:"文章标题 规则结果为String"},{title:"时间规则",id:"rulePubDate",type:"String",hint:"文章发布时间 规则结果为String"},{title:"描述规则",id:"ruleDescription",type:"String",hint:"文章简要描述 规则结果为String"},{title:"图片规则",id:"ruleImage",type:"String",hint:"文章图片链接 规则结果为String"},{title:"链接规则",id:"ruleLink",type:"String",hint:"文章链接 规则结果为String"}]},webView:{name:"WebView",children:[{title:"内容规则",id:"ruleContent",type:"String",hint:"文章正文"},{title:"样式规则",id:"style",type:"String",hint:"文章正文样式 填写css"},{title:"注入规则",id:"injectJs",type:"String",hint:"注入网页的JavaScript"},{title:"黑名单",id:"contentBlacklist",type:"String",hint:"webView链接加载黑名单,英文逗号隔开"},{title:"白名单",id:"contentWhitelist",type:"String",hint:"webView链接加载白名单,英文逗号隔开"}]},other:{name:"其他",children:[{title:"列表样式",id:"articleStyle",type:"Array",array:["默认","大图","双列"]},{title:"加载地址",id:"loadWithBaseUrl",type:"Boolean"},{title:"启用JS",id:"enableJs",type:"Boolean"},{title:"启用",id:"enabled",type:"Boolean"},{title:"Cookie",id:"enabledCookieJar",type:"Boolean"},{title:"单URL",id:"singleUrl",type:"Boolean"},{title:"排序编号",id:"customOrder",type:"Number"}]}};const co={class:"editor"},uo={__name:"SourceEditor",setup(e){const t=O({});return/bookSource/i.test(location.href)?(t.value=lo,document.title="书源管理"):(t.value=ao,document.title="订阅源管理"),(o,s)=>{const n=io,r=ro,a=qt;return l(),E("div",co,[p(n,{class:"left",config:i(t)},null,8,["config"]),p(r),p(a,{class:"right"})])}}},ce=P(uo,[["__scopeId","data-v-e99e7704"]]),ve=[{path:"/bookSource",name:"book-home",component:ce},{path:"/rssSource",name:"rss-home",component:ce}];ne({history:re(),routes:ve});const Ce=ne({history:re(),routes:ye.concat(ve)});Ce.afterEach(e=>{e.name=="shelf"&&(document.title="书架")});qe(Ye).use(Mt).use(Ce).mount("#app");oe(()=>import("./config-6d5bece2.js"),["./config-6d5bece2.js","./vendor-42d5cecc.js","./vendor-6f0d1692.css","./config-811f2a0b.css"],import.meta.url);export{j as A,P as _,ho as u};
@@ -1 +1 @@
:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:var(--el-mask-color);margin:0;top:0;right:0;bottom:0;left:0;transition:opacity var(--el-transition-duration)}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size))/ 2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{top:50%;margin-top:calc((0px - var(--el-loading-spinner-size))/ 2);width:100%;text-align:center;position:absolute}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);margin:3px 0;font-size:14px}.el-loading-spinner .circular{display:inline;height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size);-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--el-color-primary);stroke-linecap:round}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@-webkit-keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-rotate{to{transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}
:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:var(--el-mask-color);margin:0;top:0;right:0;bottom:0;left:0;transition:opacity var(--el-transition-duration)}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size))/ 2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{top:50%;margin-top:calc((0px - var(--el-loading-spinner-size))/ 2);width:100%;text-align:center;position:absolute}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);margin:3px 0;font-size:14px}.el-loading-spinner .circular{display:inline;height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size);-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--el-color-primary);stroke-linecap:round}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@-webkit-keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-rotate{to{transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-loading-spinner{font-size:36px;color:#b5b5b5}.el-loading-text{font-weight:500;color:#b5b5b5!important}
@@ -0,0 +1 @@
import{u as M}from"./index-3dbb2f78.js";import{z as S,J as L,a7 as p,af as w,u as D}from"./vendor-0c9d4c13.js";const Y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;function v(t,i,e,a){let o=t<12?"AM":"PM";return a&&(o=o.split("").reduce((n,l)=>n+=`${l}.`,"")),e?o.toLowerCase():o}function y(t,i,e={}){var a;const o=t.getFullYear(),n=t.getMonth(),l=t.getDate(),s=t.getHours(),r=t.getMinutes(),g=t.getSeconds(),d=t.getMilliseconds(),m=t.getDay(),c=(a=e.customMeridiem)!=null?a:v,u={YY:()=>String(o).slice(-2),YYYY:()=>o,M:()=>n+1,MM:()=>`${n+1}`.padStart(2,"0"),MMM:()=>t.toLocaleDateString(e.locales,{month:"short"}),MMMM:()=>t.toLocaleDateString(e.locales,{month:"long"}),D:()=>String(l),DD:()=>`${l}`.padStart(2,"0"),H:()=>String(s),HH:()=>`${s}`.padStart(2,"0"),h:()=>`${s%12||12}`.padStart(1,"0"),hh:()=>`${s%12||12}`.padStart(2,"0"),m:()=>String(r),mm:()=>`${r}`.padStart(2,"0"),s:()=>String(g),ss:()=>`${g}`.padStart(2,"0"),SSS:()=>`${d}`.padStart(3,"0"),d:()=>m,dd:()=>t.toLocaleDateString(e.locales,{weekday:"narrow"}),ddd:()=>t.toLocaleDateString(e.locales,{weekday:"short"}),dddd:()=>t.toLocaleDateString(e.locales,{weekday:"long"}),A:()=>c(s,r),AA:()=>c(s,r,!1,!0),a:()=>c(s,r,!0),aa:()=>c(s,r,!0,!0)};return i.replace(Y,(f,h)=>h||u[f]())}const H=t=>/,\s*\{/.test(t)||!(t.startsWith("http")||t.startsWith("data:")||t.startsWith("blob:"));function b(t){return location.origin+"/image?path="+encodeURIComponent(t)+"&url="+encodeURIComponent(sessionStorage.getItem("bookUrl"))+"&width="+M().config.readWidth}const A=t=>{let i=new Date().getTime(),e=Math.floor((i-t)/1e3),a="";return e<=30?a="刚刚":e<60?a=e+"秒前":e<3600?a=Math.floor(e/60)+"分钟前":e<86400?a=Math.floor(e/3600)+"小时前":e<2592e3?a=Math.floor(e/86400)+"天前":a=y(new Date(t),"YYYY-MM-DD"),a},z='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><path fill="currentColor" d="M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32zm0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32zm448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32zm-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32zM195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248zM828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0zm-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0z"/></svg>';const W=(t,i,e=z)=>{const a=S(!1);let o=null;const n=()=>a.value=!1,l=()=>a.value=!0;L(a,r=>{if(!r)return o==null?void 0:o.close();o=w.service({target:D(t),spinner:e,text:i,lock:!0,background:"rgba(0, 0, 0, 0)"})});const s=r=>{if(!(r instanceof Promise))throw TypeError("loadingWrapper argument must be Promise");return l(),r.finally(n)};return p(()=>{n()}),{isLoading:a,showLoading:l,closeLoading:n,loadingWrapper:s}};export{A as d,b as g,H as i,W as u};
@@ -28,4 +28,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
* pinia v2.0.34
* (c) 2023 Eduardo San Martin Morote
* @license MIT
*/let Am;const ba=e=>Am=e,Pm=Symbol();function Kl(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var os;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(os||(os={}));function gI(){const e=ap(!0),t=e.run(()=>V({}));let n=[],r=[];const o=po({install(s){ba(o),o._a=s,s.provide(Pm,o),s.config.globalProperties.$pinia=o,r.forEach(i=>n.push(i)),r=[]},use(s){return!this._a&&!v0?r.push(s):n.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return o}const $m=()=>{};function Xd(e,t,n,r=$m){e.push(t);const o=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),r())};return!n&&Xl()&&Ql(o),o}function no(e,...t){e.slice().forEach(n=>{n(...t)})}function ql(e,t){e instanceof Map&&t instanceof Map&&t.forEach((n,r)=>e.set(r,n)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],o=e[n];Kl(o)&&Kl(r)&&e.hasOwnProperty(n)&&!qe(r)&&!Ln(r)?e[n]=ql(o,r):e[n]=r}return e}const S6=Symbol();function E6(e){return!Kl(e)||!e.hasOwnProperty(S6)}const{assign:or}=Object;function C6(e){return!!(qe(e)&&e.effect)}function O6(e,t,n,r){const{state:o,actions:s,getters:i}=t,a=n.state.value[e];let l;function u(){a||(n.state.value[e]=o?o():{});const c=gr(n.state.value[e]);return or(c,s,Object.keys(i||{}).reduce((f,d)=>(f[d]=po(O(()=>{ba(n);const v=n._s.get(e);return i[d].call(v,v)})),f),{}))}return l=Im(e,u,t,n,r,!0),l}function Im(e,t,n={},r,o,s){let i;const a=or({actions:{}},n),l={deep:!0};let u,c,f=po([]),d=po([]),v;const m=r.state.value[e];!s&&!m&&(r.state.value[e]={}),V({});let p;function y(E){let x;u=c=!1,typeof E=="function"?(E(r.state.value[e]),x={type:os.patchFunction,storeId:e,events:v}):(ql(r.state.value[e],E),x={type:os.patchObject,payload:E,storeId:e,events:v});const F=p=Symbol();Re().then(()=>{p===F&&(u=!0)}),c=!0,no(f,x,r.state.value[e])}const g=s?function(){const{state:x}=n,F=x?x():{};this.$patch(R=>{or(R,F)})}:$m;function w(){i.stop(),f=[],d=[],r._s.delete(e)}function _(E,x){return function(){ba(r);const F=Array.from(arguments),R=[],H=[];function B(K){R.push(K)}function A(K){H.push(K)}no(d,{args:F,name:E,store:C,after:B,onError:A});let $;try{$=x.apply(this&&this.$id===e?this:C,F)}catch(K){throw no(H,K),K}return $ instanceof Promise?$.then(K=>(no(R,K),K)).catch(K=>(no(H,K),Promise.reject(K))):(no(R,$),$)}}const T={_p:r,$id:e,$onAction:Xd.bind(null,d),$patch:y,$reset:g,$subscribe(E,x={}){const F=Xd(f,E,x.detached,()=>R()),R=i.run(()=>ue(()=>r.state.value[e],H=>{(x.flush==="sync"?c:u)&&E({storeId:e,type:os.direct,events:v},H)},or({},l,x)));return F},$dispose:w},C=Et(T);r._s.set(e,C);const P=r._e.run(()=>(i=ap(),i.run(()=>t())));for(const E in P){const x=P[E];if(qe(x)&&!C6(x)||Ln(x))s||(m&&E6(x)&&(qe(x)?x.value=m[E]:ql(x,m[E])),r.state.value[e][E]=x);else if(typeof x=="function"){const F=_(E,x);P[E]=F,a.actions[E]=x}}return or(C,P),or(Ae(C),P),Object.defineProperty(C,"$state",{get:()=>r.state.value[e],set:E=>{y(x=>{or(x,E)})}}),r._p.forEach(E=>{or(C,i.run(()=>E({store:C,app:r._a,pinia:r,options:a})))}),m&&s&&n.hydrate&&n.hydrate(C.$state,m),u=!0,c=!0,C}function yI(e,t,n){let r,o;const s=typeof t=="function";typeof e=="string"?(r=e,o=s?n:t):(o=e,r=e.id);function i(a,l){const u=st();return a=a||u&&Oe(Pm,null),a&&ba(a),a=Am,a._s.has(r)||(s?Im(r,t,o,a):O6(r,o,a)),a._s.get(r)}return i.$id=r,i}function bI(e){{e=Ae(e);const t={};for(const n in e){const r=e[n];(qe(r)||Ln(r))&&(t[n]=jt(e,n))}return t}}var Ja=typeof navigator<"u"?navigator.userAgent.toLowerCase().indexOf("firefox")>0:!1;function Xa(e,t,n,r){e.addEventListener?e.addEventListener(t,n,r):e.attachEvent&&e.attachEvent("on".concat(t),function(){n(window.event)})}function Rm(e,t){for(var n=t.slice(0,t.length-1),r=0;r<n.length;r++)n[r]=e[n[r].toLowerCase()];return n}function km(e){typeof e!="string"&&(e=""),e=e.replace(/\s/g,"");for(var t=e.split(","),n=t.lastIndexOf("");n>=0;)t[n-1]+=",",t.splice(n,1),n=t.lastIndexOf("");return t}function T6(e,t){for(var n=e.length>=t.length?e:t,r=e.length>=t.length?t:e,o=!0,s=0;s<n.length;s++)r.indexOf(n[s])===-1&&(o=!1);return o}var xs={backspace:8,"⌫":8,tab:9,clear:12,enter:13,"↩":13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"⇪":20,",":188,".":190,"/":191,"`":192,"-":Ja?173:189,"=":Ja?61:187,";":Ja?59:186,"'":222,"[":219,"]":221,"\\":220},xn={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},Ul={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},bt={16:!1,18:!1,17:!1,91:!1},ut={};for(var ri=1;ri<20;ri++)xs["f".concat(ri)]=111+ri;var Qe=[],Qd=!1,Nm="all",Mm=[],wa=function(t){return xs[tLine truncated
*/let Am;const ba=e=>Am=e,Pm=Symbol();function Kl(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var os;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(os||(os={}));function gI(){const e=ap(!0),t=e.run(()=>V({}));let n=[],r=[];const o=po({install(s){ba(o),o._a=s,s.provide(Pm,o),s.config.globalProperties.$pinia=o,r.forEach(i=>n.push(i)),r=[]},use(s){return!this._a&&!v0?r.push(s):n.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return o}const $m=()=>{};function Xd(e,t,n,r=$m){e.push(t);const o=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),r())};return!n&&Xl()&&Ql(o),o}function no(e,...t){e.slice().forEach(n=>{n(...t)})}function ql(e,t){e instanceof Map&&t instanceof Map&&t.forEach((n,r)=>e.set(r,n)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],o=e[n];Kl(o)&&Kl(r)&&e.hasOwnProperty(n)&&!qe(r)&&!Ln(r)?e[n]=ql(o,r):e[n]=r}return e}const S6=Symbol();function E6(e){return!Kl(e)||!e.hasOwnProperty(S6)}const{assign:or}=Object;function C6(e){return!!(qe(e)&&e.effect)}function O6(e,t,n,r){const{state:o,actions:s,getters:i}=t,a=n.state.value[e];let l;function u(){a||(n.state.value[e]=o?o():{});const c=gr(n.state.value[e]);return or(c,s,Object.keys(i||{}).reduce((f,d)=>(f[d]=po(O(()=>{ba(n);const v=n._s.get(e);return i[d].call(v,v)})),f),{}))}return l=Im(e,u,t,n,r,!0),l}function Im(e,t,n={},r,o,s){let i;const a=or({actions:{}},n),l={deep:!0};let u,c,f=po([]),d=po([]),v;const m=r.state.value[e];!s&&!m&&(r.state.value[e]={}),V({});let p;function y(E){let x;u=c=!1,typeof E=="function"?(E(r.state.value[e]),x={type:os.patchFunction,storeId:e,events:v}):(ql(r.state.value[e],E),x={type:os.patchObject,payload:E,storeId:e,events:v});const F=p=Symbol();Re().then(()=>{p===F&&(u=!0)}),c=!0,no(f,x,r.state.value[e])}const g=s?function(){const{state:x}=n,F=x?x():{};this.$patch(R=>{or(R,F)})}:$m;function w(){i.stop(),f=[],d=[],r._s.delete(e)}function _(E,x){return function(){ba(r);const F=Array.from(arguments),R=[],H=[];function B(K){R.push(K)}function A(K){H.push(K)}no(d,{args:F,name:E,store:C,after:B,onError:A});let $;try{$=x.apply(this&&this.$id===e?this:C,F)}catch(K){throw no(H,K),K}return $ instanceof Promise?$.then(K=>(no(R,K),K)).catch(K=>(no(H,K),Promise.reject(K))):(no(R,$),$)}}const T={_p:r,$id:e,$onAction:Xd.bind(null,d),$patch:y,$reset:g,$subscribe(E,x={}){const F=Xd(f,E,x.detached,()=>R()),R=i.run(()=>ue(()=>r.state.value[e],H=>{(x.flush==="sync"?c:u)&&E({storeId:e,type:os.direct,events:v},H)},or({},l,x)));return F},$dispose:w},C=Et(T);r._s.set(e,C);const P=r._e.run(()=>(i=ap(),i.run(()=>t())));for(const E in P){const x=P[E];if(qe(x)&&!C6(x)||Ln(x))s||(m&&E6(x)&&(qe(x)?x.value=m[E]:ql(x,m[E])),r.state.value[e][E]=x);else if(typeof x=="function"){const F=_(E,x);P[E]=F,a.actions[E]=x}}return or(C,P),or(Ae(C),P),Object.defineProperty(C,"$state",{get:()=>r.state.value[e],set:E=>{y(x=>{or(x,E)})}}),r._p.forEach(E=>{or(C,i.run(()=>E({store:C,app:r._a,pinia:r,options:a})))}),m&&s&&n.hydrate&&n.hydrate(C.$state,m),u=!0,c=!0,C}function yI(e,t,n){let r,o;const s=typeof t=="function";typeof e=="string"?(r=e,o=s?n:t):(o=e,r=e.id);function i(a,l){const u=st();return a=a||u&&Oe(Pm,null),a&&ba(a),a=Am,a._s.has(r)||(s?Im(r,t,o,a):O6(r,o,a)),a._s.get(r)}return i.$id=r,i}function bI(e){{e=Ae(e);const t={};for(const n in e){const r=e[n];(qe(r)||Ln(r))&&(t[n]=jt(e,n))}return t}}var Ja=typeof navigator<"u"?navigator.userAgent.toLowerCase().indexOf("firefox")>0:!1;function Xa(e,t,n,r){e.addEventListener?e.addEventListener(t,n,r):e.attachEvent&&e.attachEvent("on".concat(t),function(){n(window.event)})}function Rm(e,t){for(var n=t.slice(0,t.length-1),r=0;r<n.length;r++)n[r]=e[n[r].toLowerCase()];return n}function km(e){typeof e!="string"&&(e=""),e=e.replace(/\s/g,"");for(var t=e.split(","),n=t.lastIndexOf("");n>=0;)t[n-1]+=",",t.splice(n,1),n=t.lastIndexOf("");return t}function T6(e,t){for(var n=e.length>=t.length?e:t,r=e.length>=t.length?t:e,o=!0,s=0;s<n.length;s++)r.indexOf(n[s])===-1&&(o=!1);return o}var xs={backspace:8,"⌫":8,tab:9,clear:12,enter:13,"↩":13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"⇪":20,",":188,".":190,"/":191,"`":192,"-":Ja?173:189,"=":Ja?61:187,";":Ja?59:186,"'":222,"[":219,"]":221,"\\":220},xn={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},Ul={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},bt={16:!1,18:!1,17:!1,91:!1},ut={};for(var ri=1;ri<20;ri++)xs["f".concat(ri)]=111+ri;var Qe=[],Qd=!1,Nm="all",Mm=[],wa=function(t){return xs[tLine truncated
+2 -2
View File
@@ -4,8 +4,8 @@
<meta charset="UTF-8" />
<link rel="icon" href="./favicon.ico" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<script type="module" crossorigin src="./assets/index-dfa25950.js"></script>
<link rel="modulepreload" crossorigin href="./assets/vendor-42d5cecc.js">
<script type="module" crossorigin src="./assets/index-3dbb2f78.js"></script>
<link rel="modulepreload" crossorigin href="./assets/vendor-0c9d4c13.js">
<link rel="stylesheet" href="./assets/vendor-6f0d1692.css">
<link rel="stylesheet" href="./assets/index-86a61827.css">
</head>