Files
QieKan-3.0/app/src/main/assets/web/vue/assets/BookShelf-BYu7_7Ty.js
T
2024-09-30 13:40:16 +00:00

2 lines
8.2 KiB
JavaScript

import{a0 as G,m as D,o as d,d as u,g as t,F as Z,N as W,t as h,c as X,w as P,f as N,K as x,u as n,a1 as H,s as j,x as y,a2 as $,M as ee,R as te,j as B,e as S,y as se,J as ae,p as M,a3 as oe,a4 as ne,G as re,z as ie}from"./vendor-DyjdUqFg.js";import{d as ce,i as le,u as de,a as ue}from"./el-message-box-Cdo1N8K_.js";import{_ as O,A as p}from"./index-D7Z3b_yE.js";const he={class:"books-wrapper"},pe={class:"wrapper"},ge=["onClick"],me={class:"cover-img"},fe=["src"],ve={class:"info"},_e={class:"name"},we={class:"sub"},Be={class:"author"},Ae={key:0,class:"tags"},Ce={key:1,class:"update-info"},Ie={class:"size"},ke={class:"date"},xe={key:0,class:"intro"},ye={key:1,class:"dur-chapter"},Se={class:"last-chapter"},Re={__name:"BookItems",props:["books","isSearch"],emits:["bookClick"],setup(m,{emit:o}){G(s=>({f19573ba:n(C)}));const R=m,E=o,z=s=>E("bookClick",s),A=s=>le(s)?p.getProxyCoverUrl(s):s,T=s=>{s.target.src=p.getProxyCoverUrl(s.target.src)},C=D(()=>R.isSearch?"space-between":"flex-start");return(s,f)=>{const L=H;return d(),u("div",he,[t("div",pe,[(d(!0),u(Z,null,W(m.books,r=>{var I;return d(),u("div",{class:"book",key:r.bookUrl,onClick:w=>z(r)},[t("div",me,[(d(),u("img",{class:"cover",src:A(r.coverUrl),key:r.coverUrl,onErrorOnce:T,alt:"",loading:"lazy"},null,40,fe))]),t("div",ve,[t("div",_e,h(r.name),1),t("div",we,[t("div",Be,h(r.author),1),m.isSearch?(d(),u("div",Ae,[(d(!0),u(Z,null,W((I=r.kind)==null?void 0:I.split(",").slice(0,2),w=>(d(),X(L,{key:w},{default:P(()=>[N(h(w),1)]),_:2},1024))),128))])):x("",!0),m.isSearch?x("",!0):(d(),u("div",Ce,[f[0]||(f[0]=t("div",{class:"dot"},"•",-1)),t("div",Ie,"共"+h(r.totalChapterNum)+"章",1),f[1]||(f[1]=t("div",{class:"dot"},"•",-1)),t("div",ke,h(n(ce)(r.lastCheckTime)),1)]))]),m.isSearch?(d(),u("div",xe,h(r.intro),1)):x("",!0),m.isSearch?x("",!0):(d(),u("div",ye," 已读:"+h(r.durChapterTitle),1)),t("div",Se,"最新:"+h(r.latestChapterTitle),1)])],8,ge)}),128))])])}}},Ee=O(Re,[["__scopeId","data-v-1139d638"]]),ze="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==",Te={class:"navigation-wrapper"},Le={class:"search-wrapper"},Me={class:"bottom-wrapper"},Pe={class:"recent-wrapper"},Ne={class:"reading-recent"},Ve={class:"setting-wrapper"},be={class:"setting-item"},Je={class:"bottom-icons"},Ze={href:"https://github.com/gedoor/legado_web_bookshelf",target:"_blank"},We={class:"bottom-icon"},De=["src"],He={__name:"BookShelf",setup(m){const o=de(),{connectStatus:R,connectType:E,newConnect:z,shelf:A,theme:T}=j(o),C=D(()=>T.value==6),s=y({name:"尚无阅读记录",author:"",url:"",chapterIndex:0,chapterPos:0}),f=y(null),{showLoading:L,closeLoading:r,loadingWrapper:I,isLoading:w}=ue(f,"正在获取书籍信息"),v=$([]),g=y(""),k=y(!1);ee(()=>{if(!(k.value&&g.value!="")){if(k.value=!1,v.value=[],g.value==""){v.value=A.value;return}v.value=A.value.filter(a=>a.name.includes(g.value)||a.author.includes(g.value))}});const U=()=>{g.value!=""&&(v.value=[],o.clearSearchBooks(),L(),k.value=!0,p.search(g.value,a=>{w&&r();try{o.setSearchBooks(JSON.parse(a)),v.value=o.searchBooks}catch(e){throw B.error("后端数据错误"),e}},()=>{r(),v.value.length==0&&B.info("搜索结果为空")}))},F=()=>{oe.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:(a,e,c)=>{if(a==="confirm"){o.setNewConnect(!0),e.confirmButtonLoading=!0,e.confirmButtonText="校验中……";const i=e.inputValue;p.testLeagdoHttpUrlConnection("http://"+i).then(function(l){e.confirmButtonLoading=!1,o.setConnectType("success"),o.setConnectStatus("已连接 "+i),o.clearSearchBooks(),o.setNewConnect(!1),p.setLeagdoHttpUrl("http://"+i),localStorage.setItem("remoteIp",i),b(),c()}).catch(function(l){throw e.confirmButtonLoading=!1,e.confirmButtonText="确定",B.error("访问失败,请检查您输入的 url"),o.setNewConnect(!1),l})}else c()}})},K=ne(),Y=async a=>{const{bookUrl:e,name:c,author:i,durChapterIndex:l=0,durChapterPos:_=0}=a,J="respondTime"in a;J&&await p.saveBook(a),V(e,c,i,l,_,J)},V=(a,e,c,i,l,_)=>{e!=="尚无阅读记录"&&(sessionStorage.setItem("bookUrl",a),sessionStorage.setItem("bookName",e),sessionStorage.setItem("bookAuthor",c),sessionStorage.setItem("chapterIndex",i),sessionStorage.setItem("chapterPos",l),sessionStorage.setItem("isSeachBook",_),s.value={name:e,author:c,url:a,chapterIndex:i,chapterPos:l},localStorage.setItem("readingRecent",JSON.stringify(s.value)),K.push({path:"/chapter"}))};te(()=>{let a=localStorage.getItem("readingRecent");a!=null&&(s.value=JSON.parse(a),typeof s.value.chapterIndex>"u"&&(s.value.chapterIndex=0)),p.testLeagdoHttpUrlConnection().then(q).then(Q).catch(function(e){throw o.setConnectType("danger"),o.setConnectStatus("连接异常"),B.error("后端连接失败异常,请检查阅读WEB服务或者设置其它可用IP"),o.setNewConnect(!1),e})});const Q=()=>{I(o.saveBookProgress().finally(b))},b=()=>p.getBookShelf().then(a=>{o.setConnectType("success"),a.data.isSuccess?o.addBooks(a.data.data.sort(function(e,c){var i=e.durChapterTime||0,l=c.durChapterTime||0;return l-i})):B.error(a.data.errorMsg??"后端返回格式错误!"),o.setConnectStatus("已连接 "+p.legado_http_origin),o.setNewConnect(!1)}),q=()=>p.getReadConfig().then(a=>{var e=a.data.data;if(e){let c=JSON.parse(e);o.setConfig(c)}});return(a,e)=>{const c=re,i=H,l=Ee;return d(),u("div",{class:M({"index-wrapper":!0,night:n(C),day:!n(C)})},[t("div",Te,[e[4]||(e[4]=t("div",{class:"navigation-title-wrapper"},[t("div",{class:"navigation-title"},"阅读"),t("div",{class:"navigation-sub-title"},"清风不识字,何故乱翻书")],-1)),t("div",Le,[S(c,{placeholder:"搜索书籍,在线书籍自动加入书架",modelValue:n(g),"onUpdate:modelValue":e[0]||(e[0]=_=>se(g)?g.value=_:null),class:"search-input","prefix-icon":n(ie),onKeyup:ae(U,["enter"])},null,8,["modelValue","prefix-icon"])]),t("div",Me,[t("div",Pe,[e[2]||(e[2]=t("div",{class:"recent-title"},"最近阅读",-1)),t("div",Ne,[S(i,{type:n(s).name=="尚无阅读记录"?"warning":"",class:M(["recent-book",{"no-point":n(s).url==""}]),size:"large",onClick:e[1]||(e[1]=_=>V(n(s).url,n(s).name,n(s).author,n(s).chapterIndex,n(s).chapterPos))},{default:P(()=>[N(h(n(s).name),1)]),_:1},8,["type","class"])])]),t("div",Ve,[e[3]||(e[3]=t("div",{class:"setting-title"},"基本设定",-1)),t("div",be,[S(i,{type:n(E),size:"large",class:M(["setting-connect",{"no-point":n(z)}]),onClick:F},{default:P(()=>[N(h(n(R)),1)]),_:1},8,["type","class"])])])]),t("div",Je,[t("a",Ze,[t("div",We,[t("img",{src:n(ze),alt:""},null,8,De)])])])]),t("div",{class:"shelf-wrapper",ref_key:"shelfWrapper",ref:f},[S(l,{books:n(v),onBookClick:Y,isSearch:n(k)},null,8,["books","isSearch"])],512)],2)}}},Ke=O(He,[["__scopeId","data-v-fb6598ff"]]);export{Ke as default};