From a9d1da772a4de5a814c4e1657eab47f852e19b4d Mon Sep 17 00:00:00 2001 From: Xwite Date: Wed, 9 Oct 2024 01:10:39 +0000 Subject: [PATCH] Bump web v3.24.100909 --- ...okChapter-DulznHVb.js => BookChapter-BlHYWmvC.js} | 2 +- .../main/assets/web/vue/assets/BookShelf-BGok8lmi.js | 1 - .../main/assets/web/vue/assets/BookShelf-BRXx-nUT.js | 1 + ...BookShelf-DOtbD_N8.css => BookShelf-CKJPVLil.css} | 2 +- .../assets/{index-C0anxQXj.js => index-BRaRvWwY.js} | 12 ++++++------ app/src/main/assets/web/vue/index.html | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) rename app/src/main/assets/web/vue/assets/{BookChapter-DulznHVb.js => BookChapter-BlHYWmvC.js} (99%) delete mode 100644 app/src/main/assets/web/vue/assets/BookShelf-BGok8lmi.js create mode 100644 app/src/main/assets/web/vue/assets/BookShelf-BRXx-nUT.js rename app/src/main/assets/web/vue/assets/{BookShelf-DOtbD_N8.css => BookShelf-CKJPVLil.css} (62%) rename app/src/main/assets/web/vue/assets/{index-C0anxQXj.js => index-BRaRvWwY.js} (60%) diff --git a/app/src/main/assets/web/vue/assets/BookChapter-DulznHVb.js b/app/src/main/assets/web/vue/assets/BookChapter-BlHYWmvC.js similarity index 99% rename from app/src/main/assets/web/vue/assets/BookChapter-DulznHVb.js rename to app/src/main/assets/web/vue/assets/BookChapter-BlHYWmvC.js index a35ff2edc1a0..321c0b13b51d 100644 --- a/app/src/main/assets/web/vue/assets/BookChapter-DulznHVb.js +++ b/app/src/main/assets/web/vue/assets/BookChapter-BlHYWmvC.js @@ -1 +1 @@ -import{a0 as Ne,m as l,v as D,Q as xe,a6 as De,o as m,d as k,g as t,t as O,F as te,M as ie,u as a,a7 as T,a8 as Qe,H as he,p as Q,e as N,w as z,a9 as He,x as de,aa as We,f as J,J as ge,a5 as Ve,j as F,ab as Je,q as Te,ac as Pe,ad as Fe,ae as qe,V as Ge,L as Ue,a4 as Ze,af as Ye,ag as je,c as Xe}from"./vendor-Bo0wn8_e.js";import{i as _e,u as $e}from"./loading-RAa6Kw1J.js";import{_ as le,A as Z,u as re}from"./index-C0anxQXj.js";const et=(A,n,d,p)=>(A/=p/2,A<1?d/2*A*A+n:(A--,-d/2*(A*(A-2)-1)+n)),tt=()=>{let A,n,d,p,s,I,y,b,B,V,M,C,E;function c(){let v=A.scrollTop||A.scrollY||A.pageYOffset;return v=typeof v>"u"?0:v,v}function f(v){const S=v.getBoundingClientRect().top,oe=A.getBoundingClientRect?A.getBoundingClientRect().top:0;return S-oe+d}function r(v){A.scrollTo?A.scrollTo(0,v):A.scrollTop=v}function g(v){V||(V=v),M=v-V,C=I(M,d,b,B),r(C),M({f67eb5da:p.spacing.letter,"5690efbe":p.spacing.line,"9487f53e":p.spacing.paragraph}));const p=A,s=c=>{const f=/]*src="([^"]*(?:"[^>]+\})?)"[^>]*>/,r=c.match(f)[1];return _e(r)?Z.getProxyImageUrl(r,re().config.readWidth):r},I=c=>{c.target.src=Z.getProxyImageUrl(c.target.src,re().config.readWidth)},y=c=>{const f=/]*src="[^"]*(?:"[^>]+\})?"[^>]*>/g;return c.replaceAll(f," ").length},b=l(()=>{let c=-1;return Array.from(p.contents,f=>(c+=y(f)+1,c))}),B=D(),V=D();n({scrollToReadedLength:c=>{if(c===0)return;let f=b.value.findIndex(r=>r>=c);f!==-1&&Qe(()=>{$(V.value[f],{duration:0})})}});let C=null;const E=d;return xe(()=>{C=new IntersectionObserver(c=>{for(let{target:f,isIntersecting:r}of c)r&&E("readedLengthChange",p.chapterIndex,parseInt(f.dataset.chapterpos))},{rootMargin:`0px 0px -${window.innerHeight-24}px 0px`}),C.observe(B.value),V.value.forEach(c=>{C.observe(c)})}),De(()=>{C==null||C.disconnect(),C=null}),(c,f)=>(m(),k(te,null,[t("div",{class:"title","data-chapterpos":"0",ref_key:"titleRef",ref:B},O(A.title),513),(m(!0),k(te,null,ie(A.contents,(r,g)=>(m(),k("div",{key:g,ref_for:!0,ref_key:"paragraphRef",ref:V,"data-chapterpos":a(b)[g]},[/^\s*]*src[^>]+>$/.test(String(r))?(m(),k("img",{key:0,class:"full",src:s(r),onErrorOnce:I,loading:"lazy"},null,40,nt)):(m(),k("p",{key:1,style:T({fontFamily:A.fontFamily,fontSize:A.fontSize}),innerHTML:r},null,12,st))],8,ot))),128))],64))}},it=le(at,[["__scopeId","data-v-d37de557"]]),rt="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/OZRgoWHBmNbxB0LgB1I4vXFj93UoF2/0TPEsWwV9EhbIiTPqYoTHYoMn3enTDjmrFeDTIzaL1bUC/PBIMuF+vSSYSaxoVt90EO3Gu1zrMuMRGUk7Ffv3L+A931Gsb/yBoIgAAAABJRU5ErkJggg==",At="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEX6+fP8+/X+/ff///kbczPAAAACeElEQVQozxXHQUgUUQAG4P8936yzs6VvZNZmN9QxVxiF9OLBoOjtOC6rQq6ygXjI2fCQBdXBg4egtzFGdqkoI+zgBFbqkm3hQSxhFYLotOcubeKhOnVYoqQy+m4f5g5TvpX0xHLbLY9j8SMhJp+Jk4LfAUS2kVRIjILmnwGBTX42PhCVlDJQkIiy2nWAvaJ1h+oFIpJ0hMSYVbyyrgDWshcMpMyL1brPDQKWmduO+KTJ6XeXAMK9Yc3FpD7atyNwg6kt5XgFpLPhjUTFSYVn2abDiugGShwD8JTVRJVo/2ecuKtRb/qc4BK+9TboFfokog4T2Fn6Oqdnsjk90NMS76Rji6E0NmwkPBAZ4Xbkw8KoDAkAbEhkc78e9omxxgxg6qa5HvMv+UZbCV0qmHnSHKl5TxeA2XTCGWekR581mwC5crBH81PznASqB9va3TbkYAjJPLfg5uBfXaJgIgIBv9eessRIhxe7PA7kj6uUMeMaQ/OEQOYRaaHlqH2Gxwsl6E/pwVY5FH7uCypBZPKvDQyVziYBrAkMURe2MOOOxG/eQpp5PF+bFzUV5HtPj9GeiVSNZDELleifYTp9NAjsoiXg4cW+4ZORkdSMB/B74aAdjhsVakhgkugsbmqcDSLEoWp8zRjrux3tli6Q5uM3E+maT99Wy0RiP7tboiuRZle2c6CYeL2kcUc1KvPtQKucogMadKVTQOJYCeyCYlhQQ/Q7Etfd/vBygy9iqy+LyHeF46saCYvW6ingsbA9RBWtdi8GgUXW+oQx9/wP6bAAX1TWeV+CbShZDlQ9xT6SoSxZmKRAkmXb60kzEzkRF+Ccb94BGspGJoN/UzmyR4wjXHAAAAAASUVORK5CYII=",ct="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAATlBMVEXdzaHh0KPgz6LdzKDezqLczJ7ezZ/fz6Dcy5zi0aXdzZ3fz6Tfz57h0KDg0aLcyZrg0KXi0qPfzZ3j06bh0qbdyJbfzJrhz5/cxpLZwo0vDconAAAFn0lEQVRIxxyPW5LjMAwDAT5FybLl2JnM3P+i6+wXWVC1GoQGaD0h4XM3Q5o4T0HgABHBi6pZ4CDXXcUOFd6VhqC3Kch4EI8w9oMXwvU6m5LOOvcxKMOhuu8i5+5cMjcgb0t4F2uvOoeI3/MlT4IqsbtM9UG2AGSXUOsxzPevnXzK1CSHytZLvx7VdQmUcJsJCxJh2nmHW12Qod1qPjt8pih47uQ9aGpoNWF+yElCt60oH7vdIU/MnlRPSBLC/VwqxcKR8PFqnADN9ih5ufqnTlG9KwCofvs7kKYqOPHTNMQ93j9qNImFw9vjHPZ0F1m8hUUVB/Q/TrRYDMXr9++APMFARAt6sPh6wVAXzxUGhZsFUwCNfPZ8/72TAHebAhvuOuT3gO1Vn5d9Jd5sBRkg0p2seL9B7ulkjFJFIt9HPpLzdSzzMP3UcodAfMqC6pBuET2heHK1itZf1GZ1bi0BwOSxiCS8f/JBHMPMM4XCu3Mt1uz9lJbDJRqsKDZuikzkvskQEz6hanfDfO494azY5JpqPqOF1RhxD9XYEdaNxiqWqakKgmPfmrsta8KAiwF4HBxGVUJAgeSqQaiRRZJ7D2jedhw5t1CIAKxag0CBA60BpoBE6DcUi8O5AuM4pLfN0kHLmeu2B4e6HofqbgxsTWUw3PAODqa1oDtyzgXBlusi1KFdclMPE8O3jvLJ8RNi5/RxDQVzVmXA233XQ4KummunfxvLOZo+iH37964YjP06995CTdu9hsvErqJNzmf4wTrZ5DL7+qW9EoLnadrx67b8dUtrJnBXaT1N1uvPaYRKpWkq52xNsMN7vv4Sdryt/f4MhQoMCKnvVxikai1CQ6ZsnwJDc8+3Y/z8HcfvYQNq66pnAu1Hwa+3KNSwbNu8h3nDPqTl9fl7tx8fBhFfdS0o0F3JUKEZtZG9b/LZEM95lzaR30OnWPzroMxyZYdBIMoMnpN0J+m7/40+/P4soFSUjgzE7yY5zrMJuoZv0CmpVguYx1pprfb5HOviRVhHUVi/352shxCYrYBZxGtVaxiAz/MsaGSIsB7R1t4zJXH//n7RTTQQwxqcGEqEvklFHUgiO2GvJV+jAIPR+N29usWDoiSOVrN3XuqT1egQJAAU9EwslVJC8u0rGcy+WPqktJhjfMpatIG6CDAb0v5H34MGKqiVRue7GGLZ9Otxtt4JIrAhxBDwDuqI9JavcO0A7GlqFt219tH/bln9jBXzaKWAEqJV0CBxs5TwM8EvUPHaa8S86vN303MVWOsl3goDBHPWSoQ9c0kQmCKljfsKNH1+ofEOHW8a9a7glZGS8fPieL/SRSs0LAhI4FDTnXs1QYtubv2+IXPZpHB4bhivRexBkYKsSrYXNjvMUbVXpVJ+N6haV72c1k2zrnv5IYBMJBYTSZx0KTkoM3vY93rU/qs7zHplc/3d2ACadhFWByrn9LUk2IWb5JywvawTQc3F0iz+lgsBmInAIemBJtft2plKIlAFOgcroigrG2XlDsAzywQECNyaI8yr2ogoh7D4qJOYmZBzQgoZAM1PAcB8sDrr1uE5CDMR+nWSSVUGUCHAs8Vd21HOE0FzNj37pX0sLp9p3K8k++xxpkmzDxK64rmTSJnDUuIgTeslui6lg92jonZXI4jqNiUuzN4IagcKMjCniMGCODoo8T4tGDprn2hRww+NrnYiCwokd9iiWrkmbRfXYGLAoZrjO1lVQKExjUy5fIkgJURmz2uGFdASwwlWx5gDVTMK7hP6ISRVsFbYNmqtZL9MQtio285PaekyzDhZmtdexCYB0SZcTmBdhvdbmAEonk8hwcHQuZN1kVqrhyKoHHsnQhQAjF7SG533Da2S4LGjx1LoZqp7XeKQLDUBmYmydG0NQHpMeR5lRIRQc1PQ2ASMQflF4YBDMt0/GFlEHeRwCcEAAAAASUVORK5CYII=",gt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAALVBMVEXx58b168ny6Mjz6sn06sf27Mvw5sTz6cbw5cLy58T37svv47/168v37s7t4Ltrv0//AAAEjUlEQVQ4yw2Ty2sTURxGf3dmOqmPxb0zmaStCnfmZpL6gpmbxIpUSMZGrSJkxsZiVZimNVaqMklrUnWTRq2KIDFWWx+IFrIRFxXEB4KIgqu6EBdu7M6FIPg32PW3+DhwDmBaYrK56KP4HGIsvg/uvOV0wK+qgBMlO9BujuH4DSJlOseqV5a/BEF97gt0ChyIPqBhXI9BtqtIB8vJB/LdCQ3OVjaLNX0g7+OmoI4e7nkemAqX6o8vg0yyQAyQS7IfgvFbI+6QyI3R4KELxw7kwM2ooQfyQigYnwY5MZbMlHI1DvnQVCoVcrt+R+bO7vPDif3ybNajwqAAe443dpfDsPt379VMWZzGRuqM79mQF+DUz9nt74bQ8J/O80MtVR51U02JKKmTCvTzLVf+vuxP/aHnPo9+2bW+zVsJ0Y630/CrfzX+b+UL+7O68Rczv+7lrMh5etfKXvhc2rk6KforxuoO2xB2tcxKfeXHt18rHOiHI/0RRjW/YGRDkHiwo3nzqL60o58C/bgRuaj7vk+QOwOhpnFNdjuWpKMCGP8Yapu9Ty5FTHKQLGSEFikjd9ADwP9ciaNNjc5qMH6w50AF/LKOsOYqsOG9GjKgc7ZXolqntm6fysJ6Ma6ll2CiqmOgE6O7x1wXExklbeqMYcwsmJmOoigt8SBg2WfilDSsAZJcBxDcrqtBXzFQJqZNHfscyIhoZlygAtyYAceah+elrFbI+46gEHDGiW878Kj7JpWyfhg6iyRMymV1MKBSeVpfgLHIohyTojI6sRyK1VpcqzVZeEBLOnA9unhGKUXPJDYtV9Dxuz4iA5xSkSWhCJdAiJR9PHlvfvbntbrR14FDqUNRAYDJmSnv3oKxuz5+7fiblgVJyYLTbgUM05P7LESkoXvyWNfb0aUU6FZizgQIa25VqKQZqFrk6v6BsqqIHlQmkQ9KrBhkC20/DrFsAFEEYLjM+lj2wYHXCwnNvZQR42XJ2iVK+UBXnI+OBE6oXpUUHiQ1yg0MhA03iwGbnOdQYc1CMiPIPQrCQJFH4L4BMFktAtKd9PN5gnU2Gra4KuK+V+mjtBRpAGIqDVe4wnSnajiFGO5d7smvhVQEMEYwqshrENIEaY7YeblJYtsb3QhAHWZCEKK67swwPMKw0If1Ta+6DgHmlgPzcUTSbi3rrv1Y64/BYEMPQ5SDHUOR022B4QRF6xLUPAaPX/V4IDI5N2BMwx4LqO1uO4j6uW7NvM7lATqGAxY/ZHVgoGZbu7SvkNR75x6qGSB23FdouENVwN7sCbewTdsXGrrnQ5ZZKOCOFtMTIzxlPu6eYmtL+nMFmoK7OeXajn86r9sqWbfmvHC4IagE5qfCPGZvLSq5F55hHIxJFa4/vRxHBlz0og4TojU1l/MOHJX17lybdF0mQhFO44JYUNt3UA473IXw/iPfDWtKG5oFSXIF5iU/VnyDSjxxeDk3jAXRyVyGTNB9FxH9qcFDNJpVbt2y9LytUXkK7Py6+z1RezHQqnoY8XcLimmd8dCnBhQCuaGpJCq3SoIlmYvLz8UkWhJw7T8k+Db/DYEKwgAAAABJRU5ErkJggg==",dt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX48dr48Nf58tv379X17NJtIBxUAAACFUlEQVQ4y1XRUZakMAgF0Af2AiDWApDZgHZqAV1nZv9rGh7Rj7Y8McUFEg1wvcMESMNVD/neU8Xcaz7nYYkYlYO6Ti82PBI4BvIEg1aj3wKwRvIMgZsUy5LdhCawPFh1sZs4SrlyN9fQKpv8s5dgZ2eLyqqJiu+WkCmUEybXkm3INS01WAiv0PapJ0CZc0SJQUzcWnZYbOOY20iFD8Bk+/j2A3wNxH7GdShFYS5ff237kXh9I9zSkQmIAhOsOSVfJ6DIXTMDaPnzkRJ92S1BQQmXl5LdirgRLLDdcYqcGPwe3QN4xCBiGNbrqq9wpW1XCecChwaQdVOsRDpPCpeoolPdxeXp3WNB9PHVzWBHlygy4NJCCrFHREv6bDt0VGwJZASkpONmm1UseGeFKAQexgaAkrfYWl3AGxWOLL2AIMBNbCXpktmS3k3vHeYjGCPBa43wJTurO3ZFVpQSJdAZGLoHTyk1upkjxMEaIxum3iIARcCa5kSkFAW5fi1mUlL9eyOsaanFmOMruwvEdE3ZYzsRSzo5ewRLXyVPPEvknt8ij4DvCg2O7xOgBCUprEzV4z1WekSpUgI8DT2mrnSOXKRfQavwuKA1F+tFnMKdJSUpMA7wQAifWRkMgjUKKZE4lBl6MCM4B1pq1P4uIjDE6Pq6rL0FnW1nIFmta5vrSvq/Ch4tpqG/ZNyyWa5jZPktq81eYv8Bt5s4iFITOp4AAAAASUVORK5CYII=",ut="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXN383Q4tDP4c/R5NEInCCXAAACVElEQVQozw3Hv2sTYRwH4M/79pJ7bZL2bXqtERJ97zjUpbZDhg6pfC8qibi8hLR0EaJ0EFxaCSWDxjfpj1zrYBcRBKE6SAfBJWsx9i8IQfdQxDlKtA6t2OnhQfN3lbG7ytYRywF8rVoPCNO0X2sQOKDpAnSDK2VwkHgmh5yLGT8qASt+2KofnNt2Xg1gf1UF8AoM6052cRMNaloLZb7RKQGrKKji2OefsZF+VqIvos5ZLVIZCX61JcwUdk56wASVkgQvzPfvmT2twTSwyYaC/Pl/UhAHorFhBgZtL6XdAZRp1tkPwC1NLa9CWs5prLhI85NBQsLdXvjDymG3/EbYfQhVNYqc3TtktQhWLY3ko0QsdMbSEp+64v0NfxyqLbIGdh6M2xHHlLBGqKTyQo4E/nebBgBfe1GpdeywYXc8CT7D3cKXuMXkBy4xN6o5OuKamYp3DVI6uccO9lxgd2CAlJgI2BGgaAgIJV/TYwKqu3WFccjbMuA+bVkWgS2bfnlRbD1Eb1sDyWMmjKYIBgGAWbqKRicfvzBkBIz3V5AKnguWdglQEysQsSuVzOg6ALy1pitA5ykGCsc857BRYcgCSZyFOdvoOigSGoPc5Ta73mgxshIcQE5sHMHd9D7yqITw7JO+GHVMxjhzYLcKPSEgmz3fU+BRy3iYNtiXLaBssCW8KguReqkQOTb3MStV0Ugt4U1eIs1RZWRII6Ww8xeNNItyGGQI4ZMlpg/3lQtkl2JFnBp1imRyFe0kK2Id3PCslMgiQNMS77gvFeDhG3cSkYvheeg/e7ClIh5oh+IAAAAASUVORK5CYII=",pt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXh7eHl8eXj7+Pn8+eTbH1KAAACPElEQVQozxWPQWrbQABF/0xn3JFKQRTZOIuUsbCCbOgdRoYEOauxkYPcTRyTlPQWIxEltrsRwQ6hK9nEQek6F+gNTE/Q3qLLusv34cN7SH3mFicdYW4gNIhJWXPBRVXzjcFD0IqeU4o4PRbAIVjyico0vJpIifqPfL80QN9DAQY5ucRHE/hpHxBldXe9GilaHKcKMlj6pho2zXgkNdBl0oJ8kiF1DSiJF1ZHBJkQr0Dbux/5I42Zp4cFahJDFGeW6/QjBwmFY/Q7vZ2SnoOdW2parv/Cnm81+m0xrEfiVXQ3W4nOXIqVYi3l6AAQBwMFkViVBANMto4enXHPNTkHBB0oVj4r5vHzCWayrgBvxtygDlDB2CNDjd80ZInY69aKVYZcfJ8DW+fWuc+syEODALx+ojqoafHsthTI+ZW27PGpIeo/cR6YKcbqIuIFhHmBrzAovzIOOJk1ucvcDzrMRYGVBH2yvcAOf0KiKwfRovBI3tm/kW1eemtfNWwIIXE2mJNhvoszfmMBfRCv0OPwd2321uDW3nx2q/BDxFVeoN1g7a6Im8yRnoawa8kbdXnU0cHeTMxKfZGlJgvLb3sKsxgglQnDdAfvj9LUnqWRDo0GiUmPwyU7TAsD7wHeIW3Nfy1qVGKoE9NgJCdYCAexNRob9yCn4DAQmXtQuUtera6bEmTTXhZy6h856xi4mnEl6BI9mfISkLbtJyZIMJIAUd5ZOBEu88KRAk71yxfItj/hpIB0Errv4gO1os4/UICf+o3kkqwAAAAASUVORK5CYII=",ft="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX0/PTx+fH2/vbz+/P4//htSO9OAAAC5UlEQVQ4yyWT0QGjMAxDZTsDWKQDmJQBYrgBUsr+M517x0+LRWw9CyA+pC1YzndrMgHaNXVKQ+di13Of1qbur48nWhuRjj8i6ON8e7pNm7zyag/DBTfS9Z4Hup1fUuXMKY4HEE8QOHCByXkIkl7lDT239RtL9quO4JItmmhOAHXg45QuYKrQFLyGJcRvaTw6kQqZy6mkR6JAPFH/XqsQjEDRmUOA+MNLHGyMUT7AHApoAhjgjIJmCxy6XHdf648AWCdGe57IUDazCeTImQOY4/z+eVYVX2IjOw9RydeAeJwl79iGi4HpgQgHEchWraUZLtayu8scq0lHHHUKMY3Ml8hB7CS1jOckDLG9ccgNeX3124phOcjL9fPnWJhTXpLHeG9DRmHnTxHEaHakS2J51lwAJcUraNbuU7q4gMTDQj3Eripc/x+qFM5VEKAB1roQfAkX5/PxqnS2QpOrxfK1Zft0/omV5T+xCSBUAIbEIwUQgvAfxFE1O8dnk233+1UZiqJ1mAbsue6Yt8tF+yOrxC/YrUhzC4qPlE3EbR5hGKhhHdlrg7J9WunV7L7BcYQwAeE59u2tnN1c6gfVYrQiLSZ9OxZdWDXQq0+r0Pbarh3UqGCwauVvbiXuDsNxCtLDdW9rTF8oQYN4EoXXdfmwNguQP26n/tRjDeo+F2W7PjWtfSr6Bn/z+cXOLp4NnMV4RytvSW4B68m+XN9XfZTFGhO/S+cHTuTqZDC21ccA0N7QsePALaDQC3D1f94U9CWo+aq6BjB3v0rxIimBM12296M3aKPHjXLQE9KQKH4By8RHraJ3AgVto2r4xdFqlaPaiAHLl1ZF4P2pI6cYc+K8UZdcmxy7lqGc1IoPxLmIFuIeEZ6j2sQT88muEg1zwrEDTIX5U/ZmcsqfgVlBumiBLF4sAyhf9BFlXOPKLZ4H0iFb3VoHrGhtHTldKrOvP2/reu2zfV8CXMPqzRdlgd0a5eI7WwB/AYcgavcqxXWEAAAAAElFTkSuQmCC",mt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXM2t7O3ODQ3uLR4OTDp25yAAACdUlEQVQozw3P70sTcQDH8c/3/M7NG+j35mnHwjwh4hRy/QFK3zvPNbeIG1koPZmxfj2IDAwihL53zj0JYisfmEHcZJZOiBUG60lZiI8T/ANusuftgQ+kCPIPeMP7hS5mUrV9c1g6MQCAEZ8tDLHwofImAGRlX+SZK3Vu9rRRPuO4PK6/9nA4GIATsxlODS+rdCMhkAZivpYV0LWoQHSLSA4NfUg+6mY+7BKL2++F9LvnrBDYm6JO9i/YO3i/HJTGQ4pdIV82TbEDFG6vGYCd4wZchgK5J2CrKTLE+Tx0v+YGlIbdWJFcQl4ptBN8fUJQN1MCJLcZLYwUVVo+famGGty8EXJF5ofOEDzcodT3/Fb0I5sHmc1ZG7CcSl8COgxlXx09jT05OafjCZLIHJhGIaU6wDZHsuMQ41wbdjmQXbhKnMq1zlXSYrjCnyZblqexA7fC8RxS74tq2P3OxSQwTuJSApH8OZLzBBp1pOe0i3rdyDUA47GySZ31YmC4EQYSXvFSvieORGBxXF9aeVtUWKGS9WMC4Z9Y2uXnJ2nCUXVMbPOYqNYNmGWWQ7Evr+BWC+a0JAMTImcq/S4Z5INdQMeuOqDIMa9beilxfA60iC6sP1INcPDpmHBW8drZHNmqwyddJtVje9q8WGUgWAOzmbU4FCQBFi8B2Wk6pickBnYhJMenmJGuRmtt2IoKq9NuFGbNFR99sHnvrnLsLysKANDIsxbp6RNMAsoDSKuRpMwZbAAzI68QatIjmZ0aImyM3O8/4e2MNlOHZomFsa/fLDsysliHS+nlYLQJMnynxrH8QO4PaAV2Li8B/+52UgeGIVNFYf8B1XG/kFSmLcUAAAAASUVORK5CYII=",vt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXh7vLf7PDj8PTm8/ecW+lZAAACZElEQVQozw2RsU8TUQCHfz3fw7MS87jeI7DdmSMpDEoHE+P0HqGkvRR8vb5XC4NpN2RQZqcK9xJkwtriekcggerC4OZADDiT+A+goxv/gfwB3zd8H/T6vYF/pTZkCSmDNd3CBEtmZJP4N+CvvhecDvmntKsvwB17rpbIRTLOEoYkj9KZzRUuJsuBQFwgptyJ3Y7EL4V+ud5LO1UnMeQSSObqisiISZkbQBlliP3qWSk3GPQXjxv6VF2BTDO4ySx1zhuJXbA2wBNJF4t5vH9keg6wu5NvUpLtXrZ3OHC9ZsgVcZdOl38PM1y/L6m8GRiErj4AqezUjHGatGGIgs5NJDHh8Ua1IuB4035haVT6SaYWMoQ0eJ3rB/Gpnr3fB49YAy1Wa21YKqAHOmAveVw6CCMGMZh5bGtVI7jnZaiQNbta1Z+285oSoKoRbta1KZ/1bBdKH/RIxv2pRVpkoCmvpr097RWoo0CpMlTWllIenSjECU8mV43mHx2fIRfH/pncrJm3+58BWdbSqCS07/yiQnvHiCG4ZPGRFeAtfreoOubyctzHvLNHhjNvIhukxQzjU5O6QdOEzUp1Ef4d98Pxz+IPYX0bcpnT52dbedfz8y7C4R89RV+MjJkuCCx7mWDt4eyK/62lQB55xXGJK7p8u6bgRv4hVHylelYGGFs64W94tng8sAIVqSRJBpqRA9rFvAysS+9ak8s7557pz5HR4qhCRmWgplpTRJ+bhYfSAMO8/YBucWPuSdmFFtOnuWqvV2NbF6CJnbhNDzEZ/T0XSDrUydzkZCG1z/oIEyUFYxW/KPXNfwopuHDcO04UAAAAAElFTkSuQmCC",kt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXm9PXq+Pno9vfs+vttWKBGAAACPElEQVQozw3RQWrbQACF4TfCMjPqZgIj4RRaxsZKE0PuMBZ2cLKaCI9RDAXFmJJknUWWI1O1UlamOMHJSjGkuFn3AD2Cr9CepDrAg+/xIxK4QwIqHHQkUhQ/WuphInVIFBojl8QXc012Tgq4RTtVHWVLZVFh1tEoI91uiN4joCqde8Ukn/zGM1B2W4ari2PtTwyw55Ld+Wways54qhGPyS6FzbIT3lIY8WwWdCq56Yolx6KmSKzoqrsCB5heAp4TGNQWJ1Pc6XlE5jQD5OlIX9I47A9uiUQcPQxcury/ToyxWJG/za6ki88crxKPocKS59Sl3EtBG7C89fCGflpfqoSzCeC4crioJA7F0V5+8MaSIk4qSCdwzpogmbqzEirVpGiS2dOVJvUuuqFEmhHao06KEpq+8lvHI14NJk3Qrmi9vBuRLwAz0qZB4hsDXQFXgtnlpDX3C6ug9BquSw/CYtwAzuTz5vuQNdr/YibhR68378ehZH30FSpjh71LpQkrsj+Q062h5WwZ5wlRoD6uQJy1DqvSYuCUapMBqT5YA4ZFw4KlWapxoUGlKWrx0eDQvmigu4WMYt97ruru98fYL8/0lG6CTOFcFWBhFK5gKw19h2JN808nh7xhkU6sWKLXdtkqBL6h+lULK5k19wFB/FldnGYf3LDeuf6IC2/MzJOSOP0qPxLqzaGIqtBcFIItrstkazONOkrc1D1czjuwEGESB4JJnjgSMN7PXAu7fZQpl1C236C+9mM4Af8P98Ch4R2TRl8AAAAASUVORK5CYII=",Bt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXPz8/R0dHT09PU1NToNyAhAAACdElEQVQozw3NP0xTQQDH8d9d7sFrG+QeKVgQ4aoFCwFkYERyLY//0UB8GNGg1WAC0RBGJrzW4mCXQmpgvCYOwEAYiulSpYtza2KiW7s5FgNJFSV2/CzfL7RwpoJ20iadmgA8owOyaxmusKE44scBeb4vIv00dqYgmf6jzWcr7W6INbDQeZbQL9ytXeYgtFfzmW1Fek5msxJlwhyt6qDDxOLQzpVPompYrMPnEnhvLm7M5BxY5nowAj3zkydAkpC0FIG6g7AK+Ub25ybyNWVYwtpseP2rfrQwiGRpfqrnMuPeuvr2dA0p2YsHF2XghkrXKtZ8tLBjR7S2qIaYbKmyLd/QP+EogLjqqwNw5Lq1pDlMLkM5+gNoSvdq+Pxmz9/61EFq6GYM6GqaGvlN95zy3gsmEWI8K3k8OP9OmRLEPO6DP3Wv3g42COinJTZ33dcIvs4ESp6opMTjDs6mcYTEbFeUifuxh989yZrIx4lkpuixxz0nHLCekKbE17suKhYkMGhoYhTZtVBvg4bfq/1L1Im0AGMVpBFwumM0zwyuKiCMi5dqR4Flx47AGyF2xTbxqUdTwCH94BT3DozpLV5WuAL/N8rGtHKjotBOOuOtCJ9E21uqsyBoLOzaXbHPrK5PQBP+fBfeidvJAeMIAmzVt5IkJJ9DBWaZDAepYUhlQqHt0h72SJ3j8TZHom64f516xx9T5evgMPgwG82jZdJaJIDyWp6LAjOCclVyzNA3iTKzIULlBQEPaTXlPHok5gISclmyaWZlqY2aTHdRHpJOwTdDEQ3ZfKtbpclcNhyVClagmY+fIfyKukntPqBgnx5QvZHk/D/MK8JMClrSigAAAABJRU5ErkJggg==",yt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXe3t7a2trc3Nzg4OCXP9lCAAACoklEQVQozwXBzU/TYBwA4N+QEr4CNbSFwcFuowSqMRvEAwShHWAYNsu7dS0dLnGUSWT4kZB4lGzE4VtcwgIDJqcOWLJxcv4BOoQZuCPxSNSD4WSWLJGL8XmAIiyo2RgJ4A1pxQQlOxRAszLTdnPu2oQGb05RC5slJld7ZAIfo4O44Bn1ud59F0BcjnYOa17Jhwc6EdiKettncsXjT1f8KUBZUW41pK0Jc1Az4dEV3rkkPBtDSZ83Blyt0kSf2PRjzIykoBwINisPbPPtljdVE9iAXRfUPkXLVIgYrCccp5g687NdZbcJ+xa5VE/HhTtT23IKsN5jj/pcUd0dTZNAqCVw72n4gOwnTOC0vvHfaauT8d9zAoRRfPpISZRVyUiw8ELzOG1b2DZpFzkSrHLhq52twDEdyZHwvp2j4uv/bjvOf23/AcEtTuJbY5Cp4YcAer1IGkUzOo2rn8LQOKjFJw3NTw24nprQXY5aF4wxcqcSdbFQ00H4xFl8Drx4X4CikvAM1tuR8bKIBCBoLnKN10KJG4zKAsc7c9WEB9gnCi6BhVjqoco6t20ILAJuVctvaEZK732cRHDRmGfuihOam0o2CHByUZ/epCcVlRs2wmCnMqsd6aSim3ibBJtm1LGyXW3Bb7tJCPlFtUG+SvPdeEUAB60lNdo+VQbLcwRNVtT68FsLcr1+NotgNihlpExS1V2SFgNbeC8bEhgm8sM17wSi6Us2gxVWJU/5GKBpandvfyYbU1yHCLpCgWGbbPXn40rehEsUXKIJr9DMKgICfjc4bl1YfvUhE/YIECGRqjCxSM9hrybAIkND5OeWfFZsXkxB+qDzb7pUQ3EfQ3Ml6EChEt3D+iS01VqC7EQ/Z/DuPQcz4yChoFQJce2Qr+NNAv0HxofmpXGqgHkAAAAASUVORK5CYII=",Ct="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEXm5ubo6Ojp6enr6+vt7e1FnZagAAACrklEQVQ4yx1SixUbMQgT3AKAFwDcAfzpBN1/qMrJS5w7bCQhC6IGSUGYQJd6Ox9ZPXi1AGJBavhUTT0JjYPGAab9WcDYIxsmlnxkayX8mhxCmKHA75az5cfRbWybEExiu08xDSgGym0mwuf3j4SvHeQxDJJzh2zp4iOlrD8iOb4SXyC1wiOLRTcnrje+nGamFeXVKWkmzbFIPChkmJ6Fg7mBpV8n+JGOVCd4jv1thThkjeQGNeafpeV3rsEWLfyWc8tC9jOv6FQ8rRzHOOVB+jCYEUAJpDvh8xHNFm/Tm5p5lw94Pp3NhtKEfQsGvnXhowdZE73hPwxKvjDd4i4PCdd0fe3W5fO8ktAsUAacLgstpUw60JCiPLg2XpkgiqPIYYXJd9ksGIT3q+LlevypzItvO+s0F1dBzVr2QDMUkYmuyGcrIS44mVJ7JVKwQXjYuBYp0Uetecbswzsikzu3gUR8bJC/C8Gd/NAzI/xdUGOYQQHDZ8X2d5XuzGRUiXAi9si5CRgoiToRZPtzLJkd0FUHRHZwJf0BHT1sE7gcnh0jmKKlSSF4/GBirGk5+K9NKlGDCfc9JtPhg78JdabH0YQRKNZnJ8tFnPfXHJb4xum1TTCeEmyEdbyEJLjznMLHuFD2Y9NEkSleIBs7SiCbblhgctVi9ch++kDYnn1C9DA5TvdPsToXM55wI6k+8eKT1blwPTqWb5CFJ+7dTBmab+KHy+xwNtItXhZNSpHD2fxnynrxG3ZBKRe8KBpXk11AnadlccEhr9w1nBBvBylNkv7A8eqpGBCDqhitmWQXBjjdS6idr/QjXWLDeMzMbVDoJuM8zN7WenMZWXgZ2vX3F01J3jHZbwk1LRP+DWEvDJtOUoh/AIaBUz5VpWyhuyx4QtgL/NmgC6kM/JvNe+R/C/5aL7BKIbYAAAAASUVORK5CYII=",ht="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAElBMVEUQERMODxESFBYWGBkaHB0eICLm6ozJAAACkUlEQVQ4yyWTUdLbMAiEASfvoOkBkBy/O5keIE0v8E/uf5h+68qZWALELgu2MG9PP9qyvCzTVhrrsPGOCjvTfXQZvtp/W3Gy6LCITqs4q/DZ+KYl76zKzHVYpY2wNY27nqN1sbLGcrLH3/ENH4oWlGctsDu8AO+HzTLlsYdh8MzP1m6YDMz0ACfcimvakBj+mwO/+5Uta5teOD379sxK1fUxmUhv8MU3jUT5gs26PMephFznkLcpQZ6/dPL9C/GWHcCxDN6oZhD5xBm5qoYBPA+PFE/H1tXDWcWl8TW7rS+4dUzAVy0BIrvC4/HcqW2TkG1HO8q9dC23INAg7NA4AFRFkDTM2lfELPyFzi1VddcpX2z0KjHBUDmdLNJ6dDps4ytrX+FPsZwE31wSL+6OWfHOAJ3+Y0Rk/MiKfmWNPg7oVP/U3Ck9FoCkC2gBpALOiqbMNTkOe8P4FWkTD2Y9Q3+5VmV0uLUJBl68U5uAK2Kl6QDXvLxbwweOL2sixW78uU8p0ysfc7cWrF1j6B1sPJ4WgclYSnJN1bzozrhEcFHmRzBkbJWqqdG+EYJXRFmT5jnLXPUNF6WBdoFbTxYsmDXVLU/WA7MExNc93sJS5hIXDeLxzMScHzdhKvEkibr6cQXYPrmtmTA7JcInISrTzRDvShTdka0uVGrsJAAR6tSn1sKziZtfKVjAxPrJsYgZO0bye+vKTZ/DgoAoLGNO6jYHimZYTL/3pLJHawquJukjBpfz8WOGVSVIWx9ywUfS5iENutidRM4NzkAmxgUSQ68xgNOU+ZLalr4TS2V+D2xqukZig+Z9DilR7Nouzwp1cp/3E5q6Rdlf08obKvAM4qZ6pMr+w3PmQALSSBfjyZn5DwrNRVbywBQiAAAAAElFTkSuQmCC",It="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEUWGBkYGhsdHyAfISI1t/v6AAAB5ElEQVQozxXQsYoTURSA4f/EeycZsDgDdySDjihk38Hy3GWi2J2BCaziQhaiaB+tt9AFu1kwvYUPsIXNPoB9BAUfwAfwEUzKv/v4odGrroyp9/rUaC6rZ5skv5F8qPsfYYP+yKUMymmAEEeW55oUR4o8jr05KNzJ07yvB7w0KKfLwcQUSjfmMU0PJfPHFoEVU+ohNrcKMEzMQ23FDnVSI2dqtYWI7KlLu6vE4UnyvKc3SJuL7lBbeEEl42ItpGLjzIT8PRJCmkRjVpVpsbJFVN0687okJNZiHAr5Z7MV0BnGIDc+THM1zlbieBc1Fq+tH5BH+OpnbWkj40hSqC8Lw2TvFuF0SUFJCk2IytXbjeqcRAt6NHpnrUkUU4KRzZs8RCK8N/Akn2W04LwxMU/V7XK0bDyN2RxfDyx7I4h5vjZby72V8UnOWumZL3qtYc+8DTE0siSBMXGhywx2dMYPnQHbxdFZ7deiNGxCCtD/QWnbwDoGhRYPDzUdUA3krjpnkvdAgDN4ddLkEQSov9qjd42HaDjI34gEqS9TUueAk+sc4qg5ws407KQYKs8G1jv4xBlqBVk6cb4dISZIwVi1Jzu4+HLk6lyfUxkXvwy+1Q+4WVdHIhwfybZ6CWVhxMEhShOgsP/HOW0MvZJeFwAAAABJRU5ErkJggg==",bt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEUWGBkYGhsdHyAfISI1t/v6AAAB5ElEQVQozxXQsYoTURSA4f/EeycZsDgDdySDjihk38Hy3GWi2J2BCaziQhaiaB+tt9AFu1kwvYUPsIXNPoB9BAUfwAfwEUzKv/v4odGrroyp9/rUaC6rZ5skv5F8qPsfYYP+yKUMymmAEEeW55oUR4o8jr05KNzJ07yvB7w0KKfLwcQUSjfmMU0PJfPHFoEVU+ohNrcKMEzMQ23FDnVSI2dqtYWI7KlLu6vE4UnyvKc3SJuL7lBbeEEl42ItpGLjzIT8PRJCmkRjVpVpsbJFVN0687okJNZiHAr5Z7MV0BnGIDc+THM1zlbieBc1Fq+tH5BH+OpnbWkj40hSqC8Lw2TvFuF0SUFJCk2IytXbjeqcRAt6NHpnrUkUU4KRzZs8RCK8N/Akn2W04LwxMU/V7XK0bDyN2RxfDyx7I4h5vjZby72V8UnOWumZL3qtYc+8DTE0siSBMXGhywx2dMYPnQHbxdFZ7deiNGxCCtD/QWnbwDoGhRYPDzUdUA3krjpnkvdAgDN4ddLkEQSov9qjd42HaDjI34gEqS9TUueAk+sc4qg5ws407KQYKs8G1jv4xBlqBVk6cb4dISZIwVi1Jzu4+HLk6lyfUxkXvwy+1Q+4WVdHIhwfybZ6CWVhxMEhShOgsP/HOW0MvZJeFwAAAABJRU5ErkJggg==";var ee={themes:[{body:"#ede7da url("+rt+") repeat",content:"#ede7da url("+lt+") repeat",popup:"#ede7da url("+At+") repeat"},{body:"#ede7da url("+ct+") repeat",content:"#ede7da url("+gt+") repeat",popup:"#ede7da url("+dt+") repeat"},{body:"#ede7da url("+ut+") repeat",content:"#ede7da url("+pt+") repeat",popup:"#ede7da url("+ft+") repeat"},{body:"#ede7da url("+mt+") repeat",content:"#ede7da url("+vt+") repeat",popup:"#ede7da url("+kt+") repeat"},{body:"#ebcece repeat",content:"#f5e4e4 repeat",popup:"#faeceb repeat"},{body:"#ede7da url("+Bt+") repeat",content:"#ede7da url("+yt+") repeat",popup:"#ede7da url("+Ct+") repeat"},{body:"#ede7da url("+ht+") repeat",content:"#ede7da url("+It+") repeat",popup:"#ede7da url("+bt+") repeat"}],fonts:["Microsoft YaHei, PingFangSC-Regular, HelveticaNeue-Light, Helvetica Neue Light, sans-serif","PingFangSC-Regular, -apple-system, Simsun","Kaiti"]};const St={class:"setting-list"},wt={class:"theme-list"},Et=["onClick"],Ut={key:0,class:"iconfont"},xt={key:1,class:"moon-icon"},Dt={class:"font-list"},Qt=["onClick"],Vt={class:"font-list"},Pt={style:{"text-align":"right",margin:"0"}},Ft={class:"font-size"},Lt={class:"resize"},Mt={class:"lang"},Rt={class:"letter-spacing"},Kt={class:"resize"},Ot={class:"lang"},zt={class:"line-spacing"},Nt={class:"resize"},Ht={class:"lang"},Wt={class:"paragraph-spacing"},Jt={class:"resize"},Tt={class:"resize"},qt={class:"lang"},Gt={key:0,class:"read-width"},Zt={class:"resize"},Yt={class:"lang"},jt={class:"paragraph-spacing"},Xt={class:"resize"},_t={class:"resize"},$t={class:"lang"},eo={class:"infinite-loading"},to={__name:"ReadSettings",setup(A){const n=re();let d=!1;he(()=>n.config,U=>{localStorage.setItem("config",JSON.stringify(U)),d=!0},{deep:2}),he(()=>n.readSettingsVisible,U=>{!U&&d&&Z.saveReadConfig(n.config).then(()=>d=!1)});const p=l(()=>n.theme),s=l(()=>n.isNight),I=l(()=>p.value==6?"":""),y=[{background:"rgba(250, 245, 235, 0.8)"},{background:"rgba(245, 234, 204, 0.8)"},{background:"rgba(230, 242, 230, 0.8)"},{background:"rgba(228, 241, 245, 0.8)"},{background:"rgba(245, 228, 228, 0.8)"},{background:"rgba(224, 224, 224, 0.8)"},{background:"rgba(0, 0, 0, 0.5)"}],b=l(()=>({background:ee.themes[p.value].popup})),B=U=>{n.config.theme=U},V=D(["雅黑","宋体","楷书"]),M=U=>{n.config.font=U},C=l(()=>n.config.font),E=D(n.config.customFontName),c=D(!1),f=()=>{n.config.font=-1,n.config.customFontName=E.value},r=()=>{Ve.prompt("请输入 字体网络链接","提示",{confirmButtonText:"确定",cancelButtonText:"取消",inputPattern:/^https?:.+$/,inputErrorMessage:"url 形式不正确",beforeClose:(U,e,q)=>{if(U==="confirm"){e.confirmButtonLoading=!0,e.confirmButtonText="下载中……";const G=e.inputValue;if(typeof FontFace!="function")return F.error("浏览器不支持FontFace"),q();const X=new FontFace(E.value,`url("${G}")`);document.fonts.add(X),X.load().then(function(){e.confirmButtonLoading=!1,F.info("字体加载成功!"),f(),q()}).catch(function(w){throw e.confirmButtonLoading=!1,e.confirmButtonText="确定",F.error("下载失败,请检查您输入的 url"),w})}else q()}})},g=l(()=>n.config.fontSize),R=()=>{n.config.fontSize<48&&(n.config.fontSize+=2)},L=()=>{n.config.fontSize>12&&(n.config.fontSize-=2)},v=l(()=>n.config.spacing),S=()=>{n.config.spacing.letter-=.01},oe=()=>{n.config.spacing.letter+=.01},ue=()=>{n.config.spacing.line-=.1},pe=()=>{n.config.spacing.line+=.1},Ae=()=>{n.config.spacing.paragraph-=.1},fe=()=>{n.config.spacing.paragraph+=.1},ce=l(()=>n.config.readWidth),me=()=>{n.config.readWidth+160+2*68>window.innerWidth||(n.config.readWidth+=160)},ve=()=>{n.config.readWidth>640&&(n.config.readWidth-=160)},Y=l(()=>n.config.jumpDuration),ke=()=>{n.config.jumpDuration+=100},Be=()=>{n.config.jumpDuration!==0&&(n.config.jumpDuration-=100)},j=l(()=>n.config.infiniteLoading),ne=U=>{n.config.infiniteLoading=U};return(U,e)=>{const q=Je,G=Te,X=Pe;return m(),k("div",{class:Q(["settings-wrapper",{night:a(s),day:!a(s)}]),style:T(a(b))},[e[51]||(e[51]=t("div",{class:"settings-title"},"设置",-1)),t("div",St,[t("ul",null,[t("li",wt,[e[7]||(e[7]=t("i",null,"阅读主题",-1)),(m(),k(te,null,ie(y,(w,x)=>t("span",{class:Q(["theme-item",{selected:a(p)==x}]),key:x,style:T(w),ref_for:!0,ref:"themes",onClick:H=>B(x)},[x<6?(m(),k("em",Ut,"")):(m(),k("em",xt,O(a(I)),1))],14,Et)),64))]),t("li",Dt,[e[8]||(e[8]=t("i",null,"正文字体",-1)),(m(!0),k(te,null,ie(a(V),(w,x)=>(m(),k("span",{class:Q(["font-item",{selected:a(C)==x}]),key:x,onClick:H=>M(x)},O(w),11,Qt))),128))]),t("li",Vt,[e[14]||(e[14]=t("i",null,"自定字体",-1)),N(q,{effect:"dark",content:"自定义的字体名称",placement:"top"},{default:z(()=>[He(t("input",{type:"text",class:"font-item font-item-input","onUpdate:modelValue":e[0]||(e[0]=w=>de(E)?E.value=w:null),placeholder:"请输入自定义的字体名称"},null,512),[[We,a(E)]])]),_:1}),N(X,{placement:"top",width:"270",trigger:"click",visible:a(c),"onUpdate:visible":e[4]||(e[4]=w=>de(c)?c.value=w:null)},{reference:z(()=>e[12]||(e[12]=[t("span",{type:"text",class:"font-item"},"保存",-1)])),default:z(()=>[e[13]||(e[13]=t("p",null," 已经安装在您的设备上的字体请确认输入的字体名称完整无误,或者从网络下载字体。 ",-1)),t("div",Pt,[N(G,{size:"small",plain:"",onClick:e[1]||(e[1]=w=>c.value=!1)},{default:z(()=>e[9]||(e[9]=[J("取消")])),_:1}),N(G,{type:"primary",size:"small",onClick:e[2]||(e[2]=w=>{f(),c.value=!1})},{default:z(()=>e[10]||(e[10]=[J("确定")])),_:1}),N(G,{type:"primary",size:"small",onClick:e[3]||(e[3]=w=>{r(),c.value=!1})},{default:z(()=>e[11]||(e[11]=[J("网络下载")])),_:1})])]),_:1},8,["visible"])]),t("li",Ft,[e[20]||(e[20]=t("i",null,"字体大小",-1)),t("div",Lt,[t("span",{class:"less",onClick:L},e[15]||(e[15]=[t("em",{class:"iconfont"},"",-1)])),e[17]||(e[17]=t("b",null,null,-1)),e[18]||(e[18]=J()),t("span",Mt,O(a(g)),1),e[19]||(e[19]=t("b",null,null,-1)),t("span",{class:"more",onClick:R},e[16]||(e[16]=[t("em",{class:"iconfont"},"",-1)]))])]),t("li",Rt,[e[26]||(e[26]=t("i",null,"字距",-1)),t("div",Kt,[t("span",{class:"less",onClick:S},e[21]||(e[21]=[t("em",{class:"iconfont"},"",-1)])),e[23]||(e[23]=t("b",null,null,-1)),e[24]||(e[24]=J()),t("span",Ot,O(a(v).letter.toFixed(2)),1),e[25]||(e[25]=t("b",null,null,-1)),t("span",{class:"more",onClick:oe},e[22]||(e[22]=[t("em",{class:"iconfont"},"",-1)]))])]),t("li",zt,[e[32]||(e[32]=t("i",null,"行距",-1)),t("div",Nt,[t("span",{class:"less",onClick:ue},e[27]||(e[27]=[t("em",{class:"iconfont"},"",-1)])),e[29]||(e[29]=t("b",null,null,-1)),e[30]||(e[30]=J()),t("span",Ht,O(a(v).line.toFixed(1)),1),e[31]||(e[31]=t("b",null,null,-1)),t("span",{class:"more",onClick:pe},e[28]||(e[28]=[t("em",{class:"iconfont"},"",-1)]))])]),t("li",Wt,[e[37]||(e[37]=t("i",null,"段距",-1)),t("div",Jt,[t("div",Tt,[t("span",{class:"less",onClick:Ae},e[33]||(e[33]=[t("em",{class:"iconfont"},"",-1)])),e[35]||(e[35]=t("b",null,null,-1)),t("span",qt,O(a(v).paragraph.toFixed(1)),1),e[36]||(e[36]=t("b",null,null,-1)),t("span",{class:"more",onClick:fe},e[34]||(e[34]=[t("em",{class:"iconfont"},"",-1)]))])])]),a(n).miniInterface?ge("",!0):(m(),k("li",Gt,[e[43]||(e[43]=t("i",null,"页面宽度",-1)),t("div",Zt,[t("span",{class:"less",onClick:ve},e[38]||(e[38]=[t("em",{class:"iconfont"},"",-1)])),e[40]||(e[40]=t("b",null,null,-1)),e[41]||(e[41]=J()),t("span",Yt,O(a(ce)),1),e[42]||(e[42]=t("b",null,null,-1)),t("span",{class:"more",onClick:me},e[39]||(e[39]=[t("em",{class:"iconfont"},"",-1)]))])])),t("li",jt,[e[49]||(e[49]=t("i",null,"翻页速度",-1)),t("div",Xt,[t("div",_t,[t("span",{class:"less",onClick:Be},e[44]||(e[44]=[t("em",{class:"iconfont"},"",-1)])),e[46]||(e[46]=t("b",null,null,-1)),e[47]||(e[47]=J()),t("span",$t,O(a(Y)),1),e[48]||(e[48]=t("b",null,null,-1)),t("span",{class:"more",onClick:ke},e[45]||(e[45]=[t("em",{class:"iconfont"},"",-1)]))])])]),t("li",eo,[e[50]||(e[50]=t("i",null,"无限加载",-1)),(m(),k("span",{class:Q(["infinite-loading-item",{selected:a(j)==!1}]),key:0,onClick:e[5]||(e[5]=w=>ne(!1))},"关闭",2)),(m(),k("span",{class:Q(["infinite-loading-item",{selected:a(j)==!0}]),key:1,onClick:e[6]||(e[6]=w=>ne(!0))},"开启",2))])])])],6)}}},oo=le(to,[["__scopeId","data-v-307588a2"]]),no={class:"wrapper"},so=["onClick"],ao={__name:"CatalogItem",props:["index","source","gotoChapter","currentChapterIndex"],setup(A){const n=A,d=s=>s==n.currentChapterIndex,p=l(()=>{var s;return((s=n.source)==null?void 0:s.catas)??[n.source]});return(s,I)=>(m(),k("div",no,[(m(!0),k(te,null,ie(a(p),y=>(m(),k("div",{class:Q(["cata-text",{selected:d(y.index)}]),key:y.url,onClick:b=>A.gotoChapter(y)},O(y.title),11,so))),128))]))}},io=le(ao,[["__scopeId","data-v-86592297"]]),ro={__name:"PopCatalog",emits:["getContent"],setup(A,{emit:n}){const d=re(),{catalog:p,popCataVisible:s,miniInterface:I}=Fe(d),y=l(()=>d.theme),b=l(()=>d.theme),B=l(()=>({background:ee.themes[b.value].popup})),V=l(()=>{let r=p.value;if(I.value)return r;let g=Math.ceil(r.length/2),R=new Array(g),L=0;for(;Ld.readingBook.index,set:r=>d.readingBook.index=r}),E=l(()=>{let r=C.value;return I.value?r:Math.floor(r/2)});qe(()=>{s.value&&M.value.scrollToIndex(E.value)});const c=n,f=r=>{const g=p.value.indexOf(r);C.value=g,d.setPopCataVisible(!1),d.setContentLoading(!0),d.saveBookProgress(),c("getContent",g)};return(r,g)=>(m(),k("div",{class:Q({"cata-wrapper":!0,visible:a(s)}),style:T(a(B))},[g[0]||(g[0]=t("div",{class:"title"},"目录",-1)),N(a(Ge),{style:{height:"300px",overflow:"auto"},class:Q({night:a(y),day:!a(y)}),ref_key:"virtualListRef",ref:M,"data-key":"index","wrap-class":"data-wrapper","item-class":"cata","data-sources":a(V),"data-component":io,"estimate-size":40,"extra-props":{gotoChapter:f,currentChapterIndex:a(C)}},null,8,["class","data-sources","extra-props"])],6))}},lo=le(ro,[["__scopeId","data-v-6b8fd950"]]),Ao={class:"tools"},co={class:"tools"},go={key:0},uo={key:0},po={class:"content"},fo=["chapterIndex"],mo={__name:"BookChapter",setup(A){const n=D(),{isLoading:d,loadingWrapper:p}=$e(n,"正在获取信息"),s=re();try{const o=JSON.parse(localStorage.getItem("config"));o!=null&&s.setConfig(o)}catch{localStorage.removeItem("config")}const{catalog:I,popCataVisible:y,readSettingsVisible:b,miniInterface:B,showContent:V,bookProgress:M,theme:C,isNight:E}=Fe(s),c=l({get:()=>s.readingBook.chapterPos,set:o=>s.readingBook.chapterPos=o}),f=l({get:()=>s.readingBook.index,set:o=>s.readingBook.index=o}),r=l(()=>s.config.infiniteLoading);let g;const R=D();Ue(()=>{r.value?g==null||g.observe(R.value):g==null||g.disconnect()});const L=()=>{let o=x.value.slice(-1)[0].index;I.value.length-1>o&&(se(o+1,!1),s.saveBookProgress())},v=o=>{if(!d.value)for(let{isIntersecting:i}of o){if(!i)return;L()}},S=l(()=>s.config.font>=0?ee.fonts[s.config.font]:s.config.customFontName),oe=l(()=>s.config.fontSize+"px"),ue=l(()=>ee.themes[C.value].body),pe=l(()=>ee.themes[C.value].content),Ae=l(()=>ee.themes[C.value].popup),fe=l(()=>B.value?window.innerWidth+"px":s.config.readWidth-130+"px"),ce=l(()=>B.value?window.innerWidth-33:s.config.readWidth-33),me=l(()=>({background:ue.value})),ve=l(()=>({background:pe.value,width:fe.value})),Y=D(!1),ke=l(()=>({background:Ae.value,marginLeft:B.value?0:-(s.config.readWidth/2+68)+"px",display:B.value&&!Y.value?"none":"block"})),Be=l(()=>({background:Ae.value,marginRight:B.value?0:-(s.config.readWidth/2+52)+"px",display:B.value&&!Y.value?"none":"block"})),j=()=>{s.setMiniInterface(window.innerWidth<776);const o=s.config.readWidth;ne(o)},ne=o=>{s.miniInterface||o+2*68>window.innerWidth&&(s.config.readWidth-=160)};he(()=>s.config.readWidth,o=>ne(o));const U=D(),e=D(),q=()=>{$(U.value)},G=()=>{$(e.value)},X=Ze(),w=()=>{X.push("/")},x=D([]),H=D(!0),se=(o,i=!0,P=0)=>{i&&(s.setShowContent(!1),$(U.value,{duration:0}),Ie(o,P),x.value=[]);let h=sessionStorage.getItem("bookUrl"),{title:W,index:K}=I.value[o];p(Z.getBookContent(h,K).then(u=>{if(u.data.isSuccess){let ze=u.data.data.split(/\n+/);x.value.push({index:o,content:ze,title:W}),i&&Me(P)}else{F({message:u.data.errorMsg,type:"error"});let _=[u.data.errorMsg];x.value.push({index:o,content:_,title:W})}if(s.setContentLoading(!0),H.value=!1,s.setShowContent(!0),!u.data.isSuccess)throw u.data},u=>{F({message:"获取章节内容失败",type:"error"});let _=["获取章节内容失败!"];throw x.value.push({index:o,content:_,title:W}),s.setShowContent(!0),u}))},Le=D(),ye=D(),Me=o=>{Qe(()=>{ye.value.length===1&&ye.value[0].scrollToReadedLength(o)})},Re=Ye(()=>s.saveBookProgress(),6e4),Ke=(o,i)=>{Ie(o,i),Re()};Ue(()=>{var o;document.title=((o=I.value[f.value])==null?void 0:o.title)||document.title});const Ie=(o,i)=>{let P=sessionStorage.getItem("bookUrl");var h=JSON.parse(localStorage.getItem(P));h.index=o,h.chapterPos=i,localStorage.setItem(P,JSON.stringify(h)),h=JSON.parse(localStorage.getItem("readingRecent")),h.chapterIndex=o,h.chapterPos=i,localStorage.setItem("readingRecent",JSON.stringify(h)),f.value=o,c.value=i,sessionStorage.setItem("chapterIndex",o),sessionStorage.setItem("chapterPos",String(i))},be=()=>{document.visibilityState=="hidden"&&Z.saveBookProgressWithBeacon(M.value)},Se=()=>{s.setContentLoading(!0);let o=f.value+1;typeof I.value[o]<"u"?(F({message:"下一章",type:"info"}),se(o),s.saveBookProgress()):F({message:"本章是最后一章",type:"error"})},we=()=>{s.setContentLoading(!0);let o=f.value-1;typeof I.value[o]<"u"?(F({message:"上一章",type:"info"}),se(o),s.saveBookProgress()):F({message:"本章是第一章",type:"error"})};let ae=!0;const Ce=o=>{if(ae)switch(o.key){case"ArrowLeft":o.stopPropagation(),o.preventDefault(),we();break;case"ArrowRight":o.stopPropagation(),o.preventDefault(),Se();break;case"ArrowUp":o.stopPropagation(),o.preventDefault(),document.documentElement.scrollTop===0?F.warning("已到达页面顶部"):(ae=!1,$(0-document.documentElement.clientHeight+100,{duration:s.config.jumpDuration,callback:()=>ae=!0}));break;case"ArrowDown":o.stopPropagation(),o.preventDefault(),document.documentElement.clientHeight+document.documentElement.scrollTop===document.documentElement.scrollHeight?F.warning("已到达页面底部"):(ae=!1,$(document.documentElement.clientHeight-100,{duration:s.config.jumpDuration,callback:()=>ae=!0}));break}},Ee=o=>{(o.key==="ArrowUp"||o.key==="ArrowDown")&&(o.preventDefault(),o.stopPropagation())};xe(()=>{let o=sessionStorage.getItem("bookUrl"),i=sessionStorage.getItem("bookName"),P=sessionStorage.getItem("bookAuthor"),h=Number(sessionStorage.getItem("chapterIndex")||0),W=Number(sessionStorage.getItem("chapterPos")||0);var K=JSON.parse(localStorage.getItem(o));(K==null||h!=K.index||W!=K.chapterPos)&&(K={bookName:i,bookAuthor:P,bookUrl:o,index:h,chapterPos:W},localStorage.setItem(o,JSON.stringify(K))),j(),window.addEventListener("resize",j),p(Z.getChapterList(o).then(u=>{if(!u.data.isSuccess){F({message:u.data.errorMsg,type:"error"}),setTimeout(w,500);return}let _=u.data.data;s.setCatalog(_),s.setReadingBook(K),se(h,!0,W),window.addEventListener("keyup",Ce),window.addEventListener("keydown",Ee),document.addEventListener("visibilitychange",be),g=new IntersectionObserver(v,{rootMargin:"-100% 0% 20% 0%"}),r.value&&g.observe(R.value),document.title=null,document.title=i+" | "+I.value[h].title},u=>{throw F({message:"获取书籍目录失败",type:"error"}),u}))}),De(()=>{window.removeEventListener("keyup",Ce),window.removeEventListener("keydown",Ee),window.removeEventListener("resize",j),document.removeEventListener("visibilitychange",be),b.value=!1,y.value=!1,g==null||g.disconnect(),g=null});const Oe=async()=>{const o=sessionStorage.getItem("bookUrl"),i=sessionStorage.getItem("bookName"),P=sessionStorage.getItem("isSeachBook"),h=JSON.parse(localStorage.getItem(o));sessionStorage.removeItem("isSeachBook"),P==="true"&&await Ve.confirm(`是否将《${i}》放入书架?`,"放入书架",{confirmButtonText:"确认",cancelButtonText:"否",type:"info",closeOnHashChange:!1}).then(()=>{}).catch(async()=>{await Z.deleteBook(h)})};return je(async(o,i,P)=>{window.removeEventListener("keyup",Ce),await Oe(),P()}),(o,i)=>{const P=lo,h=Pe,W=oo,K=it;return m(),k("div",{class:Q(["chapter-wrapper",{night:a(E),day:!a(E)}]),style:T(a(me)),onClick:i[2]||(i[2]=u=>Y.value=!a(Y))},[t("div",{class:"tool-bar",style:T(a(ke))},[t("div",Ao,[N(h,{placement:"right",width:a(ce),trigger:"click","show-arrow":!1,visible:a(y),"onUpdate:visible":i[0]||(i[0]=u=>de(y)?y.value=u:null),"popper-class":"pop-cata"},{reference:z(()=>[t("div",{class:Q(["tool-icon",{"no-point":a(H)}])},i[3]||(i[3]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"目录",-1)]),2)]),default:z(()=>[N(P,{onGetContent:se,class:"popup"})]),_:1},8,["width","visible"]),N(h,{placement:"right",width:a(ce),trigger:"click","show-arrow":!1,visible:a(b),"onUpdate:visible":i[1]||(i[1]=u=>de(b)?b.value=u:null),"popper-class":"pop-setting"},{reference:z(()=>[t("div",{class:Q(["tool-icon",{"no-point":a(H)}])},i[4]||(i[4]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"设置",-1)]),2)]),default:z(()=>[N(W,{class:"popup"})]),_:1},8,["width","visible"]),t("div",{class:"tool-icon",onClick:w},i[5]||(i[5]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"书架",-1)])),t("div",{class:Q(["tool-icon",{"no-point":a(H)}]),onClick:q},i[6]||(i[6]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"顶部",-1)]),2),t("div",{class:Q(["tool-icon",{"no-point":a(H)}]),onClick:G},i[7]||(i[7]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"底部",-1)]),2)])],4),t("div",{class:"read-bar",style:T(a(Be))},[t("div",co,[t("div",{class:Q(["tool-icon",{"no-point":a(H)}]),onClick:we},[i[8]||(i[8]=t("div",{class:"iconfont"},"",-1)),a(B)?(m(),k("span",go,"上一章")):ge("",!0)],2),t("div",{class:Q(["tool-icon",{"no-point":a(H)}]),onClick:Se},[a(B)?(m(),k("span",uo,"下一章")):ge("",!0),i[9]||(i[9]=t("div",{class:"iconfont"},"",-1))],2)])],4),i[10]||(i[10]=t("div",{class:"chapter-bar"},null,-1)),t("div",{class:"chapter",ref_key:"content",ref:n,style:T(a(ve))},[t("div",po,[t("div",{class:"top-bar",ref_key:"top",ref:U},null,512),(m(!0),k(te,null,ie(a(x),u=>(m(),k("div",{key:u.index,chapterIndex:u.index,ref_for:!0,ref_key:"chapter",ref:Le},[a(V)?(m(),Xe(K,{key:0,ref_for:!0,ref_key:"chapterRef",ref:ye,chapterIndex:u.index,contents:u.content,title:u.title,spacing:a(s).config.spacing,fontSize:a(oe),fontFamily:a(S),onReadedLengthChange:Ke},null,8,["chapterIndex","contents","title","spacing","fontSize","fontFamily"])):ge("",!0)],8,fo))),128)),t("div",{class:"loading",ref_key:"loading",ref:R},null,512),t("div",{class:"bottom-bar",ref_key:"bottom",ref:e},null,512)])],4)],6)}}},yo=le(mo,[["__scopeId","data-v-f5309880"]]);export{yo as default}; +import{a0 as Ne,m as l,v as D,Q as xe,a6 as De,o as m,d as k,g as t,t as O,F as te,M as ie,u as a,a7 as T,a8 as Qe,H as he,p as Q,e as N,w as z,a9 as He,x as de,aa as We,f as J,J as ge,a5 as Ve,j as F,ab as Je,q as Te,ac as Pe,ad as Fe,ae as qe,V as Ge,L as Ue,a4 as Ze,af as Ye,ag as je,c as Xe}from"./vendor-Bo0wn8_e.js";import{i as _e,u as $e}from"./loading-RAa6Kw1J.js";import{_ as le,A as Z,u as re}from"./index-BRaRvWwY.js";const et=(A,n,d,p)=>(A/=p/2,A<1?d/2*A*A+n:(A--,-d/2*(A*(A-2)-1)+n)),tt=()=>{let A,n,d,p,s,I,y,b,B,V,M,C,E;function c(){let v=A.scrollTop||A.scrollY||A.pageYOffset;return v=typeof v>"u"?0:v,v}function f(v){const S=v.getBoundingClientRect().top,oe=A.getBoundingClientRect?A.getBoundingClientRect().top:0;return S-oe+d}function r(v){A.scrollTo?A.scrollTo(0,v):A.scrollTop=v}function g(v){V||(V=v),M=v-V,C=I(M,d,b,B),r(C),M({f67eb5da:p.spacing.letter,"5690efbe":p.spacing.line,"9487f53e":p.spacing.paragraph}));const p=A,s=c=>{const f=/]*src="([^"]*(?:"[^>]+\})?)"[^>]*>/,r=c.match(f)[1];return _e(r)?Z.getProxyImageUrl(r,re().config.readWidth):r},I=c=>{c.target.src=Z.getProxyImageUrl(c.target.src,re().config.readWidth)},y=c=>{const f=/]*src="[^"]*(?:"[^>]+\})?"[^>]*>/g;return c.replaceAll(f," ").length},b=l(()=>{let c=-1;return Array.from(p.contents,f=>(c+=y(f)+1,c))}),B=D(),V=D();n({scrollToReadedLength:c=>{if(c===0)return;let f=b.value.findIndex(r=>r>=c);f!==-1&&Qe(()=>{$(V.value[f],{duration:0})})}});let C=null;const E=d;return xe(()=>{C=new IntersectionObserver(c=>{for(let{target:f,isIntersecting:r}of c)r&&E("readedLengthChange",p.chapterIndex,parseInt(f.dataset.chapterpos))},{rootMargin:`0px 0px -${window.innerHeight-24}px 0px`}),C.observe(B.value),V.value.forEach(c=>{C.observe(c)})}),De(()=>{C==null||C.disconnect(),C=null}),(c,f)=>(m(),k(te,null,[t("div",{class:"title","data-chapterpos":"0",ref_key:"titleRef",ref:B},O(A.title),513),(m(!0),k(te,null,ie(A.contents,(r,g)=>(m(),k("div",{key:g,ref_for:!0,ref_key:"paragraphRef",ref:V,"data-chapterpos":a(b)[g]},[/^\s*]*src[^>]+>$/.test(String(r))?(m(),k("img",{key:0,class:"full",src:s(r),onErrorOnce:I,loading:"lazy"},null,40,nt)):(m(),k("p",{key:1,style:T({fontFamily:A.fontFamily,fontSize:A.fontSize}),innerHTML:r},null,12,st))],8,ot))),128))],64))}},it=le(at,[["__scopeId","data-v-d37de557"]]),rt="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/OZRgoWHBmNbxB0LgB1I4vXFj93UoF2/0TPEsWwV9EhbIiTPqYoTHYoMn3enTDjmrFeDTIzaL1bUC/PBIMuF+vSSYSaxoVt90EO3Gu1zrMuMRGUk7Ffv3L+A931Gsb/yBoIgAAAABJRU5ErkJggg==",At="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEX6+fP8+/X+/ff///kbczPAAAACeElEQVQozxXHQUgUUQAG4P8936yzs6VvZNZmN9QxVxiF9OLBoOjtOC6rQq6ygXjI2fCQBdXBg4egtzFGdqkoI+zgBFbqkm3hQSxhFYLotOcubeKhOnVYoqQy+m4f5g5TvpX0xHLbLY9j8SMhJp+Jk4LfAUS2kVRIjILmnwGBTX42PhCVlDJQkIiy2nWAvaJ1h+oFIpJ0hMSYVbyyrgDWshcMpMyL1brPDQKWmduO+KTJ6XeXAMK9Yc3FpD7atyNwg6kt5XgFpLPhjUTFSYVn2abDiugGShwD8JTVRJVo/2ecuKtRb/qc4BK+9TboFfokog4T2Fn6Oqdnsjk90NMS76Rji6E0NmwkPBAZ4Xbkw8KoDAkAbEhkc78e9omxxgxg6qa5HvMv+UZbCV0qmHnSHKl5TxeA2XTCGWekR581mwC5crBH81PznASqB9va3TbkYAjJPLfg5uBfXaJgIgIBv9eessRIhxe7PA7kj6uUMeMaQ/OEQOYRaaHlqH2Gxwsl6E/pwVY5FH7uCypBZPKvDQyVziYBrAkMURe2MOOOxG/eQpp5PF+bFzUV5HtPj9GeiVSNZDELleifYTp9NAjsoiXg4cW+4ZORkdSMB/B74aAdjhsVakhgkugsbmqcDSLEoWp8zRjrux3tli6Q5uM3E+maT99Wy0RiP7tboiuRZle2c6CYeL2kcUc1KvPtQKucogMadKVTQOJYCeyCYlhQQ/Q7Etfd/vBygy9iqy+LyHeF46saCYvW6ingsbA9RBWtdi8GgUXW+oQx9/wP6bAAX1TWeV+CbShZDlQ9xT6SoSxZmKRAkmXb60kzEzkRF+Ccb94BGspGJoN/UzmyR4wjXHAAAAAASUVORK5CYII=",ct="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAATlBMVEXdzaHh0KPgz6LdzKDezqLczJ7ezZ/fz6Dcy5zi0aXdzZ3fz6Tfz57h0KDg0aLcyZrg0KXi0qPfzZ3j06bh0qbdyJbfzJrhz5/cxpLZwo0vDconAAAFn0lEQVRIxxyPW5LjMAwDAT5FybLl2JnM3P+i6+wXWVC1GoQGaD0h4XM3Q5o4T0HgABHBi6pZ4CDXXcUOFd6VhqC3Kch4EI8w9oMXwvU6m5LOOvcxKMOhuu8i5+5cMjcgb0t4F2uvOoeI3/MlT4IqsbtM9UG2AGSXUOsxzPevnXzK1CSHytZLvx7VdQmUcJsJCxJh2nmHW12Qod1qPjt8pih47uQ9aGpoNWF+yElCt60oH7vdIU/MnlRPSBLC/VwqxcKR8PFqnADN9ih5ufqnTlG9KwCofvs7kKYqOPHTNMQ93j9qNImFw9vjHPZ0F1m8hUUVB/Q/TrRYDMXr9++APMFARAt6sPh6wVAXzxUGhZsFUwCNfPZ8/72TAHebAhvuOuT3gO1Vn5d9Jd5sBRkg0p2seL9B7ulkjFJFIt9HPpLzdSzzMP3UcodAfMqC6pBuET2heHK1itZf1GZ1bi0BwOSxiCS8f/JBHMPMM4XCu3Mt1uz9lJbDJRqsKDZuikzkvskQEz6hanfDfO494azY5JpqPqOF1RhxD9XYEdaNxiqWqakKgmPfmrsta8KAiwF4HBxGVUJAgeSqQaiRRZJ7D2jedhw5t1CIAKxag0CBA60BpoBE6DcUi8O5AuM4pLfN0kHLmeu2B4e6HofqbgxsTWUw3PAODqa1oDtyzgXBlusi1KFdclMPE8O3jvLJ8RNi5/RxDQVzVmXA233XQ4KummunfxvLOZo+iH37964YjP06995CTdu9hsvErqJNzmf4wTrZ5DL7+qW9EoLnadrx67b8dUtrJnBXaT1N1uvPaYRKpWkq52xNsMN7vv4Sdryt/f4MhQoMCKnvVxikai1CQ6ZsnwJDc8+3Y/z8HcfvYQNq66pnAu1Hwa+3KNSwbNu8h3nDPqTl9fl7tx8fBhFfdS0o0F3JUKEZtZG9b/LZEM95lzaR30OnWPzroMxyZYdBIMoMnpN0J+m7/40+/P4soFSUjgzE7yY5zrMJuoZv0CmpVguYx1pprfb5HOviRVhHUVi/352shxCYrYBZxGtVaxiAz/MsaGSIsB7R1t4zJXH//n7RTTQQwxqcGEqEvklFHUgiO2GvJV+jAIPR+N29usWDoiSOVrN3XuqT1egQJAAU9EwslVJC8u0rGcy+WPqktJhjfMpatIG6CDAb0v5H34MGKqiVRue7GGLZ9Otxtt4JIrAhxBDwDuqI9JavcO0A7GlqFt219tH/bln9jBXzaKWAEqJV0CBxs5TwM8EvUPHaa8S86vN303MVWOsl3goDBHPWSoQ9c0kQmCKljfsKNH1+ofEOHW8a9a7glZGS8fPieL/SRSs0LAhI4FDTnXs1QYtubv2+IXPZpHB4bhivRexBkYKsSrYXNjvMUbVXpVJ+N6haV72c1k2zrnv5IYBMJBYTSZx0KTkoM3vY93rU/qs7zHplc/3d2ACadhFWByrn9LUk2IWb5JywvawTQc3F0iz+lgsBmInAIemBJtft2plKIlAFOgcroigrG2XlDsAzywQECNyaI8yr2ogoh7D4qJOYmZBzQgoZAM1PAcB8sDrr1uE5CDMR+nWSSVUGUCHAs8Vd21HOE0FzNj37pX0sLp9p3K8k++xxpkmzDxK64rmTSJnDUuIgTeslui6lg92jonZXI4jqNiUuzN4IagcKMjCniMGCODoo8T4tGDprn2hRww+NrnYiCwokd9iiWrkmbRfXYGLAoZrjO1lVQKExjUy5fIkgJURmz2uGFdASwwlWx5gDVTMK7hP6ISRVsFbYNmqtZL9MQtio285PaekyzDhZmtdexCYB0SZcTmBdhvdbmAEonk8hwcHQuZN1kVqrhyKoHHsnQhQAjF7SG533Da2S4LGjx1LoZqp7XeKQLDUBmYmydG0NQHpMeR5lRIRQc1PQ2ASMQflF4YBDMt0/GFlEHeRwCcEAAAAASUVORK5CYII=",gt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAALVBMVEXx58b168ny6Mjz6sn06sf27Mvw5sTz6cbw5cLy58T37svv47/168v37s7t4Ltrv0//AAAEjUlEQVQ4yw2Ty2sTURxGf3dmOqmPxb0zmaStCnfmZpL6gpmbxIpUSMZGrSJkxsZiVZimNVaqMklrUnWTRq2KIDFWWx+IFrIRFxXEB4KIgqu6EBdu7M6FIPg32PW3+DhwDmBaYrK56KP4HGIsvg/uvOV0wK+qgBMlO9BujuH4DSJlOseqV5a/BEF97gt0ChyIPqBhXI9BtqtIB8vJB/LdCQ3OVjaLNX0g7+OmoI4e7nkemAqX6o8vg0yyQAyQS7IfgvFbI+6QyI3R4KELxw7kwM2ooQfyQigYnwY5MZbMlHI1DvnQVCoVcrt+R+bO7vPDif3ybNajwqAAe443dpfDsPt379VMWZzGRuqM79mQF+DUz9nt74bQ8J/O80MtVR51U02JKKmTCvTzLVf+vuxP/aHnPo9+2bW+zVsJ0Y630/CrfzX+b+UL+7O68Rczv+7lrMh5etfKXvhc2rk6KforxuoO2xB2tcxKfeXHt18rHOiHI/0RRjW/YGRDkHiwo3nzqL60o58C/bgRuaj7vk+QOwOhpnFNdjuWpKMCGP8Yapu9Ty5FTHKQLGSEFikjd9ADwP9ciaNNjc5qMH6w50AF/LKOsOYqsOG9GjKgc7ZXolqntm6fysJ6Ma6ll2CiqmOgE6O7x1wXExklbeqMYcwsmJmOoigt8SBg2WfilDSsAZJcBxDcrqtBXzFQJqZNHfscyIhoZlygAtyYAceah+elrFbI+46gEHDGiW878Kj7JpWyfhg6iyRMymV1MKBSeVpfgLHIohyTojI6sRyK1VpcqzVZeEBLOnA9unhGKUXPJDYtV9Dxuz4iA5xSkSWhCJdAiJR9PHlvfvbntbrR14FDqUNRAYDJmSnv3oKxuz5+7fiblgVJyYLTbgUM05P7LESkoXvyWNfb0aUU6FZizgQIa25VqKQZqFrk6v6BsqqIHlQmkQ9KrBhkC20/DrFsAFEEYLjM+lj2wYHXCwnNvZQR42XJ2iVK+UBXnI+OBE6oXpUUHiQ1yg0MhA03iwGbnOdQYc1CMiPIPQrCQJFH4L4BMFktAtKd9PN5gnU2Gra4KuK+V+mjtBRpAGIqDVe4wnSnajiFGO5d7smvhVQEMEYwqshrENIEaY7YeblJYtsb3QhAHWZCEKK67swwPMKw0If1Ta+6DgHmlgPzcUTSbi3rrv1Y64/BYEMPQ5SDHUOR022B4QRF6xLUPAaPX/V4IDI5N2BMwx4LqO1uO4j6uW7NvM7lATqGAxY/ZHVgoGZbu7SvkNR75x6qGSB23FdouENVwN7sCbewTdsXGrrnQ5ZZKOCOFtMTIzxlPu6eYmtL+nMFmoK7OeXajn86r9sqWbfmvHC4IagE5qfCPGZvLSq5F55hHIxJFa4/vRxHBlz0og4TojU1l/MOHJX17lybdF0mQhFO44JYUNt3UA473IXw/iPfDWtKG5oFSXIF5iU/VnyDSjxxeDk3jAXRyVyGTNB9FxH9qcFDNJpVbt2y9LytUXkK7Py6+z1RezHQqnoY8XcLimmd8dCnBhQCuaGpJCq3SoIlmYvLz8UkWhJw7T8k+Db/DYEKwgAAAABJRU5ErkJggg==",dt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX48dr48Nf58tv379X17NJtIBxUAAACFUlEQVQ4y1XRUZakMAgF0Af2AiDWApDZgHZqAV1nZv9rGh7Rj7Y8McUFEg1wvcMESMNVD/neU8Xcaz7nYYkYlYO6Ti82PBI4BvIEg1aj3wKwRvIMgZsUy5LdhCawPFh1sZs4SrlyN9fQKpv8s5dgZ2eLyqqJiu+WkCmUEybXkm3INS01WAiv0PapJ0CZc0SJQUzcWnZYbOOY20iFD8Bk+/j2A3wNxH7GdShFYS5ff237kXh9I9zSkQmIAhOsOSVfJ6DIXTMDaPnzkRJ92S1BQQmXl5LdirgRLLDdcYqcGPwe3QN4xCBiGNbrqq9wpW1XCecChwaQdVOsRDpPCpeoolPdxeXp3WNB9PHVzWBHlygy4NJCCrFHREv6bDt0VGwJZASkpONmm1UseGeFKAQexgaAkrfYWl3AGxWOLL2AIMBNbCXpktmS3k3vHeYjGCPBa43wJTurO3ZFVpQSJdAZGLoHTyk1upkjxMEaIxum3iIARcCa5kSkFAW5fi1mUlL9eyOsaanFmOMruwvEdE3ZYzsRSzo5ewRLXyVPPEvknt8ij4DvCg2O7xOgBCUprEzV4z1WekSpUgI8DT2mrnSOXKRfQavwuKA1F+tFnMKdJSUpMA7wQAifWRkMgjUKKZE4lBl6MCM4B1pq1P4uIjDE6Pq6rL0FnW1nIFmta5vrSvq/Ch4tpqG/ZNyyWa5jZPktq81eYv8Bt5s4iFITOp4AAAAASUVORK5CYII=",ut="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXN383Q4tDP4c/R5NEInCCXAAACVElEQVQozw3Hv2sTYRwH4M/79pJ7bZL2bXqtERJ97zjUpbZDhg6pfC8qibi8hLR0EaJ0EFxaCSWDxjfpj1zrYBcRBKE6SAfBJWsx9i8IQfdQxDlKtA6t2OnhQfN3lbG7ytYRywF8rVoPCNO0X2sQOKDpAnSDK2VwkHgmh5yLGT8qASt+2KofnNt2Xg1gf1UF8AoM6052cRMNaloLZb7RKQGrKKji2OefsZF+VqIvos5ZLVIZCX61JcwUdk56wASVkgQvzPfvmT2twTSwyYaC/Pl/UhAHorFhBgZtL6XdAZRp1tkPwC1NLa9CWs5prLhI85NBQsLdXvjDymG3/EbYfQhVNYqc3TtktQhWLY3ko0QsdMbSEp+64v0NfxyqLbIGdh6M2xHHlLBGqKTyQo4E/nebBgBfe1GpdeywYXc8CT7D3cKXuMXkBy4xN6o5OuKamYp3DVI6uccO9lxgd2CAlJgI2BGgaAgIJV/TYwKqu3WFccjbMuA+bVkWgS2bfnlRbD1Eb1sDyWMmjKYIBgGAWbqKRicfvzBkBIz3V5AKnguWdglQEysQsSuVzOg6ALy1pitA5ykGCsc857BRYcgCSZyFOdvoOigSGoPc5Ta73mgxshIcQE5sHMHd9D7yqITw7JO+GHVMxjhzYLcKPSEgmz3fU+BRy3iYNtiXLaBssCW8KguReqkQOTb3MStV0Ugt4U1eIs1RZWRII6Ww8xeNNItyGGQI4ZMlpg/3lQtkl2JFnBp1imRyFe0kK2Id3PCslMgiQNMS77gvFeDhG3cSkYvheeg/e7ClIh5oh+IAAAAASUVORK5CYII=",pt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXh7eHl8eXj7+Pn8+eTbH1KAAACPElEQVQozxWPQWrbQABF/0xn3JFKQRTZOIuUsbCCbOgdRoYEOauxkYPcTRyTlPQWIxEltrsRwQ6hK9nEQek6F+gNTE/Q3qLLusv34cN7SH3mFicdYW4gNIhJWXPBRVXzjcFD0IqeU4o4PRbAIVjyico0vJpIifqPfL80QN9DAQY5ucRHE/hpHxBldXe9GilaHKcKMlj6pho2zXgkNdBl0oJ8kiF1DSiJF1ZHBJkQr0Dbux/5I42Zp4cFahJDFGeW6/QjBwmFY/Q7vZ2SnoOdW2parv/Cnm81+m0xrEfiVXQ3W4nOXIqVYi3l6AAQBwMFkViVBANMto4enXHPNTkHBB0oVj4r5vHzCWayrgBvxtygDlDB2CNDjd80ZInY69aKVYZcfJ8DW+fWuc+syEODALx+ojqoafHsthTI+ZW27PGpIeo/cR6YKcbqIuIFhHmBrzAovzIOOJk1ucvcDzrMRYGVBH2yvcAOf0KiKwfRovBI3tm/kW1eemtfNWwIIXE2mJNhvoszfmMBfRCv0OPwd2321uDW3nx2q/BDxFVeoN1g7a6Im8yRnoawa8kbdXnU0cHeTMxKfZGlJgvLb3sKsxgglQnDdAfvj9LUnqWRDo0GiUmPwyU7TAsD7wHeIW3Nfy1qVGKoE9NgJCdYCAexNRob9yCn4DAQmXtQuUtera6bEmTTXhZy6h856xi4mnEl6BI9mfISkLbtJyZIMJIAUd5ZOBEu88KRAk71yxfItj/hpIB0Errv4gO1os4/UICf+o3kkqwAAAAASUVORK5CYII=",ft="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX0/PTx+fH2/vbz+/P4//htSO9OAAAC5UlEQVQ4yyWT0QGjMAxDZTsDWKQDmJQBYrgBUsr+M517x0+LRWw9CyA+pC1YzndrMgHaNXVKQ+di13Of1qbur48nWhuRjj8i6ON8e7pNm7zyag/DBTfS9Z4Hup1fUuXMKY4HEE8QOHCByXkIkl7lDT239RtL9quO4JItmmhOAHXg45QuYKrQFLyGJcRvaTw6kQqZy6mkR6JAPFH/XqsQjEDRmUOA+MNLHGyMUT7AHApoAhjgjIJmCxy6XHdf648AWCdGe57IUDazCeTImQOY4/z+eVYVX2IjOw9RydeAeJwl79iGi4HpgQgHEchWraUZLtayu8scq0lHHHUKMY3Ml8hB7CS1jOckDLG9ccgNeX3124phOcjL9fPnWJhTXpLHeG9DRmHnTxHEaHakS2J51lwAJcUraNbuU7q4gMTDQj3Eripc/x+qFM5VEKAB1roQfAkX5/PxqnS2QpOrxfK1Zft0/omV5T+xCSBUAIbEIwUQgvAfxFE1O8dnk233+1UZiqJ1mAbsue6Yt8tF+yOrxC/YrUhzC4qPlE3EbR5hGKhhHdlrg7J9WunV7L7BcYQwAeE59u2tnN1c6gfVYrQiLSZ9OxZdWDXQq0+r0Pbarh3UqGCwauVvbiXuDsNxCtLDdW9rTF8oQYN4EoXXdfmwNguQP26n/tRjDeo+F2W7PjWtfSr6Bn/z+cXOLp4NnMV4RytvSW4B68m+XN9XfZTFGhO/S+cHTuTqZDC21ccA0N7QsePALaDQC3D1f94U9CWo+aq6BjB3v0rxIimBM12296M3aKPHjXLQE9KQKH4By8RHraJ3AgVto2r4xdFqlaPaiAHLl1ZF4P2pI6cYc+K8UZdcmxy7lqGc1IoPxLmIFuIeEZ6j2sQT88muEg1zwrEDTIX5U/ZmcsqfgVlBumiBLF4sAyhf9BFlXOPKLZ4H0iFb3VoHrGhtHTldKrOvP2/reu2zfV8CXMPqzRdlgd0a5eI7WwB/AYcgavcqxXWEAAAAAElFTkSuQmCC",mt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXM2t7O3ODQ3uLR4OTDp25yAAACdUlEQVQozw3P70sTcQDH8c/3/M7NG+j35mnHwjwh4hRy/QFK3zvPNbeIG1koPZmxfj2IDAwihL53zj0JYisfmEHcZJZOiBUG60lZiI8T/ANusuftgQ+kCPIPeMP7hS5mUrV9c1g6MQCAEZ8tDLHwofImAGRlX+SZK3Vu9rRRPuO4PK6/9nA4GIATsxlODS+rdCMhkAZivpYV0LWoQHSLSA4NfUg+6mY+7BKL2++F9LvnrBDYm6JO9i/YO3i/HJTGQ4pdIV82TbEDFG6vGYCd4wZchgK5J2CrKTLE+Tx0v+YGlIbdWJFcQl4ptBN8fUJQN1MCJLcZLYwUVVo+famGGty8EXJF5ofOEDzcodT3/Fb0I5sHmc1ZG7CcSl8COgxlXx09jT05OafjCZLIHJhGIaU6wDZHsuMQ41wbdjmQXbhKnMq1zlXSYrjCnyZblqexA7fC8RxS74tq2P3OxSQwTuJSApH8OZLzBBp1pOe0i3rdyDUA47GySZ31YmC4EQYSXvFSvieORGBxXF9aeVtUWKGS9WMC4Z9Y2uXnJ2nCUXVMbPOYqNYNmGWWQ7Evr+BWC+a0JAMTImcq/S4Z5INdQMeuOqDIMa9beilxfA60iC6sP1INcPDpmHBW8drZHNmqwyddJtVje9q8WGUgWAOzmbU4FCQBFi8B2Wk6pickBnYhJMenmJGuRmtt2IoKq9NuFGbNFR99sHnvrnLsLysKANDIsxbp6RNMAsoDSKuRpMwZbAAzI68QatIjmZ0aImyM3O8/4e2MNlOHZomFsa/fLDsysliHS+nlYLQJMnynxrH8QO4PaAV2Li8B/+52UgeGIVNFYf8B1XG/kFSmLcUAAAAASUVORK5CYII=",vt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXh7vLf7PDj8PTm8/ecW+lZAAACZElEQVQozw2RsU8TUQCHfz3fw7MS87jeI7DdmSMpDEoHE+P0HqGkvRR8vb5XC4NpN2RQZqcK9xJkwtriekcggerC4OZADDiT+A+goxv/gfwB3zd8H/T6vYF/pTZkCSmDNd3CBEtmZJP4N+CvvhecDvmntKsvwB17rpbIRTLOEoYkj9KZzRUuJsuBQFwgptyJ3Y7EL4V+ud5LO1UnMeQSSObqisiISZkbQBlliP3qWSk3GPQXjxv6VF2BTDO4ySx1zhuJXbA2wBNJF4t5vH9keg6wu5NvUpLtXrZ3OHC9ZsgVcZdOl38PM1y/L6m8GRiErj4AqezUjHGatGGIgs5NJDHh8Ua1IuB4035haVT6SaYWMoQ0eJ3rB/Gpnr3fB49YAy1Wa21YKqAHOmAveVw6CCMGMZh5bGtVI7jnZaiQNbta1Z+285oSoKoRbta1KZ/1bBdKH/RIxv2pRVpkoCmvpr097RWoo0CpMlTWllIenSjECU8mV43mHx2fIRfH/pncrJm3+58BWdbSqCS07/yiQnvHiCG4ZPGRFeAtfreoOubyctzHvLNHhjNvIhukxQzjU5O6QdOEzUp1Ef4d98Pxz+IPYX0bcpnT52dbedfz8y7C4R89RV+MjJkuCCx7mWDt4eyK/62lQB55xXGJK7p8u6bgRv4hVHylelYGGFs64W94tng8sAIVqSRJBpqRA9rFvAysS+9ak8s7557pz5HR4qhCRmWgplpTRJ+bhYfSAMO8/YBucWPuSdmFFtOnuWqvV2NbF6CJnbhNDzEZ/T0XSDrUydzkZCG1z/oIEyUFYxW/KPXNfwopuHDcO04UAAAAAElFTkSuQmCC",kt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXm9PXq+Pno9vfs+vttWKBGAAACPElEQVQozw3RQWrbQACF4TfCMjPqZgIj4RRaxsZKE0PuMBZ2cLKaCI9RDAXFmJJknUWWI1O1UlamOMHJSjGkuFn3AD2Cr9CepDrAg+/xIxK4QwIqHHQkUhQ/WuphInVIFBojl8QXc012Tgq4RTtVHWVLZVFh1tEoI91uiN4joCqde8Ukn/zGM1B2W4ari2PtTwyw55Ld+Wways54qhGPyS6FzbIT3lIY8WwWdCq56Yolx6KmSKzoqrsCB5heAp4TGNQWJ1Pc6XlE5jQD5OlIX9I47A9uiUQcPQxcury/ToyxWJG/za6ki88crxKPocKS59Sl3EtBG7C89fCGflpfqoSzCeC4crioJA7F0V5+8MaSIk4qSCdwzpogmbqzEirVpGiS2dOVJvUuuqFEmhHao06KEpq+8lvHI14NJk3Qrmi9vBuRLwAz0qZB4hsDXQFXgtnlpDX3C6ug9BquSw/CYtwAzuTz5vuQNdr/YibhR68378ehZH30FSpjh71LpQkrsj+Q062h5WwZ5wlRoD6uQJy1DqvSYuCUapMBqT5YA4ZFw4KlWapxoUGlKWrx0eDQvmigu4WMYt97ruru98fYL8/0lG6CTOFcFWBhFK5gKw19h2JN808nh7xhkU6sWKLXdtkqBL6h+lULK5k19wFB/FldnGYf3LDeuf6IC2/MzJOSOP0qPxLqzaGIqtBcFIItrstkazONOkrc1D1czjuwEGESB4JJnjgSMN7PXAu7fZQpl1C236C+9mM4Af8P98Ch4R2TRl8AAAAASUVORK5CYII=",Bt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXPz8/R0dHT09PU1NToNyAhAAACdElEQVQozw3NP0xTQQDH8d9d7sFrG+QeKVgQ4aoFCwFkYERyLY//0UB8GNGg1WAC0RBGJrzW4mCXQmpgvCYOwEAYiulSpYtza2KiW7s5FgNJFSV2/CzfL7RwpoJ20iadmgA8owOyaxmusKE44scBeb4vIv00dqYgmf6jzWcr7W6INbDQeZbQL9ytXeYgtFfzmW1Fek5msxJlwhyt6qDDxOLQzpVPompYrMPnEnhvLm7M5BxY5nowAj3zkydAkpC0FIG6g7AK+Ub25ybyNWVYwtpseP2rfrQwiGRpfqrnMuPeuvr2dA0p2YsHF2XghkrXKtZ8tLBjR7S2qIaYbKmyLd/QP+EogLjqqwNw5Lq1pDlMLkM5+gNoSvdq+Pxmz9/61EFq6GYM6GqaGvlN95zy3gsmEWI8K3k8OP9OmRLEPO6DP3Wv3g42COinJTZ33dcIvs4ESp6opMTjDs6mcYTEbFeUifuxh989yZrIx4lkpuixxz0nHLCekKbE17suKhYkMGhoYhTZtVBvg4bfq/1L1Im0AGMVpBFwumM0zwyuKiCMi5dqR4Flx47AGyF2xTbxqUdTwCH94BT3DozpLV5WuAL/N8rGtHKjotBOOuOtCJ9E21uqsyBoLOzaXbHPrK5PQBP+fBfeidvJAeMIAmzVt5IkJJ9DBWaZDAepYUhlQqHt0h72SJ3j8TZHom64f516xx9T5evgMPgwG82jZdJaJIDyWp6LAjOCclVyzNA3iTKzIULlBQEPaTXlPHok5gISclmyaWZlqY2aTHdRHpJOwTdDEQ3ZfKtbpclcNhyVClagmY+fIfyKukntPqBgnx5QvZHk/D/MK8JMClrSigAAAABJRU5ErkJggg==",yt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXe3t7a2trc3Nzg4OCXP9lCAAACoklEQVQozwXBzU/TYBwA4N+QEr4CNbSFwcFuowSqMRvEAwShHWAYNsu7dS0dLnGUSWT4kZB4lGzE4VtcwgIDJqcOWLJxcv4BOoQZuCPxSNSD4WSWLJGL8XmAIiyo2RgJ4A1pxQQlOxRAszLTdnPu2oQGb05RC5slJld7ZAIfo4O44Bn1ud59F0BcjnYOa17Jhwc6EdiKettncsXjT1f8KUBZUW41pK0Jc1Az4dEV3rkkPBtDSZ83Blyt0kSf2PRjzIykoBwINisPbPPtljdVE9iAXRfUPkXLVIgYrCccp5g687NdZbcJ+xa5VE/HhTtT23IKsN5jj/pcUd0dTZNAqCVw72n4gOwnTOC0vvHfaauT8d9zAoRRfPpISZRVyUiw8ELzOG1b2DZpFzkSrHLhq52twDEdyZHwvp2j4uv/bjvOf23/AcEtTuJbY5Cp4YcAer1IGkUzOo2rn8LQOKjFJw3NTw24nprQXY5aF4wxcqcSdbFQ00H4xFl8Drx4X4CikvAM1tuR8bKIBCBoLnKN10KJG4zKAsc7c9WEB9gnCi6BhVjqoco6t20ILAJuVctvaEZK732cRHDRmGfuihOam0o2CHByUZ/epCcVlRs2wmCnMqsd6aSim3ibBJtm1LGyXW3Bb7tJCPlFtUG+SvPdeEUAB60lNdo+VQbLcwRNVtT68FsLcr1+NotgNihlpExS1V2SFgNbeC8bEhgm8sM17wSi6Us2gxVWJU/5GKBpandvfyYbU1yHCLpCgWGbbPXn40rehEsUXKIJr9DMKgICfjc4bl1YfvUhE/YIECGRqjCxSM9hrybAIkND5OeWfFZsXkxB+qDzb7pUQ3EfQ3Ml6EChEt3D+iS01VqC7EQ/Z/DuPQcz4yChoFQJce2Qr+NNAv0HxofmpXGqgHkAAAAASUVORK5CYII=",Ct="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEXm5ubo6Ojp6enr6+vt7e1FnZagAAACrklEQVQ4yx1SixUbMQgT3AKAFwDcAfzpBN1/qMrJS5w7bCQhC6IGSUGYQJd6Ox9ZPXi1AGJBavhUTT0JjYPGAab9WcDYIxsmlnxkayX8mhxCmKHA75az5cfRbWybEExiu08xDSgGym0mwuf3j4SvHeQxDJJzh2zp4iOlrD8iOb4SXyC1wiOLRTcnrje+nGamFeXVKWkmzbFIPChkmJ6Fg7mBpV8n+JGOVCd4jv1thThkjeQGNeafpeV3rsEWLfyWc8tC9jOv6FQ8rRzHOOVB+jCYEUAJpDvh8xHNFm/Tm5p5lw94Pp3NhtKEfQsGvnXhowdZE73hPwxKvjDd4i4PCdd0fe3W5fO8ktAsUAacLgstpUw60JCiPLg2XpkgiqPIYYXJd9ksGIT3q+LlevypzItvO+s0F1dBzVr2QDMUkYmuyGcrIS44mVJ7JVKwQXjYuBYp0Uetecbswzsikzu3gUR8bJC/C8Gd/NAzI/xdUGOYQQHDZ8X2d5XuzGRUiXAi9si5CRgoiToRZPtzLJkd0FUHRHZwJf0BHT1sE7gcnh0jmKKlSSF4/GBirGk5+K9NKlGDCfc9JtPhg78JdabH0YQRKNZnJ8tFnPfXHJb4xum1TTCeEmyEdbyEJLjznMLHuFD2Y9NEkSleIBs7SiCbblhgctVi9ch++kDYnn1C9DA5TvdPsToXM55wI6k+8eKT1blwPTqWb5CFJ+7dTBmab+KHy+xwNtItXhZNSpHD2fxnynrxG3ZBKRe8KBpXk11AnadlccEhr9w1nBBvBylNkv7A8eqpGBCDqhitmWQXBjjdS6idr/QjXWLDeMzMbVDoJuM8zN7WenMZWXgZ2vX3F01J3jHZbwk1LRP+DWEvDJtOUoh/AIaBUz5VpWyhuyx4QtgL/NmgC6kM/JvNe+R/C/5aL7BKIbYAAAAASUVORK5CYII=",ht="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAElBMVEUQERMODxESFBYWGBkaHB0eICLm6ozJAAACkUlEQVQ4yyWTUdLbMAiEASfvoOkBkBy/O5keIE0v8E/uf5h+68qZWALELgu2MG9PP9qyvCzTVhrrsPGOCjvTfXQZvtp/W3Gy6LCITqs4q/DZ+KYl76zKzHVYpY2wNY27nqN1sbLGcrLH3/ENH4oWlGctsDu8AO+HzTLlsYdh8MzP1m6YDMz0ACfcimvakBj+mwO/+5Uta5teOD379sxK1fUxmUhv8MU3jUT5gs26PMephFznkLcpQZ6/dPL9C/GWHcCxDN6oZhD5xBm5qoYBPA+PFE/H1tXDWcWl8TW7rS+4dUzAVy0BIrvC4/HcqW2TkG1HO8q9dC23INAg7NA4AFRFkDTM2lfELPyFzi1VddcpX2z0KjHBUDmdLNJ6dDps4ytrX+FPsZwE31wSL+6OWfHOAJ3+Y0Rk/MiKfmWNPg7oVP/U3Ck9FoCkC2gBpALOiqbMNTkOe8P4FWkTD2Y9Q3+5VmV0uLUJBl68U5uAK2Kl6QDXvLxbwweOL2sixW78uU8p0ysfc7cWrF1j6B1sPJ4WgclYSnJN1bzozrhEcFHmRzBkbJWqqdG+EYJXRFmT5jnLXPUNF6WBdoFbTxYsmDXVLU/WA7MExNc93sJS5hIXDeLxzMScHzdhKvEkibr6cQXYPrmtmTA7JcInISrTzRDvShTdka0uVGrsJAAR6tSn1sKziZtfKVjAxPrJsYgZO0bye+vKTZ/DgoAoLGNO6jYHimZYTL/3pLJHawquJukjBpfz8WOGVSVIWx9ywUfS5iENutidRM4NzkAmxgUSQ68xgNOU+ZLalr4TS2V+D2xqukZig+Z9DilR7Nouzwp1cp/3E5q6Rdlf08obKvAM4qZ6pMr+w3PmQALSSBfjyZn5DwrNRVbywBQiAAAAAElFTkSuQmCC",It="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEUWGBkYGhsdHyAfISI1t/v6AAAB5ElEQVQozxXQsYoTURSA4f/EeycZsDgDdySDjihk38Hy3GWi2J2BCaziQhaiaB+tt9AFu1kwvYUPsIXNPoB9BAUfwAfwEUzKv/v4odGrroyp9/rUaC6rZ5skv5F8qPsfYYP+yKUMymmAEEeW55oUR4o8jr05KNzJ07yvB7w0KKfLwcQUSjfmMU0PJfPHFoEVU+ohNrcKMEzMQ23FDnVSI2dqtYWI7KlLu6vE4UnyvKc3SJuL7lBbeEEl42ItpGLjzIT8PRJCmkRjVpVpsbJFVN0687okJNZiHAr5Z7MV0BnGIDc+THM1zlbieBc1Fq+tH5BH+OpnbWkj40hSqC8Lw2TvFuF0SUFJCk2IytXbjeqcRAt6NHpnrUkUU4KRzZs8RCK8N/Akn2W04LwxMU/V7XK0bDyN2RxfDyx7I4h5vjZby72V8UnOWumZL3qtYc+8DTE0siSBMXGhywx2dMYPnQHbxdFZ7deiNGxCCtD/QWnbwDoGhRYPDzUdUA3krjpnkvdAgDN4ddLkEQSov9qjd42HaDjI34gEqS9TUueAk+sc4qg5ws407KQYKs8G1jv4xBlqBVk6cb4dISZIwVi1Jzu4+HLk6lyfUxkXvwy+1Q+4WVdHIhwfybZ6CWVhxMEhShOgsP/HOW0MvZJeFwAAAABJRU5ErkJggg==",bt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEUWGBkYGhsdHyAfISI1t/v6AAAB5ElEQVQozxXQsYoTURSA4f/EeycZsDgDdySDjihk38Hy3GWi2J2BCaziQhaiaB+tt9AFu1kwvYUPsIXNPoB9BAUfwAfwEUzKv/v4odGrroyp9/rUaC6rZ5skv5F8qPsfYYP+yKUMymmAEEeW55oUR4o8jr05KNzJ07yvB7w0KKfLwcQUSjfmMU0PJfPHFoEVU+ohNrcKMEzMQ23FDnVSI2dqtYWI7KlLu6vE4UnyvKc3SJuL7lBbeEEl42ItpGLjzIT8PRJCmkRjVpVpsbJFVN0687okJNZiHAr5Z7MV0BnGIDc+THM1zlbieBc1Fq+tH5BH+OpnbWkj40hSqC8Lw2TvFuF0SUFJCk2IytXbjeqcRAt6NHpnrUkUU4KRzZs8RCK8N/Akn2W04LwxMU/V7XK0bDyN2RxfDyx7I4h5vjZby72V8UnOWumZL3qtYc+8DTE0siSBMXGhywx2dMYPnQHbxdFZ7deiNGxCCtD/QWnbwDoGhRYPDzUdUA3krjpnkvdAgDN4ddLkEQSov9qjd42HaDjI34gEqS9TUueAk+sc4qg5ws407KQYKs8G1jv4xBlqBVk6cb4dISZIwVi1Jzu4+HLk6lyfUxkXvwy+1Q+4WVdHIhwfybZ6CWVhxMEhShOgsP/HOW0MvZJeFwAAAABJRU5ErkJggg==";var ee={themes:[{body:"#ede7da url("+rt+") repeat",content:"#ede7da url("+lt+") repeat",popup:"#ede7da url("+At+") repeat"},{body:"#ede7da url("+ct+") repeat",content:"#ede7da url("+gt+") repeat",popup:"#ede7da url("+dt+") repeat"},{body:"#ede7da url("+ut+") repeat",content:"#ede7da url("+pt+") repeat",popup:"#ede7da url("+ft+") repeat"},{body:"#ede7da url("+mt+") repeat",content:"#ede7da url("+vt+") repeat",popup:"#ede7da url("+kt+") repeat"},{body:"#ebcece repeat",content:"#f5e4e4 repeat",popup:"#faeceb repeat"},{body:"#ede7da url("+Bt+") repeat",content:"#ede7da url("+yt+") repeat",popup:"#ede7da url("+Ct+") repeat"},{body:"#ede7da url("+ht+") repeat",content:"#ede7da url("+It+") repeat",popup:"#ede7da url("+bt+") repeat"}],fonts:["Microsoft YaHei, PingFangSC-Regular, HelveticaNeue-Light, Helvetica Neue Light, sans-serif","PingFangSC-Regular, -apple-system, Simsun","Kaiti"]};const St={class:"setting-list"},wt={class:"theme-list"},Et=["onClick"],Ut={key:0,class:"iconfont"},xt={key:1,class:"moon-icon"},Dt={class:"font-list"},Qt=["onClick"],Vt={class:"font-list"},Pt={style:{"text-align":"right",margin:"0"}},Ft={class:"font-size"},Lt={class:"resize"},Mt={class:"lang"},Rt={class:"letter-spacing"},Kt={class:"resize"},Ot={class:"lang"},zt={class:"line-spacing"},Nt={class:"resize"},Ht={class:"lang"},Wt={class:"paragraph-spacing"},Jt={class:"resize"},Tt={class:"resize"},qt={class:"lang"},Gt={key:0,class:"read-width"},Zt={class:"resize"},Yt={class:"lang"},jt={class:"paragraph-spacing"},Xt={class:"resize"},_t={class:"resize"},$t={class:"lang"},eo={class:"infinite-loading"},to={__name:"ReadSettings",setup(A){const n=re();let d=!1;he(()=>n.config,U=>{localStorage.setItem("config",JSON.stringify(U)),d=!0},{deep:2}),he(()=>n.readSettingsVisible,U=>{!U&&d&&Z.saveReadConfig(n.config).then(()=>d=!1)});const p=l(()=>n.theme),s=l(()=>n.isNight),I=l(()=>p.value==6?"":""),y=[{background:"rgba(250, 245, 235, 0.8)"},{background:"rgba(245, 234, 204, 0.8)"},{background:"rgba(230, 242, 230, 0.8)"},{background:"rgba(228, 241, 245, 0.8)"},{background:"rgba(245, 228, 228, 0.8)"},{background:"rgba(224, 224, 224, 0.8)"},{background:"rgba(0, 0, 0, 0.5)"}],b=l(()=>({background:ee.themes[p.value].popup})),B=U=>{n.config.theme=U},V=D(["雅黑","宋体","楷书"]),M=U=>{n.config.font=U},C=l(()=>n.config.font),E=D(n.config.customFontName),c=D(!1),f=()=>{n.config.font=-1,n.config.customFontName=E.value},r=()=>{Ve.prompt("请输入 字体网络链接","提示",{confirmButtonText:"确定",cancelButtonText:"取消",inputPattern:/^https?:.+$/,inputErrorMessage:"url 形式不正确",beforeClose:(U,e,q)=>{if(U==="confirm"){e.confirmButtonLoading=!0,e.confirmButtonText="下载中……";const G=e.inputValue;if(typeof FontFace!="function")return F.error("浏览器不支持FontFace"),q();const X=new FontFace(E.value,`url("${G}")`);document.fonts.add(X),X.load().then(function(){e.confirmButtonLoading=!1,F.info("字体加载成功!"),f(),q()}).catch(function(w){throw e.confirmButtonLoading=!1,e.confirmButtonText="确定",F.error("下载失败,请检查您输入的 url"),w})}else q()}})},g=l(()=>n.config.fontSize),R=()=>{n.config.fontSize<48&&(n.config.fontSize+=2)},L=()=>{n.config.fontSize>12&&(n.config.fontSize-=2)},v=l(()=>n.config.spacing),S=()=>{n.config.spacing.letter-=.01},oe=()=>{n.config.spacing.letter+=.01},ue=()=>{n.config.spacing.line-=.1},pe=()=>{n.config.spacing.line+=.1},Ae=()=>{n.config.spacing.paragraph-=.1},fe=()=>{n.config.spacing.paragraph+=.1},ce=l(()=>n.config.readWidth),me=()=>{n.config.readWidth+160+2*68>window.innerWidth||(n.config.readWidth+=160)},ve=()=>{n.config.readWidth>640&&(n.config.readWidth-=160)},Y=l(()=>n.config.jumpDuration),ke=()=>{n.config.jumpDuration+=100},Be=()=>{n.config.jumpDuration!==0&&(n.config.jumpDuration-=100)},j=l(()=>n.config.infiniteLoading),ne=U=>{n.config.infiniteLoading=U};return(U,e)=>{const q=Je,G=Te,X=Pe;return m(),k("div",{class:Q(["settings-wrapper",{night:a(s),day:!a(s)}]),style:T(a(b))},[e[51]||(e[51]=t("div",{class:"settings-title"},"设置",-1)),t("div",St,[t("ul",null,[t("li",wt,[e[7]||(e[7]=t("i",null,"阅读主题",-1)),(m(),k(te,null,ie(y,(w,x)=>t("span",{class:Q(["theme-item",{selected:a(p)==x}]),key:x,style:T(w),ref_for:!0,ref:"themes",onClick:H=>B(x)},[x<6?(m(),k("em",Ut,"")):(m(),k("em",xt,O(a(I)),1))],14,Et)),64))]),t("li",Dt,[e[8]||(e[8]=t("i",null,"正文字体",-1)),(m(!0),k(te,null,ie(a(V),(w,x)=>(m(),k("span",{class:Q(["font-item",{selected:a(C)==x}]),key:x,onClick:H=>M(x)},O(w),11,Qt))),128))]),t("li",Vt,[e[14]||(e[14]=t("i",null,"自定字体",-1)),N(q,{effect:"dark",content:"自定义的字体名称",placement:"top"},{default:z(()=>[He(t("input",{type:"text",class:"font-item font-item-input","onUpdate:modelValue":e[0]||(e[0]=w=>de(E)?E.value=w:null),placeholder:"请输入自定义的字体名称"},null,512),[[We,a(E)]])]),_:1}),N(X,{placement:"top",width:"270",trigger:"click",visible:a(c),"onUpdate:visible":e[4]||(e[4]=w=>de(c)?c.value=w:null)},{reference:z(()=>e[12]||(e[12]=[t("span",{type:"text",class:"font-item"},"保存",-1)])),default:z(()=>[e[13]||(e[13]=t("p",null," 已经安装在您的设备上的字体请确认输入的字体名称完整无误,或者从网络下载字体。 ",-1)),t("div",Pt,[N(G,{size:"small",plain:"",onClick:e[1]||(e[1]=w=>c.value=!1)},{default:z(()=>e[9]||(e[9]=[J("取消")])),_:1}),N(G,{type:"primary",size:"small",onClick:e[2]||(e[2]=w=>{f(),c.value=!1})},{default:z(()=>e[10]||(e[10]=[J("确定")])),_:1}),N(G,{type:"primary",size:"small",onClick:e[3]||(e[3]=w=>{r(),c.value=!1})},{default:z(()=>e[11]||(e[11]=[J("网络下载")])),_:1})])]),_:1},8,["visible"])]),t("li",Ft,[e[20]||(e[20]=t("i",null,"字体大小",-1)),t("div",Lt,[t("span",{class:"less",onClick:L},e[15]||(e[15]=[t("em",{class:"iconfont"},"",-1)])),e[17]||(e[17]=t("b",null,null,-1)),e[18]||(e[18]=J()),t("span",Mt,O(a(g)),1),e[19]||(e[19]=t("b",null,null,-1)),t("span",{class:"more",onClick:R},e[16]||(e[16]=[t("em",{class:"iconfont"},"",-1)]))])]),t("li",Rt,[e[26]||(e[26]=t("i",null,"字距",-1)),t("div",Kt,[t("span",{class:"less",onClick:S},e[21]||(e[21]=[t("em",{class:"iconfont"},"",-1)])),e[23]||(e[23]=t("b",null,null,-1)),e[24]||(e[24]=J()),t("span",Ot,O(a(v).letter.toFixed(2)),1),e[25]||(e[25]=t("b",null,null,-1)),t("span",{class:"more",onClick:oe},e[22]||(e[22]=[t("em",{class:"iconfont"},"",-1)]))])]),t("li",zt,[e[32]||(e[32]=t("i",null,"行距",-1)),t("div",Nt,[t("span",{class:"less",onClick:ue},e[27]||(e[27]=[t("em",{class:"iconfont"},"",-1)])),e[29]||(e[29]=t("b",null,null,-1)),e[30]||(e[30]=J()),t("span",Ht,O(a(v).line.toFixed(1)),1),e[31]||(e[31]=t("b",null,null,-1)),t("span",{class:"more",onClick:pe},e[28]||(e[28]=[t("em",{class:"iconfont"},"",-1)]))])]),t("li",Wt,[e[37]||(e[37]=t("i",null,"段距",-1)),t("div",Jt,[t("div",Tt,[t("span",{class:"less",onClick:Ae},e[33]||(e[33]=[t("em",{class:"iconfont"},"",-1)])),e[35]||(e[35]=t("b",null,null,-1)),t("span",qt,O(a(v).paragraph.toFixed(1)),1),e[36]||(e[36]=t("b",null,null,-1)),t("span",{class:"more",onClick:fe},e[34]||(e[34]=[t("em",{class:"iconfont"},"",-1)]))])])]),a(n).miniInterface?ge("",!0):(m(),k("li",Gt,[e[43]||(e[43]=t("i",null,"页面宽度",-1)),t("div",Zt,[t("span",{class:"less",onClick:ve},e[38]||(e[38]=[t("em",{class:"iconfont"},"",-1)])),e[40]||(e[40]=t("b",null,null,-1)),e[41]||(e[41]=J()),t("span",Yt,O(a(ce)),1),e[42]||(e[42]=t("b",null,null,-1)),t("span",{class:"more",onClick:me},e[39]||(e[39]=[t("em",{class:"iconfont"},"",-1)]))])])),t("li",jt,[e[49]||(e[49]=t("i",null,"翻页速度",-1)),t("div",Xt,[t("div",_t,[t("span",{class:"less",onClick:Be},e[44]||(e[44]=[t("em",{class:"iconfont"},"",-1)])),e[46]||(e[46]=t("b",null,null,-1)),e[47]||(e[47]=J()),t("span",$t,O(a(Y)),1),e[48]||(e[48]=t("b",null,null,-1)),t("span",{class:"more",onClick:ke},e[45]||(e[45]=[t("em",{class:"iconfont"},"",-1)]))])])]),t("li",eo,[e[50]||(e[50]=t("i",null,"无限加载",-1)),(m(),k("span",{class:Q(["infinite-loading-item",{selected:a(j)==!1}]),key:0,onClick:e[5]||(e[5]=w=>ne(!1))},"关闭",2)),(m(),k("span",{class:Q(["infinite-loading-item",{selected:a(j)==!0}]),key:1,onClick:e[6]||(e[6]=w=>ne(!0))},"开启",2))])])])],6)}}},oo=le(to,[["__scopeId","data-v-307588a2"]]),no={class:"wrapper"},so=["onClick"],ao={__name:"CatalogItem",props:["index","source","gotoChapter","currentChapterIndex"],setup(A){const n=A,d=s=>s==n.currentChapterIndex,p=l(()=>{var s;return((s=n.source)==null?void 0:s.catas)??[n.source]});return(s,I)=>(m(),k("div",no,[(m(!0),k(te,null,ie(a(p),y=>(m(),k("div",{class:Q(["cata-text",{selected:d(y.index)}]),key:y.url,onClick:b=>A.gotoChapter(y)},O(y.title),11,so))),128))]))}},io=le(ao,[["__scopeId","data-v-86592297"]]),ro={__name:"PopCatalog",emits:["getContent"],setup(A,{emit:n}){const d=re(),{catalog:p,popCataVisible:s,miniInterface:I}=Fe(d),y=l(()=>d.theme),b=l(()=>d.theme),B=l(()=>({background:ee.themes[b.value].popup})),V=l(()=>{let r=p.value;if(I.value)return r;let g=Math.ceil(r.length/2),R=new Array(g),L=0;for(;Ld.readingBook.index,set:r=>d.readingBook.index=r}),E=l(()=>{let r=C.value;return I.value?r:Math.floor(r/2)});qe(()=>{s.value&&M.value.scrollToIndex(E.value)});const c=n,f=r=>{const g=p.value.indexOf(r);C.value=g,d.setPopCataVisible(!1),d.setContentLoading(!0),d.saveBookProgress(),c("getContent",g)};return(r,g)=>(m(),k("div",{class:Q({"cata-wrapper":!0,visible:a(s)}),style:T(a(B))},[g[0]||(g[0]=t("div",{class:"title"},"目录",-1)),N(a(Ge),{style:{height:"300px",overflow:"auto"},class:Q({night:a(y),day:!a(y)}),ref_key:"virtualListRef",ref:M,"data-key":"index","wrap-class":"data-wrapper","item-class":"cata","data-sources":a(V),"data-component":io,"estimate-size":40,"extra-props":{gotoChapter:f,currentChapterIndex:a(C)}},null,8,["class","data-sources","extra-props"])],6))}},lo=le(ro,[["__scopeId","data-v-6b8fd950"]]),Ao={class:"tools"},co={class:"tools"},go={key:0},uo={key:0},po={class:"content"},fo=["chapterIndex"],mo={__name:"BookChapter",setup(A){const n=D(),{isLoading:d,loadingWrapper:p}=$e(n,"正在获取信息"),s=re();try{const o=JSON.parse(localStorage.getItem("config"));o!=null&&s.setConfig(o)}catch{localStorage.removeItem("config")}const{catalog:I,popCataVisible:y,readSettingsVisible:b,miniInterface:B,showContent:V,bookProgress:M,theme:C,isNight:E}=Fe(s),c=l({get:()=>s.readingBook.chapterPos,set:o=>s.readingBook.chapterPos=o}),f=l({get:()=>s.readingBook.index,set:o=>s.readingBook.index=o}),r=l(()=>s.config.infiniteLoading);let g;const R=D();Ue(()=>{r.value?g==null||g.observe(R.value):g==null||g.disconnect()});const L=()=>{let o=x.value.slice(-1)[0].index;I.value.length-1>o&&(se(o+1,!1),s.saveBookProgress())},v=o=>{if(!d.value)for(let{isIntersecting:i}of o){if(!i)return;L()}},S=l(()=>s.config.font>=0?ee.fonts[s.config.font]:s.config.customFontName),oe=l(()=>s.config.fontSize+"px"),ue=l(()=>ee.themes[C.value].body),pe=l(()=>ee.themes[C.value].content),Ae=l(()=>ee.themes[C.value].popup),fe=l(()=>B.value?window.innerWidth+"px":s.config.readWidth-130+"px"),ce=l(()=>B.value?window.innerWidth-33:s.config.readWidth-33),me=l(()=>({background:ue.value})),ve=l(()=>({background:pe.value,width:fe.value})),Y=D(!1),ke=l(()=>({background:Ae.value,marginLeft:B.value?0:-(s.config.readWidth/2+68)+"px",display:B.value&&!Y.value?"none":"block"})),Be=l(()=>({background:Ae.value,marginRight:B.value?0:-(s.config.readWidth/2+52)+"px",display:B.value&&!Y.value?"none":"block"})),j=()=>{s.setMiniInterface(window.innerWidth<776);const o=s.config.readWidth;ne(o)},ne=o=>{s.miniInterface||o+2*68>window.innerWidth&&(s.config.readWidth-=160)};he(()=>s.config.readWidth,o=>ne(o));const U=D(),e=D(),q=()=>{$(U.value)},G=()=>{$(e.value)},X=Ze(),w=()=>{X.push("/")},x=D([]),H=D(!0),se=(o,i=!0,P=0)=>{i&&(s.setShowContent(!1),$(U.value,{duration:0}),Ie(o,P),x.value=[]);let h=sessionStorage.getItem("bookUrl"),{title:W,index:K}=I.value[o];p(Z.getBookContent(h,K).then(u=>{if(u.data.isSuccess){let ze=u.data.data.split(/\n+/);x.value.push({index:o,content:ze,title:W}),i&&Me(P)}else{F({message:u.data.errorMsg,type:"error"});let _=[u.data.errorMsg];x.value.push({index:o,content:_,title:W})}if(s.setContentLoading(!0),H.value=!1,s.setShowContent(!0),!u.data.isSuccess)throw u.data},u=>{F({message:"获取章节内容失败",type:"error"});let _=["获取章节内容失败!"];throw x.value.push({index:o,content:_,title:W}),s.setShowContent(!0),u}))},Le=D(),ye=D(),Me=o=>{Qe(()=>{ye.value.length===1&&ye.value[0].scrollToReadedLength(o)})},Re=Ye(()=>s.saveBookProgress(),6e4),Ke=(o,i)=>{Ie(o,i),Re()};Ue(()=>{var o;document.title=((o=I.value[f.value])==null?void 0:o.title)||document.title});const Ie=(o,i)=>{let P=sessionStorage.getItem("bookUrl");var h=JSON.parse(localStorage.getItem(P));h.index=o,h.chapterPos=i,localStorage.setItem(P,JSON.stringify(h)),h=JSON.parse(localStorage.getItem("readingRecent")),h.chapterIndex=o,h.chapterPos=i,localStorage.setItem("readingRecent",JSON.stringify(h)),f.value=o,c.value=i,sessionStorage.setItem("chapterIndex",o),sessionStorage.setItem("chapterPos",String(i))},be=()=>{document.visibilityState=="hidden"&&Z.saveBookProgressWithBeacon(M.value)},Se=()=>{s.setContentLoading(!0);let o=f.value+1;typeof I.value[o]<"u"?(F({message:"下一章",type:"info"}),se(o),s.saveBookProgress()):F({message:"本章是最后一章",type:"error"})},we=()=>{s.setContentLoading(!0);let o=f.value-1;typeof I.value[o]<"u"?(F({message:"上一章",type:"info"}),se(o),s.saveBookProgress()):F({message:"本章是第一章",type:"error"})};let ae=!0;const Ce=o=>{if(ae)switch(o.key){case"ArrowLeft":o.stopPropagation(),o.preventDefault(),we();break;case"ArrowRight":o.stopPropagation(),o.preventDefault(),Se();break;case"ArrowUp":o.stopPropagation(),o.preventDefault(),document.documentElement.scrollTop===0?F.warning("已到达页面顶部"):(ae=!1,$(0-document.documentElement.clientHeight+100,{duration:s.config.jumpDuration,callback:()=>ae=!0}));break;case"ArrowDown":o.stopPropagation(),o.preventDefault(),document.documentElement.clientHeight+document.documentElement.scrollTop===document.documentElement.scrollHeight?F.warning("已到达页面底部"):(ae=!1,$(document.documentElement.clientHeight-100,{duration:s.config.jumpDuration,callback:()=>ae=!0}));break}},Ee=o=>{(o.key==="ArrowUp"||o.key==="ArrowDown")&&(o.preventDefault(),o.stopPropagation())};xe(()=>{let o=sessionStorage.getItem("bookUrl"),i=sessionStorage.getItem("bookName"),P=sessionStorage.getItem("bookAuthor"),h=Number(sessionStorage.getItem("chapterIndex")||0),W=Number(sessionStorage.getItem("chapterPos")||0);var K=JSON.parse(localStorage.getItem(o));(K==null||h!=K.index||W!=K.chapterPos)&&(K={bookName:i,bookAuthor:P,bookUrl:o,index:h,chapterPos:W},localStorage.setItem(o,JSON.stringify(K))),j(),window.addEventListener("resize",j),p(Z.getChapterList(o).then(u=>{if(!u.data.isSuccess){F({message:u.data.errorMsg,type:"error"}),setTimeout(w,500);return}let _=u.data.data;s.setCatalog(_),s.setReadingBook(K),se(h,!0,W),window.addEventListener("keyup",Ce),window.addEventListener("keydown",Ee),document.addEventListener("visibilitychange",be),g=new IntersectionObserver(v,{rootMargin:"-100% 0% 20% 0%"}),r.value&&g.observe(R.value),document.title=null,document.title=i+" | "+I.value[h].title},u=>{throw F({message:"获取书籍目录失败",type:"error"}),u}))}),De(()=>{window.removeEventListener("keyup",Ce),window.removeEventListener("keydown",Ee),window.removeEventListener("resize",j),document.removeEventListener("visibilitychange",be),b.value=!1,y.value=!1,g==null||g.disconnect(),g=null});const Oe=async()=>{const o=sessionStorage.getItem("bookUrl"),i=sessionStorage.getItem("bookName"),P=sessionStorage.getItem("isSeachBook"),h=JSON.parse(localStorage.getItem(o));sessionStorage.removeItem("isSeachBook"),P==="true"&&await Ve.confirm(`是否将《${i}》放入书架?`,"放入书架",{confirmButtonText:"确认",cancelButtonText:"否",type:"info",closeOnHashChange:!1}).then(()=>{}).catch(async()=>{await Z.deleteBook(h)})};return je(async(o,i,P)=>{window.removeEventListener("keyup",Ce),await Oe(),P()}),(o,i)=>{const P=lo,h=Pe,W=oo,K=it;return m(),k("div",{class:Q(["chapter-wrapper",{night:a(E),day:!a(E)}]),style:T(a(me)),onClick:i[2]||(i[2]=u=>Y.value=!a(Y))},[t("div",{class:"tool-bar",style:T(a(ke))},[t("div",Ao,[N(h,{placement:"right",width:a(ce),trigger:"click","show-arrow":!1,visible:a(y),"onUpdate:visible":i[0]||(i[0]=u=>de(y)?y.value=u:null),"popper-class":"pop-cata"},{reference:z(()=>[t("div",{class:Q(["tool-icon",{"no-point":a(H)}])},i[3]||(i[3]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"目录",-1)]),2)]),default:z(()=>[N(P,{onGetContent:se,class:"popup"})]),_:1},8,["width","visible"]),N(h,{placement:"right",width:a(ce),trigger:"click","show-arrow":!1,visible:a(b),"onUpdate:visible":i[1]||(i[1]=u=>de(b)?b.value=u:null),"popper-class":"pop-setting"},{reference:z(()=>[t("div",{class:Q(["tool-icon",{"no-point":a(H)}])},i[4]||(i[4]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"设置",-1)]),2)]),default:z(()=>[N(W,{class:"popup"})]),_:1},8,["width","visible"]),t("div",{class:"tool-icon",onClick:w},i[5]||(i[5]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"书架",-1)])),t("div",{class:Q(["tool-icon",{"no-point":a(H)}]),onClick:q},i[6]||(i[6]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"顶部",-1)]),2),t("div",{class:Q(["tool-icon",{"no-point":a(H)}]),onClick:G},i[7]||(i[7]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"底部",-1)]),2)])],4),t("div",{class:"read-bar",style:T(a(Be))},[t("div",co,[t("div",{class:Q(["tool-icon",{"no-point":a(H)}]),onClick:we},[i[8]||(i[8]=t("div",{class:"iconfont"},"",-1)),a(B)?(m(),k("span",go,"上一章")):ge("",!0)],2),t("div",{class:Q(["tool-icon",{"no-point":a(H)}]),onClick:Se},[a(B)?(m(),k("span",uo,"下一章")):ge("",!0),i[9]||(i[9]=t("div",{class:"iconfont"},"",-1))],2)])],4),i[10]||(i[10]=t("div",{class:"chapter-bar"},null,-1)),t("div",{class:"chapter",ref_key:"content",ref:n,style:T(a(ve))},[t("div",po,[t("div",{class:"top-bar",ref_key:"top",ref:U},null,512),(m(!0),k(te,null,ie(a(x),u=>(m(),k("div",{key:u.index,chapterIndex:u.index,ref_for:!0,ref_key:"chapter",ref:Le},[a(V)?(m(),Xe(K,{key:0,ref_for:!0,ref_key:"chapterRef",ref:ye,chapterIndex:u.index,contents:u.content,title:u.title,spacing:a(s).config.spacing,fontSize:a(oe),fontFamily:a(S),onReadedLengthChange:Ke},null,8,["chapterIndex","contents","title","spacing","fontSize","fontFamily"])):ge("",!0)],8,fo))),128)),t("div",{class:"loading",ref_key:"loading",ref:R},null,512),t("div",{class:"bottom-bar",ref_key:"bottom",ref:e},null,512)])],4)],6)}}},yo=le(mo,[["__scopeId","data-v-f5309880"]]);export{yo as default}; diff --git a/app/src/main/assets/web/vue/assets/BookShelf-BGok8lmi.js b/app/src/main/assets/web/vue/assets/BookShelf-BGok8lmi.js deleted file mode 100644 index e41580be4a1c..000000000000 --- a/app/src/main/assets/web/vue/assets/BookShelf-BGok8lmi.js +++ /dev/null @@ -1 +0,0 @@ -import{a0 as Q,m as A,o as l,d as g,g as t,F as W,M as J,t as p,c as $,w as P,f as M,J as E,u as D,a1 as Z,a2 as q,e as T,I as G,p as L,v as z,a3 as X,L as j,a4 as ee,Q as te,j as k,y as se,D as oe,a5 as ae}from"./vendor-Bo0wn8_e.js";import{d as ne,i as re,u as ie}from"./loading-RAa6Kw1J.js";import{_ as x,A as f,u as ce}from"./index-C0anxQXj.js";const le={class:"books-wrapper"},de={class:"wrapper"},ue=["onClick"],he={class:"cover-img"},ge=["src"],pe={class:"info"},fe={class:"name"},me={class:"sub"},ve={class:"author"},we={key:0,class:"tags"},Be={key:1,class:"update-info"},Ce={class:"size"},ke={class:"date"},Ae={key:0,class:"intro"},Ie={key:1,class:"dur-chapter"},Se={class:"last-chapter"},ye={__name:"BookItems",props:["books","isSearch"],emits:["bookClick"],setup(e,{emit:r}){Q(o=>({"6068553a":D(C)}));const i=e,v=r,B=o=>v("bookClick",o),w=o=>re(o)?f.getProxyCoverUrl(o):o,I=o=>{o.target.src=f.getProxyCoverUrl(o.target.src)},C=A(()=>i.isSearch?"space-between":"flex-start");return(o,d)=>{const u=Z;return l(),g("div",le,[t("div",de,[(l(!0),g(W,null,J(e.books,n=>{var S;return l(),g("div",{class:"book",key:n.bookUrl,onClick:y=>B(n)},[t("div",he,[(l(),g("img",{class:"cover",src:w(n.coverUrl),key:n.coverUrl,onErrorOnce:I,alt:"",loading:"lazy"},null,40,ge))]),t("div",pe,[t("div",fe,p(n.name),1),t("div",me,[t("div",ve,p(n.author),1),e.isSearch?(l(),g("div",we,[(l(!0),g(W,null,J((S=n.kind)==null?void 0:S.split(",").slice(0,2),y=>(l(),$(u,{key:y},{default:P(()=>[M(p(y),1)]),_:2},1024))),128))])):E("",!0),e.isSearch?E("",!0):(l(),g("div",Be,[d[0]||(d[0]=t("div",{class:"dot"},"•",-1)),t("div",Ce,"共"+p(n.totalChapterNum)+"章",1),d[1]||(d[1]=t("div",{class:"dot"},"•",-1)),t("div",ke,p(D(ne)(n.lastCheckTime)),1)]))]),e.isSearch?(l(),g("div",Ae,p(n.intro),1)):E("",!0),e.isSearch?E("",!0):(l(),g("div",Ie," 已读:"+p(n.durChapterTitle),1)),t("div",Se,"最新:"+p(n.latestChapterTitle),1)])],8,ue)}),128))])])}}},_e=x(ye,[["__scopeId","data-v-136fc284"]]),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==",Ee=q({beforeRouteEnter:(e,r,i)=>{f.getReadConfig().then(v=>v.data).then(({isSuccess:v,data:B})=>{v&&i(w=>{w.saveReadConfig(B)})}).catch(()=>i())},setup:()=>{const e=ce(),r=A(()=>e.isNight),i=z({name:"尚无阅读记录",author:"",url:"",chapterIndex:0,chapterPos:0,isSeachBook:!1}),v=z(null),{showLoading:B,closeLoading:w,loadingWrapper:I,isLoading:C}=ie(v,"正在获取书籍信息"),o=X([]),d=A(()=>e.shelf),u=z(""),n=z(!1);j(()=>{if(!(n.value&&u.value!="")){if(n.value=!1,o.value=[],u.value==""){o.value=d.value;return}o.value=d.value.filter(s=>s.name.includes(u.value)||s.author.includes(u.value))}});const S=()=>{u.value!=""&&(o.value=[],e.clearSearchBooks(),B(),n.value=!0,f.search(u.value,s=>{C&&w();try{e.setSearchBooks(JSON.parse(s)),o.value=e.searchBooks}catch(a){throw k.error("后端数据错误"),a}},()=>{w(),o.value.length==0&&k.info("搜索结果为空")}))},y=A(()=>e.connectStatus),H=A(()=>e.connectType),U=A(()=>e.newConnect),O=()=>{ae.prompt("请输入 IP 和端口 ( 如:127.0.0.1:9527 或者通过内网穿透的地址)","提示",{confirmButtonText:"确定",cancelButtonText:"取消",inputPattern:/^[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?:([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-6][0-5][0-5][0-3][0-5])$/,inputErrorMessage:"url 形式不正确",beforeClose:(s,a,m)=>{if(s==="confirm"){e.setNewConnect(!0),a.confirmButtonLoading=!0,a.confirmButtonText="校验中……";const c=a.inputValue;f.testLeagdoHttpUrlConnection("http://"+c).then(function(h){V(h),a.confirmButtonLoading=!1,e.setConnectType("success"),e.setConnectStatus("已连接 "+c),e.clearSearchBooks(),e.setNewConnect(!1),f.setLeagdoHttpUrl("http://"+c),localStorage.setItem("remoteIp",c),b(),m()}).catch(function(h){throw a.confirmButtonLoading=!1,a.confirmButtonText="确定",k.error("访问失败,请检查您输入的 url"),e.setNewConnect(!1),h})}else m()}})},F=ee(),K=async s=>{const{bookUrl:a,name:m,author:c,durChapterIndex:h=0,durChapterPos:_=0}=s,R="respondTime"in s;R&&await f.saveBook(s),N(a,m,c,h,_,R)},N=(s,a,m,c,h,_,R=!1)=>{if(a!=="尚无阅读记录"){if(_===!0&&R){u.value=a,S();return}sessionStorage.setItem("bookUrl",s),sessionStorage.setItem("bookName",a),sessionStorage.setItem("bookAuthor",m),sessionStorage.setItem("chapterIndex",c),sessionStorage.setItem("chapterPos",h),sessionStorage.setItem("isSeachBook",String(_)),i.value={name:a,author:m,url:s,chapterIndex:c,chapterPos:h,isSeachBook:_},localStorage.setItem("readingRecent",JSON.stringify(i.value)),F.push({path:"/chapter"})}},Y=()=>{I(e.saveBookProgress().finally(b))},V=s=>{try{e.setConfig(JSON.parse(s))}catch{k.info("阅读界面配置解析错误")}},b=()=>f.getBookShelf().then(s=>{e.setConnectType("success"),s.data.isSuccess?e.addBooks(s.data.data.sort(function(a,m){var c=a.durChapterTime||0,h=m.durChapterTime||0;return h-c})):k.error(s.data.errorMsg??"后端返回格式错误!"),e.setConnectStatus("已连接 "+f.legado_http_origin),e.setNewConnect(!1)});return te(()=>{let s=localStorage.getItem("readingRecent");s!=null&&(i.value=JSON.parse(s),typeof i.value.chapterIndex>"u"&&(i.value.chapterIndex=0)),f.testLeagdoHttpUrlConnection().then(Y).catch(function(a){throw e.setConnectType("danger"),e.setConnectStatus("连接异常"),k.error("后端连接失败异常,请检查阅读WEB服务或者设置其它可用IP"),e.setNewConnect(!1),a})}),{setIP:O,isNight:r,connectStatus:y,connectType:H,newConnect:U,saveReadConfig:V,readingRecent:i,searchBook:S,books:o,handleBookClick:K,toDetail:N,isSearching:n,SearchIcon:se,githubUrl:Re,searchWord:u}}}),Te={class:"navigation-wrapper"},ze={class:"search-wrapper"},Le={class:"bottom-wrapper"},Pe={class:"recent-wrapper"},Me={class:"reading-recent"},Ne={class:"setting-wrapper"},Ve={class:"setting-item"},be={class:"bottom-icons"},We={href:"https://github.com/gedoor/legado_web_bookshelf",target:"_blank"},Je={class:"bottom-icon"},De=["src"],Ze={class:"shelf-wrapper",ref:"shelfWrapper"};function xe(e,r,i,v,B,w){const I=oe,C=Z,o=_e;return l(),g("div",{class:L({"index-wrapper":!0,night:e.isNight,day:!e.isNight})},[t("div",Te,[r[4]||(r[4]=t("div",{class:"navigation-title-wrapper"},[t("div",{class:"navigation-title"},"阅读"),t("div",{class:"navigation-sub-title"},"清风不识字,何故乱翻书")],-1)),t("div",ze,[T(I,{placeholder:"搜索书籍,在线书籍自动加入书架",modelValue:e.searchWord,"onUpdate:modelValue":r[0]||(r[0]=d=>e.searchWord=d),class:"search-input","prefix-icon":e.SearchIcon,onKeyup:G(e.searchBook,["enter"])},null,8,["modelValue","prefix-icon","onKeyup"])]),t("div",Le,[t("div",Pe,[r[2]||(r[2]=t("div",{class:"recent-title"},"最近阅读",-1)),t("div",Me,[T(C,{type:e.readingRecent.name=="尚无阅读记录"?"warning":"primary",class:L(["recent-book",{"no-point":e.readingRecent.url==""}]),size:"large",onClick:r[1]||(r[1]=d=>e.toDetail(e.readingRecent.url,e.readingRecent.name,e.readingRecent.author,e.readingRecent.chapterIndex,e.readingRecent.chapterPos,e.readingRecent.isSeachBook,!0))},{default:P(()=>[M(p(e.readingRecent.name),1)]),_:1},8,["type","class"])])]),t("div",Ne,[r[3]||(r[3]=t("div",{class:"setting-title"},"基本设定",-1)),t("div",Ve,[T(C,{type:e.connectType,size:"large",class:L(["setting-connect",{"no-point":e.newConnect}]),onClick:e.setIP},{default:P(()=>[M(p(e.connectStatus),1)]),_:1},8,["type","class","onClick"])])])]),t("div",be,[t("a",We,[t("div",Je,[t("img",{src:e.githubUrl,alt:""},null,8,De)])])])]),t("div",Ze,[T(o,{books:e.books,onBookClick:e.handleBookClick,isSearch:e.isSearching},null,8,["books","onBookClick","isSearch"])],512)],2)}const Fe=x(Ee,[["render",xe],["__scopeId","data-v-afe5e660"]]);export{Fe as default}; diff --git a/app/src/main/assets/web/vue/assets/BookShelf-BRXx-nUT.js b/app/src/main/assets/web/vue/assets/BookShelf-BRXx-nUT.js new file mode 100644 index 000000000000..922cf16990f1 --- /dev/null +++ b/app/src/main/assets/web/vue/assets/BookShelf-BRXx-nUT.js @@ -0,0 +1 @@ +import{a0 as $,m as _,o as h,d as f,g as t,F as U,M as W,t as m,c as q,w as M,f as V,J as L,u as J,a1 as D,a2 as G,e as E,I as X,p as N,v as T,a3 as j,L as ee,a4 as te,Q as se,j as S,y as oe,D as ae,a5 as ne}from"./vendor-Bo0wn8_e.js";import{d as re,i as ie,u as ce}from"./loading-RAa6Kw1J.js";import{_ as x,A as u,u as le}from"./index-BRaRvWwY.js";const de={class:"books-wrapper"},ue={class:"wrapper"},he=["onClick"],ge={class:"cover-img"},pe=["src"],fe={class:"info"},me={class:"name"},ve={class:"sub"},we={class:"author"},Be={key:0,class:"tags"},Ce={key:1,class:"update-info"},ke={class:"size"},ye={class:"date"},Se={key:0,class:"intro"},_e={key:1,class:"dur-chapter"},Ae={class:"last-chapter"},Re={__name:"BookItems",props:["books","isSearch"],emits:["bookClick"],setup(e,{emit:r}){$(a=>({"6068553a":J(k)}));const i=e,v=r,C=a=>v("bookClick",a),w=a=>ie(a)?u.getProxyCoverUrl(a):a,A=a=>{a.target.src=u.getProxyCoverUrl(a.target.src)},k=_(()=>i.isSearch?"space-between":"flex-start");return(a,g)=>{const p=D;return h(),f("div",de,[t("div",ue,[(h(!0),f(U,null,W(e.books,n=>{var R;return h(),f("div",{class:"book",key:n.bookUrl,onClick:I=>C(n)},[t("div",ge,[(h(),f("img",{class:"cover",src:w(n.coverUrl),key:n.coverUrl,onErrorOnce:A,alt:"",loading:"lazy"},null,40,pe))]),t("div",fe,[t("div",me,m(n.name),1),t("div",ve,[t("div",we,m(n.author),1),e.isSearch?(h(),f("div",Be,[(h(!0),f(U,null,W((R=n.kind)==null?void 0:R.split(",").slice(0,2),I=>(h(),q(p,{key:I},{default:M(()=>[V(m(I),1)]),_:2},1024))),128))])):L("",!0),e.isSearch?L("",!0):(h(),f("div",Ce,[g[0]||(g[0]=t("div",{class:"dot"},"•",-1)),t("div",ke,"共"+m(n.totalChapterNum)+"章",1),g[1]||(g[1]=t("div",{class:"dot"},"•",-1)),t("div",ye,m(J(re)(n.lastCheckTime)),1)]))]),e.isSearch?(h(),f("div",Se,m(n.intro),1)):L("",!0),e.isSearch?L("",!0):(h(),f("div",_e," 已读:"+m(n.durChapterTitle),1)),t("div",Ae,"最新:"+m(n.latestChapterTitle),1)])],8,he)}),128))])])}}},Ie=x(Re,[["__scopeId","data-v-136fc284"]]),Le="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==",Ee=G({beforeRouteEnter:(e,r,i)=>{u.getReadConfig().then(v=>v.data).then(({isSuccess:v,data:C})=>{v&&i(w=>{w.saveReadConfig(C)})}).catch(()=>i())},setup:()=>{const e=le(),r=_(()=>e.isNight),i=T({name:"尚无阅读记录",author:"",url:"",chapterIndex:0,chapterPos:0,isSeachBook:!1}),v=T(null),{showLoading:C,closeLoading:w,loadingWrapper:A,isLoading:k}=ce(v,"正在获取书籍信息"),a=j([]),g=_(()=>e.shelf),p=T(""),n=T(!1);ee(()=>{if(!(n.value&&p.value!="")){if(n.value=!1,a.value=[],p.value==""){a.value=g.value;return}a.value=g.value.filter(s=>s.name.includes(p.value)||s.author.includes(p.value))}});const R=()=>{p.value!=""&&(a.value=[],e.clearSearchBooks(),C(),n.value=!0,u.search(p.value,s=>{k&&w();try{e.setSearchBooks(JSON.parse(s)),a.value=e.searchBooks}catch(o){throw S.error("后端数据错误"),o}},()=>{w(),a.value.length==0&&S.info("搜索结果为空")}))},I=_(()=>e.connectStatus),H=_(()=>e.connectType),O=_(()=>e.newConnect),Z=()=>{ne.prompt("请输入 后端地址 ( 如:http://127.0.0.1:9527 或者通过内网穿透的地址)","提示",{confirmButtonText:"确定",cancelButtonText:"取消",inputPlaceholder:u.legado_http_origin,inputValidator:s=>{try{const{origin:o,protocol:c,username:l,password:d,pathname:B,search:y,hash:Q}=new URL(s);if(o==u.legado_http_origin)return"请输入非当前远程链接";if(!c.startsWith("http"))return`不支持协议${c}`;if(B!=="/"||y!==""||Q!==""||d!==""||l!=="")return`目前仅支持输入${o}`}catch{return"URL解析失败,请重新输入"}return!0},beforeClose:(s,o,c)=>{if(s==="confirm"){e.setNewConnect(!0),o.confirmButtonLoading=!0,o.confirmButtonText="校验中……";const l=o.inputValue;u.testLeagdoHttpUrlConnection(l).then(function(d){P(d),o.confirmButtonLoading=!1,e.setConnectType("success"),e.setConnectStatus("已连接 "+l),e.clearSearchBooks(),e.setNewConnect(!1),u.setLeagdoHttpUrl(l),b(),c()}).catch(function(d){throw o.confirmButtonLoading=!1,o.confirmButtonText="确定",S.error("访问失败,请检查您输入的 url"),e.setNewConnect(!1),d})}else c()}})},F=te(),K=async s=>{const{bookUrl:o,name:c,author:l,durChapterIndex:d=0,durChapterPos:B=0}=s,y="respondTime"in s;y&&await u.saveBook(s),z(o,c,l,d,B,y)},z=(s,o,c,l,d,B,y=!1)=>{if(o!=="尚无阅读记录"){if(B===!0&&y){p.value=o,R();return}sessionStorage.setItem("bookUrl",s),sessionStorage.setItem("bookName",o),sessionStorage.setItem("bookAuthor",c),sessionStorage.setItem("chapterIndex",l),sessionStorage.setItem("chapterPos",d),sessionStorage.setItem("isSeachBook",String(B)),i.value={name:o,author:c,url:s,chapterIndex:l,chapterPos:d,isSeachBook:B},localStorage.setItem("readingRecent",JSON.stringify(i.value)),F.push({path:"/chapter"})}},Y=()=>{A(e.saveBookProgress().finally(b))},P=s=>{try{e.setConfig(JSON.parse(s))}catch{S.info("阅读界面配置解析错误")}},b=()=>u.getBookShelf().then(s=>{e.setConnectType("success"),s.data.isSuccess?e.addBooks(s.data.data.sort(function(o,c){var l=o.durChapterTime||0,d=c.durChapterTime||0;return d-l})):S.error(s.data.errorMsg??"后端返回格式错误!"),e.setConnectStatus("已连接 "+u.legado_http_origin),e.setNewConnect(!1)});return se(()=>{let s=localStorage.getItem("readingRecent");s!=null&&(i.value=JSON.parse(s),typeof i.value.chapterIndex>"u"&&(i.value.chapterIndex=0)),u.testLeagdoHttpUrlConnection().then(Y).catch(function(o){throw e.setConnectType("danger"),e.setConnectStatus("连接异常"),S.error("后端连接失败异常,请检查阅读WEB服务或者设置其它可用IP"),e.setNewConnect(!1),o})}),{setLegadoRetmoteUrl:Z,isNight:r,connectStatus:I,connectType:H,newConnect:O,saveReadConfig:P,readingRecent:i,searchBook:R,books:a,handleBookClick:K,toDetail:z,isSearching:n,SearchIcon:oe,githubUrl:Le,searchWord:p}}}),Te={class:"navigation-wrapper"},Ne={class:"search-wrapper"},Me={class:"bottom-wrapper"},Ve={class:"recent-wrapper"},ze={class:"reading-recent"},Pe={class:"setting-wrapper"},be={class:"setting-item"},Ue={class:"bottom-icons"},We={href:"https://github.com/gedoor/legado_web_bookshelf",target:"_blank"},Je={class:"bottom-icon"},De=["src"],xe={class:"shelf-wrapper",ref:"shelfWrapper"};function He(e,r,i,v,C,w){const A=ae,k=D,a=Ie;return h(),f("div",{class:N({"index-wrapper":!0,night:e.isNight,day:!e.isNight})},[t("div",Te,[r[4]||(r[4]=t("div",{class:"navigation-title-wrapper"},[t("div",{class:"navigation-title"},"阅读"),t("div",{class:"navigation-sub-title"},"清风不识字,何故乱翻书")],-1)),t("div",Ne,[E(A,{placeholder:"搜索书籍,在线书籍自动加入书架",modelValue:e.searchWord,"onUpdate:modelValue":r[0]||(r[0]=g=>e.searchWord=g),class:"search-input","prefix-icon":e.SearchIcon,onKeyup:X(e.searchBook,["enter"])},null,8,["modelValue","prefix-icon","onKeyup"])]),t("div",Me,[t("div",Ve,[r[2]||(r[2]=t("div",{class:"recent-title"},"最近阅读",-1)),t("div",ze,[E(k,{type:e.readingRecent.name=="尚无阅读记录"?"warning":"primary",class:N(["recent-book",{"no-point":e.readingRecent.url==""}]),size:"large",onClick:r[1]||(r[1]=g=>e.toDetail(e.readingRecent.url,e.readingRecent.name,e.readingRecent.author,e.readingRecent.chapterIndex,e.readingRecent.chapterPos,e.readingRecent.isSeachBook,!0))},{default:M(()=>[V(m(e.readingRecent.name),1)]),_:1},8,["type","class"])])]),t("div",Pe,[r[3]||(r[3]=t("div",{class:"setting-title"},"基本设定",-1)),t("div",be,[E(k,{type:e.connectType,size:"large",class:N(["setting-connect",{"no-point":e.newConnect}]),onClick:e.setLegadoRetmoteUrl},{default:M(()=>[V(m(e.connectStatus),1)]),_:1},8,["type","class","onClick"])])])]),t("div",Ue,[t("a",We,[t("div",Je,[t("img",{src:e.githubUrl,alt:""},null,8,De)])])])]),t("div",xe,[E(a,{books:e.books,onBookClick:e.handleBookClick,isSearch:e.isSearching},null,8,["books","onBookClick","isSearch"])],512)],2)}const Ke=x(Ee,[["render",He],["__scopeId","data-v-ab54aac7"]]);export{Ke as default}; diff --git a/app/src/main/assets/web/vue/assets/BookShelf-DOtbD_N8.css b/app/src/main/assets/web/vue/assets/BookShelf-CKJPVLil.css similarity index 62% rename from app/src/main/assets/web/vue/assets/BookShelf-DOtbD_N8.css rename to app/src/main/assets/web/vue/assets/BookShelf-CKJPVLil.css index 55516d8445e8..89f31ecf18ff 100644 --- a/app/src/main/assets/web/vue/assets/BookShelf-DOtbD_N8.css +++ b/app/src/main/assets/web/vue/assets/BookShelf-CKJPVLil.css @@ -1 +1 @@ -@charset "UTF-8";.books-wrapper[data-v-136fc284]{overflow:auto}.books-wrapper .wrapper[data-v-136fc284]{display:grid;grid-template-columns:repeat(auto-fill,380px);justify-content:space-around;grid-gap:10px}.books-wrapper .wrapper .book[data-v-136fc284]{-webkit-user-select:none;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-136fc284],.books-wrapper .wrapper .book .cover-img .cover[data-v-136fc284]{width:84px;height:112px}.books-wrapper .wrapper .book .info[data-v-136fc284]{display:flex;flex-direction:column;justify-content:space-around;align-items:left;height:112px;margin-left:20px;flex:1;overflow:hidden}.books-wrapper .wrapper .book .info .name[data-v-136fc284]{width:fit-content;font-size:16px;font-weight:700;color:#33373d}.books-wrapper .wrapper .book .info .sub[data-v-136fc284]{display:flex;flex-direction:row;align-items:baseline;justify-content:var(--6068553a);font-size:12px;font-weight:600;color:#6b6b6b}.books-wrapper .wrapper .book .info .sub .tags[data-v-136fc284] .el-tag{margin-right:.5em}.books-wrapper .wrapper .book .info .sub .update-info[data-v-136fc284]{display:flex}.books-wrapper .wrapper .book .info .sub .update-info .dot[data-v-136fc284]{margin:0 7px}.books-wrapper .wrapper .book .info .intro[data-v-136fc284],.books-wrapper .wrapper .book .info .dur-chapter[data-v-136fc284],.books-wrapper .wrapper .book .info .last-chapter[data-v-136fc284]{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-136fc284]:hover{background:#0000001a;transition-duration:.5s}.books-wrapper .wrapper[data-v-136fc284]:last-child{margin-right:auto}.books-wrapper[data-v-136fc284]::-webkit-scrollbar{width:0!important}@media screen and (max-width: 750px){.books-wrapper .wrapper[data-v-136fc284]{display:flex;flex-direction:column}.books-wrapper .wrapper .book[data-v-136fc284]{box-sizing:border-box;width:100%;margin-bottom:0;padding:10px 20px}}body{padding:0;margin:0;height:100vh}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50;margin:0;height:100%}@font-face{font-family:FZZCYSK;src:local("☺"),url(./shelffont-D-W4UqG-.ttf);font-style:normal;font-weight:400}.index-wrapper[data-v-afe5e660]{height:100%;width:100%;display:flex;flex-direction:row}.index-wrapper .navigation-wrapper[data-v-afe5e660]{width:260px;min-width:260px;padding:48px 36px;background-color:#f7f7f7}.index-wrapper .navigation-wrapper .navigation-title[data-v-afe5e660]{font-size:24px;font-weight:500;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .navigation-sub-title[data-v-afe5e660]{font-size:16px;font-weight:300;font-family:FZZCYSK;margin-top:16px;color:#b1b1b1}.index-wrapper .navigation-wrapper .search-wrapper .search-input[data-v-afe5e660]{border-radius:50%;margin-top:24px}.index-wrapper .navigation-wrapper .search-wrapper .search-input[data-v-afe5e660] .el-input__wrapper{border-radius:50px;border-color:#e3e3e3}.index-wrapper .navigation-wrapper .bottom-wrapper[data-v-afe5e660]{display:flex;flex-direction:column}.index-wrapper .navigation-wrapper .recent-wrapper[data-v-afe5e660]{margin-top:36px}.index-wrapper .navigation-wrapper .recent-wrapper .recent-title[data-v-afe5e660]{font-size:14px;color:#b1b1b1;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .recent-wrapper .reading-recent[data-v-afe5e660]{margin:18px 0}.index-wrapper .navigation-wrapper .recent-wrapper .reading-recent .recent-book[data-v-afe5e660]{font-size:10px;cursor:pointer}.index-wrapper .navigation-wrapper .setting-wrapper[data-v-afe5e660]{margin-top:36px}.index-wrapper .navigation-wrapper .setting-wrapper .setting-title[data-v-afe5e660]{font-size:14px;color:#b1b1b1;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .setting-wrapper .no-point[data-v-afe5e660]{pointer-events:none}.index-wrapper .navigation-wrapper .setting-wrapper .setting-connect[data-v-afe5e660]{font-size:8px;margin-top:16px;cursor:pointer}.index-wrapper .navigation-wrapper .bottom-icons[data-v-afe5e660]{position:fixed;bottom:0;height:120px;width:260px;align-items:center;display:flex;flex-direction:row}.index-wrapper .shelf-wrapper[data-v-afe5e660]{padding:48px;width:100%;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}@media screen and (max-width: 750px){.index-wrapper[data-v-afe5e660]{overflow-x:hidden;flex-direction:column}.index-wrapper .navigation-wrapper[data-v-afe5e660]{padding:20px 24px;box-sizing:border-box;width:100%}.index-wrapper .navigation-wrapper .navigation-title-wrapper[data-v-afe5e660]{white-space:nowrap;display:flex;justify-content:space-between;align-items:flex-end}.index-wrapper .navigation-wrapper .bottom-wrapper[data-v-afe5e660]{flex-direction:row}.index-wrapper .navigation-wrapper .bottom-wrapper[data-v-afe5e660]>*{flex-grow:1;margin-top:18px}.index-wrapper .navigation-wrapper .bottom-wrapper>* .reading-recent[data-v-afe5e660],.index-wrapper .navigation-wrapper .bottom-wrapper>* .setting-item[data-v-afe5e660]{margin-bottom:0}.index-wrapper .navigation-wrapper .bottom-icons[data-v-afe5e660]{display:none}.index-wrapper .shelf-wrapper[data-v-afe5e660]{padding:0;flex-grow:1}.index-wrapper .shelf-wrapper[data-v-afe5e660] .el-loading-spinner{display:none}}.night[data-v-afe5e660] .navigation-wrapper{background-color:#454545}.night[data-v-afe5e660] .navigation-wrapper .navigation-title{color:#aeaeae}.night[data-v-afe5e660] .navigation-wrapper .search-wrapper .search-input .el-input__wrapper{background-color:#454545}.night[data-v-afe5e660] .navigation-wrapper .search-wrapper .search-input .el-input__inner{color:#b1b1b1}.night[data-v-afe5e660] .shelf-wrapper{background-color:#161819} +@charset "UTF-8";.books-wrapper[data-v-136fc284]{overflow:auto}.books-wrapper .wrapper[data-v-136fc284]{display:grid;grid-template-columns:repeat(auto-fill,380px);justify-content:space-around;grid-gap:10px}.books-wrapper .wrapper .book[data-v-136fc284]{-webkit-user-select:none;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-136fc284],.books-wrapper .wrapper .book .cover-img .cover[data-v-136fc284]{width:84px;height:112px}.books-wrapper .wrapper .book .info[data-v-136fc284]{display:flex;flex-direction:column;justify-content:space-around;align-items:left;height:112px;margin-left:20px;flex:1;overflow:hidden}.books-wrapper .wrapper .book .info .name[data-v-136fc284]{width:fit-content;font-size:16px;font-weight:700;color:#33373d}.books-wrapper .wrapper .book .info .sub[data-v-136fc284]{display:flex;flex-direction:row;align-items:baseline;justify-content:var(--6068553a);font-size:12px;font-weight:600;color:#6b6b6b}.books-wrapper .wrapper .book .info .sub .tags[data-v-136fc284] .el-tag{margin-right:.5em}.books-wrapper .wrapper .book .info .sub .update-info[data-v-136fc284]{display:flex}.books-wrapper .wrapper .book .info .sub .update-info .dot[data-v-136fc284]{margin:0 7px}.books-wrapper .wrapper .book .info .intro[data-v-136fc284],.books-wrapper .wrapper .book .info .dur-chapter[data-v-136fc284],.books-wrapper .wrapper .book .info .last-chapter[data-v-136fc284]{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-136fc284]:hover{background:#0000001a;transition-duration:.5s}.books-wrapper .wrapper[data-v-136fc284]:last-child{margin-right:auto}.books-wrapper[data-v-136fc284]::-webkit-scrollbar{width:0!important}@media screen and (max-width: 750px){.books-wrapper .wrapper[data-v-136fc284]{display:flex;flex-direction:column}.books-wrapper .wrapper .book[data-v-136fc284]{box-sizing:border-box;width:100%;margin-bottom:0;padding:10px 20px}}body{padding:0;margin:0;height:100vh}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50;margin:0;height:100%}@font-face{font-family:FZZCYSK;src:local("☺"),url(./shelffont-D-W4UqG-.ttf);font-style:normal;font-weight:400}.index-wrapper[data-v-ab54aac7]{height:100%;width:100%;display:flex;flex-direction:row}.index-wrapper .navigation-wrapper[data-v-ab54aac7]{width:260px;min-width:260px;padding:48px 36px;background-color:#f7f7f7}.index-wrapper .navigation-wrapper .navigation-title[data-v-ab54aac7]{font-size:24px;font-weight:500;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .navigation-sub-title[data-v-ab54aac7]{font-size:16px;font-weight:300;font-family:FZZCYSK;margin-top:16px;color:#b1b1b1}.index-wrapper .navigation-wrapper .search-wrapper .search-input[data-v-ab54aac7]{border-radius:50%;margin-top:24px}.index-wrapper .navigation-wrapper .search-wrapper .search-input[data-v-ab54aac7] .el-input__wrapper{border-radius:50px;border-color:#e3e3e3}.index-wrapper .navigation-wrapper .bottom-wrapper[data-v-ab54aac7]{display:flex;flex-direction:column}.index-wrapper .navigation-wrapper .recent-wrapper[data-v-ab54aac7]{margin-top:36px}.index-wrapper .navigation-wrapper .recent-wrapper .recent-title[data-v-ab54aac7]{font-size:14px;color:#b1b1b1;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .recent-wrapper .reading-recent[data-v-ab54aac7]{margin:18px 0}.index-wrapper .navigation-wrapper .recent-wrapper .reading-recent .recent-book[data-v-ab54aac7]{font-size:10px;cursor:pointer}.index-wrapper .navigation-wrapper .setting-wrapper[data-v-ab54aac7]{margin-top:36px}.index-wrapper .navigation-wrapper .setting-wrapper .setting-title[data-v-ab54aac7]{font-size:14px;color:#b1b1b1;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .setting-wrapper .no-point[data-v-ab54aac7]{pointer-events:none}.index-wrapper .navigation-wrapper .setting-wrapper .setting-connect[data-v-ab54aac7]{font-size:8px;margin-top:16px;cursor:pointer}.index-wrapper .navigation-wrapper .bottom-icons[data-v-ab54aac7]{position:fixed;bottom:0;height:120px;width:260px;align-items:center;display:flex;flex-direction:row}.index-wrapper .shelf-wrapper[data-v-ab54aac7]{padding:48px;width:100%;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}@media screen and (max-width: 750px){.index-wrapper[data-v-ab54aac7]{overflow-x:hidden;flex-direction:column}.index-wrapper .navigation-wrapper[data-v-ab54aac7]{padding:20px 24px;box-sizing:border-box;width:100%}.index-wrapper .navigation-wrapper .navigation-title-wrapper[data-v-ab54aac7]{white-space:nowrap;display:flex;justify-content:space-between;align-items:flex-end}.index-wrapper .navigation-wrapper .bottom-wrapper[data-v-ab54aac7]{flex-direction:row}.index-wrapper .navigation-wrapper .bottom-wrapper[data-v-ab54aac7]>*{flex-grow:1;margin-top:18px}.index-wrapper .navigation-wrapper .bottom-wrapper>* .reading-recent[data-v-ab54aac7],.index-wrapper .navigation-wrapper .bottom-wrapper>* .setting-item[data-v-ab54aac7]{margin-bottom:0}.index-wrapper .navigation-wrapper .bottom-icons[data-v-ab54aac7]{display:none}.index-wrapper .shelf-wrapper[data-v-ab54aac7]{padding:0;flex-grow:1}.index-wrapper .shelf-wrapper[data-v-ab54aac7] .el-loading-spinner{display:none}}.night[data-v-ab54aac7] .navigation-wrapper{background-color:#454545}.night[data-v-ab54aac7] .navigation-wrapper .navigation-title{color:#aeaeae}.night[data-v-ab54aac7] .navigation-wrapper .search-wrapper .search-input .el-input__wrapper{background-color:#454545}.night[data-v-ab54aac7] .navigation-wrapper .search-wrapper .search-input .el-input__inner{color:#b1b1b1}.night[data-v-ab54aac7] .shelf-wrapper{background-color:#161819} diff --git a/app/src/main/assets/web/vue/assets/index-C0anxQXj.js b/app/src/main/assets/web/vue/assets/index-BRaRvWwY.js similarity index 60% rename from app/src/main/assets/web/vue/assets/index-C0anxQXj.js rename to app/src/main/assets/web/vue/assets/index-BRaRvWwY.js index 39b6f00de3a6..662c15bb2fd0 100644 --- a/app/src/main/assets/web/vue/assets/index-C0anxQXj.js +++ b/app/src/main/assets/web/vue/assets/index-BRaRvWwY.js @@ -1,10 +1,10 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BookShelf-BGok8lmi.js","./vendor-Bo0wn8_e.js","./vendor-Bui7wm94.css","./loading-RAa6Kw1J.js","./loading-DyaW7RXx.css","./BookShelf-DOtbD_N8.css","./BookChapter-DulznHVb.js","./BookChapter-BgNMFAcT.css"])))=>i.map(i=>d[i]); -import{r as xe,o as g,c as w,a as ne,b as re,d as E,e as m,w as p,f as y,u as s,l as L,g as h,F as O,E as Ee,h as me,i as Ne,j as B,k as Se,m as J,t as X,n as he,p as fe,q as se,s as Ie,v as P,x as H,y as ye,z as Ve,A as Te,B as ue,V as Re,C as Le,D as Y,G as Oe,H as ie,I as Pe,J as V,K as $e,L as Je,M as j,N as be,O as _e,P as F,Q as De,R as je,S as Ae,T as He,U as Ke,W as Me,X as We,Y as Fe,Z as qe,_ as ze,$ as Ge}from"./vendor-Bo0wn8_e.js";(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))r(n);new MutationObserver(n=>{for(const i of n)if(i.type==="childList")for(const c of i.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&r(c)}).observe(document,{childList:!0,subtree:!0});function t(n){const i={};return n.integrity&&(i.integrity=n.integrity),n.referrerPolicy&&(i.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?i.credentials="include":n.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(n){if(n.ep)return;n.ep=!0;const i=t(n);fetch(n.href,i)}})();const $=(e,o)=>{const t=e.__vccOpts||e;for(const[r,n]of o)t[r]=n;return t},Qe={};function Xe(e,o){const t=xe("router-view");return g(),w(t)}const Ye=$(Qe,[["render",Xe]]),Ze="modulepreload",et=function(e,o){return new URL(e,o).href},ce={},de=function(o,t,r){let n=Promise.resolve();if(t&&t.length>0){const c=document.getElementsByTagName("link"),d=document.querySelector("meta[property=csp-nonce]"),k=(d==null?void 0:d.nonce)||(d==null?void 0:d.getAttribute("nonce"));n=Promise.allSettled(t.map(b=>{if(b=et(b,r),b in ce)return;ce[b]=!0;const U=b.endsWith(".css"),N=U?'[rel="stylesheet"]':"";if(!!r)for(let _=c.length-1;_>=0;_--){const v=c[_];if(v.href===b&&(!U||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${b}"]${N}`))return;const l=document.createElement("link");if(l.rel=U?"stylesheet":Ze,U||(l.as="script"),l.crossOrigin="",l.href=b,k&&l.setAttribute("nonce",k),document.head.appendChild(l),U)return new Promise((_,v)=>{l.addEventListener("load",_),l.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${b}`)))})}))}function i(c){const d=new Event("vite:preloadError",{cancelable:!0});if(d.payload=c,window.dispatchEvent(d),!d.defaultPrevented)throw c}return n.then(c=>{for(const d of c||[])d.status==="rejected"&&i(d.reason);return o().catch(i)})},ke=[{path:"/",name:"shelf",component:()=>de(()=>import("./BookShelf-BGok8lmi.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)},{path:"/chapter",name:"chapter",component:()=>de(()=>import("./BookChapter-DulznHVb.js"),__vite__mapDeps([6,1,2,3,4,7]),import.meta.url)}];ne({history:re(),routes:ke});const tt={style:{"margin-top":"20px"}},ot={__name:"SourceHelp",setup(e){return(o,t)=>{const r=Ee,n=me;return g(),E(O,null,[m(r,{icon:s(L),href:"/help/#appHelp",target:"_blank"},{default:p(()=>t[0]||(t[0]=[y("APP帮助文档")])),_:1},8,["icon"]),t[19]||(t[19]=h("br",null,null,-1)),m(r,{icon:s(L),href:"/help/#ruleHelp",target:"_blank"},{default:p(()=>t[1]||(t[1]=[y("书源制作教程")])),_:1},8,["icon"]),t[20]||(t[20]=h("br",null,null,-1)),m(r,{icon:s(L),href:"/help/#jsHelp",target:"_blank"},{default:p(()=>t[2]||(t[2]=[y("js变量和函数")])),_:1},8,["icon"]),t[21]||(t[21]=h("br",null,null,-1)),m(r,{icon:s(L),href:"/help/#xpathHelp",target:"_blank"},{default:p(()=>t[3]||(t[3]=[y("xpath语法教程")])),_:1},8,["icon"]),t[22]||(t[22]=h("br",null,null,-1)),m(r,{icon:s(L),href:"/help/#regexHelp",target:"_blank"},{default:p(()=>t[4]||(t[4]=[y("正则表达式教程")])),_:1},8,["icon"]),t[23]||(t[23]=h("br",null,null,-1)),m(r,{icon:s(L),href:"/help/#txtTocRuleHelp",target:"_blank"},{default:p(()=>t[5]||(t[5]=[y("txt目录正则说明")])),_:1},8,["icon"]),t[24]||(t[24]=h("br",null,null,-1)),m(r,{icon:s(L),href:"/help/#debugHelp",target:"_blank"},{default:p(()=>t[6]||(t[6]=[y("书源调试说明")])),_:1},8,["icon"]),t[25]||(t[25]=h("br",null,null,-1)),m(r,{icon:s(L),href:"/help/#httpTTSHelp",target:"_blank"},{default:p(()=>t[7]||(t[7]=[y("在线朗读规则")])),_:1},8,["icon"]),t[26]||(t[26]=h("br",null,null,-1)),m(r,{icon:s(L),href:"/help/#webDavBookHelp",target:"_blank"},{default:p(()=>t[8]||(t[8]=[y(" WebDav书籍简明使用教程")])),_:1},8,["icon"]),t[27]||(t[27]=h("br",null,null,-1)),m(r,{icon:s(L),href:"/help/#webDavHelp",target:"_blank"},{default:p(()=>t[9]||(t[9]=[y(" WebDav备份教程")])),_:1},8,["icon"]),t[28]||(t[28]=h("br",null,null,-1)),m(r,{icon:s(L),href:"https://regexr-cn.com/",target:"_blank"},{default:p(()=>t[10]||(t[10]=[y("正则表达式在线验证工具")])),_:1},8,["icon"]),t[29]||(t[29]=h("br",null,null,-1)),h("div",tt,[h("span",null,[m(n,null,{default:p(()=>t[11]||(t[11]=[h("code",null,"^$()[]{}.?+*|",-1),y(" 这些是Java正则特殊符号,匹配需转义")])),_:1})]),t[15]||(t[15]=h("br",null,null,-1)),h("span",null,[m(n,null,{default:p(()=>t[12]||(t[12]=[h("code",null,"(?s)",-1),y(" 前缀表示跨行解析")])),_:1})]),t[16]||(t[16]=h("br",null,null,-1)),h("span",null,[m(n,null,{default:p(()=>t[13]||(t[13]=[h("code",null,"(?m)",-1),y(" 前缀表示逐行匹配")])),_:1})]),t[17]||(t[17]=h("br",null,null,-1)),h("span",null,[m(n,null,{default:p(()=>t[14]||(t[14]=[h("code",null,"(?i)",-1),y(" 前缀表示忽略大小写")])),_:1})]),t[18]||(t[18]=h("br",null,null,-1))])],64)}}},nt=$(ot,[["__scopeId","data-v-fe99b178"]]),rt=1e3,C=Ne.create({baseURL:localStorage.getItem("remoteIp")||location.origin,timeout:120*rt});let K,le;const ve=e=>{let o;const{protocol:t,hostname:r,port:n}=new URL(e);if(!t.startsWith("http"))throw new Error("unexpect protocol:"+e);C.defaults.baseURL=e,K=e,n!==""?o=Number(n)+1:o=t.startsWith("https:")?"444":"81",le=`${t.startsWith("https:")?"wss://":"ws://"}${r}:${o}`};ve(C.defaults.baseURL);const st=async e=>{const{data:o={}}=await C.get("/getReadConfig",{baseURL:e,timeout:3e3});try{if("isSuccess"in o)return o.data;throw new Error("ReadConfig后端返回格式错误")}catch{throw new Error("ReadConfig后端返回格式错误")}},it=/source/i.test(location.href),lt=e=>{throw it&&B({message:"后端错误,检查网络或者阅读app",type:"error"}),e};C.interceptors.response.use(e=>e,lt);const at=()=>C.get("/getReadConfig",{timeout:3e3}),ut=e=>C.post("/saveReadConfig",e),ct=e=>C.post("/saveBookProgress",e),dt=e=>{e&&navigator.sendBeacon(`${K}/saveBookProgress`,JSON.stringify(e))},pt=()=>C.get("/getBookshelf"),gt=e=>C.get("/getChapterList?url="+encodeURIComponent(e)),mt=(e,o)=>C.get("/getBookContent?url="+encodeURIComponent(e)+"&index="+o),St=(e,o,t)=>{const r=`${le}/searchBook`,n=new WebSocket(r);n.onopen=()=>{n.send(`{"key":"${e}"}`)},n.onmessage=({data:i})=>o(i),n.onclose=()=>{t()}},ht=e=>C.post("/saveBook",e),ft=e=>C.post("/deleteBook",e),Q=/bookSource/i.test(location.href),yt=()=>Q?C.get("/getBookSources"):C.get("/getRssSources"),bt=e=>Q?C.post("/saveBookSource",e):C.post("/saveRssSource",e),_t=e=>Q?C.post("/saveBookSources",e):C.post("/saveRssSources",e),kt=e=>Q?C.post("/deleteBookSources",e):C.post("/deleteRssSources",e),vt=(e,o,t,r)=>{const n=`${le}/${Q?"bookSource":"rssSource"}Debug`,i=new WebSocket(n);i.onopen=()=>{i.send(JSON.stringify({tag:e,key:o}))},i.onmessage=({data:c})=>t(c),i.onclose=()=>{B({message:"调试已关闭!",type:"info"}),r()}},wt=e=>e.startsWith(K)?e:K+"/cover?path="+encodeURIComponent(e),Ct=(e,o)=>e.startsWith(K)?e:K+"/image?path="+encodeURIComponent(e)+"&url="+encodeURIComponent(sessionStorage.getItem("bookUrl"))+"&width="+o,A={getReadConfig:at,saveReadConfig:ut,saveBookProgress:ct,saveBookProgressWithBeacon:dt,getBookShelf:pt,getChapterList:gt,getBookContent:mt,search:St,saveBook:ht,deleteBook:ft,getSources:yt,saveSources:_t,saveSource:bt,deleteSource:kt,debug:vt,getProxyCoverUrl:wt,getProxyImageUrl:Ct,testLeagdoHttpUrlConnection:st,setLeagdoHttpUrl:ve,legado_http_origin:K},G=e=>e==null||e.length===0||/^\s+$/.test(e),ae=e=>"bookSourceName"in e,Ut=e=>ae(e)?!G(e.bookSourceName)&&!G(e.bookSourceUrl)&&!G(e.bookSourceType):!G(e.sourceName)&&!G(e.sourceUrl),Z=e=>ae(e)?e.bookSourceUrl:e.sourceUrl,Bt=(e,o)=>{var t,r,n,i,c,d,k,b;return ae(e)?(((t=e.bookSourceName)==null?void 0:t.includes(o))||((r=e.bookSourceUrl)==null?void 0:r.includes(o))||((n=e.bookSourceGroup)==null?void 0:n.includes(o))||((i=e.bookSourceComment)==null?void 0:i.includes(o)))??!1:(((c=e.sourceName)==null?void 0:c.includes(o))||((d=e.sourceUrl)==null?void 0:d.includes(o))||((k=e.sourceGroup)==null?void 0:k.includes(o))||((b=e.sourceComment)==null?void 0:b.includes(o)))??!1},oe=e=>{const o=new Map;return e.forEach(t=>o.set(Z(t),t)),o},xt={ruleSearch:{},ruleBookInfo:{},ruleToc:{},ruleContent:{},ruleReview:{},ruleExplore:{}},Et={},q=/bookSource/i.test(location.href),pe=q?xt:Et,M=Se("source",{state:()=>({bookSources:[],rssSources:[],savedSources:[],currentSource:JSON.parse(JSON.stringify(pe)),currentTab:localStorage.getItem("tabName")||"editTab",editTabSource:{},isDebuging:!1}),getters:{sources:e=>q?e.bookSources:e.rssSources,sourcesMap:e=>oe(e.sources),savedSourcesMap:e=>oe(e.savedSources),currentSourceUrl:e=>q?e.currentSource.bookSourceUrl:e.currentSource.sourceUrl,searchKey:e=>q?e.currentSource.ruleSearch.checkKeyWord||"我的":null},actions:{startDebug(){this.currentTab="editDebug",this.isDebuging=!0},debugFinish(){this.isDebuging=!1},saveSources(e){q?this.bookSources=e:this.rssSources=e},setPushReturnSources(e){this.savedSources=e},deleteSources(e){let o=q?this.bookSources:this.rssSources;e.forEach(t=>{let r=o.indexOf(t);r>-1&&o.splice(r,1)})},saveCurrentSource(){let e=this.currentSource,o=this.sourcesMap;o.set(Z(e),JSON.parse(JSON.stringify(e))),this.saveSources(Array.from(o.values()))},changeCurrentSource(e){this.currentSource=JSON.parse(JSON.stringify(e))},changeTabName(e){this.currentTab=e,localStorage.setItem("tabName",e)},changeEditTabSource(e){this.editTabSource=JSON.parse(JSON.stringify(e))},editHistory(e){let o;if(localStorage.getItem("history"))o=JSON.parse(localStorage.getItem("history")),o.new.push(e),o.new.length>50&&o.new.shift(),o.old.length>50&&o.old.shift(),localStorage.setItem("history",JSON.stringify(o));else{const t={new:[e],old:[]};localStorage.setItem("history",JSON.stringify(t))}},editHistoryUndo(){if(localStorage.getItem("history")){let e=JSON.parse(localStorage.getItem("history"));e.old.push(this.currentSource),e.new.length&&(this.currentSource=e.new.pop()),localStorage.setItem("history",JSON.stringify(e))}},clearAllHistory(){localStorage.setItem("history",JSON.stringify({new:[],old:[]}))},clearEdit(){this.editTabSource={},this.currentSource=JSON.parse(JSON.stringify(pe))},clearAllSource(){this.bookSources=[],this.rssSources=[],this.savedSources=[]}}}),Nt={__name:"SourceItem",props:["source"],setup(e){const o=e,t=M(),r=J(()=>t.currentSourceUrl),n=J(()=>Z(o.source)),i=d=>{t.changeCurrentSource(d)},c=J(()=>{const d=t.savedSourcesMap;return d.size==0?!1:!d.has(n.value)});return(d,k)=>{const b=se,U=Ie;return g(),w(U,{size:"large",border:"",value:s(n),class:fe({error:s(c),edit:s(n)==s(r)})},{default:p(()=>[y(X(e.source.bookSourceName||e.source.sourceName)+" ",1),m(b,{text:"",icon:s(he),onClick:k[0]||(k[0]=N=>i(e.source))},null,8,["icon"])]),_:1},8,["value","class"])}}},It=$(Nt,[["__scopeId","data-v-c62441eb"]]),Vt={class:"tool"},Tt={__name:"SourceList",setup(e){const o=M(),t=P([]),r=P(""),n=J(()=>o.sources),i=J(()=>{const u=r.value;return u===""?n.value:n.value.filter(l=>Bt(l,u))}),c=J(()=>{const u=t.value;if(u.length==0)return[];const l=r.value==""?o.sourcesMap:oe(i.value);return u.reduce((_,v)=>{const x=l.get(v);return x&&_.push(x),_},[])}),d=()=>{const u=c.value;A.deleteSource(u).then(({data:l})=>{if(!l.isSuccess)return B.error(l.errorMsg);o.deleteSources(u);const _=Le(t.value);u.forEach(v=>{const x=_.indexOf(Z(v));x>-1&&_.splice(x,1)}),t.value=_})},k=()=>{o.clearAllSource(),t.value=[]},b=()=>{const u=document.createElement("input");u.type="file",u.accept=".json,.txt",u.addEventListener("change",l=>{const _=l.target.files[0],v=new FileReader;v.readAsText(_),v.onload=()=>{try{const x=JSON.parse(v.result);o.saveSources(x)}catch{B({message:"上传的源格式错误",type:"error"})}}}),u.click()},U=/bookSource/i.test(window.location.href),N=()=>{const u=document.createElement("a");let l=t.value.length===0?i.value:c.value,_=U?"BookSource":"RssSource";u.download=`${_}_${Date().replace(/.*?\s(\d+)\s(\d+)\s(\d+:\d+:\d+).*/,"$2$1$3").replace(/:/g,"")}.json`;let v=new Blob([JSON.stringify(l,null,4)],{type:"application/json"});u.href=window.URL.createObjectURL(v),u.click(),window.URL.revokeObjectURL(u.href)};return(u,l)=>{const _=Y,v=se,x=Oe;return g(),E(O,null,[m(_,{modelValue:s(r),"onUpdate:modelValue":l[0]||(l[0]=R=>H(r)?r.value=R:null),class:"search","prefix-icon":s(ye),placeholder:"筛选源"},null,8,["modelValue","prefix-icon"]),h("div",Vt,[m(v,{onClick:b,icon:s(Ve)},{default:p(()=>l[2]||(l[2]=[y("打开")])),_:1},8,["icon"]),m(v,{disabled:s(i).length===0,onClick:N,icon:s(Te)},{default:p(()=>l[3]||(l[3]=[y(" 导出")])),_:1},8,["disabled","icon"]),m(v,{type:"danger",icon:s(ue),onClick:d,disabled:s(c).length===0},{default:p(()=>l[4]||(l[4]=[y("删除")])),_:1},8,["icon","disabled"]),m(v,{type:"danger",icon:s(ue),onClick:k,disabled:s(n).length===0},{default:p(()=>l[5]||(l[5]=[y("清空")])),_:1},8,["icon","disabled"])]),m(x,{id:"source-list",modelValue:s(t),"onUpdate:modelValue":l[1]||(l[1]=R=>H(t)?t.value=R:null)},{default:p(()=>[m(s(Re),{style:{height:"100%","overflow-y":"auto","overflow-x":"hidden"},"data-key":R=>R.bookSourceUrl||R.sourceUrl,"data-sources":s(i),"data-component":It,"estimate-size":45},null,8,["data-key","data-sources"])]),_:1},8,["modelValue"])],64)}}},Rt=$(Tt,[["__scopeId","data-v-ece64d32"]]),Lt={__name:"SourceDebug",setup(e){const o=M(),t=P(""),r=P("");ie(()=>o.isDebuging,()=>{o.isDebuging&&i()});const n=d=>{let k=document.querySelector("#debug-text");k.scrollTop=k.scrollHeight,t.value+=d+` -`},i=async()=>{t.value="";try{await A.saveSource(o.currentSource)}catch(d){throw o.debugFinish(),d}A.debug(o.currentSourceUrl,r.value||o.searchKey,n,o.debugFinish)},c=J(()=>/bookSource/i.test(window.location.href));return(d,k)=>{const b=Y;return g(),E(O,null,[s(c)?(g(),w(b,{key:0,id:"debug-key",modelValue:s(r),"onUpdate:modelValue":k[0]||(k[0]=U=>H(r)?r.value=U:null),placeholder:"搜索书名、作者","prefix-icon":s(ye),style:{"padding-bottom":"4px"},onKeydown:Pe(i,["enter"])},null,8,["modelValue","prefix-icon"])):V("",!0),m(b,{id:"debug-text",modelValue:s(t),"onUpdate:modelValue":k[1]||(k[1]=U=>H(t)?t.value=U:null),type:"textarea",readonly:"",rows:29,placeholder:"这里用于输出调试信息"},null,8,["modelValue"])],64)}}},Ot=$(Lt,[["__scopeId","data-v-e289b5e4"]]),Pt=Se("book",{state:()=>({connectStatus:"正在连接后端服务器……",connectType:"primary",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:"",jumpDuration:1e3,spacing:{paragraph:1,line:.8,letter:0}},miniInterface:!1,readSettingsVisible:!1}),getters:{bookProgress:e=>{var c;if(e.catalog.length==0)return;const{index:o,chapterPos:t,bookName:r,bookAuthor:n}=e.readingBook;let i=(c=e.catalog[o])==null?void 0:c.title;if(i)return{name:r,author:n,durChapterIndex:o,durChapterPos:t,durChapterTime:new Date().getTime(),durChapterTitle:i}},theme:e=>e.config.theme,isNight:e=>e.config.theme==6},actions:{setConnectStatus(e){this.connectStatus=e},setConnectType(e){this.connectType=e},setNewConnect(e){this.newConnect=e},addBooks(e){this.shelf=e},clearBooks(){this.shelf=[]},setCatalog(e){this.catalog=e},setPopCataVisible(e){this.popCataVisible=e},setContentLoading(e){this.contentLoading=e},setReadingBook(e){this.readingBook=e},setConfig(e){this.config=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(o=>{this.shelf.find(r=>r.bookUrl==o.bookUrl)===void 0&&this.searchBooks.push(o)})},clearSearchBooks(){this.searchBooks=[]},async saveBookProgress(){return this.bookProgress?A.saveBookProgress(this.bookProgress):Promise.resolve()}}}),$t=$e(),Jt={__name:"SourceJson",setup(e){const o=M(),t=P(""),r=async n=>{try{o.changeEditTabSource(JSON.parse(n))}catch{B({message:"粘贴的源格式错误",type:"error"})}};return Je(async()=>{let n=o.editTabSource;Object.keys(n).length>0?t.value=JSON.stringify(n,null,4):t.value=""}),(n,i)=>{const c=Y;return g(),w(c,{id:"source-json",modelValue:s(t),"onUpdate:modelValue":i[0]||(i[0]=d=>H(t)?t.value=d:null),type:"textarea",placeholder:"这里输出序列化的JSON数据,可直接导入'阅读'APP",rows:30,onChange:r,style:{"margin-bottom":"4px"}},null,8,["modelValue"])}}},Dt=$(Jt,[["__scopeId","data-v-4e022d46"]]),jt={__name:"SourceTabTools",setup(e){const o=M(),t=J({get:()=>o.currentTab,set:n=>o.currentTab=n}),r=P([["editTab","编辑源"],["editDebug","调试源"],["editList","源列表"],["editHelp","帮助信息"]]);return(n,i)=>{const c=Dt,d=Ot,k=Rt,b=nt,U=be,N=_e;return g(),w(N,{modelValue:s(t),"onUpdate:modelValue":i[0]||(i[0]=u=>H(t)?t.value=u:null)},{default:p(()=>[(g(!0),E(O,null,j(s(r),(u,l)=>(g(),w(U,{key:u[0],name:u[0],label:u[1]},{default:p(()=>[l==0?(g(),w(c,{key:0})):V("",!0),l==1?(g(),w(d,{key:1})):V("",!0),l==2?(g(),w(k,{key:2})):V("",!0),l==3?(g(),w(b,{key:3})):V("",!0)]),_:2},1032,["name","label"]))),128))]),_:1},8,["modelValue"])}}},At=$(jt,[["__scopeId","data-v-8249c810"]]),Ht={class:"menu flex-column-center"},Kt={class:"hotkeys-header flex-space-between"},Mt=["id"],Wt={key:0},Ft={class:"hotkeys-settings flex-column-center"},qt={class:"title"},zt={class:"hotkeys-item__content"},Gt={key:0},Qt={key:0},Xt={__name:"ToolBar",setup(e){const o=M(),t=()=>{const f=B({message:"加载中……",showClose:!0,duration:0});A.getSources().then(({data:a})=>{a.isSuccess?(o.changeTabName("editList"),o.saveSources(a.data),B({message:`成功拉取${a.data.length}条源`,type:"success"})):B({message:a.errorMsg??"后端错误",type:"error"})}).finally(()=>f.close())},r=()=>{let f=o.sources;if(o.changeTabName("editList"),f.length===0)return B({message:"空空如也",type:"info"});B({message:"正在推送中",type:"info"}),A.saveSources(f).then(({data:a})=>{if(a.isSuccess){let S=a.data;if(Array.isArray(S)){let D="";f.length>S.length&&(D=` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BookShelf-BRXx-nUT.js","./vendor-Bo0wn8_e.js","./vendor-Bui7wm94.css","./loading-RAa6Kw1J.js","./loading-DyaW7RXx.css","./BookShelf-CKJPVLil.css","./BookChapter-BlHYWmvC.js","./BookChapter-BgNMFAcT.css"])))=>i.map(i=>d[i]); +import{r as Ee,o as g,c as w,a as ne,b as re,d as x,e as m,w as p,f as y,u as s,l as R,g as h,F as O,E as xe,h as me,i as Ie,j as B,k as Se,m as J,t as X,n as he,p as fe,q as se,s as Ne,v as P,x as H,y as ye,z as Ve,A as Te,B as ue,V as Le,C as Re,D as Y,G as Oe,H as ie,I as Pe,J as V,K as $e,L as Je,M as j,N as be,O as _e,P as F,Q as De,R as je,S as Ae,T as He,U as Ke,W as Me,X as We,Y as Fe,Z as qe,_ as ze,$ as Ge}from"./vendor-Bo0wn8_e.js";(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))r(n);new MutationObserver(n=>{for(const i of n)if(i.type==="childList")for(const u of i.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&r(u)}).observe(document,{childList:!0,subtree:!0});function t(n){const i={};return n.integrity&&(i.integrity=n.integrity),n.referrerPolicy&&(i.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?i.credentials="include":n.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(n){if(n.ep)return;n.ep=!0;const i=t(n);fetch(n.href,i)}})();const $=(e,o)=>{const t=e.__vccOpts||e;for(const[r,n]of o)t[r]=n;return t},Qe={};function Xe(e,o){const t=Ee("router-view");return g(),w(t)}const Ye=$(Qe,[["render",Xe]]),Ze="modulepreload",et=function(e,o){return new URL(e,o).href},ce={},de=function(o,t,r){let n=Promise.resolve();if(t&&t.length>0){const u=document.getElementsByTagName("link"),c=document.querySelector("meta[property=csp-nonce]"),k=(c==null?void 0:c.nonce)||(c==null?void 0:c.getAttribute("nonce"));n=Promise.allSettled(t.map(b=>{if(b=et(b,r),b in ce)return;ce[b]=!0;const U=b.endsWith(".css"),I=U?'[rel="stylesheet"]':"";if(!!r)for(let _=u.length-1;_>=0;_--){const v=u[_];if(v.href===b&&(!U||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${b}"]${I}`))return;const l=document.createElement("link");if(l.rel=U?"stylesheet":Ze,U||(l.as="script"),l.crossOrigin="",l.href=b,k&&l.setAttribute("nonce",k),document.head.appendChild(l),U)return new Promise((_,v)=>{l.addEventListener("load",_),l.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${b}`)))})}))}function i(u){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=u,window.dispatchEvent(c),!c.defaultPrevented)throw u}return n.then(u=>{for(const c of u||[])c.status==="rejected"&&i(c.reason);return o().catch(i)})},ke=[{path:"/",name:"shelf",component:()=>de(()=>import("./BookShelf-BRXx-nUT.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)},{path:"/chapter",name:"chapter",component:()=>de(()=>import("./BookChapter-BlHYWmvC.js"),__vite__mapDeps([6,1,2,3,4,7]),import.meta.url)}];ne({history:re(),routes:ke});const tt={style:{"margin-top":"20px"}},ot={__name:"SourceHelp",setup(e){return(o,t)=>{const r=xe,n=me;return g(),x(O,null,[m(r,{icon:s(R),href:"/help/#appHelp",target:"_blank"},{default:p(()=>t[0]||(t[0]=[y("APP帮助文档")])),_:1},8,["icon"]),t[19]||(t[19]=h("br",null,null,-1)),m(r,{icon:s(R),href:"/help/#ruleHelp",target:"_blank"},{default:p(()=>t[1]||(t[1]=[y("书源制作教程")])),_:1},8,["icon"]),t[20]||(t[20]=h("br",null,null,-1)),m(r,{icon:s(R),href:"/help/#jsHelp",target:"_blank"},{default:p(()=>t[2]||(t[2]=[y("js变量和函数")])),_:1},8,["icon"]),t[21]||(t[21]=h("br",null,null,-1)),m(r,{icon:s(R),href:"/help/#xpathHelp",target:"_blank"},{default:p(()=>t[3]||(t[3]=[y("xpath语法教程")])),_:1},8,["icon"]),t[22]||(t[22]=h("br",null,null,-1)),m(r,{icon:s(R),href:"/help/#regexHelp",target:"_blank"},{default:p(()=>t[4]||(t[4]=[y("正则表达式教程")])),_:1},8,["icon"]),t[23]||(t[23]=h("br",null,null,-1)),m(r,{icon:s(R),href:"/help/#txtTocRuleHelp",target:"_blank"},{default:p(()=>t[5]||(t[5]=[y("txt目录正则说明")])),_:1},8,["icon"]),t[24]||(t[24]=h("br",null,null,-1)),m(r,{icon:s(R),href:"/help/#debugHelp",target:"_blank"},{default:p(()=>t[6]||(t[6]=[y("书源调试说明")])),_:1},8,["icon"]),t[25]||(t[25]=h("br",null,null,-1)),m(r,{icon:s(R),href:"/help/#httpTTSHelp",target:"_blank"},{default:p(()=>t[7]||(t[7]=[y("在线朗读规则")])),_:1},8,["icon"]),t[26]||(t[26]=h("br",null,null,-1)),m(r,{icon:s(R),href:"/help/#webDavBookHelp",target:"_blank"},{default:p(()=>t[8]||(t[8]=[y(" WebDav书籍简明使用教程")])),_:1},8,["icon"]),t[27]||(t[27]=h("br",null,null,-1)),m(r,{icon:s(R),href:"/help/#webDavHelp",target:"_blank"},{default:p(()=>t[9]||(t[9]=[y(" WebDav备份教程")])),_:1},8,["icon"]),t[28]||(t[28]=h("br",null,null,-1)),m(r,{icon:s(R),href:"https://regexr-cn.com/",target:"_blank"},{default:p(()=>t[10]||(t[10]=[y("正则表达式在线验证工具")])),_:1},8,["icon"]),t[29]||(t[29]=h("br",null,null,-1)),h("div",tt,[h("span",null,[m(n,null,{default:p(()=>t[11]||(t[11]=[h("code",null,"^$()[]{}.?+*|",-1),y(" 这些是Java正则特殊符号,匹配需转义")])),_:1})]),t[15]||(t[15]=h("br",null,null,-1)),h("span",null,[m(n,null,{default:p(()=>t[12]||(t[12]=[h("code",null,"(?s)",-1),y(" 前缀表示跨行解析")])),_:1})]),t[16]||(t[16]=h("br",null,null,-1)),h("span",null,[m(n,null,{default:p(()=>t[13]||(t[13]=[h("code",null,"(?m)",-1),y(" 前缀表示逐行匹配")])),_:1})]),t[17]||(t[17]=h("br",null,null,-1)),h("span",null,[m(n,null,{default:p(()=>t[14]||(t[14]=[h("code",null,"(?i)",-1),y(" 前缀表示忽略大小写")])),_:1})]),t[18]||(t[18]=h("br",null,null,-1))])],64)}}},nt=$(ot,[["__scopeId","data-v-fe99b178"]]),rt=1e3,C=Ie.create({baseURL:localStorage.getItem("remoteOrigin")||location.origin,timeout:120*rt});let K,le;const ve=e=>{let o,t;try{t=new URL(e)}catch(c){throw localStorage.getItem("remoteOrigin")==e&&localStorage.removeItem("remoteOrigin"),new Error("Fail to parse Leagdo remoteOrigin: "+c)}const{protocol:r,hostname:n,port:i,origin:u}=t;if(!r.startsWith("http"))throw new Error("unexpect protocol: "+e);C.defaults.baseURL=u,localStorage.setItem("remoteOrigin",u),K=u,i!==""?o=Number(i)+1:o=r.startsWith("https:")?"444":"81",le=`${r.startsWith("https:")?"wss://":"ws://"}${n}:${o}`};ve(C.defaults.baseURL);const st=async e=>{const{data:o={}}=await C.get("/getReadConfig",{baseURL:e,timeout:3e3});try{if("isSuccess"in o)return o.data;throw new Error("ReadConfig后端返回格式错误")}catch{throw new Error("ReadConfig后端返回格式错误")}},it=/source/i.test(location.href),lt=e=>{throw it&&B({message:"后端错误,检查网络或者阅读app",type:"error"}),e};C.interceptors.response.use(e=>e,lt);const at=()=>C.get("/getReadConfig",{timeout:3e3}),ut=e=>C.post("/saveReadConfig",e),ct=e=>C.post("/saveBookProgress",e),dt=e=>{e&&navigator.sendBeacon(`${K}/saveBookProgress`,JSON.stringify(e))},pt=()=>C.get("/getBookshelf"),gt=e=>C.get("/getChapterList?url="+encodeURIComponent(e)),mt=(e,o)=>C.get("/getBookContent?url="+encodeURIComponent(e)+"&index="+o),St=(e,o,t)=>{const r=`${le}/searchBook`,n=new WebSocket(r);n.onopen=()=>{n.send(`{"key":"${e}"}`)},n.onmessage=({data:i})=>o(i),n.onclose=()=>{t()}},ht=e=>C.post("/saveBook",e),ft=e=>C.post("/deleteBook",e),Q=/bookSource/i.test(location.href),yt=()=>Q?C.get("/getBookSources"):C.get("/getRssSources"),bt=e=>Q?C.post("/saveBookSource",e):C.post("/saveRssSource",e),_t=e=>Q?C.post("/saveBookSources",e):C.post("/saveRssSources",e),kt=e=>Q?C.post("/deleteBookSources",e):C.post("/deleteRssSources",e),vt=(e,o,t,r)=>{const n=`${le}/${Q?"bookSource":"rssSource"}Debug`,i=new WebSocket(n);i.onopen=()=>{i.send(JSON.stringify({tag:e,key:o}))},i.onmessage=({data:u})=>t(u),i.onclose=()=>{B({message:"调试已关闭!",type:"info"}),r()}},wt=e=>e.startsWith(K)?e:K+"/cover?path="+encodeURIComponent(e),Ct=(e,o)=>e.startsWith(K)?e:K+"/image?path="+encodeURIComponent(e)+"&url="+encodeURIComponent(sessionStorage.getItem("bookUrl"))+"&width="+o,A={getReadConfig:at,saveReadConfig:ut,saveBookProgress:ct,saveBookProgressWithBeacon:dt,getBookShelf:pt,getChapterList:gt,getBookContent:mt,search:St,saveBook:ht,deleteBook:ft,getSources:yt,saveSources:_t,saveSource:bt,deleteSource:kt,debug:vt,getProxyCoverUrl:wt,getProxyImageUrl:Ct,testLeagdoHttpUrlConnection:st,setLeagdoHttpUrl:ve,legado_http_origin:K},G=e=>e==null||e.length===0||/^\s+$/.test(e),ae=e=>"bookSourceName"in e,Ut=e=>ae(e)?!G(e.bookSourceName)&&!G(e.bookSourceUrl)&&!G(e.bookSourceType):!G(e.sourceName)&&!G(e.sourceUrl),Z=e=>ae(e)?e.bookSourceUrl:e.sourceUrl,Bt=(e,o)=>{var t,r,n,i,u,c,k,b;return ae(e)?(((t=e.bookSourceName)==null?void 0:t.includes(o))||((r=e.bookSourceUrl)==null?void 0:r.includes(o))||((n=e.bookSourceGroup)==null?void 0:n.includes(o))||((i=e.bookSourceComment)==null?void 0:i.includes(o)))??!1:(((u=e.sourceName)==null?void 0:u.includes(o))||((c=e.sourceUrl)==null?void 0:c.includes(o))||((k=e.sourceGroup)==null?void 0:k.includes(o))||((b=e.sourceComment)==null?void 0:b.includes(o)))??!1},oe=e=>{const o=new Map;return e.forEach(t=>o.set(Z(t),t)),o},Et={ruleSearch:{},ruleBookInfo:{},ruleToc:{},ruleContent:{},ruleReview:{},ruleExplore:{}},xt={},q=/bookSource/i.test(location.href),pe=q?Et:xt,M=Se("source",{state:()=>({bookSources:[],rssSources:[],savedSources:[],currentSource:JSON.parse(JSON.stringify(pe)),currentTab:localStorage.getItem("tabName")||"editTab",editTabSource:{},isDebuging:!1}),getters:{sources:e=>q?e.bookSources:e.rssSources,sourcesMap:e=>oe(e.sources),savedSourcesMap:e=>oe(e.savedSources),currentSourceUrl:e=>q?e.currentSource.bookSourceUrl:e.currentSource.sourceUrl,searchKey:e=>q?e.currentSource.ruleSearch.checkKeyWord||"我的":null},actions:{startDebug(){this.currentTab="editDebug",this.isDebuging=!0},debugFinish(){this.isDebuging=!1},saveSources(e){q?this.bookSources=e:this.rssSources=e},setPushReturnSources(e){this.savedSources=e},deleteSources(e){let o=q?this.bookSources:this.rssSources;e.forEach(t=>{let r=o.indexOf(t);r>-1&&o.splice(r,1)})},saveCurrentSource(){let e=this.currentSource,o=this.sourcesMap;o.set(Z(e),JSON.parse(JSON.stringify(e))),this.saveSources(Array.from(o.values()))},changeCurrentSource(e){this.currentSource=JSON.parse(JSON.stringify(e))},changeTabName(e){this.currentTab=e,localStorage.setItem("tabName",e)},changeEditTabSource(e){this.editTabSource=JSON.parse(JSON.stringify(e))},editHistory(e){let o;if(localStorage.getItem("history"))o=JSON.parse(localStorage.getItem("history")),o.new.push(e),o.new.length>50&&o.new.shift(),o.old.length>50&&o.old.shift(),localStorage.setItem("history",JSON.stringify(o));else{const t={new:[e],old:[]};localStorage.setItem("history",JSON.stringify(t))}},editHistoryUndo(){if(localStorage.getItem("history")){let e=JSON.parse(localStorage.getItem("history"));e.old.push(this.currentSource),e.new.length&&(this.currentSource=e.new.pop()),localStorage.setItem("history",JSON.stringify(e))}},clearAllHistory(){localStorage.setItem("history",JSON.stringify({new:[],old:[]}))},clearEdit(){this.editTabSource={},this.currentSource=JSON.parse(JSON.stringify(pe))},clearAllSource(){this.bookSources=[],this.rssSources=[],this.savedSources=[]}}}),It={__name:"SourceItem",props:["source"],setup(e){const o=e,t=M(),r=J(()=>t.currentSourceUrl),n=J(()=>Z(o.source)),i=c=>{t.changeCurrentSource(c)},u=J(()=>{const c=t.savedSourcesMap;return c.size==0?!1:!c.has(n.value)});return(c,k)=>{const b=se,U=Ne;return g(),w(U,{size:"large",border:"",value:s(n),class:fe({error:s(u),edit:s(n)==s(r)})},{default:p(()=>[y(X(e.source.bookSourceName||e.source.sourceName)+" ",1),m(b,{text:"",icon:s(he),onClick:k[0]||(k[0]=I=>i(e.source))},null,8,["icon"])]),_:1},8,["value","class"])}}},Nt=$(It,[["__scopeId","data-v-c62441eb"]]),Vt={class:"tool"},Tt={__name:"SourceList",setup(e){const o=M(),t=P([]),r=P(""),n=J(()=>o.sources),i=J(()=>{const d=r.value;return d===""?n.value:n.value.filter(l=>Bt(l,d))}),u=J(()=>{const d=t.value;if(d.length==0)return[];const l=r.value==""?o.sourcesMap:oe(i.value);return d.reduce((_,v)=>{const E=l.get(v);return E&&_.push(E),_},[])}),c=()=>{const d=u.value;A.deleteSource(d).then(({data:l})=>{if(!l.isSuccess)return B.error(l.errorMsg);o.deleteSources(d);const _=Re(t.value);d.forEach(v=>{const E=_.indexOf(Z(v));E>-1&&_.splice(E,1)}),t.value=_})},k=()=>{o.clearAllSource(),t.value=[]},b=()=>{const d=document.createElement("input");d.type="file",d.accept=".json,.txt",d.addEventListener("change",l=>{const _=l.target.files[0],v=new FileReader;v.readAsText(_),v.onload=()=>{try{const E=JSON.parse(v.result);o.saveSources(E)}catch{B({message:"上传的源格式错误",type:"error"})}}}),d.click()},U=/bookSource/i.test(window.location.href),I=()=>{const d=document.createElement("a");let l=t.value.length===0?i.value:u.value,_=U?"BookSource":"RssSource";d.download=`${_}_${Date().replace(/.*?\s(\d+)\s(\d+)\s(\d+:\d+:\d+).*/,"$2$1$3").replace(/:/g,"")}.json`;let v=new Blob([JSON.stringify(l,null,4)],{type:"application/json"});d.href=window.URL.createObjectURL(v),d.click(),window.URL.revokeObjectURL(d.href)};return(d,l)=>{const _=Y,v=se,E=Oe;return g(),x(O,null,[m(_,{modelValue:s(r),"onUpdate:modelValue":l[0]||(l[0]=L=>H(r)?r.value=L:null),class:"search","prefix-icon":s(ye),placeholder:"筛选源"},null,8,["modelValue","prefix-icon"]),h("div",Vt,[m(v,{onClick:b,icon:s(Ve)},{default:p(()=>l[2]||(l[2]=[y("打开")])),_:1},8,["icon"]),m(v,{disabled:s(i).length===0,onClick:I,icon:s(Te)},{default:p(()=>l[3]||(l[3]=[y(" 导出")])),_:1},8,["disabled","icon"]),m(v,{type:"danger",icon:s(ue),onClick:c,disabled:s(u).length===0},{default:p(()=>l[4]||(l[4]=[y("删除")])),_:1},8,["icon","disabled"]),m(v,{type:"danger",icon:s(ue),onClick:k,disabled:s(n).length===0},{default:p(()=>l[5]||(l[5]=[y("清空")])),_:1},8,["icon","disabled"])]),m(E,{id:"source-list",modelValue:s(t),"onUpdate:modelValue":l[1]||(l[1]=L=>H(t)?t.value=L:null)},{default:p(()=>[m(s(Le),{style:{height:"100%","overflow-y":"auto","overflow-x":"hidden"},"data-key":L=>L.bookSourceUrl||L.sourceUrl,"data-sources":s(i),"data-component":Nt,"estimate-size":45},null,8,["data-key","data-sources"])]),_:1},8,["modelValue"])],64)}}},Lt=$(Tt,[["__scopeId","data-v-ece64d32"]]),Rt={__name:"SourceDebug",setup(e){const o=M(),t=P(""),r=P("");ie(()=>o.isDebuging,()=>{o.isDebuging&&i()});const n=c=>{let k=document.querySelector("#debug-text");k.scrollTop=k.scrollHeight,t.value+=c+` +`},i=async()=>{t.value="";try{await A.saveSource(o.currentSource)}catch(c){throw o.debugFinish(),c}A.debug(o.currentSourceUrl,r.value||o.searchKey,n,o.debugFinish)},u=J(()=>/bookSource/i.test(window.location.href));return(c,k)=>{const b=Y;return g(),x(O,null,[s(u)?(g(),w(b,{key:0,id:"debug-key",modelValue:s(r),"onUpdate:modelValue":k[0]||(k[0]=U=>H(r)?r.value=U:null),placeholder:"搜索书名、作者","prefix-icon":s(ye),style:{"padding-bottom":"4px"},onKeydown:Pe(i,["enter"])},null,8,["modelValue","prefix-icon"])):V("",!0),m(b,{id:"debug-text",modelValue:s(t),"onUpdate:modelValue":k[1]||(k[1]=U=>H(t)?t.value=U:null),type:"textarea",readonly:"",rows:29,placeholder:"这里用于输出调试信息"},null,8,["modelValue"])],64)}}},Ot=$(Rt,[["__scopeId","data-v-e289b5e4"]]),Pt=Se("book",{state:()=>({connectStatus:"正在连接后端服务器……",connectType:"primary",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:"",jumpDuration:1e3,spacing:{paragraph:1,line:.8,letter:0}},miniInterface:!1,readSettingsVisible:!1}),getters:{bookProgress:e=>{var u;if(e.catalog.length==0)return;const{index:o,chapterPos:t,bookName:r,bookAuthor:n}=e.readingBook;let i=(u=e.catalog[o])==null?void 0:u.title;if(i)return{name:r,author:n,durChapterIndex:o,durChapterPos:t,durChapterTime:new Date().getTime(),durChapterTitle:i}},theme:e=>e.config.theme,isNight:e=>e.config.theme==6},actions:{setConnectStatus(e){this.connectStatus=e},setConnectType(e){this.connectType=e},setNewConnect(e){this.newConnect=e},addBooks(e){this.shelf=e},clearBooks(){this.shelf=[]},setCatalog(e){this.catalog=e},setPopCataVisible(e){this.popCataVisible=e},setContentLoading(e){this.contentLoading=e},setReadingBook(e){this.readingBook=e},setConfig(e){this.config=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(o=>{this.shelf.find(r=>r.bookUrl==o.bookUrl)===void 0&&this.searchBooks.push(o)})},clearSearchBooks(){this.searchBooks=[]},async saveBookProgress(){return this.bookProgress?A.saveBookProgress(this.bookProgress):Promise.resolve()}}}),$t=$e(),Jt={__name:"SourceJson",setup(e){const o=M(),t=P(""),r=async n=>{try{o.changeEditTabSource(JSON.parse(n))}catch{B({message:"粘贴的源格式错误",type:"error"})}};return Je(async()=>{let n=o.editTabSource;Object.keys(n).length>0?t.value=JSON.stringify(n,null,4):t.value=""}),(n,i)=>{const u=Y;return g(),w(u,{id:"source-json",modelValue:s(t),"onUpdate:modelValue":i[0]||(i[0]=c=>H(t)?t.value=c:null),type:"textarea",placeholder:"这里输出序列化的JSON数据,可直接导入'阅读'APP",rows:30,onChange:r,style:{"margin-bottom":"4px"}},null,8,["modelValue"])}}},Dt=$(Jt,[["__scopeId","data-v-4e022d46"]]),jt={__name:"SourceTabTools",setup(e){const o=M(),t=J({get:()=>o.currentTab,set:n=>o.currentTab=n}),r=P([["editTab","编辑源"],["editDebug","调试源"],["editList","源列表"],["editHelp","帮助信息"]]);return(n,i)=>{const u=Dt,c=Ot,k=Lt,b=nt,U=be,I=_e;return g(),w(I,{modelValue:s(t),"onUpdate:modelValue":i[0]||(i[0]=d=>H(t)?t.value=d:null)},{default:p(()=>[(g(!0),x(O,null,j(s(r),(d,l)=>(g(),w(U,{key:d[0],name:d[0],label:d[1]},{default:p(()=>[l==0?(g(),w(u,{key:0})):V("",!0),l==1?(g(),w(c,{key:1})):V("",!0),l==2?(g(),w(k,{key:2})):V("",!0),l==3?(g(),w(b,{key:3})):V("",!0)]),_:2},1032,["name","label"]))),128))]),_:1},8,["modelValue"])}}},At=$(jt,[["__scopeId","data-v-8249c810"]]),Ht={class:"menu flex-column-center"},Kt={class:"hotkeys-header flex-space-between"},Mt=["id"],Wt={key:0},Ft={class:"hotkeys-settings flex-column-center"},qt={class:"title"},zt={class:"hotkeys-item__content"},Gt={key:0},Qt={key:0},Xt={__name:"ToolBar",setup(e){const o=M(),t=()=>{const f=B({message:"加载中……",showClose:!0,duration:0});A.getSources().then(({data:a})=>{a.isSuccess?(o.changeTabName("editList"),o.saveSources(a.data),B({message:`成功拉取${a.data.length}条源`,type:"success"})):B({message:a.errorMsg??"后端错误",type:"error"})}).finally(()=>f.close())},r=()=>{let f=o.sources;if(o.changeTabName("editList"),f.length===0)return B({message:"空空如也",type:"info"});B({message:"正在推送中",type:"info"}),A.saveSources(f).then(({data:a})=>{if(a.isSuccess){let S=a.data;if(Array.isArray(S)){let D="";f.length>S.length&&(D=` 推送失败的源将用红色字体标注!`,o.setPushReturnSources(S)),B({message:`批量推送源到「阅读3.0APP」 共计: ${f.length} 条 成功: ${S.length} 条 失败: ${f.length-S.length} 条${D}`,type:"success"})}}else B({message:`批量推送源失败! -ErrorMsg: ${a.errorMsg}`,type:"error"})})},n=()=>{o.changeTabName("editTab"),o.changeEditTabSource(o.currentSource)},i=()=>{o.changeCurrentSource(o.editTabSource)},c=()=>{o.editHistoryUndo()},d=()=>{o.clearEdit(),B({message:"已清除",type:"success"})},k=()=>{o.clearEdit(),o.clearAllHistory(),B({message:"已清除所有历史记录",type:"success"})},b=()=>{let f=/bookSource/i.test(location.href),a=o.currentSource;Ut(a)?A.saveSource(a).then(({data:S})=>{S.isSuccess?(B({message:`源《${f?a.bookSourceName:a.sourceName}》已成功保存到「阅读3.0APP」`,type:"success"}),o.saveCurrentSource()):B({message:`源《${f?a.bookSourceName:a.sourceName}》保存失败! -ErrorMsg: ${S.errorMsg}`,type:"error"})}):B({message:"请检查<必填>项是否全部填写",type:"error"})},U=()=>{o.startDebug()},N=P(Array.of({name:"⇈推送源",hotKeys:[],action:r},{name:"⇊拉取源",hotKeys:[],action:t},{name:"⋙生成源",hotKeys:[],action:n},{name:"⋘编辑源",hotKeys:[],action:i},{name:"✗清空表单",hotKeys:[],action:d},{name:"↶撤销操作",hotKeys:[],action:c},{name:"↷重做操作",hotKeys:[],action:k},{name:"⇏调试源",hotKeys:[],action:U},{name:"✓保存源",hotKeys:[],action:b})),u=P(!0),l=P(!1),_=P(-1),v=()=>{l.value||(u.value=!1),l.value=!1};ie(u,f=>{if(!f){F.unbind("*"),z(),W();return}z(),F.unbind(),F("*",a=>{a.preventDefault();let S=F.getPressedKeyString();S.length==1&&S[0]=="esc"||l.value&&_.value>-1&&(N.value[_.value].hotKeys=S)})},{immediate:!0});const x=f=>{l.value=!0,B({message:"按ESC键或者点击空白处结束录入",type:"info"}),N.value[f].hotKeys=[],_.value=f},R=()=>{const f=[];N.value.forEach(({hotKeys:a})=>{f.push(a)}),T(f),u.value=!1},W=()=>{F.filter=()=>!0,N.value.forEach(({hotKeys:f,action:a})=>{f.length!=0&&F(f.join("+"),S=>{S.preventDefault(),a.call(null)})})},T=f=>{localStorage.setItem("legado_web_hotkeys",JSON.stringify(f))};function z(){try{const f=JSON.parse(localStorage.getItem("legado_web_hotkeys"));return!Array.isArray(f)||f.length==0?!1:(N.value.forEach((a,S)=>a.hotKeys=f[S]),!0)}catch{B({message:"快捷键配置错误",type:"error"}),localStorage.removeItem("legado_web_hotkeys")}return!1}return De(()=>{z()&&(u.value=!1)}),(f,a)=>{const S=se,D=me,Ue=Ae;return g(),E(O,null,[h("div",Ht,[(g(!0),E(O,null,j(s(N),I=>(g(),w(S,{size:"large",key:I.name,onClick:I.action},{default:p(()=>[y(X(I.name),1)]),_:2},1032,["onClick"]))),128)),m(S,{size:"large",onClick:a[0]||(a[0]=()=>u.value=!0)},{default:p(()=>a[2]||(a[2]=[y("快捷键")])),_:1})]),m(Ue,{modelValue:s(u),"onUpdate:modelValue":a[1]||(a[1]=I=>H(u)?u.value=I:null),"show-close":!1,"before-close":v},{header:p(({titleClass:I,titleId:ee})=>[h("div",Kt,[h("div",{id:ee,class:fe(I)},[a[4]||(a[4]=y(" 快捷键设置 ")),s(l)?(g(),E("span",Wt,[m(D,null,{default:p(()=>a[3]||(a[3]=[y(" / 录入中 ")])),_:1})])):V("",!0)],10,Mt),m(S,{disabled:s(l),onClick:R,icon:s(je)},{default:p(()=>a[5]||(a[5]=[y("保存")])),_:1},8,["disabled","icon"])])]),default:p(()=>[h("div",Ft,[(g(!0),E(O,null,j(s(N),(I,ee)=>(g(),E("div",{key:I.name,class:"hotkeys-item flex-space-between"},[h("span",qt,[m(D,null,{default:p(()=>[y(X(I.name),1)]),_:2},1024)]),h("div",zt,[(g(!0),E(O,null,j(I.hotKeys,(te,Be)=>(g(),E("div",{key:te},[h("kbd",null,X(te),1),Be+1a[6]||(a[6]=[y("+")])),_:1})])):V("",!0)]))),128)),I.hotKeys.length==0?(g(),E("span",Qt,"未设置")):V("",!0)]),m(S,{disabled:s(l),text:"",icon:s(he),onClick:te=>x(ee)},{default:p(()=>a[7]||(a[7]=[y("编辑")])),_:2},1032,["disabled","icon","onClick"])]))),128))])]),_:1},8,["modelValue"])],64)}}},Yt=$(Xt,[["__scopeId","data-v-9f61bfde"]]),Zt={__name:"SourceTabForm",props:["config"],setup(e){const o=M(),t=J(()=>o.currentSource);return(r,n)=>{const i=Y,c=He,d=Ke,k=Me,b=We,U=Fe,N=qe,u=be,l=_e;return g(),w(l,{id:"source-edit"},{default:p(()=>[(g(!0),E(O,null,j(Object.values(e.config),({name:_,children:v})=>(g(),w(u,{label:_,key:_},{default:p(()=>[m(N,{"label-position":"right","label-width":"auto"},{default:p(()=>[(g(!0),E(O,null,j(v,({type:x,title:R,namespace:W,id:T,array:z,hint:f,required:a})=>(g(),w(U,{label:R,key:R,required:a},{default:p(()=>[x=="String"&&typeof W>"u"?(g(),w(i,{key:0,type:"textarea",modelValue:s(t)[T],"onUpdate:modelValue":S=>s(t)[T]=S,placeholder:f,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):V("",!0),x=="String"&&typeof W<"u"?(g(),w(i,{key:1,type:"textarea",modelValue:s(t)[W][T],"onUpdate:modelValue":S=>s(t)[W][T]=S,placeholder:f,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):V("",!0),x=="Boolean"?(g(),w(c,{key:2,modelValue:s(t)[T],"onUpdate:modelValue":S=>s(t)[T]=S},null,8,["modelValue","onUpdate:modelValue"])):V("",!0),x=="Number"?(g(),w(d,{key:3,modelValue:s(t)[T],"onUpdate:modelValue":S=>s(t)[T]=S,min:0},null,8,["modelValue","onUpdate:modelValue"])):V("",!0),x=="Array"?(g(),w(b,{key:4,modelValue:s(t)[T],"onUpdate:modelValue":S=>s(t)[T]=S},{default:p(()=>[(g(!0),E(O,null,j(z,(S,D)=>(g(),w(k,{value:D,key:S,label:S},null,8,["value","label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):V("",!0)]),_:2},1032,["label","required"]))),128))]),_:2},1024)]),_:2},1032,["label"]))),128))]),_:1})}}},eo=$(Zt,[["__scopeId","data-v-0cb9f194"]]),to={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:"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:"bookUrlPattern",type:"String",hint:"书籍URL正则,当详情页URL与源URL的域名不一致时有效,用于添加网址"},{title:"请求头",id:"header",type:"String",hint:"客户端标识"},{title:"变量说明",id:"variableComment",type:"String",hint:"书源变量说明"},{title:"并发率",id:"concurrentRate",type:"String",hint:"并发率,如1000(访问间隔1000ms)或者1/1000(1000ms内访问1次)"},{title:"js库",id:"jsLib",type:"String",hint:"js库, 可填写js或者key-value object获取在线js文件"}]},search:{name:"搜索",children:[{title:"搜索地址",id:"searchUrl",type:"String",hint:"[域名可省略]/search.php@kw={{key}}"},{title:"校验文字",namespace:"ruleSearch",id:"checkKeyWord",type:"String",hint:"校验关键字,强烈建议填写"},{title:"列表规则",namespace:"ruleSearch",id:"bookList",type:"String",hint:"选择书籍节点 (规则结果为List)"},{title:"书名规则",namespace:"ruleSearch",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleSearch",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleSearch",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleSearch",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleSearch",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleSearch",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleSearch",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",namespace:"ruleSearch",id:"bookUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}]},find:{name:"发现",children:[{title:"发现地址",id:"exploreUrl",type:"String",hint:"单个发现格式::或者{url:,title:,style:...};前者用换行符或者&&连接,后者放在数组内;可用js动态生成"},{title:"列表规则",namespace:"ruleExplore",id:"bookList",type:"String",hint:"选择书籍节点 (规则结果为List)"},{title:"书名规则",namespace:"ruleExplore",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleExplore",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleExplore",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleExplore",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleExplore",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleExplore",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleExplore",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",namespace:"ruleExplore",id:"bookUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}]},detail:{name:"详情",children:[{title:"预处理",namespace:"ruleBookInfo",id:"init",type:"String",hint:"用于加速详情信息检索,只支持AllInOne规则"},{title:"书名规则",namespace:"ruleBookInfo",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleBookInfo",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleBookInfo",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleBookInfo",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleBookInfo",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleBookInfo",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleBookInfo",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"目录地址",namespace:"ruleBookInfo",id:"tocUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url, 与详情页相同时可省略)"},{title:"修改书籍",namespace:"ruleBookInfo",id:"canReName",type:"String",hint:"允许修改书名作者(规则结果为String类型, 默认不允许)"},{title:"下载URL",namespace:"ruleBookInfo",id:"downloadUrls",type:"String",hint:"文件类书源下载地址 (规则结果为String类型的url, 多个链接返回数组)"}]},directory:{name:"目录",children:[{title:"更新前JS",namespace:"ruleToc",id:"preUpdateJs",type:"String",hint:"更新目录前调用JS 动态更新目录链接"},{title:"列表规则",namespace:"ruleToc",id:"chapterList",type:"String",hint:"选择目录列表的章节节点 (规则结果为List)"},{title:"章节名称",namespace:"ruleToc",id:"chapterName",type:"String",hint:"选择章节名称 (规则结果为String)"},{title:"章节地址",namespace:"ruleToc",id:"chapterUrl",type:"String",hint:"选择章节链接 (规则结果为String类型的Url)"},{title:"标题处理",namespace:"ruleToc",id:"formatJs",type:"String",hint:"遍历去重后的章节列表的回调,提供index(章节序号从1开始)、title(章节标题)变量,额外提供gInt(初始值0),返回值作为新的标题"},{title:"卷名标识",namespace:"ruleToc",id:"isVolume",type:"String",hint:"章节名称是否是卷名 (规则结果为Bool)"},{title:"章节信息",namespace:"ruleToc",id:"updateTime",type:"String",hint:"选择章节信息(如更新时间) (规则结果为String)"},{title:"收费标识",namespace:"ruleToc",id:"isVip",type:"String",hint:"章节是否为VIP章节 (规则结果为Bool)"},{title:"购买标识",namespace:"ruleToc",id:"isPay",type:"String",hint:"章节是否为已购买 (规则结果为Bool)"},{title:"翻页规则",namespace:"ruleToc",id:"nextTocUrl",type:"String",hint:"选择目录下一页链接 (规则结果为List或String)"}]},content:{name:"正文",children:[{title:"正文规则",namespace:"ruleContent",id:"content",type:"String",hint:"选择正文内容 (规则结果为String)"},{title:"标题规则",namespace:"ruleContent",id:"title",type:"String",hint:"获取结果将会覆盖章节标题 (规则结果为String)"},{title:"翻页规则",namespace:"ruleContent",id:"nextContentUrl",type:"String",hint:"选择下一分页(不是下一章)链接 (规则结果为String类型的Url)"},{title:"脚本注入",namespace:"ruleContent",id:"webJs",type:"String",hint:"注入javascript,用于模拟鼠标点击等,必须有返回值,一般为String类型"},{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:"imageDecode",type:"String",hint:"填写JavaScript 返回解密图片的bytes "},{title:"购买操作",namespace:"ruleContent",id:"payAction",type:"String",hint:"填写JavaScript 返回购买链接或者调用购买接口"}]},other:{name:"其他",children:[{title:"启用搜索",id:"enabled",type:"Boolean"},{title:"启用发现",id:"enabledExplore",type:"Boolean"},{title:"CookieJar",id:"enabledCookieJar",type:"Boolean"},{title:"搜索权重",id:"weight",type:"Number"},{title:"排序编号",id:"customOrder",type:"Number"}]}},oo={base:{name:"基础",children:[{title:"源域名",id:"sourceUrl",type:"String",hint:"通常填写网站主页,例: https://www.qidian.com",required:!0},{title:"图标",id:"sourceIcon",type:"String",hint:"填写图片网络链接"},{title:"源名称",id:"sourceName",type:"String",hint:"会显示在源列表",required:!0},{title:"源分组",id:"sourceGroup",type:"String",hint:"描述源的特征信息"},{title:"源注释",id:"sourceComment",type:"String",hint:"描述源作者和状态"},{title:"分类地址",id:"sortUrl",type:"String",hint:`名称1::链接1 -名称2::链接2`},{title:"登录地址",id:"loginUrl",type:"String",hint:"填写网站登录网址,仅在需要登录的源有用"},{title:"登录界面",id:"loginUi",type:"String",hint:"自定义登录界面"},{title:"登录检测",id:"loginCheckJs",type:"String",hint:"登录检测js"},{title:"封面解密",id:"coverDecodeJs",type:"String",hint:"封面解密js"},{title:"请求头",id:"header",type:"String",hint:"客户端标识"},{title:"变量说明",id:"variableComment",type:"String",hint:"源变量说明"},{title:"并发率",id:"concurrentRate",type:"String",hint:"并发率"}]},list:{name:"列表",children:[{title:"列表规则",id:"ruleArticles",type:"String",hint:"规则结果为List"},{title:"翻页规则",id:"ruleNextPage",type:"String",hint:"下一页链接 规则结果为List或String"},{title:"标题规则",id:"ruleTitle",type:"String",hint:"文章标题 规则结果为String"},{title:"时间规则",id:"rulePubDate",type:"String",hint:"文章发布时间 规则结果为String"},{title:"描述规则",id:"ruleDescription",type:"String",hint:"文章简要描述 规则结果为String"},{title:"图片规则",id:"ruleImage",type:"String",hint:"文章图片链接 规则结果为String"},{title:"链接规则",id:"ruleLink",type:"String",hint:"文章链接 规则结果为String"}]},webView:{name:"WebView",children:[{title:"内容规则",id:"ruleContent",type:"String",hint:"文章正文"},{title:"样式规则",id:"style",type:"String",hint:"文章正文样式 填写css"},{title:"注入规则",id:"injectJs",type:"String",hint:"注入网页的JavaScript"},{title:"黑名单",id:"contentBlacklist",type:"String",hint:"webView链接加载黑名单,英文逗号隔开"},{title:"白名单",id:"contentWhitelist",type:"String",hint:"webView链接加载白名单,英文逗号隔开"},{title:"链接拦截",id:"shouldOverrideUrlLoading",type:"String",hint:"填写js,变量url为当前资源链接,返回true拦截"}]},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"}]}},no={class:"editor"},ro={__name:"SourceEditor",setup(e){ze();let o;return/bookSource/i.test(location.href)?(o=to,document.title="书源管理"):(o=oo,document.title="订阅源管理"),(t,r)=>{const n=eo,i=Yt,c=At;return g(),E("div",no,[m(n,{class:"left",config:s(o)},null,8,["config"]),m(i),m(c,{class:"right"})])}}},ge=$(ro,[["__scopeId","data-v-9682883a"]]),we=[{path:"/bookSource",name:"book-home",component:ge},{path:"/rssSource",name:"rss-home",component:ge}];ne({history:re(),routes:we});const Ce=ne({history:re(),routes:ke.concat(we)});Ce.afterEach(e=>{e.name=="shelf"&&(document.title="书架")});Ge(Ye).use($t).use(Ce).mount("#app");ie(()=>Pt().isNight,e=>{e?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")});export{A,$ as _,Pt as u}; +ErrorMsg: ${a.errorMsg}`,type:"error"})})},n=()=>{o.changeTabName("editTab"),o.changeEditTabSource(o.currentSource)},i=()=>{o.changeCurrentSource(o.editTabSource)},u=()=>{o.editHistoryUndo()},c=()=>{o.clearEdit(),B({message:"已清除",type:"success"})},k=()=>{o.clearEdit(),o.clearAllHistory(),B({message:"已清除所有历史记录",type:"success"})},b=()=>{let f=/bookSource/i.test(location.href),a=o.currentSource;Ut(a)?A.saveSource(a).then(({data:S})=>{S.isSuccess?(B({message:`源《${f?a.bookSourceName:a.sourceName}》已成功保存到「阅读3.0APP」`,type:"success"}),o.saveCurrentSource()):B({message:`源《${f?a.bookSourceName:a.sourceName}》保存失败! +ErrorMsg: ${S.errorMsg}`,type:"error"})}):B({message:"请检查<必填>项是否全部填写",type:"error"})},U=()=>{o.startDebug()},I=P(Array.of({name:"⇈推送源",hotKeys:[],action:r},{name:"⇊拉取源",hotKeys:[],action:t},{name:"⋙生成源",hotKeys:[],action:n},{name:"⋘编辑源",hotKeys:[],action:i},{name:"✗清空表单",hotKeys:[],action:c},{name:"↶撤销操作",hotKeys:[],action:u},{name:"↷重做操作",hotKeys:[],action:k},{name:"⇏调试源",hotKeys:[],action:U},{name:"✓保存源",hotKeys:[],action:b})),d=P(!0),l=P(!1),_=P(-1),v=()=>{l.value||(d.value=!1),l.value=!1};ie(d,f=>{if(!f){F.unbind("*"),z(),W();return}z(),F.unbind(),F("*",a=>{a.preventDefault();let S=F.getPressedKeyString();S.length==1&&S[0]=="esc"||l.value&&_.value>-1&&(I.value[_.value].hotKeys=S)})},{immediate:!0});const E=f=>{l.value=!0,B({message:"按ESC键或者点击空白处结束录入",type:"info"}),I.value[f].hotKeys=[],_.value=f},L=()=>{const f=[];I.value.forEach(({hotKeys:a})=>{f.push(a)}),T(f),d.value=!1},W=()=>{F.filter=()=>!0,I.value.forEach(({hotKeys:f,action:a})=>{f.length!=0&&F(f.join("+"),S=>{S.preventDefault(),a.call(null)})})},T=f=>{localStorage.setItem("legado_web_hotkeys",JSON.stringify(f))};function z(){try{const f=JSON.parse(localStorage.getItem("legado_web_hotkeys"));return!Array.isArray(f)||f.length==0?!1:(I.value.forEach((a,S)=>a.hotKeys=f[S]),!0)}catch{B({message:"快捷键配置错误",type:"error"}),localStorage.removeItem("legado_web_hotkeys")}return!1}return De(()=>{z()&&(d.value=!1)}),(f,a)=>{const S=se,D=me,Ue=Ae;return g(),x(O,null,[h("div",Ht,[(g(!0),x(O,null,j(s(I),N=>(g(),w(S,{size:"large",key:N.name,onClick:N.action},{default:p(()=>[y(X(N.name),1)]),_:2},1032,["onClick"]))),128)),m(S,{size:"large",onClick:a[0]||(a[0]=()=>d.value=!0)},{default:p(()=>a[2]||(a[2]=[y("快捷键")])),_:1})]),m(Ue,{modelValue:s(d),"onUpdate:modelValue":a[1]||(a[1]=N=>H(d)?d.value=N:null),"show-close":!1,"before-close":v},{header:p(({titleClass:N,titleId:ee})=>[h("div",Kt,[h("div",{id:ee,class:fe(N)},[a[4]||(a[4]=y(" 快捷键设置 ")),s(l)?(g(),x("span",Wt,[m(D,null,{default:p(()=>a[3]||(a[3]=[y(" / 录入中 ")])),_:1})])):V("",!0)],10,Mt),m(S,{disabled:s(l),onClick:L,icon:s(je)},{default:p(()=>a[5]||(a[5]=[y("保存")])),_:1},8,["disabled","icon"])])]),default:p(()=>[h("div",Ft,[(g(!0),x(O,null,j(s(I),(N,ee)=>(g(),x("div",{key:N.name,class:"hotkeys-item flex-space-between"},[h("span",qt,[m(D,null,{default:p(()=>[y(X(N.name),1)]),_:2},1024)]),h("div",zt,[(g(!0),x(O,null,j(N.hotKeys,(te,Be)=>(g(),x("div",{key:te},[h("kbd",null,X(te),1),Be+1a[6]||(a[6]=[y("+")])),_:1})])):V("",!0)]))),128)),N.hotKeys.length==0?(g(),x("span",Qt,"未设置")):V("",!0)]),m(S,{disabled:s(l),text:"",icon:s(he),onClick:te=>E(ee)},{default:p(()=>a[7]||(a[7]=[y("编辑")])),_:2},1032,["disabled","icon","onClick"])]))),128))])]),_:1},8,["modelValue"])],64)}}},Yt=$(Xt,[["__scopeId","data-v-9f61bfde"]]),Zt={__name:"SourceTabForm",props:["config"],setup(e){const o=M(),t=J(()=>o.currentSource);return(r,n)=>{const i=Y,u=He,c=Ke,k=Me,b=We,U=Fe,I=qe,d=be,l=_e;return g(),w(l,{id:"source-edit"},{default:p(()=>[(g(!0),x(O,null,j(Object.values(e.config),({name:_,children:v})=>(g(),w(d,{label:_,key:_},{default:p(()=>[m(I,{"label-position":"right","label-width":"auto"},{default:p(()=>[(g(!0),x(O,null,j(v,({type:E,title:L,namespace:W,id:T,array:z,hint:f,required:a})=>(g(),w(U,{label:L,key:L,required:a},{default:p(()=>[E=="String"&&typeof W>"u"?(g(),w(i,{key:0,type:"textarea",modelValue:s(t)[T],"onUpdate:modelValue":S=>s(t)[T]=S,placeholder:f,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):V("",!0),E=="String"&&typeof W<"u"?(g(),w(i,{key:1,type:"textarea",modelValue:s(t)[W][T],"onUpdate:modelValue":S=>s(t)[W][T]=S,placeholder:f,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):V("",!0),E=="Boolean"?(g(),w(u,{key:2,modelValue:s(t)[T],"onUpdate:modelValue":S=>s(t)[T]=S},null,8,["modelValue","onUpdate:modelValue"])):V("",!0),E=="Number"?(g(),w(c,{key:3,modelValue:s(t)[T],"onUpdate:modelValue":S=>s(t)[T]=S,min:0},null,8,["modelValue","onUpdate:modelValue"])):V("",!0),E=="Array"?(g(),w(b,{key:4,modelValue:s(t)[T],"onUpdate:modelValue":S=>s(t)[T]=S},{default:p(()=>[(g(!0),x(O,null,j(z,(S,D)=>(g(),w(k,{value:D,key:S,label:S},null,8,["value","label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):V("",!0)]),_:2},1032,["label","required"]))),128))]),_:2},1024)]),_:2},1032,["label"]))),128))]),_:1})}}},eo=$(Zt,[["__scopeId","data-v-0cb9f194"]]),to={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:"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:"bookUrlPattern",type:"String",hint:"书籍URL正则,当详情页URL与源URL的域名不一致时有效,用于添加网址"},{title:"请求头",id:"header",type:"String",hint:"客户端标识"},{title:"变量说明",id:"variableComment",type:"String",hint:"书源变量说明"},{title:"并发率",id:"concurrentRate",type:"String",hint:"并发率,如1000(访问间隔1000ms)或者1/1000(1000ms内访问1次)"},{title:"js库",id:"jsLib",type:"String",hint:"js库, 可填写js或者key-value object获取在线js文件"}]},search:{name:"搜索",children:[{title:"搜索地址",id:"searchUrl",type:"String",hint:"[域名可省略]/search.php@kw={{key}}"},{title:"校验文字",namespace:"ruleSearch",id:"checkKeyWord",type:"String",hint:"校验关键字,强烈建议填写"},{title:"列表规则",namespace:"ruleSearch",id:"bookList",type:"String",hint:"选择书籍节点 (规则结果为List)"},{title:"书名规则",namespace:"ruleSearch",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleSearch",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleSearch",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleSearch",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleSearch",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleSearch",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleSearch",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",namespace:"ruleSearch",id:"bookUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}]},find:{name:"发现",children:[{title:"发现地址",id:"exploreUrl",type:"String",hint:"单个发现格式::或者{url:,title:,style:...};前者用换行符或者&&连接,后者放在数组内;可用js动态生成"},{title:"列表规则",namespace:"ruleExplore",id:"bookList",type:"String",hint:"选择书籍节点 (规则结果为List)"},{title:"书名规则",namespace:"ruleExplore",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleExplore",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleExplore",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleExplore",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleExplore",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleExplore",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleExplore",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",namespace:"ruleExplore",id:"bookUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}]},detail:{name:"详情",children:[{title:"预处理",namespace:"ruleBookInfo",id:"init",type:"String",hint:"用于加速详情信息检索,只支持AllInOne规则"},{title:"书名规则",namespace:"ruleBookInfo",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleBookInfo",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleBookInfo",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleBookInfo",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleBookInfo",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleBookInfo",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleBookInfo",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"目录地址",namespace:"ruleBookInfo",id:"tocUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url, 与详情页相同时可省略)"},{title:"修改书籍",namespace:"ruleBookInfo",id:"canReName",type:"String",hint:"允许修改书名作者(规则结果为String类型, 默认不允许)"},{title:"下载URL",namespace:"ruleBookInfo",id:"downloadUrls",type:"String",hint:"文件类书源下载地址 (规则结果为String类型的url, 多个链接返回数组)"}]},directory:{name:"目录",children:[{title:"更新前JS",namespace:"ruleToc",id:"preUpdateJs",type:"String",hint:"更新目录前调用JS 动态更新目录链接"},{title:"列表规则",namespace:"ruleToc",id:"chapterList",type:"String",hint:"选择目录列表的章节节点 (规则结果为List)"},{title:"章节名称",namespace:"ruleToc",id:"chapterName",type:"String",hint:"选择章节名称 (规则结果为String)"},{title:"章节地址",namespace:"ruleToc",id:"chapterUrl",type:"String",hint:"选择章节链接 (规则结果为String类型的Url)"},{title:"标题处理",namespace:"ruleToc",id:"formatJs",type:"String",hint:"遍历去重后的章节列表的回调,提供index(章节序号从1开始)、title(章节标题)变量,额外提供gInt(初始值0),返回值作为新的标题"},{title:"卷名标识",namespace:"ruleToc",id:"isVolume",type:"String",hint:"章节名称是否是卷名 (规则结果为Bool)"},{title:"章节信息",namespace:"ruleToc",id:"updateTime",type:"String",hint:"选择章节信息(如更新时间) (规则结果为String)"},{title:"收费标识",namespace:"ruleToc",id:"isVip",type:"String",hint:"章节是否为VIP章节 (规则结果为Bool)"},{title:"购买标识",namespace:"ruleToc",id:"isPay",type:"String",hint:"章节是否为已购买 (规则结果为Bool)"},{title:"翻页规则",namespace:"ruleToc",id:"nextTocUrl",type:"String",hint:"选择目录下一页链接 (规则结果为List或String)"}]},content:{name:"正文",children:[{title:"正文规则",namespace:"ruleContent",id:"content",type:"String",hint:"选择正文内容 (规则结果为String)"},{title:"标题规则",namespace:"ruleContent",id:"title",type:"String",hint:"获取结果将会覆盖章节标题 (规则结果为String)"},{title:"翻页规则",namespace:"ruleContent",id:"nextContentUrl",type:"String",hint:"选择下一分页(不是下一章)链接 (规则结果为String类型的Url)"},{title:"脚本注入",namespace:"ruleContent",id:"webJs",type:"String",hint:"注入javascript,用于模拟鼠标点击等,必须有返回值,一般为String类型"},{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:"imageDecode",type:"String",hint:"填写JavaScript 返回解密图片的bytes "},{title:"购买操作",namespace:"ruleContent",id:"payAction",type:"String",hint:"填写JavaScript 返回购买链接或者调用购买接口"}]},other:{name:"其他",children:[{title:"启用搜索",id:"enabled",type:"Boolean"},{title:"启用发现",id:"enabledExplore",type:"Boolean"},{title:"CookieJar",id:"enabledCookieJar",type:"Boolean"},{title:"搜索权重",id:"weight",type:"Number"},{title:"排序编号",id:"customOrder",type:"Number"}]}},oo={base:{name:"基础",children:[{title:"源域名",id:"sourceUrl",type:"String",hint:"通常填写网站主页,例: https://www.qidian.com",required:!0},{title:"图标",id:"sourceIcon",type:"String",hint:"填写图片网络链接"},{title:"源名称",id:"sourceName",type:"String",hint:"会显示在源列表",required:!0},{title:"源分组",id:"sourceGroup",type:"String",hint:"描述源的特征信息"},{title:"源注释",id:"sourceComment",type:"String",hint:"描述源作者和状态"},{title:"分类地址",id:"sortUrl",type:"String",hint:`名称1::链接1 +名称2::链接2`},{title:"登录地址",id:"loginUrl",type:"String",hint:"填写网站登录网址,仅在需要登录的源有用"},{title:"登录界面",id:"loginUi",type:"String",hint:"自定义登录界面"},{title:"登录检测",id:"loginCheckJs",type:"String",hint:"登录检测js"},{title:"封面解密",id:"coverDecodeJs",type:"String",hint:"封面解密js"},{title:"请求头",id:"header",type:"String",hint:"客户端标识"},{title:"变量说明",id:"variableComment",type:"String",hint:"源变量说明"},{title:"并发率",id:"concurrentRate",type:"String",hint:"并发率"}]},list:{name:"列表",children:[{title:"列表规则",id:"ruleArticles",type:"String",hint:"规则结果为List"},{title:"翻页规则",id:"ruleNextPage",type:"String",hint:"下一页链接 规则结果为List或String"},{title:"标题规则",id:"ruleTitle",type:"String",hint:"文章标题 规则结果为String"},{title:"时间规则",id:"rulePubDate",type:"String",hint:"文章发布时间 规则结果为String"},{title:"描述规则",id:"ruleDescription",type:"String",hint:"文章简要描述 规则结果为String"},{title:"图片规则",id:"ruleImage",type:"String",hint:"文章图片链接 规则结果为String"},{title:"链接规则",id:"ruleLink",type:"String",hint:"文章链接 规则结果为String"}]},webView:{name:"WebView",children:[{title:"内容规则",id:"ruleContent",type:"String",hint:"文章正文"},{title:"样式规则",id:"style",type:"String",hint:"文章正文样式 填写css"},{title:"注入规则",id:"injectJs",type:"String",hint:"注入网页的JavaScript"},{title:"黑名单",id:"contentBlacklist",type:"String",hint:"webView链接加载黑名单,英文逗号隔开"},{title:"白名单",id:"contentWhitelist",type:"String",hint:"webView链接加载白名单,英文逗号隔开"},{title:"链接拦截",id:"shouldOverrideUrlLoading",type:"String",hint:"填写js,变量url为当前资源链接,返回true拦截"}]},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"}]}},no={class:"editor"},ro={__name:"SourceEditor",setup(e){ze();let o;return/bookSource/i.test(location.href)?(o=to,document.title="书源管理"):(o=oo,document.title="订阅源管理"),(t,r)=>{const n=eo,i=Yt,u=At;return g(),x("div",no,[m(n,{class:"left",config:s(o)},null,8,["config"]),m(i),m(u,{class:"right"})])}}},ge=$(ro,[["__scopeId","data-v-9682883a"]]),we=[{path:"/bookSource",name:"book-home",component:ge},{path:"/rssSource",name:"rss-home",component:ge}];ne({history:re(),routes:we});const Ce=ne({history:re(),routes:ke.concat(we)});Ce.afterEach(e=>{e.name=="shelf"&&(document.title="书架")});Ge(Ye).use($t).use(Ce).mount("#app");ie(()=>Pt().isNight,e=>{e?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")});export{A,$ as _,Pt as u}; diff --git a/app/src/main/assets/web/vue/index.html b/app/src/main/assets/web/vue/index.html index 656881a64cfe..6a17b78e27fa 100644 --- a/app/src/main/assets/web/vue/index.html +++ b/app/src/main/assets/web/vue/index.html @@ -4,7 +4,7 @@ - +