| 1 |
- import{d as a,r as l,q as e,O as t,o as s,P as o,c as i,w as u,y as n,i as d,b as c,e as r,f,h as v,n as _,t as p,l as y,m,z as k,j as b,F as h,k as g,D as C,$ as U,J as w,p as x}from"./index-Co9nPWLO.js";import{u as D}from"./audio.DwsFIuQc.js";import{g as j}from"./book-generator-api.DJmua_js.js";import{_ as I}from"./_plugin-vue_export-helper.BCo6x5W8.js";const $=I(a({__name:"index",setup(a){const I=D(),$=l(""),P=l(null),M=l([]),S=l(!1),q=l(!1),z=e(()=>M.value.filter(a=>"completed"===a.status).length);function F(a){if(!a)return"0:00";return`${Math.floor(a/60)}:${Math.floor(a%60).toString().padStart(2,"0")}`}function J(){w()}async function O(){S.value=!0;try{const a=await j($.value);P.value=a,M.value=a.chapters||[]}catch(a){console.error("获取书籍详情失败:",a),n({title:"获取书籍详情失败",icon:"none"})}finally{S.value=!1}}async function A(){try{q.value?(q.value=!1,n({title:"已取消收藏",icon:"success"})):(q.value=!0,n({title:"收藏成功",icon:"success"}))}catch(a){console.error("收藏操作失败:",a),n({title:"操作失败",icon:"none"})}}function B(){const a=M.value.filter(a=>a.audioUrl);if(a.length>0){const l=a.map(a=>({id:parseInt(a.id),title:a.title,audioDuration:a.audioDuration||0,wordCount:a.wordCount||0,audioUrl:a.audioUrl}));I.setPlaylist(l,0,!0),E(a[0])}else n({title:"暂无音频可播放",icon:"none"})}function E(a,l){if(!a.audioUrl)return void n({title:"该章节暂无音频",icon:"none"});const e=M.value.filter(a=>a.audioUrl),t=e.map(a=>({id:parseInt(a.id),title:a.title,audioDuration:a.audioDuration||0,wordCount:a.wordCount||0,audioUrl:a.audioUrl})),s=e.findIndex(l=>l.id===a.id);I.setPlaylist(t,s>=0?s:0,!0),I.play({id:parseInt(a.id),title:a.title,audioDuration:a.audioDuration||0,wordCount:a.wordCount||0,audioUrl:a.audioUrl}),x({url:`/pages/player/index?id=${a.id}`})}const G=l(""),H=l(""),K=l(!1);function L(){K.value=!1,G.value="",H.value=""}return t(async a=>{$.value=(null==a?void 0:a.id)||"",$.value&&await O()}),s(()=>{var a;if(!$.value){const l=o(),e=l[l.length-1];$.value=(null==(a=null==e?void 0:e.options)?void 0:a.id)||"",$.value&&O()}}),(a,l)=>{const e=f,t=d,s=m,o=U;return c(),i(t,{class:"page"},{default:u(()=>[r(t,{class:"nav-bar"},{default:u(()=>[r(t,{class:"nav-btn",onClick:J},{default:u(()=>[r(e,{class:"nav-icon"},{default:u(()=>[v("←")]),_:1})]),_:1}),r(e,{class:"nav-title"},{default:u(()=>[v("书籍详情")]),_:1}),r(t,{class:"nav-btn"})]),_:1}),S.value&&!P.value?(c(),i(t,{key:0,class:"skeleton-container"},{default:u(()=>[r(t,{class:"skeleton-cover"}),r(t,{class:"skeleton-info"},{default:u(()=>[r(t,{class:"skeleton-title"}),r(t,{class:"skeleton-desc"})]),_:1})]),_:1})):P.value?(c(),i(t,{key:1,class:"album-header"},{default:u(()=>[r(t,{class:"album-cover",style:_({background:"linear-gradient(135deg, #4f46e5 0%, #818cf8 100%)"})},{default:u(()=>[r(e,{class:"cover-icon"},{default:u(()=>[v("📖")]),_:1})]),_:1},8,["style"]),r(t,{class:"album-info"},{default:u(()=>[r(e,{class:"album-title"},{default:u(()=>[v(p(P.value.title),1)]),_:1}),r(e,{class:"album-meta"},{default:u(()=>[v(p(P.value.totalChapters)+"章 · "+p(z.value)+"章已完成",1)]),_:1}),r(e,{class:"album-desc"},{default:u(()=>[v(p(P.value.description||"暂无描述"),1)]),_:1})]),_:1})]),_:1})):y("",!0),P.value?(c(),i(t,{key:2,class:"action-bar"},{default:u(()=>[r(s,{class:k(["action-btn",{subscribed:q.value}]),onClick:A},{default:u(()=>[r(e,null,{default:u(()=>[v(p(q.value?"已收藏":"收藏"),1)]),_:1})]),_:1},8,["class"]),r(s,{class:"action-btn primary",onClick:B},{default:u(()=>[r(e,null,{default:u(()=>[v("播放全部")]),_:1})]),_:1})]),_:1})):y("",!0),S.value?y("",!0):(c(),i(t,{key:3,class:"audio-section"},{default:u(()=>[r(e,{class:"section-title"},{default:u(()=>[v("章节列表")]),_:1}),0===M.value.length?(c(),i(t,{key:0,class:"empty"},{default:u(()=>[r(e,{class:"empty-icon"},{default:u(()=>[v("📖")]),_:1}),r(e,{class:"empty-text"},{default:u(()=>[v("暂无章节")]),_:1})]),_:1})):(c(),i(t,{key:1,class:"audio-list"},{default:u(()=>[(c(!0),b(h,null,g(M.value,(a,l)=>(c(),i(t,{key:a.id,class:k(["audio-item",{"has-audio":a.audioUrl,"has-video":a.videoUrl}]),onClick:l=>E(a)},{default:u(()=>[r(t,{class:"audio-index"},{default:u(()=>[v(p(l+1),1)]),_:2},1024),r(t,{class:"audio-content"},{default:u(()=>[r(e,{class:"audio-title"},{default:u(()=>[v(p(a.title),1)]),_:2},1024),r(e,{class:"audio-meta"},{default:u(()=>[v(p(a.audioUrl?F(a.audioDuration)+" · ":"")+" "+p(a.wordCount||0)+"字 ",1),a.audioUrl?(c(),b("span",{key:0,class:"audio-tag"},"🎵")):y("",!0),a.videoUrl?(c(),b("span",{key:1,class:"video-tag"},"🎬")):y("",!0)]),_:2},1024)]),_:2},1024),r(t,{class:"audio-actions"},{default:u(()=>[a.videoUrl?(c(),i(t,{key:0,class:"video-play-btn",onClick:C(l=>function(a){a.videoUrl?(G.value="http://localhost:3000"+a.videoUrl,H.value=a.title,K.value=!0):n({title:"该章节暂无视频",icon:"none"})}(a),["stop"])},{default:u(()=>[r(e,{class:"video-play-icon"},{default:u(()=>[v("▶")]),_:1})]),_:2},1032,["onClick"])):y("",!0),r(t,{class:"audio-play"},{default:u(()=>[r(e,{class:"play-icon"},{default:u(()=>[v("▶")]),_:1})]),_:1})]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1}))]),_:1})),K.value?(c(),i(t,{key:4,class:"video-modal"},{default:u(()=>[r(t,{class:"video-modal-mask",onClick:L}),r(t,{class:"video-modal-content"},{default:u(()=>[r(t,{class:"video-modal-header"},{default:u(()=>[r(e,{class:"video-modal-title"},{default:u(()=>[v(p(H.value),1)]),_:1}),r(t,{class:"video-modal-close",onClick:L},{default:u(()=>[v("×")]),_:1})]),_:1}),r(o,{src:G.value,class:"video-player",controls:"",autoplay:"","show-fullscreen-btn":"","show-play-btn":"","enable-progress-gesture":""},null,8,["src"])]),_:1})]),_:1})):y("",!0)]),_:1})}}}),[["__scopeId","data-v-f261163e"]]);export{$ as default};
|