2 lines
33 KiB
JavaScript
2 lines
33 KiB
JavaScript
import{d as He,o as ys,m as Hs,a as t,c as a,n as fe,b as l,p as Be,t as o,k as Ee,e as u,F as D,r as U,q as ms,h as i,v as C,x as hs,f as h,w as g,g as _s,y as ge,l as x,z as Ws,j as Y,s as zs,A as Us,i as Ns,E as ye,u as Fs,B as Os}from"./index-C5b4pIQL.js";import{b as Ks}from"./browser-JP79f-a9.js";import{C as ks,a as ke}from"./index-Bz21yOih.js";import{_ as We,b as js,s as Gs,c as Xs,d as Ys,q as Zs,e as Js,f as Qs}from"./_plugin-vue_export-helper-CzL5NdOX.js";const et={class:"card-cover"},st=["src","alt"],tt=["src"],at={class:"placeholder-icon"},lt=["src"],nt={key:1},ot={class:"card-body"},it=["title"],ut={class:"card-time"},rt={key:0,class:"meta-size"},ct={key:0,class:"card-tags"},dt={class:"card-bottom-row"},vt={class:"bottom-left"},pt=["title"],ft={class:"bottom-right"},mt=1e4,ht=He({__name:"ResultCard",props:{data:{},fallbackTags:{},fallbackImage:{},loggedIn:{type:Boolean},cloudTypeMap:{}},emits:["save"],setup(m,{emit:ie}){const k=m,R=ie,b=i(!1),G=i(!1),E=i(!1);let I=null;ys(()=>{if(k.data.cover&&!b.value){E.value=!0;const d=new Image;let f=!1;I=setTimeout(()=>{f||(f=!0,E.value=!1)},mt),d.onload=()=>{f||(f=!0,b.value=!0,E.value=!1,I&&clearTimeout(I))},d.onerror=()=>{f||(f=!0,E.value=!1,I&&clearTimeout(I))},d.src=k.data.cover}}),Hs(()=>{I&&clearTimeout(I)});function be(){b.value=!1}function ue(){G.value=!0}const B=C(()=>{var f,M;return((M=(f=k.cloudTypeMap)==null?void 0:f[k.data.cloud_type])==null?void 0:M.icon)||"📁"}),ne=C(()=>({quark:"linear-gradient(135deg, #e8f5e9, #c8e6c9)",baidu:"linear-gradient(135deg, #e3f2fd, #bbdefb)",aliyun:"linear-gradient(135deg, #fff3e0, #ffe0b2)",115:"linear-gradient(135deg, #f3e5f5, #e1bee7)",xunlei:"linear-gradient(135deg, #e8f5e9, #a5d6a7)",magnet:"linear-gradient(135deg, #e8eaf6, #c5cae9)"})[k.data.cloud_type]||"linear-gradient(135deg, #f5f5f5, #e0e0e0)");function re(d){if(!d)return"";const f=Date.now(),M=new Date(d);if(isNaN(M.getTime()))return d.slice(0,10);const K=f-M.getTime();if(K<0)return d.slice(0,10);const S=Math.floor(K/1e3);if(S<60)return"刚刚";const z=Math.floor(S/60);if(z<60)return`${z} 分钟前`;const P=Math.floor(z/60);if(P<24)return`${P} 小时前`;const $=Math.floor(P/24);return $<30?`${$} 天前`:$<365?`${Math.floor($/30)} 个月前`:`${Math.floor($/365)} 年前`}const se=C(()=>re(k.data.update_time||k.data.datetime)),te=C(()=>{const d=k.data.source||"";return d?d.startsWith("tg:")?"@"+d.slice(3):d.startsWith("plugin:")?d.slice(7):d:""}),N=C(()=>{const d=k.data.source||"";return d.startsWith("tg:")?"📢":d.startsWith("plugin:")?"🔌":"📎"}),F=[/^\[夸克网盘\][::]?\s*/,/^【#电影名称:】\s*/,/^【#电影名称[::]】\s*/,/^【[^】]*[网盘|分享|电影|下载|资源]】[::]?\s*/,/^\[[^\]]*[网盘|分享|电影|下载|资源]\]\s*/,/^[##]电影名称[::]?\s*/,/^[##]资源名称[::]?\s*/,/^[##]标题[::]?\s*/,/^【[^】]*资源名称[^】]*】\s*/,/^【影片名称】\s*/,/^【资源名称】\s*/,/^【标题】\s*/],W=C(()=>{let d=k.data.title||"";for(const f of F)d=d.replace(f,"");return d=d.replace(/【[^】]+】/g,"").trim(),d||k.data.title}),L=new Set(["4K","1080P","2160P","720P","480P","HDR","HDR10","HDR10+","DV","杜比视界","杜比全景声","高码率","BluRay","REMUX","HEVC","x264","x265","AVC","内封简繁英字幕","内嵌中英字幕","内封简繁","内嵌字幕","字幕","中文字幕","简繁字幕","中英字幕","内封字幕","臻彩","高清","WEB-DL","WEBRip","蓝光"]),X=[/\b(4K)\b/,/\b(1080[Pp])\b/,/\b(2160[Pp])\b/,/\b(720[Pp])\b/,/\b(HDR10?\+?)\b/i,/\b(DV)\b/i,/\b(BluRay|蓝光)\b/i,/\b(REMUX)\b/i,/\b(HEVC)\b/i,/\b(x264)\b/i,/\b(x265)\b/i,/\b(WEB-DL)\b/i,/\b(WEBRip)\b/i],oe=C(()=>{const d=k.data.title||"",f=[],M=d.matchAll(/【([^】]+)】/g);for(const S of M){const P=S[1].split(/[.·、,,\/\\|]/);for(const $ of P){const Z=$.trim();Z&&L.has(Z)&&!f.includes(Z)&&f.push(Z)}}for(const S of X){const z=d.match(S);if(z){const P=z[1];f.includes(P)||f.push(P)}}const K=["杜比视界","杜比全景声","高码率","内封简繁英字幕","内嵌中英字幕","内封简繁","内嵌字幕","中文字幕","简繁字幕","中英字幕","内封字幕","臻彩"];for(const S of K)d.includes(S)&&!f.includes(S)&&f.push(S);return f.length===0&&k.fallbackTags&&k.fallbackTags.length>0?k.fallbackTags.slice(0,6):f.slice(0,10)});function me(d){return["4K","1080P","2160P","720P","480P","HDR","HDR10","HDR10+","DV","杜比视界","BluRay","REMUX","HEVC","x264","x265","臻彩","高清","WEB-DL","WEBRip"].includes(d)?"quality":d.includes("字幕")||d==="杜比全景声"||d==="高码率"?"subtitle":"default"}function y(){R("save",k.data)}function O(){k.data.share_url&&window.open(k.data.share_url,"_blank")}return(d,f)=>(t(),a("div",{class:fe(["result-card",{clickable:m.loggedIn}]),onClick:f[0]||(f[0]=M=>m.loggedIn&&O())},[l("div",et,[b.value?(t(),a("img",{key:0,src:m.data.cover,alt:m.data.title,onError:be,loading:"lazy",fetchpriority:"low"},null,40,st)):m.fallbackImage&&!G.value?(t(),a("img",{key:1,src:m.fallbackImage,alt:"cover",class:"fallback-img",onError:ue},null,40,tt)):(t(),a("div",{key:2,class:"cover-placeholder",style:Be({background:ne.value})},[l("span",at,[B.value.startsWith("data:")||B.value.startsWith("http")?(t(),a("img",{key:0,src:B.value,style:{width:"36px",height:"36px"}},null,8,lt)):(t(),a("span",nt,o(B.value),1))])],4)),l("span",{class:"cover-tag",style:Be({background:Ee(ks)[m.data.cloud_type]})},o(Ee(ke)[m.data.cloud_type]),5)]),l("div",ot,[l("div",{class:"card-title",title:m.data.title},o(W.value),9,it),l("div",ut,[l("span",null,"🕐 "+o(se.value),1),m.data.file_size?(t(),a("span",rt,"📦 "+o(m.data.file_size),1)):u("",!0)]),oe.value.length>0?(t(),a("div",ct,[(t(!0),a(D,null,U(oe.value,(M,K)=>(t(),a("span",{key:K,class:fe(["tag","tag-"+me(M)])},o(M),3))),128))])):u("",!0),l("div",dt,[l("div",vt,[te.value?(t(),a("span",{key:0,class:"meta-source",title:m.data.source},o(N.value)+" "+o(te.value),9,pt)):u("",!0)]),l("div",ft,[m.data.share_url&&!m.loggedIn?(t(),a("button",{key:0,class:"action-btn get-link-btn",onClick:ms(y,["stop"])}," 🔗 获取分享链接 ")):u("",!0),m.data.share_url&&m.loggedIn?(t(),a("button",{key:1,class:"action-btn open-link-btn",onClick:ms(O,["stop"])}," 🔗 打开链接 ")):u("",!0)])])])],2))}}),gs=We(ht,[["__scopeId","data-v-f6a62a8e"]]),_t={class:"video-card"},gt={class:"video-cover"},yt=["src","alt"],kt={class:"platform-tag"},bt={class:"video-info"},wt={key:0,class:"video-author"},Ct={key:1,class:"video-desc"},Tt=He({__name:"VideoResultCard",props:{data:{}},emits:["save"],setup(m,{emit:ie}){const k=m,R=ie;function b(){R("save",k.data)}return(G,E)=>(t(),a("div",_t,[l("div",gt,[l("img",{src:m.data.cover,alt:m.data.title},null,8,yt),E[0]||(E[0]=l("div",{class:"play-icon"},"▶",-1)),l("span",kt,o(m.data.platform),1)]),l("div",bt,[l("h4",null,o(m.data.title),1),m.data.author?(t(),a("p",wt,"👤 "+o(m.data.author),1)):u("",!0),m.data.description?(t(),a("p",Ct,o(m.data.description),1)):u("",!0)]),l("div",{class:"video-actions"},[l("button",{class:"save-btn",onClick:b},"📥 保存到云盘并获取下载链接")])]))}}),Rt=We(Tt,[["__scopeId","data-v-c6df203e"]]),It={class:"search-result-page"},Mt={class:"top-search-bar"},xt={class:"search-bar-inner"},Et=["src","alt"],$t={key:1,class:"logo-text-only"},qt={key:2,class:"logo-icon"},Vt={class:"search-box-inner"},Dt={class:"top-right-user"},Lt={class:"user-badge"},St={key:0,class:"marquee-bar"},Pt={class:"marquee-track"},At={class:"marquee-text"},Bt={class:"result-content"},Ht={key:0,class:"result-info-bar"},Wt={class:"info-left"},zt={key:0,class:"info-item info-count"},Ut={key:1,class:"info-item info-type"},Nt={key:2,class:"filter-badge"},Ft={key:3,class:"skip-badge"},Ot={class:"info-right"},Kt={key:0,class:"info-item info-time"},jt={key:1,class:"info-hasmore"},Gt={key:1,class:"loading-section"},Xt={class:"progress-track"},Yt={class:"progress-label"},Zt={key:0},Jt={key:1},Qt={key:0,class:"validate-count"},ea={key:2},sa={class:"progress-time"},ta={key:2,class:"cloud-tabs"},aa=["onClick"],la=["src"],na={key:1,class:"tab-icon"},oa={key:2,class:"tab-count"},ia={key:3,class:"media-strip"},ua=["href"],ra={key:0,class:"strip-thumb"},ca=["src"],da={key:1,class:"strip-thumb strip-thumb-fallback"},va={class:"strip-title"},pa={key:2,class:"strip-year"},fa={key:3,class:"strip-rating"},ma={key:4,class:"strip-genres"},ha={key:5,class:"strip-tags"},_a={key:1,class:"media-strip-inner"},ga={key:0,class:"strip-thumb"},ya=["src"],ka={key:1,class:"strip-thumb strip-thumb-fallback"},ba={class:"strip-title"},wa={key:2,class:"strip-year"},Ca={key:3,class:"strip-rating"},Ta={key:4,class:"strip-genres"},Ra={key:5,class:"strip-tags"},Ia={key:0,class:"result-list flat-list"},Ma={key:0,class:"load-more-inline"},xa={key:1,class:"result-list channel-list"},Ea={class:"channel-header"},$a=["src"],qa={key:1,class:"channel-icon"},Va={class:"channel-label"},Da={class:"channel-total-badge"},La={key:2,class:"channel-time"},Sa=["onClick"],Pa={class:"channel-load-more-text"},Aa={key:2,class:"no-match-tip"},Ba={key:5,class:"result-list"},Ha={key:6,class:"empty-wrapper"},Wa={class:"empty-hint"},za={key:0,class:"empty-tips"},Ua={key:7,class:"load-more"},Na={class:"dialog-title-bold"},Fa={class:"result-dialog-content"},Oa={key:0,class:"progress-flow"},Ka={class:"step-dot"},ja={key:0,class:"step-check"},Ga={key:1,class:"step-num"},Xa={class:"step-body"},Ya={class:"step-title"},Za={key:0,class:"step-status loading"},Ja={key:1,class:"step-status done"},Qa={class:"step-dot"},el={key:0,class:"step-check"},sl={key:1,class:"step-num"},tl={class:"step-body"},al={key:0,class:"step-status loading"},ll={key:1,class:"step-status done"},nl={key:2,class:"step-status pending"},ol={class:"step-dot"},il={key:0,class:"step-check"},ul={key:1,class:"step-num"},rl={class:"step-body"},cl={key:0,class:"step-status loading"},dl={key:1,class:"step-status done"},vl={key:2,class:"step-status pending"},pl={key:1,class:"save-error"},fl={key:2,class:"rename-info-bar"},ml={style:{"font-size":"13px"}},hl={key:3,class:"share-result"},_l={class:"share-layout"},gl={class:"qr-left"},yl={class:"qr-hint"},kl={class:"link-right"},bl={class:"success-header"},wl={class:"success-text"},Cl={class:"link-row"},Tl={key:0,class:"share-pwd-row"},Rl={class:"share-tip"},Il={class:"share-tip-text"},Ml={class:"dialog-actions"},xl={key:0,class:"login-error"},El={key:0,class:"site-footer"},$l={class:"footer-inner"},ql={class:"footer-actions"},Ae=30,xe=20,Vl=He({__name:"SearchResult",setup(m){const ie=Ws(),k=Fs(),R=i(""),b=i(!1),G=i(!1),E=i(null),I=i([]),be=i([]),ue=i([]),B=i([]),ne=i(0),re=i(0),se=i(!1),te=i(1),N=i(0),F=i(0),W=i(""),L=i(0),X=i("search"),oe=i(0),me=i(0),y=i(null),O=i([]),d=C(()=>f.value||M.value||""),f=i(""),M=i(""),K=i(""),S=i(""),z=i(""),P=i(!1),$=i(null),Z=i(!1),ze=i(),J=Ns({username:"",password:""}),$e=i(!1),we=i(""),bs={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}]},qe=i(new Map),Ve=i([]),he=i(Ae),ce=i({}),Ce=i({});function Ue(s){var e;return((e=Ce.value[s])==null?void 0:e.icon)||"📁"}async function ws(){try{const s=await Xs(),e={};for(const v of s.types)e[v.type]={label:v.label,icon:v.icon};Ce.value=e}catch{}}ys(async()=>{const s=ie.query.q||"";s&&(R.value=s,Me(s));const e=await js().catch(()=>({loggedIn:!1}));e.loggedIn&&e.username&&($.value={username:e.username}),ws()});async function Ne(){var e,v,c;if(await((e=ze.value)==null?void 0:e.validate().catch(()=>!1))){$e.value=!0,we.value="";try{const r=await Ys(J.username,J.password);localStorage.setItem("admin_token",r.token),$.value={username:J.username},Z.value=!1,J.password="",ye.success("登录成功")}catch(r){we.value=((c=(v=r==null?void 0:r.response)==null?void 0:v.data)==null?void 0:c.error)||(r==null?void 0:r.message)||"登录失败"}finally{$e.value=!1}}}function Cs(){localStorage.removeItem("admin_token"),$.value=null,ye.success("已退出")}const De=C(()=>{const s={};for(const _ of I.value){const H=_.cloud_type||"others";s[H]=(s[H]||0)+1}const e=[];e.push({type:"",label:"全部",count:I.value.length,icon:"📋"});const v={quark:1,baidu:2,aliyun:3,115:4,tianyi:5,"123pan":6,uc:7,xunlei:8,pikpak:9,magnet:10,ed2k:11,others:12},r=Object.keys(ke).sort((_,H)=>(v[_]??99)-(v[H]??99));for(const _ of r)e.push({type:_,label:ke[_],count:s[_]||0,icon:Ue(_)});return e}),Fe=C(()=>De.value.filter(s=>s.count>0));function Ts(){const s=De.value.find(e=>e.type===W.value);return(s==null?void 0:s.label)||W.value||""}const Le=C(()=>{const s=[];for(const e of B.value)s.push(...e.items);return s.sort((e,v)=>{const c=e.update_time||e.datetime||"",r=v.update_time||v.datetime||"";return!c&&!r?0:c?r?r.localeCompare(c):-1:1})}),Oe=C(()=>Le.value.slice(0,he.value)),Rs=C(()=>he.value<Le.value.length),Is=C(()=>{const s=R.value.trim();return s?s.length<2?`「${s}」太短了,试试输入更完整的关键词`:s.length>30?"关键词太长啦,试试用几个核心词代替整句话":(s.match(/[\u4e00-\u9fff]/g)||[]).length===0?"网盘资源通常以中文命名,试试用中文搜索":`「${s}」暂时没找到匹配的资源`:"请输入关键词进行搜索"}),Ke=C(()=>{const s=R.value.trim();if(!s)return["输入电视剧/电影/文件名称试试"];const e=[];s.length<2&&e.push("输入至少 2 个字符,试试完整的资源名称"),s.length>30&&e.push("缩短到 2-10 个字,用核心关键词搜索更精准");const v=(s.match(/[\u4e00-\u9fff]/g)||[]).length;return v===0&&e.push("国内网盘资源标题大多是中文,试试转换为中文名称"),v>0&&v<s.length*.5&&s.length>=2&&e.push("混合了太多非中文字符,提取核心中文关键词试试"),(s.includes(" ")||s.includes(" "))&&e.push("搜索词中包含了空格,试试去掉空格连续输入"),["的","了","是","在","有","我","他","她","它","这","那","和","与","及","或","但","而","且"].filter(H=>s.includes(H)).length>=2&&s.length>6&&e.push("看起来像是一句话,试着只保留资源核心名称(去掉「的」「了」「我」等词)"),(s.match(/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~`《》【】!@#¥%……&*()——+|]/g)||[]).length>2&&e.push("特殊符号过多,试试只用中英文和数字"),s.length===1&&v===1&&e.push("单个汉字过于宽泛,试试完整的剧名或文件名"),e.length===0&&(e.push("试试更换关键词或减短搜索词"),e.push("检查一下是否输入了正确的资源名称")),e.slice(0,4)});function Ms(){he.value+=Ae}function je(s){const e=ce.value[s.cloud_type]||xe;return(s.items||[]).slice(0,e)}function xs(s){const e=ce.value[s.cloud_type]||xe;return(s.items||[]).length>e}function Es(s){ce.value={...ce.value,[s]:(ce.value[s]||xe)+xe}}function $s(){ce.value={}}const Ge=C(()=>{let s=B.value;return W.value&&(s=s.filter(e=>e.cloud_type===W.value)),s}),qs=C(()=>N.value<=0?1:Math.ceil(N.value/20)),Xe=C(()=>De.value.filter(s=>s.type!==""&&s.count>0).length);function Vs(){R.value.trim()&&Me(R.value.trim())}function Ds(){L.value=0,X.value="search";const s=Date.now();F.value=0;const e=setInterval(()=>{if(!b.value){L.value=100,clearInterval(e);return}F.value=Date.now()-s,L.value<60?L.value+=1+Math.random()*3:L.value<85?(X.value="validate",L.value+=.5+Math.random()*1):L.value<98&&(L.value+=.2+Math.random()*.5)},200);return e}function Se(s){const e=s.map(v=>v.update_time||v.datetime||"").filter(Boolean).sort().reverse();return e.length===0?"":Ls(e[0])}function Ls(s){if(!s)return"";const e=Date.now(),v=new Date(s);if(isNaN(v.getTime()))return s.slice(0,10);const c=e-v.getTime();if(c<0)return s.slice(0,10);const r=Math.floor(c/6e4);if(r<60)return r<=1?"刚刚":`${r} 分钟前`;const _=Math.floor(r/60);if(_<24)return`${_} 小时前`;const H=Math.floor(_/24);return H<30?`${H} 天前`:`${Math.floor(H/30)} 个月前`}function Te(s){return Ue(s)}hs(()=>ie.query.q,s=>{s&&s!==R.value&&(R.value=s,Me(s))});const de=i(!1),Re=i(null),ve=i(!1),Q=i(!1),ae=i(null),j=i(""),_e=i(""),pe=i([]),Pe=i(null),T=i(0),Ie=C(()=>{var e;const s=((e=Re.value)==null?void 0:e.cloud_type)||"quark";return ke[s]||"夸克网盘"}),Ss=C(()=>{var v;const s=((v=Re.value)==null?void 0:v.title)||"";return s.replace(/【[^】]+】/g,"").trim()||s||"资源"});async function Me(s){b.value=!0;const e=Date.now();he.value=Ae,te.value=1,I.value=[],be.value=[],ue.value=[],B.value=[],Ve.value=[],qe.value=new Map,ne.value=0,re.value=0,se.value=!1,W.value="",F.value=0,P.value=!1,z.value="",$s();const v=Ds();try{E.value="SEARCH";let c=0,r=0;const _=new Map;let H=!1;await Gs(s,{onStats:p=>{if(F.value=Date.now()-e,N.value=p.total,y.value=p.content_info||null,O.value=p.content_tags||[],p.fallback_image){f.value=p.fallback_image;const q=new Image;q.onload=()=>{},q.onerror=()=>{f.value=""},q.src=p.fallback_image}if(p.site_logo&&(M.value=p.site_logo),p.site_name&&(K.value=p.site_name),p.site_disclaimer&&(S.value=p.site_disclaimer),p.site_marquee&&(z.value=p.site_marquee),X.value="validate",p.channels){const q=new Map,A=[];for(const w of p.channels)for(const ee of w.items||[])q.set(ee.id,ee),A.push(ee);qe.value=q,ue.value=A}p.link_validation&&(oe.value=p.total)},onResult:(p,q)=>{if(c++,me.value=c,F.value=Date.now()-e,q){const A=qe.value.get(p);A&&(Ve.value.push(A),I.value=[...Ve.value],B.value=Ye(I.value).map(w=>({...w,newestTime:Se(w.items)})))}},onComplete:p=>{F.value=Date.now()-e;const q=p.results||[];N.value=q.length,ne.value=p.filtered||0,re.value=p.skipped||0,se.value=!1,me.value=oe.value,I.value=q,B.value=(p.channels||[]).map(w=>({...w,newestTime:Se(w.items)}));const A={};for(const w of q){const ee=w.cloud_type||"others";A[ee]||(A[ee]=[]),A[ee].push(w)}B.value=B.value.map(w=>({...w,count:(A[w.cloud_type]||[]).length,items:A[w.cloud_type]||[]})).filter(w=>w.count>0),ue.value=q,b.value=!1,X.value="done",L.value=100,clearInterval(v)},onError:p=>{console.error("搜索失败",p),b.value=!1,X.value="done",L.value=100,clearInterval(v)}})}catch(c){console.error("搜索异常",c),b.value=!1,X.value="done",L.value=100,clearInterval(v)}}function Ye(s){const e={},v={quark:1,baidu:2,aliyun:3,115:4,tianyi:5,"123pan":6,uc:7,xunlei:8,pikpak:9,magnet:10,ed2k:11,others:12};for(const c of s){const r=c.cloud_type||"others";e[r]||(e[r]=[]),e[r].push(c)}return Object.entries(e).sort((c,r)=>(v[c[0]]??99)-(v[r[0]]??99)).map(([c,r])=>({cloud_type:c,label:ke[c]||c,color:ks[c]||"#95a5a6",count:r.length,items:r,newestTime:Se(r)}))}async function Ze(){G.value=!0,te.value++;try{const s=await Zs(R.value,te.value),e=s.results;I.value.push(...e),N.value=s.total,se.value=s.total>I.value.length,ne.value+=s.filtered||0,B.value=Ye(I.value)}catch(s){console.error("加载更多失败",s)}finally{G.value=!1}}function Je(){const s=R.value.trim();s&&(k.replace("/search?q="+encodeURIComponent(s)),Me(s))}async function Qe(s){var v;Re.value=s,Q.value=!1,ae.value=null,j.value="",_e.value="",pe.value=[],de.value=!0,ve.value=!0,T.value=1;const e=s.cloud_type||"quark";try{const c=await Js({type:"search",source:s,target_cloud:e});ae.value=c,Q.value=c.success,c.success&&(((v=c.renamed)==null?void 0:v.length)>0&&(pe.value=c.renamed),T.value=2,await new Promise(r=>setTimeout(r,600)),T.value=3,await new Promise(r=>setTimeout(r,400)),c.share_url&&(j.value=c.share_url,_e.value=c.share_pwd||c.sharePwd||"",await new Promise(r=>setTimeout(r,300))),T.value=4)}catch(c){ae.value={success:!1,share_url:"",file_name:"",file_size:"",message:c.message||"保存请求失败"},Q.value=!1}finally{de.value=!1}}async function Ps(s){Re.value=s,Q.value=!1,ae.value=null,j.value="",_e.value="",pe.value=[],de.value=!0,ve.value=!0;try{const e=await Qs({video_url:s.video_url,title:s.title,target_cloud:"quark"});ae.value=e,Q.value=e.success,e.success&&e.share_url&&(j.value=e.share_url)}catch(e){ae.value={success:!1,share_url:"",file_name:"",file_size:"",message:e.message||"保存请求失败"},Q.value=!1}finally{de.value=!1}}hs([j,de],async([s,e])=>{s&&!e&&ve.value&&(await Os(),Pe.value&&Ks.toCanvas(Pe.value,s,{width:180,margin:1}))});function As(){if(!j.value)return;const s=j.value;navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(s).then(()=>{ye.success("链接已复制")}).catch(()=>{ss(s)}):ss(s)}function es(){window.open("/disclaimer/","_blank")}function ss(s){const e=document.createElement("textarea");e.value=s,e.style.position="fixed",e.style.left="-9999px",e.style.top="-9999px",e.style.opacity="0",document.body.appendChild(e),e.select();try{document.execCommand("copy"),ye.success("链接已复制")}catch{ye.warning("复制失败,请手动复制链接")}document.body.removeChild(e)}return(s,e)=>{var ts,as,ls,ns,os,is,us,rs,cs,ds,vs,ps,fs;const v=Y("router-link"),c=Y("el-icon"),r=Y("el-input"),_=Y("el-button"),H=Y("el-skeleton"),p=Y("el-alert"),q=Y("el-tag"),A=Y("el-dialog"),w=Y("el-form-item"),ee=Y("el-form");return t(),a(D,null,[l("div",It,[l("div",Mt,[l("div",xt,[h(v,{to:"/",class:"logo-link",title:"返回首页"},{default:g(()=>[M.value?(t(),a("img",{key:0,src:M.value,alt:K.value||"首页",class:"logo-img",onError:e[0]||(e[0]=n=>n.target.style.display="none")},null,40,Et)):K.value?(t(),a("div",$t,o(K.value),1)):(t(),a("div",qt,[...e[11]||(e[11]=[l("svg",{viewBox:"0 0 28 28",width:"28",height:"28",fill:"none"},[l("circle",{cx:"14",cy:"14",r:"13",stroke:"var(--primary-color)","stroke-width":"2"}),l("path",{d:"M8 14l4 4 8-8",stroke:"var(--primary-color)","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]))]),_:1}),l("div",Vt,[h(r,{modelValue:R.value,"onUpdate:modelValue":e[1]||(e[1]=n=>R.value=n),placeholder:"搜索网盘资源,或粘贴视频/网盘链接...",size:"large",clearable:"",onKeyup:_s(Je,["enter"])},{prefix:g(()=>[h(c,null,{default:g(()=>[h(Ee(zs))]),_:1})]),_:1},8,["modelValue"]),h(_,{type:"primary",size:"large",onClick:Je,class:"result-search-btn"},{default:g(()=>[...e[12]||(e[12]=[x("搜 索",-1)])]),_:1})])]),l("div",Dt,[$.value?(t(),a(D,{key:0},[l("span",Lt,o($.value.username),1),h(_,{size:"small",text:"",onClick:Cs},{default:g(()=>[...e[13]||(e[13]=[x("退出",-1)])]),_:1})],64)):(t(),ge(_,{key:1,size:"small",onClick:e[2]||(e[2]=n=>Z.value=!0)},{default:g(()=>[...e[14]||(e[14]=[x("登录",-1)])]),_:1}))])]),z.value?(t(),a("div",St,[e[15]||(e[15]=l("span",{class:"marquee-icon marquee-icon-left"},"📢",-1)),l("div",Pt,[l("span",At,o(z.value),1)]),e[16]||(e[16]=l("span",{class:"marquee-icon marquee-icon-right"},"📢",-1))])):u("",!0),l("div",Bt,[E.value==="SEARCH"&&!b.value?(t(),a("div",Ht,[l("div",Wt,[N.value>0?(t(),a("span",zt,"已为您挑选到最符合 "+o(N.value)+" 条结果",1)):u("",!0),Xe.value>0?(t(),a("span",Ut,"📂 "+o(Xe.value)+" 个网盘",1)):u("",!0),ne.value>0?(t(),a("span",Nt,"❌ 失效 "+o(ne.value),1)):u("",!0),re.value>0?(t(),a("span",Ft,"⏭ 跳过 "+o(re.value),1)):u("",!0)]),l("div",Ot,[F.value>0?(t(),a("span",Kt,"⏱ "+o(F.value)+"ms",1)):u("",!0),se.value?(t(),a("span",jt,"📄 第 "+o(te.value)+" 页",1)):u("",!0),l("button",{class:"refresh-btn",onClick:Vs,title:"强制刷新"},"🔄 刷新")])])):u("",!0),b.value?(t(),a("div",Gt,[l("div",Xt,[l("div",{class:"progress-bar",style:Be({width:L.value+"%"})},null,4)]),l("div",Yt,[X.value==="search"?(t(),a("span",Zt,"🔍 正在搜索中...")):X.value==="validate"?(t(),a("span",Jt,[e[17]||(e[17]=x(" ✅ 正在验证链接有效性 ",-1)),oe.value>0?(t(),a("span",Qt," ("+o(me.value)+" / "+o(oe.value)+") ",1)):u("",!0)])):(t(),a("span",ea,"⏳ 加载中...")),l("span",sa,"⏱ "+o(F.value)+"ms",1)]),h(H,{rows:3,animated:"",class:"loading-skeleton"})])):u("",!0),E.value==="SEARCH"&&Fe.value.length>0&&!b.value?(t(),a("div",ta,[(t(!0),a(D,null,U(Fe.value,n=>(t(),a("div",{key:n.type||"all",class:fe(["cloud-tab",{active:W.value===(n.type||"")}]),onClick:V=>W.value=n.type||""},[n.icon&&(n.icon.startsWith("data:")||n.icon.startsWith("http"))?(t(),a("img",{key:0,src:n.icon,class:"tab-icon-img"},null,8,la)):n.icon?(t(),a("span",na,o(n.icon),1)):u("",!0),x(" "+o(n.label)+" ",1),n.count>0?(t(),a("span",oa,o(n.count),1)):u("",!0)],10,aa))),128))])):u("",!0),!b.value&&(y.value||O.value.length>0)&&E.value==="SEARCH"?(t(),a("div",ia,[(ts=y.value)!=null&&ts.tmdb_url?(t(),a("a",{key:0,href:y.value.tmdb_url,target:"_blank",class:"media-strip-inner",rel:"noopener"},[(as=y.value)!=null&&as.cover&&!P.value?(t(),a("span",ra,[l("img",{src:y.value.cover,onError:e[3]||(e[3]=n=>P.value=!0)},null,40,ca)])):(t(),a("span",da,"🎬")),l("span",va,o(((ls=y.value)==null?void 0:ls.title)||R.value),1),(ns=y.value)!=null&&ns.year?(t(),a("span",pa,o(y.value.year),1)):u("",!0),(os=y.value)!=null&&os.rating?(t(),a("span",fa,"⭐ "+o(y.value.rating),1)):u("",!0),(us=(is=y.value)==null?void 0:is.genres)!=null&&us.length?(t(),a("span",ma,[(t(!0),a(D,null,U(y.value.genres.slice(0,3),(n,V)=>(t(),a("span",{key:V,class:"strip-genre"},o(n),1))),128))])):u("",!0),O.value.length>0?(t(),a("span",ha,[(t(!0),a(D,null,U(O.value.slice(0,3),n=>(t(),a("span",{key:n,class:"strip-tag"},o(n),1))),128))])):u("",!0),e[18]||(e[18]=l("span",{class:"strip-right"},"信息来源 TMDB · 更多详情 →",-1))],8,ua)):(t(),a("div",_a,[(rs=y.value)!=null&&rs.cover&&!P.value?(t(),a("span",ga,[l("img",{src:y.value.cover,onError:e[4]||(e[4]=n=>P.value=!0)},null,40,ya)])):(t(),a("span",ka,"🎬")),l("span",ba,o(((cs=y.value)==null?void 0:cs.title)||R.value),1),(ds=y.value)!=null&&ds.year?(t(),a("span",wa,o(y.value.year),1)):u("",!0),(vs=y.value)!=null&&vs.rating?(t(),a("span",Ca,"⭐ "+o(y.value.rating),1)):u("",!0),(fs=(ps=y.value)==null?void 0:ps.genres)!=null&&fs.length?(t(),a("span",Ta,[(t(!0),a(D,null,U(y.value.genres.slice(0,3),(n,V)=>(t(),a("span",{key:V,class:"strip-genre"},o(n),1))),128))])):u("",!0),O.value.length>0?(t(),a("span",Ra,[(t(!0),a(D,null,U(O.value.slice(0,3),n=>(t(),a("span",{key:n,class:"strip-tag"},o(n),1))),128))])):u("",!0),e[19]||(e[19]=l("span",{class:"strip-right"},"信息来源 TMDB · 更多详情 →",-1))]))])):u("",!0),!b.value&&E.value==="SEARCH"?(t(),a(D,{key:4},[!W.value&&Oe.value.length>0?(t(),a("div",Ia,[(t(!0),a(D,null,U(Oe.value,(n,V)=>(t(),ge(gs,{key:"flat-"+V,data:n,fallbackTags:O.value,fallbackImage:d.value,loggedIn:$.value!==null,cloudTypeMap:Ce.value,onSave:Qe},null,8,["data","fallbackTags","fallbackImage","loggedIn","cloudTypeMap"]))),128)),Rs.value?(t(),a("div",Ma,[h(_,{onClick:Ms,loading:G.value,class:"load-more-btn"},{default:g(()=>[x(" 加载更多 (已显示 "+o(he.value)+" / "+o(Le.value.length)+") ",1)]),_:1},8,["loading"])])):u("",!0)])):W.value&&Ge.value.length>0?(t(),a("div",xa,[(t(!0),a(D,null,U(Ge.value,(n,V)=>(t(),a("div",{key:"ch-"+n.cloud_type,class:"channel-section"},[l("span",Ea,[Te(n.cloud_type).startsWith("data:")||Te(n.cloud_type).startsWith("http")?(t(),a("img",{key:0,src:Te(n.cloud_type),class:"channel-icon-img"},null,8,$a)):(t(),a("span",qa,o(Te(n.cloud_type)),1)),l("span",Va,o(n.label),1),l("span",Da,o(n.count)+" 条资源",1),n.newestTime?(t(),a("span",La,"🕐 "+o(n.newestTime),1)):u("",!0)]),(t(!0),a(D,null,U(je(n),(le,Bs)=>(t(),ge(gs,{key:"ch-"+V+"-"+Bs,data:le,fallbackTags:O.value,fallbackImage:d.value,loggedIn:$.value!==null,cloudTypeMap:Ce.value,onSave:Qe},null,8,["data","fallbackTags","fallbackImage","loggedIn","cloudTypeMap"]))),128)),xs(n)?(t(),a("div",{key:0,class:"channel-load-more",onClick:le=>Es(n.cloud_type)},[l("span",Pa," 展开更多 (已显示 "+o(je(n).length)+" / "+o(n.count)+") ",1)],8,Sa)):u("",!0)]))),128))])):N.value>0&&W.value?(t(),a("div",Aa,[l("span",null,"当前页暂无「"+o(Ts())+"」资源",1),se.value?(t(),ge(_,{key:0,size:"small",onClick:Ze,loading:G.value},{default:g(()=>[...e[20]||(e[20]=[x(" 加载更多试试 ",-1)])]),_:1},8,["loading"])):u("",!0)])):u("",!0)],64)):!b.value&&E.value==="VIDEO_PARSE"?(t(),a("div",Ba,[(t(!0),a(D,null,U(be.value,(n,V)=>(t(),ge(Rt,{key:V,data:n,onSave:Ps},null,8,["data"]))),128))])):u("",!0),!b.value&&!G.value&&N.value===0&&ue.value.length===0?(t(),a("div",Ha,[e[21]||(e[21]=l("div",{class:"empty-icon"},"🔍",-1)),e[22]||(e[22]=l("div",{class:"empty-title"},"没有找到相关资源",-1)),l("div",Wa,o(Is.value),1),Ke.value.length>0?(t(),a("div",za,[(t(!0),a(D,null,U(Ke.value,(n,V)=>(t(),a("div",{key:V,class:"empty-tip-item"},"💡 "+o(n),1))),128))])):u("",!0)])):u("",!0),se.value&&E.value==="SEARCH"&&!b.value?(t(),a("div",Ua,[h(_,{loading:G.value,onClick:Ze},{default:g(()=>[x("加载更多 ("+o(te.value)+"/"+o(qs.value)+")",1)]),_:1},8,["loading"])])):u("",!0)]),h(A,{modelValue:ve.value,"onUpdate:modelValue":e[7]||(e[7]=n=>ve.value=n),width:"650px","close-on-click-modal":!1,class:"save-dialog"},{header:g(()=>[l("strong",Na,o(Ss.value),1)]),default:g(()=>{var n,V;return[l("div",Fa,[de.value?(t(),a("div",Oa,[l("div",{class:fe(["progress-step",{active:T.value>=1,done:T.value>1}])},[l("div",Ka,[T.value>1?(t(),a("span",ja,"✓")):(t(),a("span",Ga,"1"))]),l("div",Xa,[l("span",Ya,"正在转存到"+o(Ie.value)+"...",1),T.value===1?(t(),a("span",Za,"进行中")):(t(),a("span",Ja,"已完成"))])],2),l("div",{class:fe(["progress-step",{active:T.value>=2,done:T.value>2}])},[l("div",Qa,[T.value>2?(t(),a("span",el,"✓")):(t(),a("span",sl,"2"))]),l("div",tl,[e[23]||(e[23]=l("span",{class:"step-title"},"正在重命名文件(防和谐)...",-1)),T.value===2?(t(),a("span",al,"进行中")):T.value>2?(t(),a("span",ll,"已完成")):(t(),a("span",nl,"等待中"))])],2),l("div",{class:fe(["progress-step",{active:T.value>=3,done:T.value>3}])},[l("div",ol,[T.value>3?(t(),a("span",il,"✓")):(t(),a("span",ul,"3"))]),l("div",rl,[e[24]||(e[24]=l("span",{class:"step-title"},"正在生成分享链接...",-1)),T.value===3?(t(),a("span",cl,"进行中")):T.value>3?(t(),a("span",dl,"已完成")):(t(),a("span",vl,"等待中"))])],2)])):Q.value?u("",!0):(t(),a("div",pl,[h(p,{type:"error",title:((n=ae.value)==null?void 0:n.message)||((V=ae.value)==null?void 0:V.error)||"保存失败","show-icon":"",closable:!1},null,8,["title"])])),Q.value&&pe.value.length>0&&j.value?(t(),a("div",fl,[h(p,{type:"warning",closable:!1,"show-icon":""},{title:g(()=>[l("span",ml,"已对 "+o(pe.value.length)+" 个文件执行防和谐重命名",1)]),default:g(()=>[(t(!0),a(D,null,U(pe.value,le=>(t(),a("div",{key:le,class:"rename-item"},o(le),1))),128))]),_:1})])):u("",!0),Q.value&&j.value?(t(),a("div",hl,[l("div",_l,[l("div",gl,[l("canvas",{ref_key:"qrCanvasRef",ref:Pe,class:"qr-canvas"},null,512),l("p",yl,o(Ie.value)+"APP扫码转存",1),e[25]||(e[25]=l("p",{class:"qr-subhint"},"保存到你自己网盘",-1)),e[26]||(e[26]=l("div",{class:"qr-disclaimer-short"},[l("span",null,"⚠️ 本站资源仅供学习交流,请于24h内删除")],-1))]),l("div",kl,[l("div",bl,[h(c,{class:"success-icon",size:20,color:"#67c23a"},{default:g(()=>[h(Ee(Us))]),_:1}),l("span",wl,[x("【"+o(Ie.value)+"】",1),e[27]||(e[27]=l("strong",null,"分享链接已生成!",-1))])]),l("div",Cl,[h(r,{modelValue:j.value,"onUpdate:modelValue":e[5]||(e[5]=le=>j.value=le),readonly:"",class:"share-input"},null,8,["modelValue"])]),_e.value?(t(),a("div",Tl,[e[28]||(e[28]=l("span",{class:"pwd-label"},"🔑 提取密码:",-1)),h(q,{type:"warning"},{default:g(()=>[x(o(_e.value),1)]),_:1}),e[29]||(e[29]=l("span",{class:"pwd-hint"},"打开链接后需输入密码",-1))])):u("",!0),l("div",Rl,[e[34]||(e[34]=l("span",{class:"share-tip-warn"},"⚠️",-1)),l("div",Il,[e[30]||(e[30]=l("strong",null,"请尽快复制链接到浏览器打开",-1)),e[31]||(e[31]=x(" 或 ",-1)),l("strong",null,"用"+o(Ie.value)+"APP扫码",1),e[32]||(e[32]=l("br",null,null,-1)),e[33]||(e[33]=l("strong",null,"转存至您的网盘,以免资源被官方和谐",-1))])]),e[38]||(e[38]=l("div",{class:"warnings-box"},[l("p",{class:"warning-item"},"郑重警告一:网盘内除您所需资源外,不要打开任何不相关内容。"),l("p",{class:"warning-item"},"郑重警告二:网盘内除您所需资源外,不要打开任何不相关内容。"),l("p",{class:"warning-item"},"郑重警告三:网盘内除您所需资源外,不要打开任何不相关内容。"),l("p",{class:"warning-item"},"郑重警告四:以上警告说三遍,你还要明知故犯吗?")],-1)),l("div",Ml,[h(_,{class:"disclaimer-btn",onClick:es},{default:g(()=>[...e[35]||(e[35]=[x("📜 免责声明",-1)])]),_:1}),h(_,{onClick:e[6]||(e[6]=le=>ve.value=!1)},{default:g(()=>[...e[36]||(e[36]=[x("关闭",-1)])]),_:1}),h(_,{type:"primary",onClick:As},{default:g(()=>[...e[37]||(e[37]=[x("一键复制链接",-1)])]),_:1})])])])])):u("",!0)])]}),_:1},8,["modelValue"])]),h(A,{modelValue:Z.value,"onUpdate:modelValue":e[10]||(e[10]=n=>Z.value=n),title:"登录",width:"380px","close-on-click-modal":!1,top:"25vh"},{default:g(()=>[h(ee,{ref_key:"loginFormRef",ref:ze,model:J,rules:bs,"label-width":"0",onKeyup:_s(Ne,["enter"])},{default:g(()=>[h(w,{prop:"username"},{default:g(()=>[h(r,{modelValue:J.username,"onUpdate:modelValue":e[8]||(e[8]=n=>J.username=n),placeholder:"用户名","prefix-icon":"User"},null,8,["modelValue"])]),_:1}),h(w,{prop:"password"},{default:g(()=>[h(r,{modelValue:J.password,"onUpdate:modelValue":e[9]||(e[9]=n=>J.password=n),type:"password",placeholder:"密码","prefix-icon":"Lock","show-password":""},null,8,["modelValue"])]),_:1}),h(w,null,{default:g(()=>[h(_,{type:"primary",loading:$e.value,style:{width:"100%"},onClick:Ne},{default:g(()=>[...e[39]||(e[39]=[x("登录",-1)])]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"]),we.value?(t(),a("p",xl,o(we.value),1)):u("",!0)]),_:1},8,["modelValue"]),S.value?(t(),a("div",El,[l("div",$l,o(S.value),1),l("div",ql,[h(_,{class:"footer-disclaimer-btn",size:"small",onClick:es},{default:g(()=>[...e[40]||(e[40]=[x("📜 免责声明",-1)])]),_:1})])])):u("",!0)],64)}}}),Al=We(Vl,[["__scopeId","data-v-4034e75b"]]);export{Al as default};
|