2 lines
16 KiB
JavaScript
2 lines
16 KiB
JavaScript
import{d as e,H as l,u as a,G as t,r as s,ap as i,K as u,b as n,b9 as o,j as r,a0 as c,c as d,w as _,k as v,P as m,o as f,l as p,m as y,q as g,t as h,v as k,S as b,D as w,p as C,R as x,z as $,x as A,F as j,y as T,aB as z,e as N,N as I,ar as D,L as M,_ as R}from"./index-Becg0v_n.js";import{S}from"./share-popup.BXKj44Kp.js";import{a as U,i as F,f as B,j as V,e as q,t as W,p as G,k as H,l as K}from"./community.DYAFKSiZ.js";import{o as L}from"./chat.DC5NB-4O.js";import"./share.CFpiZ8H7.js";import"./aiRequest.br0QglYY.js";const P=R(e({__name:"post_detail",setup(e){const R=l(),P=a(),X=t(()=>{var e,l,a;const t=null==(l=null==(e=R.config)?void 0:e.website)?void 0:l.shop_logo;return t?t.startsWith("http")?t:((null==(a=R.config)?void 0:a.domain)||"")+t:"/static/images/avatar.png"}),E=()=>!!M()||(I({title:"提示",content:"该操作需要登录,是否前往登录?",confirmText:"去登录",success:e=>{e.confirm&&N({url:"/pages/login/login"})}}),!1),J=s(0),O=s(null),Q=s(!0),Y=s(0),Z=s([]),ee=s(0),le=s(!1),ae=s(1),te=s(""),se=s(!1),ie=s(""),ue=s(null),ne=s(!1),oe=t(()=>{var e;return!!(null==(e=O.value)?void 0:e.is_self)}),re=["旧澳六合","新澳六合"],ce=(e,l)=>Array.isArray(e)&&e.includes(l),de=(e,l)=>Array.isArray(e)&&l.some(l=>e.includes(l)),_e=t(()=>{var e;return ce(null==(e=O.value)?void 0:e.tags,"特朗普")}),ve=t(()=>{var e;return de(null==(e=O.value)?void 0:e.tags,re)}),me=t(()=>{var e,l;if(null==(e=O.value)?void 0:e.source_url)return O.value.source_url;const a=(null==(l=O.value)?void 0:l.origin_id)||"";if(!a.startsWith("truthsocial:"))return"";const t=a.split(":")[1];return t?`https://truthsocial.com/@realDonaldTrump/${t}`:""}),fe=t(()=>_e.value&&!!me.value),pe=t(()=>{var e;return fe.value?[]:Array.isArray(null==(e=O.value)?void 0:e.images)?O.value.images:[]}),ye=t(()=>{var e;const l=(null==(e=be.value.find(e=>e.original))?void 0:e.original)||"";return l?l.length>18?`${l.slice(0,18)}...`:l:"帖子详情"}),ge=t(()=>{var e;return(null==(e=O.value)?void 0:e.is_paid)?"付费帖子":fe.value?"外链帖子":pe.value.length>0?"图文帖子":"社区帖子"}),he=t(()=>{var e;return pe.value.length>0?`${pe.value.length}张图片`:(null==(e=O.value)?void 0:e.is_paid)?`${O.value.price_points||0}积分解锁`:te.value?"双语展示":"正文详情"}),ke=e=>{var l;const a=String(e||"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").trim();if(!a)return[];const t=a.split("\n").map(e=>e.replace(/\s+/g," ").trim()).filter(Boolean);if(t.length>1)return t;const s=null==(l=a.replace(/\s+/g," ").match(/[^。!?.!?]+[。!?.!?]?/g))?void 0:l.map(e=>e.trim()).filter(Boolean);return(null==s?void 0:s.length)?s:[a]},be=t(()=>{var e;const l=ke((null==(e=O.value)?void 0:e.content)||""),a=ke(te.value);return a.length?l.length===a.length?l.map((e,l)=>({original:e,translated:a[l]||""})):l.length<=1||a.length<=1?[{original:l.join(" "),translated:a.join(" ")}]:l.map((e,l)=>({original:e,translated:a[l]||""})):l.map(e=>({original:e,translated:""}))}),we=t(()=>{var e;return ue.value?`回复 ${(null==(e=ue.value.user)?void 0:e.nickname)||""}:`:"写评论..."}),Ce=e=>{var l;const a=Number((null==(l=P.userInfo)?void 0:l.id)||0);return!!(null==e?void 0:e.is_self)||a>0&&Number((null==e?void 0:e.user_id)||0)===a};i(()=>{u()}),n(e=>{const l=Number((null==e?void 0:e.id)||0);if(l>0){if(Y.value=l,"1"===(null==e?void 0:e.show_ai)){const a=encodeURIComponent(String((null==e?void 0:e.title)||"帖子AI分析"));return void o({url:`/pages/ai_analysis/ai_analysis?type=post&id=${l}&title=${a}`})}xe(l),$e()}else r({title:"参数错误",icon:"none"}),setTimeout(()=>c(),1500)});const xe=async e=>{Q.value=!0;try{const l=await U({id:e});O.value=l,se.value=!1,te.value=(null==l?void 0:l.translated_content)||"";const a=Array.isArray(null==l?void 0:l.tags)?l.tags:[],t=ce(a,"特朗普");de(a,re);t&&(null==l?void 0:l.content)&&!te.value&&(se.value=!0,await Fe())}catch(l){r({title:"加载失败",icon:"none"})}finally{Q.value=!1}},$e=async()=>{le.value=!0;try{const e=await F({post_id:Y.value,page_no:ae.value,page_size:20});Z.value=(null==e?void 0:e.lists)||[],ee.value=(null==e?void 0:e.count)||0}catch(e){}finally{le.value=!1}},Ae=async()=>{if(!E())return;const e=ie.value.trim();if(e)try{const l={post_id:Y.value,content:e};ue.value&&(l.parent_id=ue.value.id,l.reply_user_id=ue.value.user_id),await V(l),ie.value="",ue.value=null,r({title:"评论成功",icon:"success"}),$e(),O.value&&(O.value.comment_count=(O.value.comment_count||0)+1)}catch(l){r({title:"评论失败",icon:"none"})}},je=async()=>{if(E()&&O.value)try{const e=await q({target_id:Y.value,target_type:1});O.value.is_liked=null==e?void 0:e.is_liked,O.value.like_count+=(null==e?void 0:e.is_liked)?1:-1}catch(e){}},Te=async()=>{if(E()&&O.value)try{const e=await W({follow_user_id:O.value.user_id}),l=!!(null==e?void 0:e.is_followed);O.value.is_followed=l,O.value.is_friend=l;const a=O.value.relationship||{};a.is_followed_by_me=l,a.is_mutual=l&&!!a.is_following_me,a.relationship_text=a.is_mutual?"互相关注":"对方还未添加你为好友",O.value.relationship=a,r({title:l?"已加好友":"已取消好友",icon:"none"})}catch(e){}},ze=async()=>{var e;if(E()&&(null==(e=O.value)?void 0:e.user_id))try{const e=await L({target_user_id:Number(O.value.user_id)});(null==e?void 0:e.id)&&N({url:`/pages/private_chat/room?session_id=${e.id}`})}catch(l){}},Ne=()=>{c()},Ie=()=>{var e;if(!E())return;if(ne.value)return;const l=(null==(e=O.value)?void 0:e.price_points)||0;I({title:"确认解锁",content:`确定使用 ${l} 积分解锁该内容吗?`,confirmText:"确认解锁",confirmColor:"#185dff",success:async e=>{if(e.confirm){ne.value=!0;try{await G({post_id:Y.value}),r({title:"解锁成功",icon:"success"}),xe(Y.value)}catch(l){}finally{ne.value=!1}}}})},De=e=>{E()&&I({title:"删除评论",content:"确认删除这条评论?",confirmText:"删除",confirmColor:"#ee3835",success:async l=>{if(l.confirm)try{const l=await H({comment_id:e.id}),a=(null==l?void 0:l.deleted_ids)||[e.id];Z.value=Z.value.filter(e=>!a.includes(e.id)&&(Array.isArray(e.replies)&&(e.replies=e.replies.filter(e=>!a.includes(e.id))),!0)),ee.value=Math.max(0,Number(ee.value||0)-a.length),O.value&&(O.value.comment_count=Math.max(0,Number(O.value.comment_count||0)-a.length)),r({title:"删除成功",icon:"success"})}catch(a){}}})},Me=()=>{E()&&I({title:"删除帖子",content:"确认删除这条帖子?删除后无法恢复。",confirmText:"删除",confirmColor:"#ee3835",success:async e=>{if(e.confirm)try{await K({post_id:Y.value}),r({title:"删除成功",icon:"success"}),setTimeout(()=>c(),1e3)}catch(l){}}})},Re=s(!1),Se=()=>{O.value&&(Re.value=!0)},Ue=()=>{me.value&&N({url:`/pages/webview/webview?url=${encodeURIComponent(me.value)}`})},Fe=async()=>{var e;if(null==(e=O.value)?void 0:e.id)try{const e=await B({post_id:O.value.id});te.value=(null==e?void 0:e.translated_content)||""}catch(l){te.value=""}},Be=()=>{if(!E())return;if(!ve.value)return;const e=encodeURIComponent(ye.value||"帖子AI分析");N({url:`/pages/ai_analysis/ai_analysis?type=post&id=${Y.value}&title=${e}`})},Ve=e=>{if(!e)return"";let l;if(l="string"==typeof e?new Date(e.replace(/-/g,"/")).getTime()/1e3:e,isNaN(l))return"";const a=Date.now()/1e3-l;if(a<60)return"刚刚";if(a<3600)return Math.floor(a/60)+"分钟前";if(a<86400)return Math.floor(a/3600)+"小时前";if(a<2592e3)return Math.floor(a/86400)+"天前";const t=new Date(1e3*l);return`${t.getMonth()+1}-${t.getDate()}`};return(e,l)=>{const a=m("u-icon"),t=v,s=g,i=m("u-loading"),u=C,n=b,o=z;return f(),d(t,{class:"detail-page"},{default:_(()=>{var e,r;return[p(t,{class:"detail-topbar",style:y({paddingTop:J.value+"px"})},{default:_(()=>[p(t,{class:"detail-topbar__nav"},{default:_(()=>[p(t,{class:"detail-topbar__back",onClick:Ne},{default:_(()=>[p(a,{name:"arrow-left",size:"38",color:"#111827"})]),_:1}),p(t,{class:"detail-topbar__title-wrap"},{default:_(()=>[p(s,{class:"detail-topbar__title"},{default:_(()=>[h(k(ye.value),1)]),_:1})]),_:1}),p(t,{class:"detail-topbar__placeholder"})]),_:1})]),_:1},8,["style"]),p(n,{"scroll-y":"",class:"detail-scroll"},{default:_(()=>[Q.value?(f(),d(t,{key:0,class:"detail-loading"},{default:_(()=>[p(i,{mode:"circle"})]),_:1})):w("",!0),!Q.value&&O.value?(f(),d(t,{key:1,class:"detail-content"},{default:_(()=>[p(t,{class:"detail-header-area"},{default:_(()=>[p(t,{class:"detail-header-area__top"},{default:_(()=>[p(s,{class:"detail-header-area__label"},{default:_(()=>[h(k(ge.value),1)]),_:1}),p(s,{class:"detail-header-area__hint"},{default:_(()=>[h(k(he.value),1)]),_:1})]),_:1}),p(t,{class:"detail-header detail-header--panel"},{default:_(()=>{var e;return[p(u,{class:"detail-header__avatar",src:(null==(e=O.value.user)?void 0:e.avatar)||X.value,mode:"aspectFill",onClick:l[0]||(l[0]=e=>{var l;(l=O.value.user_id)&&N({url:`/packages_community/pages/user_profile?user_id=${l}`})})},null,8,["src"]),p(t,{class:"detail-header__info"},{default:_(()=>[p(s,{class:"detail-header__name"},{default:_(()=>{var e;return[h(k((null==(e=O.value.user)?void 0:e.nickname)||"匿名用户"),1)]}),_:1}),p(s,{class:"detail-header__time"},{default:_(()=>[h(k(Ve(O.value.create_time)),1)]),_:1})]),_:1}),oe.value?w("",!0):(f(),d(t,{key:0,class:"detail-header__actions"},{default:_(()=>[p(t,{class:$(["detail-header__follow",{"detail-header__follow--active":O.value.is_friend||O.value.is_followed}]),onClick:x(Te,["stop"])},{default:_(()=>[p(s,null,{default:_(()=>[h(k(O.value.is_friend||O.value.is_followed?"已好友":"加好友"),1)]),_:1})]),_:1},8,["class"]),O.value.is_friend||O.value.is_followed?(f(),d(t,{key:0,class:"detail-header__chat",onClick:x(ze,["stop"])},{default:_(()=>[p(s,null,{default:_(()=>[h("私聊")]),_:1})]),_:1})):w("",!0)]),_:1}))]}),_:1})]),_:1}),p(t,{class:"detail-body"},{default:_(()=>[(f(!0),A(j,null,T(be.value,(e,l)=>(f(),d(t,{key:`content-line-${l}`,class:"detail-body__line"},{default:_(()=>[e.original?(f(),d(s,{key:0,class:"detail-body__text"},{default:_(()=>[h(k(e.original),1)]),_:2},1024)):w("",!0),e.translated?(f(),d(s,{key:1,class:"detail-body__translate"},{default:_(()=>[h(k(e.translated),1)]),_:2},1024)):w("",!0)]),_:2},1024))),128))]),_:1}),O.value.images&&O.value.images.length>0?(f(),d(t,{key:0,class:"detail-images"},{default:_(()=>[fe.value?(f(),d(t,{key:0,class:"detail-images__external",onClick:Ue},{default:_(()=>[p(t,{class:"detail-images__external-icon"},{default:_(()=>[p(s,null,{default:_(()=>[h("T")]),_:1})]),_:1}),p(t,{class:"detail-images__external-body"},{default:_(()=>[p(s,{class:"detail-images__external-title"},{default:_(()=>[h("Truth Social 图片暂不可直连")]),_:1}),p(s,{class:"detail-images__external-desc"},{default:_(()=>[h("点击跳转查看原帖图片")]),_:1})]),_:1}),p(t,{class:"detail-images__external-btn"},{default:_(()=>[p(s,null,{default:_(()=>[h("查看原帖")]),_:1})]),_:1})]),_:1})):w("",!0),p(t,{class:"detail-images__grid"},{default:_(()=>[(f(!0),A(j,null,T(pe.value,(e,l)=>(f(),d(u,{key:l,class:"detail-images__item",src:e,mode:"aspectFill",onClick:e=>!O.value.is_locked&&(e=>{pe.value.length&&D({current:e,urls:pe.value})})(l)},null,8,["src","onClick"]))),128))]),_:1})]),_:1})):w("",!0),O.value.is_locked?(f(),d(t,{key:1,class:"detail-unlock-card",onClick:Ie},{default:_(()=>[p(t,{class:"detail-unlock-card__text"},{default:_(()=>[p(s,{class:"detail-unlock-card__price"},{default:_(()=>[h(k(O.value.price_points)+"积分解锁全文",1)]),_:1}),p(s,{class:"detail-unlock-card__count"},{default:_(()=>[h("已有"+k(O.value.paid_count||0)+"人解锁",1)]),_:1})]),_:1}),p(t,{class:$(["detail-unlock-card__btn",{"detail-unlock-card__btn--disabled":ne.value}])},{default:_(()=>[p(s,null,{default:_(()=>[h(k(ne.value?"解锁中":"立即解锁"),1)]),_:1})]),_:1},8,["class"])]),_:1})):w("",!0),O.value.tags&&O.value.tags.length>0?(f(),d(t,{key:2,class:"detail-tags"},{default:_(()=>[(f(!0),A(j,null,T(O.value.tags,(e,l)=>(f(),d(s,{key:l,class:"detail-tags__item"},{default:_(()=>[h("#"+k(e),1)]),_:2},1024))),128))]),_:1})):w("",!0),p(t,{class:"detail-stats"},{default:_(()=>[p(t,{class:"detail-stats__item",onClick:je},{default:_(()=>[p(a,{name:"thumb-up",size:"36",color:O.value.is_liked?"#185dff":"#666"},null,8,["color"]),p(s,{class:$({"detail-stats__active":O.value.is_liked})},{default:_(()=>[h(k(O.value.like_count||0),1)]),_:1},8,["class"])]),_:1}),p(t,{class:"detail-stats__item"},{default:_(()=>[p(a,{name:"chat",size:"36",color:"#666"}),p(s,null,{default:_(()=>[h(k(O.value.comment_count||0),1)]),_:1})]),_:1}),p(t,{class:"detail-stats__item"},{default:_(()=>[p(a,{name:"eye",size:"36",color:"#666"}),p(s,null,{default:_(()=>[h(k(O.value.view_count||0),1)]),_:1})]),_:1}),p(t,{class:"detail-stats__item",onClick:Se},{default:_(()=>[p(a,{name:"share",size:"36",color:"#666"}),p(s,null,{default:_(()=>[h(k(O.value.share_count||""),1)]),_:1})]),_:1}),ve.value?(f(),d(t,{key:0,class:"detail-stats__item",onClick:Be},{default:_(()=>[p(s,{class:"detail-stats__ai"},{default:_(()=>[h("AI分析")]),_:1})]),_:1})):w("",!0),oe.value?(f(),d(t,{key:1,class:"detail-stats__item detail-stats__item--delete",onClick:Me},{default:_(()=>[p(s,null,{default:_(()=>[h("删除")]),_:1})]),_:1})):w("",!0)]),_:1}),p(t,{class:"detail-divider"}),p(t,{class:"detail-comments"},{default:_(()=>[p(t,{class:"detail-comments__title"},{default:_(()=>[p(s,null,{default:_(()=>[h("评论 ("+k(ee.value)+")",1)]),_:1})]),_:1}),0!==Z.value.length||le.value?w("",!0):(f(),d(t,{key:0,class:"detail-comments__empty"},{default:_(()=>[p(s,null,{default:_(()=>[h("暂无评论,快来抢沙发")]),_:1})]),_:1})),(f(!0),A(j,null,T(Z.value,e=>(f(),d(t,{key:e.id,class:"comment-item"},{default:_(()=>{var l;return[p(u,{class:"comment-item__avatar",src:(null==(l=e.user)?void 0:l.avatar)||"/static/images/avatar.png",mode:"aspectFill"},null,8,["src"]),p(t,{class:"comment-item__body"},{default:_(()=>[p(s,{class:"comment-item__name"},{default:_(()=>{var l;return[h(k((null==(l=e.user)?void 0:l.nickname)||"匿名"),1)]}),_:2},1024),p(s,{class:"comment-item__text"},{default:_(()=>[h(k(e.content),1)]),_:2},1024),p(t,{class:"comment-item__meta"},{default:_(()=>[p(s,{class:"comment-item__time"},{default:_(()=>[h(k(Ve(e.create_time)),1)]),_:2},1024),p(t,{class:"comment-item__like",onClick:x(l=>(async e=>{if(E())try{const l=await q({target_id:e.id,target_type:2});e.is_liked=null==l?void 0:l.is_liked,e.like_count+=(null==l?void 0:l.is_liked)?1:-1}catch(l){}})(e),["stop"])},{default:_(()=>[p(a,{name:"thumb-up",size:"24",color:e.is_liked?"#185dff":"#999"},null,8,["color"]),p(s,null,{default:_(()=>[h(k(e.like_count||""),1)]),_:2},1024)]),_:2},1032,["onClick"]),p(s,{class:"comment-item__reply-btn",onClick:x(l=>(e=>{ue.value=e})(e),["stop"])},{default:_(()=>[h("回复")]),_:2},1032,["onClick"]),Ce(e)?(f(),d(s,{key:0,class:"comment-item__delete-btn",onClick:x(l=>De(e),["stop"])},{default:_(()=>[h("删除")]),_:2},1032,["onClick"])):w("",!0)]),_:2},1024),e.replies&&e.replies.length>0?(f(),d(t,{key:0,class:"comment-replies"},{default:_(()=>[(f(!0),A(j,null,T(e.replies,e=>(f(),d(t,{key:e.id,class:"comment-reply"},{default:_(()=>[p(s,{class:"comment-reply__name"},{default:_(()=>{var l;return[h(k((null==(l=e.user)?void 0:l.nickname)||"匿名"),1)]}),_:2},1024),e.reply_user?(f(),d(s,{key:0,class:"comment-reply__arrow"},{default:_(()=>[h(" 回复 ")]),_:1})):w("",!0),e.reply_user?(f(),d(s,{key:1,class:"comment-reply__name"},{default:_(()=>[h(k(e.reply_user.nickname),1)]),_:2},1024)):w("",!0),p(s,{class:"comment-reply__text"},{default:_(()=>[h(":"+k(e.content),1)]),_:2},1024),Ce(e)?(f(),d(s,{key:2,class:"comment-reply__delete-btn",onClick:x(l=>De(e),["stop"])},{default:_(()=>[h(" 删除")]),_:2},1032,["onClick"])):w("",!0)]),_:2},1024))),128)),e.reply_count>3?(f(),d(s,{key:0,class:"comment-replies__more"},{default:_(()=>[h("查看全部"+k(e.reply_count)+"条回复",1)]),_:2},1024)):w("",!0)]),_:2},1024)):w("",!0)]),_:2},1024)]}),_:2},1024))),128)),le.value?(f(),d(t,{key:1,class:"detail-comments__loading"},{default:_(()=>[p(i,{mode:"circle",size:"28"})]),_:1})):w("",!0)]),_:1})]),_:1})):w("",!0)]),_:1}),p(t,{class:"detail-input-bar"},{default:_(()=>[p(o,{modelValue:ie.value,"onUpdate:modelValue":l[1]||(l[1]=e=>ie.value=e),class:"detail-input-bar__input",placeholder:we.value,"adjust-position":!0,"confirm-type":"send",onConfirm:Ae},null,8,["modelValue","placeholder"]),p(t,{class:"detail-input-bar__btn",onClick:Ae},{default:_(()=>[p(s,null,{default:_(()=>[h("发送")]),_:1})]),_:1})]),_:1}),Re.value?(f(),d(S,{key:0,show:Re.value,"onUpdate:show":l[2]||(l[2]=e=>Re.value=e),"page-type":"post","page-id":Y.value,path:`/packages_community/pages/post_detail?id=${Y.value}`,title:(null==(r=null==(e=O.value)?void 0:e.content)?void 0:r.substring(0,50))||"来看看这篇帖子"},null,8,["show","page-id","path","title"])):w("",!0)]}),_:1})}}}),[["__scopeId","data-v-56255364"]]);export{P as default};
|