Files
sbnews/server/public/mobile/assets/pages-index-index.Bph8JCBg.js
T

2 lines
5.8 KiB
JavaScript

import{d as e,o as a,c as l,u as t,r as n,g as s,a as c,b as o,n as i,s as r,e as u,f as d,$ as _,h as v,i as m,w as h,j as p,k as f,l as y,m as g,p as x,U as w,q as b,t as k,v as T,S as C,x as j,F as K,y as S,z,A,B as I,C as D,D as L,E as R,_ as U}from"./index-DXU7LX1r.js";import{_ as B}from"./logo.DIuJXRKy.js";import{g as E,a as F}from"./news.CmjhWsFJ.js";import{r as $}from"./share.Dzweyv93.js";import{A as q}from"./ai-assistant-entry.BKOuyMzi.js";import{T as H}from"./translated-article-card.Cw6g2nZD.js";const M=e({__name:"feed-translate-card",props:{item:{default:()=>({})}},setup:e=>(e,t)=>(a(),l(H,{item:e.item,variant:"feed"},null,8,["item"]))}),O=U(e({__name:"index",setup(e){const U=t(),H=n(0),O=n(500);let P=667;s({success:e=>{H.value=0,P=e.windowHeight||667;const a=H.value+44,l=c(100);O.value=P-a-l}});const V=()=>{const e=R();e.select(".top-bar").boundingClientRect(),e.exec(e=>{var a;const l=(null==(a=e[0])?void 0:a.height)||H.value+44,t=c(100);O.value=P-l-t})},W=n("搜索乐博头条"),X={id:"__recommend__",name:"推荐",specialType:"recommend",channelKey:"__recommend__"},Y={id:"__mychannel__",name:"我的频道",specialType:"mychannel",channelKey:"__mychannel__"},Z=n([]),G=n([]),J=n(0),N=n(0),Q=n([]),ee=n(!1),ae=n(!1),le=n(1),te=(e=Z.value)=>{var a;const l=(null==(a=G.value[J.value])?void 0:a.channelKey)||X.channelKey;G.value=((e=[])=>{const a=[{...X}];U.isLogin&&a.push({...Y});const l=(e||[]).map(e=>({...e,specialType:"category",channelKey:`cate_${e.id}`}));return[...a,...l]})(e);const t=G.value.findIndex(e=>e.channelKey===l);J.value=t>=0?t:0},ne=async()=>{try{const e=await E();Z.value=e||[],te()}catch(e){console.log("获取分类失败=>",e),Z.value=[],te()}},se=e=>{J.value!==e&&(J.value=e,ce())},ce=()=>{le.value=1,ae.value=!1,Q.value=[],oe()},oe=async()=>{if(!ee.value&&!ae.value){ee.value=!0;try{const e={page_no:le.value,page_size:10},a=G.value[J.value];a&&"recommend"!==a.specialType?"mychannel"===a.specialType?e.is_mychannel=1:a.id&&(e.cid=a.id):e.is_recommend=1;const{lists:l,count:t}=await F(e),n=l||[];1===le.value?Q.value=n:Q.value=[...Q.value,...n],(Q.value.length>=t||n.length<10)&&(ae.value=!0),le.value++}catch(e){console.log("feed加载失败=>",e),p({title:"加载失败,请稍后重试",icon:"none"})}finally{ee.value=!1}}},ie=()=>{oe()},re=e=>!!String((null==e?void 0:e.translated_content)||(null==e?void 0:e.worldcup_translated_content)||"").trim(),ue=()=>{u({url:"/pages/search/search"})},de=()=>{u({url:"/pages/channel/channel-manage"})};o(async e=>{_e(e),await ne(),oe(),i(()=>{setTimeout(V,100)})});const _e=async e=>{var a;let l=(null==e?void 0:e.slc)||"";if(!l){l=new URLSearchParams(window.location.search).get("slc")||""}if(l)try{const e=ve(),t=await $({code:l,fingerprint:e,referer:(null==document?void 0:document.referrer)||""});(null==(a=t.params)?void 0:a.invite_code)&&r("invite_code",t.params.invite_code),t.path&&"invite"!==t.page_type&&setTimeout(()=>{u({url:t.path})},300)}catch(t){console.error("短链接解析失败",t)}},ve=()=>{try{const e=document.createElement("canvas"),a=e.getContext("2d");a&&(a.textBaseline="top",a.font="14px Arial",a.fillText("fp",2,2));const l=navigator.userAgent+navigator.language+(screen.width+"x")+screen.height+screen.colorDepth+(new Date).getTimezoneOffset()+e.toDataURL();let t=0;for(let n=0;n<l.length;n++)t=(t<<5)-t+l.charCodeAt(n),t|=0;return Math.abs(t).toString(16)}catch{return""}};let me=!1;d(async()=>{var e;te(),me||0!==Z.value.length||(await ne(),oe()),me&&"mychannel"===(null==(e=G.value[J.value])?void 0:e.specialType)&&ce(),me=!0});const he=e=>{if(e.channels&&(Z.value=e.channels,te()),e.selectIndex>=0){const l=Z.value[e.selectIndex],t=(a=null==l?void 0:l.id,G.value.findIndex(e=>"category"===e.specialType&&String(e.id)===String(a)));se(t>=0?t:0)}else ce();var a};return _("channelChanged",he),v(()=>{m("channelChanged",he)}),(e,t)=>{const n=x,s=f,c=b,o=C;return a(),l(s,{class:"index"},{default:h(()=>[y(s,{class:"top-bar",style:g({paddingTop:H.value+"px"})},{default:h(()=>[y(s,{class:"top-bar__content"},{default:h(()=>[y(s,{class:"top-bar__logo"},{default:h(()=>[y(n,{src:B,mode:"aspectFit",class:"top-bar__logo-img"})]),_:1}),y(s,{class:"top-bar__search",onClick:ue},{default:h(()=>[y(w,{name:"search",size:"28",color:"#999"}),y(c,{class:"top-bar__search-text"},{default:h(()=>[k(T(W.value),1)]),_:1})]),_:1}),y(s,{class:"top-bar__actions"},{default:h(()=>[y(q)]),_:1})]),_:1})]),_:1},8,["style"]),y(o,{"scroll-y":"",class:"feed-wrapper",style:g({height:O.value+"px"}),onScrolltolower:ie,"lower-threshold":100},{default:h(()=>[y(s,{class:"channel-bar"},{default:h(()=>[y(o,{"scroll-x":"",class:"channel-bar__scroll","scroll-left":N.value,"scroll-with-animation":""},{default:h(()=>[y(s,{class:"channel-bar__list"},{default:h(()=>[(a(!0),j(K,null,S(G.value,(e,t)=>(a(),l(s,{key:e.channelKey,class:z(["channel-bar__item",{"channel-bar__item--active":J.value===t}]),onClick:e=>se(t)},{default:h(()=>[y(c,null,{default:h(()=>[k(T(e.name),1)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1})]),_:1},8,["scroll-left"]),y(s,{class:"channel-bar__more",onClick:de},{default:h(()=>[y(w,{name:"list",size:"38",color:"#666"})]),_:1})]),_:1}),(a(!0),j(K,null,S(Q.value,e=>(a(),j(K,{key:e.id},[re(e)?(a(),l(M,{key:0,item:e},null,8,["item"])):e.is_video?(a(),l(A,{key:1,item:e},null,8,["item"])):(a(),l(I,{key:2,item:e},null,8,["item"]))],64))),128)),ee.value?(a(),l(s,{key:0,class:"feed-loading"},{default:h(()=>[y(D,{mode:"circle"}),y(c,{class:"feed-loading__text"},{default:h(()=>[k("加载中...")]),_:1})]),_:1})):L("",!0),ae.value&&Q.value.length?(a(),l(s,{key:1,class:"feed-bottom"},{default:h(()=>[y(c,null,{default:h(()=>[k("没有更多了")]),_:1})]),_:1})):L("",!0),ee.value||Q.value.length?L("",!0):(a(),l(s,{key:2,class:"feed-empty"},{default:h(()=>[y(c,null,{default:h(()=>[k("暂无内容")]),_:1})]),_:1}))]),_:1},8,["style"])]),_:1})}}}),[["__scopeId","data-v-23416d17"]]);export{O as default};