Bump web v3.23.051420
This commit is contained in:
1 parent
f98282ed2c
commit
367a28b11c
6 files changed
+10
-10
No files matched your search
+1
-1
@@ -1 +1 @@
|
||||
import{a2 as Ke,n as r,z as b,T as be,a5 as _e,o as p,d as v,g as e,t as H,F as oe,P as ie,u as o,a6 as q,a7 as Ve,a8 as Ne,v as _,e as W,w as J,a9 as ze,A as ue,aa as He,f as $,M as Ae,ab as Je,x as We,ac as Me,p as Ie,i as ke,s as Re,ad as Te,V as qe,a4 as Ge,O as Qe,k as K,c as Ze}from"./vendor-b9134af1.js";import{i as Ye,g as De,u as Xe}from"./loading-697d3434.js";import{_ as ce,u as Be,A as de}from"./index-1671d4c8.js";const je=(n,s,d,u)=>(n/=u/2,n<1?d/2*n*n+s:(n--,-d/2*(n*(n-2)-1)+s)),$e=()=>{let n,s,d,u,a,E,m,w,h,y,i,I,A;function k(){let C=n.scrollTop||n.scrollY||n.pageYOffset;return C=typeof C>"u"?0:C,C}function c(C){const S=C.getBoundingClientRect().top,Z=n.getBoundingClientRect?n.getBoundingClientRect().top:0;return S-Z+d}function B(C){n.scrollTo?n.scrollTo(0,C):n.scrollTop=C}function P(C){y||(y=C),i=C-y,I=E(i,d,w,h),B(I),i<h?requestAnimationFrame(P):R()}function R(){B(d+w),s&&m&&(s.setAttribute("tabindex","-1"),s.focus()),typeof A=="function"&&A(),y=!1}function ne(C,S={}){switch(h=S.duration||1e3,a=S.offset||0,A=S.callback,E=S.easing||je,m=S.a11y||!1,typeof S.container){case"object":n=S.container;break;case"string":n=document.querySelector(S.container);break;default:n=window}switch(d=k(),typeof C){case"number":s=void 0,m=!1,u=d+C;break;case"object":s=C,u=c(s);break;case"string":s=document.querySelector(C),u=c(s);break}switch(w=u-d+a,typeof S.duration){case"number":h=S.duration;break;case"function":h=S.duration(w);break}requestAnimationFrame(P)}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:d}){const u=n;Ke(A=>({"1a12e47d":u.spacing.letter,"61869a0b":u.spacing.line,"63fd95b7":u.spacing.paragraph}));const a=A=>{const k=/<img[^>]*src="([^"]*(?:"[^>]+\})?)"[^>]*>/,c=A.match(k)[1];return Ye(c)?De(c):c},E=A=>{A.target.src=De(A.target.src)},m=A=>{const k=/<img[^>]*src="[^"]*(?:"[^>]+\})?"[^>]*>/g,c=" ";return A.replaceAll(k,c).length},w=r(()=>{let A=-1;return Array.from(u.contents,k=>(A+=m(k)+1,A))}),h=b(),y=b();s({scrollToReadedLength:A=>{if(A===0)return;let k=w.value.findIndex(c=>c>=A);k!==-1&&Ve(()=>{ee(y.value[k],{duration:0})})}});let I=null;return be(()=>{I=new IntersectionObserver(A=>{for(let{target:k,isIntersecting:c}of A)c&&d("readedLengthChange",u.chapterIndex,parseInt(k.dataset.chapterpos))},{rootMargin:`0px 0px -${window.innerHeight-24}px 0px`}),I.observe(h.value),y.value.forEach(A=>{I.observe(A)})}),_e(()=>{I==null||I.disconnect(),I=null}),(A,k)=>(p(),v(oe,null,[e("div",{class:"title","data-chapterpos":"0",ref_key:"titleRef",ref:h},H(n.title),513),(p(!0),v(oe,null,ie(n.contents,(c,B)=>(p(),v("div",{key:B,ref_for:!0,ref_key:"paragraphRef",ref:y,"data-chapterpos":o(w)[B]},[/^\s*<img[^>]*src[^>]+>$/.test(c)?(p(),v("img",{key:0,class:"full",src:a(c),onErrorOnce:E,loading:"lazy"},null,40,tt)):(p(),v("p",{key:1,style:q({fontFamily:n.fontFamily,fontSize:n.fontSize}),innerHTML:c},null,12,ot))],8,et))),128))],64))}},st=ce(nt,[["__scopeId","data-v-dfec3d18"]]);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/0TPEsWwV9EhbIiTPqYoTHYoMn3enTDjmrFeDTIzaL1bUC/PBIMuF+vSSYSaxoLine truncated
|
||||
import{a2 as Ke,n as r,z as b,T as be,a5 as _e,o as p,d as v,g as e,t as H,F as oe,P as ie,u as o,a6 as q,a7 as Ve,a8 as Ne,v as _,e as W,w as J,a9 as ze,A as ue,aa as He,f as $,M as Ae,ab as Je,x as We,ac as Me,p as Ie,i as ke,s as Re,ad as Te,V as qe,a4 as Ge,O as Qe,k as K,c as Ze}from"./vendor-b9134af1.js";import{i as Ye,g as De,u as Xe}from"./loading-004d5aaf.js";import{_ as ce,u as Be,A as de}from"./index-7b5c29c2.js";const je=(n,s,d,u)=>(n/=u/2,n<1?d/2*n*n+s:(n--,-d/2*(n*(n-2)-1)+s)),$e=()=>{let n,s,d,u,a,E,m,w,h,y,i,I,A;function k(){let C=n.scrollTop||n.scrollY||n.pageYOffset;return C=typeof C>"u"?0:C,C}function c(C){const S=C.getBoundingClientRect().top,Z=n.getBoundingClientRect?n.getBoundingClientRect().top:0;return S-Z+d}function B(C){n.scrollTo?n.scrollTo(0,C):n.scrollTop=C}function P(C){y||(y=C),i=C-y,I=E(i,d,w,h),B(I),i<h?requestAnimationFrame(P):R()}function R(){B(d+w),s&&m&&(s.setAttribute("tabindex","-1"),s.focus()),typeof A=="function"&&A(),y=!1}function ne(C,S={}){switch(h=S.duration||1e3,a=S.offset||0,A=S.callback,E=S.easing||je,m=S.a11y||!1,typeof S.container){case"object":n=S.container;break;case"string":n=document.querySelector(S.container);break;default:n=window}switch(d=k(),typeof C){case"number":s=void 0,m=!1,u=d+C;break;case"object":s=C,u=c(s);break;case"string":s=document.querySelector(C),u=c(s);break}switch(w=u-d+a,typeof S.duration){case"number":h=S.duration;break;case"function":h=S.duration(w);break}requestAnimationFrame(P)}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:d}){const u=n;Ke(A=>({"1a12e47d":u.spacing.letter,"61869a0b":u.spacing.line,"63fd95b7":u.spacing.paragraph}));const a=A=>{const k=/<img[^>]*src="([^"]*(?:"[^>]+\})?)"[^>]*>/,c=A.match(k)[1];return Ye(c)?De(c):c},E=A=>{A.target.src=De(A.target.src)},m=A=>{const k=/<img[^>]*src="[^"]*(?:"[^>]+\})?"[^>]*>/g,c=" ";return A.replaceAll(k,c).length},w=r(()=>{let A=-1;return Array.from(u.contents,k=>(A+=m(k)+1,A))}),h=b(),y=b();s({scrollToReadedLength:A=>{if(A===0)return;let k=w.value.findIndex(c=>c>=A);k!==-1&&Ve(()=>{ee(y.value[k],{duration:0})})}});let I=null;return be(()=>{I=new IntersectionObserver(A=>{for(let{target:k,isIntersecting:c}of A)c&&d("readedLengthChange",u.chapterIndex,parseInt(k.dataset.chapterpos))},{rootMargin:`0px 0px -${window.innerHeight-24}px 0px`}),I.observe(h.value),y.value.forEach(A=>{I.observe(A)})}),_e(()=>{I==null||I.disconnect(),I=null}),(A,k)=>(p(),v(oe,null,[e("div",{class:"title","data-chapterpos":"0",ref_key:"titleRef",ref:h},H(n.title),513),(p(!0),v(oe,null,ie(n.contents,(c,B)=>(p(),v("div",{key:B,ref_for:!0,ref_key:"paragraphRef",ref:y,"data-chapterpos":o(w)[B]},[/^\s*<img[^>]*src[^>]+>$/.test(c)?(p(),v("img",{key:0,class:"full",src:a(c),onErrorOnce:E,loading:"lazy"},null,40,tt)):(p(),v("p",{key:1,style:q({fontFamily:n.fontFamily,fontSize:n.fontSize}),innerHTML:c},null,12,ot))],8,et))),128))],64))}},st=ce(nt,[["__scopeId","data-v-dfec3d18"]]);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/0TPEsWwV9EhbIiTPqYoTHYoMn3enTDjmrFeDTIzaL1bUC/PBIMuF+vSSYSaxoLine truncated
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{a2 as U,n as Q,o as l,d,g as e,F as P,P as L,t as u,c as $,w as z,f as M,M as I,u as a,a3 as N,p as J,i as D,s as q,z as g,O as G,a4 as X,T as j,k,e as B,A as ee,L as te,v as b,I as se,B as ae}from"./vendor-b9134af1.js";import{d as oe,u as ne}from"./loading-697d3434.js";import{_ as W,u as ce,A as E}from"./index-1671d4c8.js";const O=n=>(J("data-v-907d02e8"),n=n(),D(),n),re={class:"books-wrapper"},ie={class:"wrapper"},le=["onClick"],de={class:"cover-img"},ue=["src"],he={class:"info"},pe={class:"name"},_e={class:"sub"},ve={class:"author"},ge={key:0,class:"tags"},me={key:1,class:"update-info"},fe=O(()=>e("div",{class:"dot"},"•",-1)),we={class:"size"},Ae=O(()=>e("div",{class:"dot"},"•",-1)),Ie={class:"date"},ke={key:0,class:"intro"},Be={key:1,class:"dur-chapter"},ye={class:"last-chapter"},Se={__name:"BookItems",props:["books","isSearch"],emits:["bookClick"],setup(n,{emit:c}){const y=n;U(t=>({"4253f082":a(m)}));const S=t=>c("bookClick",t),x=t=>/^data:/.test(t)?t:location.origin+"/cover?path="+encodeURIComponent(t),m=Q(()=>y.isSearch?"space-between":"flex-start");return(t,C)=>{const R=N;return l(),d("div",re,[e("div",ie,[(l(!0),d(P,null,L(n.books,r=>{var f;return l(),d("div",{class:"book",key:r.bookUrl,onClick:i=>S(r)},[e("div",de,[(l(),d("img",{class:"cover",src:x(r.coverUrl),key:r.coverUrl,alt:"",loading:"lazy"},null,8,ue))]),e("div",he,[e("div",pe,u(r.name),1),e("div",_e,[e("div",ve,u(r.author),1),n.isSearch?(l(),d("div",ge,[(l(!0),d(P,null,L((f=r.kind)==null?void 0:f.split(",").slice(0,2),i=>(l(),$(R,{key:i},{default:z(()=>[M(u(i),1)]),_:2},1024))),128))])):I("",!0),n.isSearch?I("",!0):(l(),d("div",me,[fe,e("div",we,"共"+u(r.totalChapterNum)+"章",1),Ae,e("div",Ie,u(a(oe)(r.lastCheckTime)),1)]))]),n.isSearch?(l(),d("div",ke,u(r.intro),1)):I("",!0),n.isSearch?I("",!0):(l(),d("div",Be," 已读:"+u(r.durChapterTitle),1)),e("div",ye,"最新:"+u(r.latestChapterTitle),1)])],8,le)}),128))])])}}},xe=W(Se,[["__scopeId","data-v-907d02e8"]]);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 T=n=>(J("data-v-1fc5c811"),n=n(),D(),n),Re={class:"index-wrapper"},Ee={class:"navigation-wrapper"},ze=T(()=>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=T(()=>e("div",{class:"recent-title"},"最近阅读",-1)),Le={class:"reading-recent"},be={class:"setting-wrapper"},Ne=T(()=>e("div",{class:"setting-title"},"基本设定",-1)),Je={class:"setting-item"},De={class:"bottom-icons"},We={href:"https://github.com/gedoor/legado_web_bookshelf",target:"_blank"},Oe={class:"bottom-icon"},Ze=["src"],He={__name:"BookShelf",setup(n){const c=ce(),{connectStatus:y,connectType:S,newConnect:x,shelf:m}=q(c),t=g({name:"尚无阅读记录",author:"",url:"",chapterIndex:0,chapterPos:0}),C=g(null),{showLoading:R,closeLoading:r,loadingWrapper:f}=ne(C,"正在获取书籍信息"),i=g([]),h=g(""),w=g(!1);G(()=>{if(!(w.value&&h.value!="")){if(w.value=!1,i.value=[],h.value==""){i.value=m.value;return}i.value=m.value.filter(s=>s.name.includes(h.value)||s.author.includes(h.value))}});const Z=()=>{h.value!=""&&(i.value=[],c.clearSearchBooks(),R(),w.value=!0,E.search(h.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("搜索结果为空")}))},H=()=>{},F=X(),K=async s=>{const{bookUrl:o,name:_,author:p,durCLine truncated
|
||||
import{a2 as U,n as Q,o as l,d,g as e,F as P,P as L,t as u,c as $,w as z,f as M,M as I,u as a,a3 as N,p as J,i as D,s as q,z as g,O as G,a4 as X,T as j,k,e as B,A as ee,L as te,v as b,I as se,B as ae}from"./vendor-b9134af1.js";import{d as oe,u as ne}from"./loading-004d5aaf.js";import{_ as W,u as ce,A as E}from"./index-7b5c29c2.js";const O=n=>(J("data-v-907d02e8"),n=n(),D(),n),re={class:"books-wrapper"},ie={class:"wrapper"},le=["onClick"],de={class:"cover-img"},ue=["src"],he={class:"info"},pe={class:"name"},_e={class:"sub"},ve={class:"author"},ge={key:0,class:"tags"},me={key:1,class:"update-info"},fe=O(()=>e("div",{class:"dot"},"•",-1)),we={class:"size"},Ae=O(()=>e("div",{class:"dot"},"•",-1)),Ie={class:"date"},ke={key:0,class:"intro"},Be={key:1,class:"dur-chapter"},ye={class:"last-chapter"},Se={__name:"BookItems",props:["books","isSearch"],emits:["bookClick"],setup(n,{emit:c}){const y=n;U(t=>({"4253f082":a(m)}));const S=t=>c("bookClick",t),x=t=>/^data:/.test(t)?t:location.origin+"/cover?path="+encodeURIComponent(t),m=Q(()=>y.isSearch?"space-between":"flex-start");return(t,C)=>{const R=N;return l(),d("div",re,[e("div",ie,[(l(!0),d(P,null,L(n.books,r=>{var f;return l(),d("div",{class:"book",key:r.bookUrl,onClick:i=>S(r)},[e("div",de,[(l(),d("img",{class:"cover",src:x(r.coverUrl),key:r.coverUrl,alt:"",loading:"lazy"},null,8,ue))]),e("div",he,[e("div",pe,u(r.name),1),e("div",_e,[e("div",ve,u(r.author),1),n.isSearch?(l(),d("div",ge,[(l(!0),d(P,null,L((f=r.kind)==null?void 0:f.split(",").slice(0,2),i=>(l(),$(R,{key:i},{default:z(()=>[M(u(i),1)]),_:2},1024))),128))])):I("",!0),n.isSearch?I("",!0):(l(),d("div",me,[fe,e("div",we,"共"+u(r.totalChapterNum)+"章",1),Ae,e("div",Ie,u(a(oe)(r.lastCheckTime)),1)]))]),n.isSearch?(l(),d("div",ke,u(r.intro),1)):I("",!0),n.isSearch?I("",!0):(l(),d("div",Be," 已读:"+u(r.durChapterTitle),1)),e("div",ye,"最新:"+u(r.latestChapterTitle),1)])],8,le)}),128))])])}}},xe=W(Se,[["__scopeId","data-v-907d02e8"]]);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 T=n=>(J("data-v-1fc5c811"),n=n(),D(),n),Re={class:"index-wrapper"},Ee={class:"navigation-wrapper"},ze=T(()=>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=T(()=>e("div",{class:"recent-title"},"最近阅读",-1)),Le={class:"reading-recent"},be={class:"setting-wrapper"},Ne=T(()=>e("div",{class:"setting-title"},"基本设定",-1)),Je={class:"setting-item"},De={class:"bottom-icons"},We={href:"https://github.com/gedoor/legado_web_bookshelf",target:"_blank"},Oe={class:"bottom-icon"},Ze=["src"],He={__name:"BookShelf",setup(n){const c=ce(),{connectStatus:y,connectType:S,newConnect:x,shelf:m}=q(c),t=g({name:"尚无阅读记录",author:"",url:"",chapterIndex:0,chapterPos:0}),C=g(null),{showLoading:R,closeLoading:r,loadingWrapper:f}=ne(C,"正在获取书籍信息"),i=g([]),h=g(""),w=g(!1);G(()=>{if(!(w.value&&h.value!="")){if(w.value=!1,i.value=[],h.value==""){i.value=m.value;return}i.value=m.value.filter(s=>s.name.includes(h.value)||s.author.includes(h.value))}});const Z=()=>{h.value!=""&&(i.value=[],c.clearSearchBooks(),R(),w.value=!0,E.search(h.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("搜索结果为空")}))},H=()=>{},F=X(),K=async s=>{const{bookUrl:o,name:_,author:p,durCLine truncated
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{u as n,A as r}from"./index-1671d4c8.js";import"./vendor-b9134af1.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-7b5c29c2.js";import"./vendor-b9134af1.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)}});
|
||||
+5
-5
@@ -1,13 +1,13 @@
|
||||
import{r as Ue,o as l,c as C,a as se,b as ie,d as E,e as p,w as u,f as b,u as i,l as H,g,F as P,E as Ee,h as he,p as Ve,i as Te,j as Ie,k as U,m as ge,s as X,n as W,t as Q,q as _e,v as me,x as le,y as Ne,z as D,A as j,B as Se,C as $e,D as Le,G as ae,V as Re,H as Oe,I as Y,J as Pe,K as ye,L as De,M as L,N as Je,O as Ae,P as A,Q as fe,R as be,S as q,T as Ke,U as je,W as Me,X as Fe,Y as He,Z as qe,_ as ze,$ as We,a0 as Ge,a1 as Qe}from"./vendor-b9134af1.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 c of r.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&s(c)}).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 Xe="modulepreload",Ye=function(e,t){return new URL(e,t).href},ue={},ne=function(t,o,s){if(!o||o.length===0)return t();const n=document.getElementsByTagName("link");return Promise.all(o.map(r=>{if(r=Ye(r,s),r in ue)return;ue[r]=!0;const c=r.endsWith(".css"),k=c?'[rel="stylesheet"]':"";if(!!s)for(let w=n.length-1;w>=0;w--){const x=n[w];if(x.href===r&&(!c||x.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${r}"]${k}`))return;const m=document.createElement("link");if(m.rel=c?"stylesheet":Xe,c||(m.as="script",m.crossOrigin=""),m.href=r,document.head.appendChild(m),c)return new Promise((w,x)=>{m.addEventListener("load",w),m.addEventListener("error",()=>x(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>t())},J=(e,t)=>{const o=e.__vccOpts||e;for(const[s,n]of t)o[s]=n;return o},Ze={};function et(e,t){const o=Ue("router-view");return l(),C(o)}const tt=J(Ze,[["render",et]]),ke=[{path:"/",name:"shelf",component:()=>ne(()=>import("./BookShelf-d02d62d9.js"),["./BookShelf-d02d62d9.js","./vendor-b9134af1.js","./vendor-5578283d.css","./loading-697d3434.js","./loading-c009631e.css","./BookShelf-14e1aaec.css"],import.meta.url)},{path:"/chapter",name:"chapter",component:()=>ne(()=>import("./BookChapter-95c2e971.js"),["./BookChapter-95c2e971.js","./vendor-b9134af1.js","./vendor-5578283d.css","./loading-697d3434.js","./loading-c009631e.css","./BookChapter-5107369c.css"],import.meta.url)}];se({history:ie(),routes:ke});const R=e=>(Ve("data-v-aee57c78"),e=e(),Te(),e),ot=R(()=>g("br",null,null,-1)),nt=R(()=>g("br",null,null,-1)),rt=R(()=>g("br",null,null,-1)),st=R(()=>g("br",null,null,-1)),it=R(()=>g("br",null,null,-1)),lt={style:{"margin-top":"20px"}},ct=R(()=>g("code",null,"^$()[]{}.?+*|",-1)),at=R(()=>g("br",null,null,-1)),ut=R(()=>g("code",null,"(?s)",-1)),dt=R(()=>g("br",null,null,-1)),pt=R(()=>g("code",null,"(?m)",-1)),ht=R(()=>g("br",null,null,-1)),gt=R(()=>g("code",null,"(?i)",-1)),_t=R(()=>g("br",null,null,-1)),mt={__name:"SourceHelp",setup(e){return(t,o)=>{const s=Ee,n=he;return l(),E(P,null,[p(s,{icon:i(H),href:"https://alanskycn.gitee.io/teachme/",target:"_blank"},{default:u(()=>[b("书源制作教程")]),_:1},8,["icon"]),ot,p(s,{icon:i(H),href:"https://zhuanlan.zhihu.com/p/29436838",target:"_blank"},{default:u(()=>[b("xpath基础教程")]),_:1},8,["icon"]),nt,p(s,{icon:i(H),href:"https://zhuanlan.zhihu.com/p/32187820",target:"_blank"},{default:u(()=>[b("xpath高级教程")]),_:1},8,["icon"]),rt,p(s,{icon:i(H),href:"https://www.w3cschool.cn/regex_rmjc",target:"_blank"},{default:u(()=>[b("正则表达式教程")]),_:1},8,["icon"]),st,p(s,{icon:i(H),href:"https://regexr-cn.com/",target:"_blank"},{default:u(()=>[b("正则表达式在线验证工具")]),_:1},8,["icon"]),it,g("div",lt,[g("span",null,[p(n,null,{default:u(()=>[ct,b(" 这些是Java正则特殊符号,匹配需转义")]),_:1})]),at,g("span",null,[p(n,null,{default:u(()=>[ut,b(" 前缀表示跨行解析")]),_:1})]),dt,g("span",null,[p(n,null,{default:u(()=>[pt,b(" 前缀表示逐行匹配")]),_:1})]),ht,g("span",null,[p(n,null,{default:u(()=>[gt,b(" 前缀表示忽略大小写")]),_:1})]),_t])],64)}}},St=J(mt,[["__scopeId","data-v-aee57c78"]]),yt=1e3,V=Ie.create({baseURL:location.origin,timeout:120*yt}),{hostname:ve,port:Ce}=new URL(location.origin),ft=/source/i.test(location.href),bt=e=>{throw ft&&U({message:"后端错误,检查网络或者阅读app",type:"error"}),e};V.interceptors.response.use(e=>e,bt);const kt=()=>V.get("/getReadConfig"),vt=e=>V.post("/saveReadConfig",e),Ct=e=>V.post("/saveBookProgress",e),wt=e=>{e&&navigator.sendBeacon(`${location.origin}/saveBookProgress`,JSON.stringify(e))},xt=()=>V.get("/getBookshelf"),Bt=e=>V.get("/getChapterList?url="+encodeURIComponent(e)),Ut=(e,t)=>V.get("/getBookContent?url="+encodeURIComponent(e)+"&index="+t),Et=(e,t,o)=>{const sLine truncated
|
||||
`},r=async()=>{o.value="",await K.saveSource(t.currentSource),K.debug(t.currentSourceUrl,s.value||t.searchKey,n,t.debugFinish)},c=W(()=>/bookSource/.test(window.location.href));return(k,_)=>{const m=Y;return l(),E(P,null,[i(c)?(l(),C(m,{key:0,id:"debug-key",modelValue:i(s),"onUpdate:modelValue":_[0]||(_[0]=w=>j(s)?s.value=w:null),placeholder:"搜索书名、作者","prefix-icon":i(Se),style:{"padding-bottom":"4px"},onKeydown:De(r,["enter"])},null,8,["modelValue","prefix-icon","onKeydown"])):L("",!0),p(m,{id:"debug-text",modelValue:i(o),"onUpdate:modelValue":_[1]||(_[1]=w=>j(o)?o.value=w:null),type:"textarea",readonly:"",rows:"29",placeholder:"这里用于输出调试信息"},null,8,["modelValue"])],64)}}},qt=J(Ht,[["__scopeId","data-v-372e8d43"]]),So=ge("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 c;if(e.catalog.length==0)return;const{index:t,chapterPos:o,bookName:s,bookAuthor:n}=e.readingBook;let r=(c=e.catalog[t])==null?void 0:c.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?K.saveBookProgress(this.bookProgress):Promise.resolve()}}}),zt=Je();const Wt={__name:"SourceJson",setup(e){const t=M(),o=D(""),s=async n=>{try{t.changeEditTabSource(JSON.parse(n))}catch{U({message:"粘贴的源格式错误",type:"error"})}};return Ae(async()=>{let n=t.editTabSource;Object.keys(n).length>0?o.value=JSON.stringify(n,null,4):o.value=""}),(n,r)=>{const c=Y;return l(),C(c,{id:"source-json",modelValue:i(o),"onUpdate:modelValue":r[0]||(r[0]=k=>j(o)?o.value=k:null),type:"textarea",placeholder:"这里输出序列化的JSON数据,可直接导入'阅读'APP",rows:"30",onChange:s,style:{"margin-bottom":"4px"}},null,8,["modelValue"])}}},Gt=J(Wt,[["__scopeId","data-v-7e91a802"]]);const Qt={__name:"SourceTabTools",setup(e){const t=M(),{currentTab:o}=X(t),s=D([["editTab","编辑源"],["editDebug","调试源"],["editList","源列表"],["editHelp","帮助信息"]]);return(n,r)=>{const c=Gt,k=qt,_=Ft,m=St,w=fe,x=be;return l(),C(x,{modelValue:i(o),"onUpdate:modelValue":r[0]||(r[0]=B=>j(o)?o.value=B:null)},{default:u(()=>[(l(!0),E(P,null,A(i(s),(B,a)=>(l(),C(w,{key:B[0],name:B[0],label:B[1]},{default:u(()=>[a==0?(l(),C(c,{key:0})):L("",!0),a==1?(l(),C(k,{key:1})):L("",!0),a==2?(l(),C(_,{key:2})):L("",!0),a==3?(l(),C(m,{key:3})):L("",!0)]),_:2},1032,["name","label"]))),128))]),_:1},8,["modelValue"])}}},Xt=J(Qt,[["__scopeId","data-v-dcce2457"]]);const Yt={class:"menu flex-column-center"},Zt={class:"hotkeys-header flex-space-between"},eo=["id"],to={key:0},oo={class:"hotkeys-settings flex-column-center"},no={class:"title"},ro={class:"hotkeys-item__content"},so={key:0},io={key:0},lo={__name:"ToolBar",setup(e){const t=M(),o=()=>{const h=U({message:"加载中……",showClose:!0,duration:0});K.getSources().then(({data:d})=>{d.isSuccess?(t.changeTabName("editList"),t.saveSources(d.data),U({message:`成功拉取${d.data.length}条源`,type:"success"})):U({message:d.errorMsg??"后端错误",type:"error"})}).finally(()=>h.close())},s=()=>{let h=t.sources;if(t.changeTabName("editList"),h.length===0)return U({message:"空空如也",type:"info"});U({message:"正在推送中",type:"info"}),K.saveSources(h).then(({data:d})=>{if(d.isSuccess){let S=d.data;if(Array.isArray(S)){let v="";h.length>S.length&&(v=`
|
||||
import{r as Ue,o as l,c as C,a as se,b as ie,d as E,e as p,w as u,f as b,u as i,l as H,g,F as P,E as Ee,h as he,p as Ve,i as Ne,j as Te,k as U,m as ge,s as X,n as W,t as Q,q as _e,v as me,x as le,y as Ie,z as D,A as j,B as Se,C as $e,D as Le,G as ce,V as Re,H as Oe,I as Y,J as Pe,K as ye,L as De,M as L,N as Je,O as Ae,P as A,Q as fe,R as be,S as q,T as Ke,U as je,W as Me,X as Fe,Y as He,Z as qe,_ as ze,$ as We,a0 as Ge,a1 as Qe}from"./vendor-b9134af1.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 Xe="modulepreload",Ye=function(e,t){return new URL(e,t).href},ue={},ne=function(t,o,s){if(!o||o.length===0)return t();const n=document.getElementsByTagName("link");return Promise.all(o.map(r=>{if(r=Ye(r,s),r in ue)return;ue[r]=!0;const a=r.endsWith(".css"),k=a?'[rel="stylesheet"]':"";if(!!s)for(let w=n.length-1;w>=0;w--){const x=n[w];if(x.href===r&&(!a||x.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${r}"]${k}`))return;const m=document.createElement("link");if(m.rel=a?"stylesheet":Xe,a||(m.as="script",m.crossOrigin=""),m.href=r,document.head.appendChild(m),a)return new Promise((w,x)=>{m.addEventListener("load",w),m.addEventListener("error",()=>x(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>t())},J=(e,t)=>{const o=e.__vccOpts||e;for(const[s,n]of t)o[s]=n;return o},Ze={};function et(e,t){const o=Ue("router-view");return l(),C(o)}const tt=J(Ze,[["render",et]]),ke=[{path:"/",name:"shelf",component:()=>ne(()=>import("./BookShelf-a8c630a5.js"),["./BookShelf-a8c630a5.js","./vendor-b9134af1.js","./vendor-5578283d.css","./loading-004d5aaf.js","./loading-c009631e.css","./BookShelf-14e1aaec.css"],import.meta.url)},{path:"/chapter",name:"chapter",component:()=>ne(()=>import("./BookChapter-25bb8757.js"),["./BookChapter-25bb8757.js","./vendor-b9134af1.js","./vendor-5578283d.css","./loading-004d5aaf.js","./loading-c009631e.css","./BookChapter-5107369c.css"],import.meta.url)}];se({history:ie(),routes:ke});const R=e=>(Ve("data-v-aee57c78"),e=e(),Ne(),e),ot=R(()=>g("br",null,null,-1)),nt=R(()=>g("br",null,null,-1)),rt=R(()=>g("br",null,null,-1)),st=R(()=>g("br",null,null,-1)),it=R(()=>g("br",null,null,-1)),lt={style:{"margin-top":"20px"}},at=R(()=>g("code",null,"^$()[]{}.?+*|",-1)),ct=R(()=>g("br",null,null,-1)),ut=R(()=>g("code",null,"(?s)",-1)),dt=R(()=>g("br",null,null,-1)),pt=R(()=>g("code",null,"(?m)",-1)),ht=R(()=>g("br",null,null,-1)),gt=R(()=>g("code",null,"(?i)",-1)),_t=R(()=>g("br",null,null,-1)),mt={__name:"SourceHelp",setup(e){return(t,o)=>{const s=Ee,n=he;return l(),E(P,null,[p(s,{icon:i(H),href:"https://alanskycn.gitee.io/teachme/",target:"_blank"},{default:u(()=>[b("书源制作教程")]),_:1},8,["icon"]),ot,p(s,{icon:i(H),href:"https://zhuanlan.zhihu.com/p/29436838",target:"_blank"},{default:u(()=>[b("xpath基础教程")]),_:1},8,["icon"]),nt,p(s,{icon:i(H),href:"https://zhuanlan.zhihu.com/p/32187820",target:"_blank"},{default:u(()=>[b("xpath高级教程")]),_:1},8,["icon"]),rt,p(s,{icon:i(H),href:"https://www.w3cschool.cn/regex_rmjc",target:"_blank"},{default:u(()=>[b("正则表达式教程")]),_:1},8,["icon"]),st,p(s,{icon:i(H),href:"https://regexr-cn.com/",target:"_blank"},{default:u(()=>[b("正则表达式在线验证工具")]),_:1},8,["icon"]),it,g("div",lt,[g("span",null,[p(n,null,{default:u(()=>[at,b(" 这些是Java正则特殊符号,匹配需转义")]),_:1})]),ct,g("span",null,[p(n,null,{default:u(()=>[ut,b(" 前缀表示跨行解析")]),_:1})]),dt,g("span",null,[p(n,null,{default:u(()=>[pt,b(" 前缀表示逐行匹配")]),_:1})]),ht,g("span",null,[p(n,null,{default:u(()=>[gt,b(" 前缀表示忽略大小写")]),_:1})]),_t])],64)}}},St=J(mt,[["__scopeId","data-v-aee57c78"]]),yt=1e3,V=Te.create({baseURL:location.origin,timeout:120*yt}),{hostname:ve,port:Ce}=new URL(location.origin),ft=/source/i.test(location.href),bt=e=>{throw ft&&U({message:"后端错误,检查网络或者阅读app",type:"error"}),e};V.interceptors.response.use(e=>e,bt);const kt=()=>V.get("/getReadConfig"),vt=e=>V.post("/saveReadConfig",e),Ct=e=>V.post("/saveBookProgress",e),wt=e=>{e&&navigator.sendBeacon(`${location.origin}/saveBookProgress`,JSON.stringify(e))},xt=()=>V.get("/getBookshelf"),Bt=e=>V.get("/getChapterList?url="+encodeURIComponent(e)),Ut=(e,t)=>V.get("/getBookContent?url="+encodeURIComponent(e)+"&index="+t),Et=(e,t,o)=>{const sLine truncated
|
||||
`},r=async()=>{o.value="",await K.saveSource(t.currentSource),K.debug(t.currentSourceUrl,s.value||t.searchKey,n,t.debugFinish)},a=W(()=>/bookSource/.test(window.location.href));return(k,_)=>{const m=Y;return l(),E(P,null,[i(a)?(l(),C(m,{key:0,id:"debug-key",modelValue:i(s),"onUpdate:modelValue":_[0]||(_[0]=w=>j(s)?s.value=w:null),placeholder:"搜索书名、作者","prefix-icon":i(Se),style:{"padding-bottom":"4px"},onKeydown:De(r,["enter"])},null,8,["modelValue","prefix-icon","onKeydown"])):L("",!0),p(m,{id:"debug-text",modelValue:i(o),"onUpdate:modelValue":_[1]||(_[1]=w=>j(o)?o.value=w:null),type:"textarea",readonly:"",rows:"29",placeholder:"这里用于输出调试信息"},null,8,["modelValue"])],64)}}},qt=J(Ht,[["__scopeId","data-v-372e8d43"]]),So=ge("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?K.saveBookProgress(this.bookProgress):Promise.resolve()}}}),zt=Je();const Wt={__name:"SourceJson",setup(e){const t=M(),o=D(""),s=async n=>{try{t.changeEditTabSource(JSON.parse(n))}catch{U({message:"粘贴的源格式错误",type:"error"})}};return Ae(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]=k=>j(o)?o.value=k:null),type:"textarea",placeholder:"这里输出序列化的JSON数据,可直接导入'阅读'APP",rows:"30",onChange:s,style:{"margin-bottom":"4px"}},null,8,["modelValue"])}}},Gt=J(Wt,[["__scopeId","data-v-7e91a802"]]);const Qt={__name:"SourceTabTools",setup(e){const t=M(),{currentTab:o}=X(t),s=D([["editTab","编辑源"],["editDebug","调试源"],["editList","源列表"],["editHelp","帮助信息"]]);return(n,r)=>{const a=Gt,k=qt,_=Ft,m=St,w=fe,x=be;return l(),C(x,{modelValue:i(o),"onUpdate:modelValue":r[0]||(r[0]=B=>j(o)?o.value=B:null)},{default:u(()=>[(l(!0),E(P,null,A(i(s),(B,c)=>(l(),C(w,{key:B[0],name:B[0],label:B[1]},{default:u(()=>[c==0?(l(),C(a,{key:0})):L("",!0),c==1?(l(),C(k,{key:1})):L("",!0),c==2?(l(),C(_,{key:2})):L("",!0),c==3?(l(),C(m,{key:3})):L("",!0)]),_:2},1032,["name","label"]))),128))]),_:1},8,["modelValue"])}}},Xt=J(Qt,[["__scopeId","data-v-dcce2457"]]);const Yt={class:"menu flex-column-center"},Zt={class:"hotkeys-header flex-space-between"},eo=["id"],to={key:0},oo={class:"hotkeys-settings flex-column-center"},no={class:"title"},ro={class:"hotkeys-item__content"},so={key:0},io={key:0},lo={__name:"ToolBar",setup(e){const t=M(),o=()=>{const h=U({message:"加载中……",showClose:!0,duration:0});K.getSources().then(({data:d})=>{d.isSuccess?(t.changeTabName("editList"),t.saveSources(d.data),U({message:`成功拉取${d.data.length}条源`,type:"success"})):U({message:d.errorMsg??"后端错误",type:"error"})}).finally(()=>h.close())},s=()=>{let h=t.sources;if(t.changeTabName("editList"),h.length===0)return U({message:"空空如也",type:"info"});U({message:"正在推送中",type:"info"}),K.saveSources(h).then(({data:d})=>{if(d.isSuccess){let S=d.data;if(Array.isArray(S)){let v="";h.length>S.length&&(v=`
|
||||
推送失败的源将用红色字体标注!`,t.setPushReturnSources(S)),U({message:`批量推送源到「阅读3.0APP」
|
||||
共计: ${h.length} 条
|
||||
成功: ${S.length} 条
|
||||
失败: ${h.length-S.length} 条${v}`,type:"success"})}}else U({message:`批量推送源失败!
|
||||
ErrorMsg: ${d.errorMsg}`,type:"error"})})},n=()=>{t.changeTabName("editTab"),t.changeEditTabSource(t.currentSource)},r=()=>{t.changeCurrentSource(t.editTabSource)},c=()=>{t.editHistoryUndo()},k=()=>{t.clearEdit(),U({message:"已清除",type:"success"})},_=()=>{t.clearEdit(),t.clearAllHistory(),U({message:"已清除所有历史记录",type:"success"})},m=()=>{let h=/bookSource/.test(location.href),d=t.currentSource;Ot(d)?K.saveSource(d).then(({data:S})=>{S.isSuccess?(U({message:`源《${h?d.bookSourceName:d.sourceName}》已成功保存到「阅读3.0APP」`,type:"success"}),t.saveCurrentSource()):U({message:`源《${h?d.bookSourceName:d.sourceName}》保存失败!
|
||||
ErrorMsg: ${S.errorMsg}`,type:"error"})}):U({message:"请检查<必填>项是否全部填写",type:"error"})},w=()=>{t.startDebug()},x=D(Array.of({name:"⇈推送源",hotKeys:[],action:s},{name:"⇊拉取源",hotKeys:[],action:o},{name:"⋙生成源",hotKeys:[],action:n},{name:"⋘编辑源",hotKeys:[],action:r},{name:"✗清空表单",hotKeys:[],action:k},{name:"↶撤销操作",hotKeys:[],action:c},{name:"↷重做操作",hotKeys:[],action:_},{name:"⇏调试源",hotKeys:[],action:w},{name:"✓保存源",hotKeys:[],action:m})),B=D(!0),a=D(!1),y=D(-1),T=()=>{a.value||(B.value=!1),a.value=!1};ye(B,h=>{if(!h)return q.unbind("*");q.unbind(),q("*",d=>{d.preventDefault();let S=q.getPressedKeyString();S.length==1&&S[0]=="esc"||a.value&&y.value>-1&&(x.value[y.value].hotKeys=S)})},{immediate:!0});const f=h=>{a.value=!0,U({message:"按ESC键或者点击空白处结束录入",type:"info"}),x.value[h].hotKeys=[],y.value=h},I=()=>{B.value=!1;const h=[];x.value.forEach(({hotKeys:d,action:S})=>{q(d.join("+"),v=>{v.preventDefault(),S.call(null)}),h.push(d)}),N(h)},N=h=>{localStorage.setItem("legado_web_hotkeys",JSON.stringify(h))},O=()=>{try{const h=JSON.parse(localStorage.getItem("legado_web_hotkeys"));if(!Array.isArray(h)||h.length==0)return;x.value.forEach((d,S)=>d.hotKeys=h[S]),B.value=!1,I()}catch{U({message:"快捷键配置错误",type:"error"}),localStorage.removeItem("legado_web_hotkeys")}};return Ke(()=>{O()}),(h,d)=>{const S=le,v=he,ee=Me;return l(),E(P,null,[g("div",Yt,[(l(!0),E(P,null,A(i(x),$=>(l(),C(S,{size:"large",key:$.name,onClick:$.action},{default:u(()=>[b(Q($.name),1)]),_:2},1032,["onClick"]))),128)),p(S,{size:"large",onClick:d[0]||(d[0]=()=>B.value=!0)},{default:u(()=>[b("快捷键")]),_:1})]),p(ee,{modelValue:i(B),"onUpdate:modelValue":d[1]||(d[1]=$=>j(B)?B.value=$:null),"show-close":!1,"before-close":T},{header:u(({titleClass:$,titleId:te})=>[g("div",Zt,[g("div",{id:te,class:me($)},[b(" 快捷键设置 "),i(a)?(l(),E("span",to,[p(v,null,{default:u(()=>[b(" / 录入中 ")]),_:1})])):L("",!0)],10,eo),p(S,{disabled:i(a),onClick:I,icon:i(je)},{default:u(()=>[b("保存")]),_:1},8,["disabled","icon"])])]),default:u(()=>[g("div",oo,[(l(!0),E(P,null,A(i(x),($,te)=>(l(),E("div",{key:$.name,class:"hotkeys-item flex-space-between"},[g("span",no,[p(v,null,{default:u(()=>[b(Q($.name),1)]),_:2},1024)]),g("div",ro,[(l(!0),E(P,null,A($.hotKeys,(oe,Be)=>(l(),E("div",{key:oe},[g("kbd",null,Q(oe),1),Be+1<$.hotKeys.length?(l(),E("span",so,[p(v,null,{default:u(()=>[b("+")]),_:1})])):L("",!0)]))),128)),$.hotKeys.length==0?(l(),E("span",io,"未设置")):L("",!0)]),p(S,{disabled:i(a),text:"",icon:i(_e),onClick:oe=>f(te)},{default:u(()=>[b("编辑")]),_:2},1032,["disabled","icon","onClick"])]))),128))])]),_:1},8,["modelValue"])],64)}}},co=J(lo,[["__scopeId","data-v-e3b61f1f"]]);const ao={__name:"SourceTabForm",props:["config"],setup(e){const t=M(),{currentSource:o}=X(t);return(s,n)=>{const r=Y,c=Fe,k=He,_=qe,m=ze,w=We,x=Ge,B=fe,a=be;return l(),C(a,{id:"source-edit"},{default:u(()=>[(l(!0),E(P,null,A(Object.values(e.config),({name:y,children:T})=>(l(),C(B,{label:y,key:y},{default:u(()=>[p(x,{"label-position":"right","label-width":"5em"},{default:u(()=>[(l(!0),E(P,null,A(T,({type:f,title:I,namespace:N,id:O,array:h,hint:d,required:S})=>(l(),C(w,{label:I,key:I,required:S},{default:u(()=>[f=="String"&&typeof N>"u"?(l(),C(r,{key:0,type:"textarea",modelValue:i(o)[O],"onUpdate:modelValue":v=>i(o)[O]=v,placeholder:d,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):L("",!0),f=="String"&&typeof N<"u"?(l(),C(r,{key:1,type:"textarea",modelValue:i(o)[N][O],"onUpdate:modelValue":v=>i(o)[N][O]=v,placeholder:d,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):L("",!0),f=="Boolean"?(l(),C(c,{key:2,modelValue:i(o)[O],"onUpdate:modelValue":v=>i(o)[O]=v},null,8,["modelValue","onUpdate:modelValue"])):L("",!0),f=="Number"?(l(),C(k,{key:3,modelValue:i(o)[O],"onUpdate:modelValue":v=>i(o)[O]=v,min:0},null,8,["modelValue","onUpdate:modelValue"])):L("",!0),f=="Array"?(l(),C(m,{key:4,modelValue:i(o)[O],"onUpdate:modelValue":v=>i(o)[O]=v},{default:u(()=>[(l(!0),E(P,null,A(h,(v,ee)=>(l(),C(_,{value:ee,key:v,label:v},null,8,["value","label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):L("",!0)]),_:2},1032,["label","required"]))),128))]),_:2},1024)]),_:2},1032,["label"]))),128))]),_:1})}}},uo=J(ao,[["__scopeId","data-v-2cfb5302"]]),po={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:"variab
Line truncated
|
||||
ErrorMsg: ${d.errorMsg}`,type:"error"})})},n=()=>{t.changeTabName("editTab"),t.changeEditTabSource(t.currentSource)},r=()=>{t.changeCurrentSource(t.editTabSource)},a=()=>{t.editHistoryUndo()},k=()=>{t.clearEdit(),U({message:"已清除",type:"success"})},_=()=>{t.clearEdit(),t.clearAllHistory(),U({message:"已清除所有历史记录",type:"success"})},m=()=>{let h=/bookSource/.test(location.href),d=t.currentSource;Ot(d)?K.saveSource(d).then(({data:S})=>{S.isSuccess?(U({message:`源《${h?d.bookSourceName:d.sourceName}》已成功保存到「阅读3.0APP」`,type:"success"}),t.saveCurrentSource()):U({message:`源《${h?d.bookSourceName:d.sourceName}》保存失败!
|
||||
ErrorMsg: ${S.errorMsg}`,type:"error"})}):U({message:"请检查<必填>项是否全部填写",type:"error"})},w=()=>{t.startDebug()},x=D(Array.of({name:"⇈推送源",hotKeys:[],action:s},{name:"⇊拉取源",hotKeys:[],action:o},{name:"⋙生成源",hotKeys:[],action:n},{name:"⋘编辑源",hotKeys:[],action:r},{name:"✗清空表单",hotKeys:[],action:k},{name:"↶撤销操作",hotKeys:[],action:a},{name:"↷重做操作",hotKeys:[],action:_},{name:"⇏调试源",hotKeys:[],action:w},{name:"✓保存源",hotKeys:[],action:m})),B=D(!0),c=D(!1),y=D(-1),N=()=>{c.value||(B.value=!1),c.value=!1};ye(B,h=>{if(!h)return q.unbind("*");q.unbind(),q("*",d=>{d.preventDefault();let S=q.getPressedKeyString();S.length==1&&S[0]=="esc"||c.value&&y.value>-1&&(x.value[y.value].hotKeys=S)})},{immediate:!0});const f=h=>{c.value=!0,U({message:"按ESC键或者点击空白处结束录入",type:"info"}),x.value[h].hotKeys=[],y.value=h},T=()=>{B.value=!1;const h=[];x.value.forEach(({hotKeys:d,action:S})=>{q(d.join("+"),v=>{v.preventDefault(),S.call(null)}),h.push(d)}),I(h)},I=h=>{localStorage.setItem("legado_web_hotkeys",JSON.stringify(h))},O=()=>{try{const h=JSON.parse(localStorage.getItem("legado_web_hotkeys"));if(!Array.isArray(h)||h.length==0)return;x.value.forEach((d,S)=>d.hotKeys=h[S]),B.value=!1,T()}catch{U({message:"快捷键配置错误",type:"error"}),localStorage.removeItem("legado_web_hotkeys")}};return Ke(()=>{O()}),(h,d)=>{const S=le,v=he,ee=Me;return l(),E(P,null,[g("div",Yt,[(l(!0),E(P,null,A(i(x),$=>(l(),C(S,{size:"large",key:$.name,onClick:$.action},{default:u(()=>[b(Q($.name),1)]),_:2},1032,["onClick"]))),128)),p(S,{size:"large",onClick:d[0]||(d[0]=()=>B.value=!0)},{default:u(()=>[b("快捷键")]),_:1})]),p(ee,{modelValue:i(B),"onUpdate:modelValue":d[1]||(d[1]=$=>j(B)?B.value=$:null),"show-close":!1,"before-close":N},{header:u(({titleClass:$,titleId:te})=>[g("div",Zt,[g("div",{id:te,class:me($)},[b(" 快捷键设置 "),i(c)?(l(),E("span",to,[p(v,null,{default:u(()=>[b(" / 录入中 ")]),_:1})])):L("",!0)],10,eo),p(S,{disabled:i(c),onClick:T,icon:i(je)},{default:u(()=>[b("保存")]),_:1},8,["disabled","icon"])])]),default:u(()=>[g("div",oo,[(l(!0),E(P,null,A(i(x),($,te)=>(l(),E("div",{key:$.name,class:"hotkeys-item flex-space-between"},[g("span",no,[p(v,null,{default:u(()=>[b(Q($.name),1)]),_:2},1024)]),g("div",ro,[(l(!0),E(P,null,A($.hotKeys,(oe,Be)=>(l(),E("div",{key:oe},[g("kbd",null,Q(oe),1),Be+1<$.hotKeys.length?(l(),E("span",so,[p(v,null,{default:u(()=>[b("+")]),_:1})])):L("",!0)]))),128)),$.hotKeys.length==0?(l(),E("span",io,"未设置")):L("",!0)]),p(S,{disabled:i(c),text:"",icon:i(_e),onClick:oe=>f(te)},{default:u(()=>[b("编辑")]),_:2},1032,["disabled","icon","onClick"])]))),128))])]),_:1},8,["modelValue"])],64)}}},ao=J(lo,[["__scopeId","data-v-e3b61f1f"]]);const co={__name:"SourceTabForm",props:["config"],setup(e){const t=M(),{currentSource:o}=X(t);return(s,n)=>{const r=Y,a=Fe,k=He,_=qe,m=ze,w=We,x=Ge,B=fe,c=be;return l(),C(c,{id:"source-edit"},{default:u(()=>[(l(!0),E(P,null,A(Object.values(e.config),({name:y,children:N})=>(l(),C(B,{label:y,key:y},{default:u(()=>[p(x,{"label-position":"right","label-width":"5em"},{default:u(()=>[(l(!0),E(P,null,A(N,({type:f,title:T,namespace:I,id:O,array:h,hint:d,required:S})=>(l(),C(w,{label:T,key:T,required:S},{default:u(()=>[f=="String"&&typeof I>"u"?(l(),C(r,{key:0,type:"textarea",modelValue:i(o)[O],"onUpdate:modelValue":v=>i(o)[O]=v,placeholder:d,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):L("",!0),f=="String"&&typeof I<"u"?(l(),C(r,{key:1,type:"textarea",modelValue:i(o)[I][O],"onUpdate:modelValue":v=>i(o)[I][O]=v,placeholder:d,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):L("",!0),f=="Boolean"?(l(),C(a,{key:2,modelValue:i(o)[O],"onUpdate:modelValue":v=>i(o)[O]=v},null,8,["modelValue","onUpdate:modelValue"])):L("",!0),f=="Number"?(l(),C(k,{key:3,modelValue:i(o)[O],"onUpdate:modelValue":v=>i(o)[O]=v,min:0},null,8,["modelValue","onUpdate:modelValue"])):L("",!0),f=="Array"?(l(),C(m,{key:4,modelValue:i(o)[O],"onUpdate:modelValue":v=>i(o)[O]=v},{default:u(()=>[(l(!0),E(P,null,A(h,(v,ee)=>(l(),C(_,{value:ee,key:v,label:v},null,8,["value","label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):L("",!0)]),_:2},1032,["label","required"]))),128))]),_:2},1024)]),_:2},1032,["label"]))),128))]),_:1})}}},uo=J(co,[["__scopeId","data-v-2cfb5302"]]),po={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:"variab
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 go={class:"editor"},_o={__name:"SourceEditor",setup(e){let t;return/bookSource/i.test(location.href)?(t=po,document.title="书源管理"):(t=ho,document.title="订阅源管理"),(o,s)=>{const n=uo,r=co,c=Xt;return l(),E("div",go,[p(n,{class:"left",config:i(t)},null,8,["config"]),p(r),p(c,{class:"right"})])}}},pe=J(_o,[["__scopeId","data-v-f572f1de"]]),we=[{path:"/bookSource",name:"book-home",component:pe},{path:"/rssSource",name:"rss-home",component:pe}];se({history:ie(),routes:we});const xe=se({history:ie(),routes:ke.concat(we)});xe.afterEach(e=>{e.name=="shelf"&&(document.title="书架")});Qe(tt).use(zt).use(xe).mount("#app");ne(()=>import("./config-297c5bc7.js"),["./config-297c5bc7.js","./vendor-b9134af1.js","./vendor-5578283d.css","./config-811f2a0b.css"],import.meta.url);export{K as A,J as _,So as u};
|
||||
名称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 go={class:"editor"},_o={__name:"SourceEditor",setup(e){let t;return/bookSource/i.test(location.href)?(t=po,document.title="书源管理"):(t=ho,document.title="订阅源管理"),(o,s)=>{const n=uo,r=ao,a=Xt;return l(),E("div",go,[p(n,{class:"left",config:i(t)},null,8,["config"]),p(r),p(a,{class:"right"})])}}},pe=J(_o,[["__scopeId","data-v-f572f1de"]]),we=[{path:"/bookSource",name:"book-home",component:pe},{path:"/rssSource",name:"rss-home",component:pe}];se({history:ie(),routes:we});const xe=se({history:ie(),routes:ke.concat(we)});xe.afterEach(e=>{e.name=="shelf"&&(document.title="书架")});Qe(tt).use(zt).use(xe).mount("#app");ne(()=>import("./config-ca1d6d9e.js"),["./config-ca1d6d9e.js","./vendor-b9134af1.js","./vendor-5578283d.css","./config-811f2a0b.css"],import.meta.url);export{K as A,J as _,So as u};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{u as S}from"./index-1671d4c8.js";import{z as L,K as p,a5 as w,ae as D,u as v}from"./vendor-b9134af1.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 y(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 z(t,i,e={}){var a;const o=t.getFullYear(),n=t.getMonth(),l=t.getDate(),s=t.getHours(),r=t.getMinutes(),g=t.getSeconds(),f=t.getMilliseconds(),h=t.getDay(),c=(a=e.customMeridiem)!=null?a:y,d={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:()=>`${f}`.padStart(3,"0"),d:()=>h,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,(m,M)=>{var u;return M||((u=d[m])==null?void 0:u.call(d))||m})}const b=t=>/,\s*\{/.test(t)||!(t.startsWith("http")||t.startsWith("data:")||t.startsWith("blob:"));function A(t){return location.origin+"/image?path="+encodeURIComponent(t)+"&url="+encodeURIComponent(sessionStorage.getItem("bookUrl"))+"&width="+S().config.readWidth}const W=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=z(new Date(t),"YYYY-MM-DD"),a},$='<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 U=(t,i,e=$)=>{const a=L(!1);let o=null;const n=()=>a.value=!1,l=()=>a.value=!0;p(a,r=>{if(!r)return o==null?void 0:o.close();o=D.service({target:v(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 w(()=>{n()}),{isLoading:a,showLoading:l,closeLoading:n,loadingWrapper:s}};export{W as d,A as g,b as i,U as u};
|
||||
import{u as S}from"./index-7b5c29c2.js";import{z as L,K as p,a5 as w,ae as D,u as v}from"./vendor-b9134af1.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 y(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 z(t,i,e={}){var a;const o=t.getFullYear(),n=t.getMonth(),l=t.getDate(),s=t.getHours(),r=t.getMinutes(),g=t.getSeconds(),f=t.getMilliseconds(),h=t.getDay(),c=(a=e.customMeridiem)!=null?a:y,d={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:()=>`${f}`.padStart(3,"0"),d:()=>h,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,(m,M)=>{var u;return M||((u=d[m])==null?void 0:u.call(d))||m})}const b=t=>/,\s*\{/.test(t)||!(t.startsWith("http")||t.startsWith("data:")||t.startsWith("blob:"));function A(t){return location.origin+"/image?path="+encodeURIComponent(t)+"&url="+encodeURIComponent(sessionStorage.getItem("bookUrl"))+"&width="+S().config.readWidth}const W=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=z(new Date(t),"YYYY-MM-DD"),a},$='<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 U=(t,i,e=$)=>{const a=L(!1);let o=null;const n=()=>a.value=!1,l=()=>a.value=!0;p(a,r=>{if(!r)return o==null?void 0:o.close();o=D.service({target:v(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 w(()=>{n()}),{isLoading:a,showLoading:l,closeLoading:n,loadingWrapper:s}};export{W as d,A as g,b as i,U as u};
|
||||
@@ -4,7 +4,7 @@
|
||||
<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-1671d4c8.js"></script>
|
||||
<script type="module" crossorigin src="./assets/index-7b5c29c2.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="./assets/vendor-b9134af1.js">
|
||||
<link rel="stylesheet" href="./assets/vendor-5578283d.css">
|
||||
<link rel="stylesheet" href="./assets/index-a09d307b.css">
|
||||
|
||||
Reference in new issue
Block a user