Files
sbnews/server/public/mobile/assets/packages_community-pages-user_profile.DgJQ2nuc.js
T
2026-06-11 17:13:55 +08:00

2 lines
9.1 KiB
JavaScript

import{d as l,H as a,G as e,r as s,ap as t,K as i,b as u,j as o,a0 as n,c,w as r,k as _,P as f,o as d,l as v,m as p,p as m,q as g,t as y,v as k,z as h,D as w,x as b,F as C,y as x,S,R as $,e as j,M as z,L as A,N as D,_ as F}from"./index-C9jWxfjG.js";import{m as T,g as M,t as I}from"./community.Cyr-VmJh.js";import{o as L}from"./chat.NSPY0b7i.js";import"./aiRequest.br0QglYY.js";const R=F(l({__name:"user_profile",setup(l){const F=a(),R=e(()=>{var l,a,e;const s=null==(a=null==(l=F.config)?void 0:l.website)?void 0:a.shop_logo;return s?s.startsWith("http")?s:((null==(e=F.config)?void 0:e.domain)||"")+s:"/static/images/avatar.png"}),q=s(0),H=s(0),N=s(null),W=s("posts"),G=s(!1),K=s(!1),P=s(1),U=s([]),B=s([]),E=s([]),J=e(()=>{var l,a,e,s;return[{key:"posts",label:"发布",count:(null==(l=N.value)?void 0:l.post_count)||0},{key:"comments",label:"评论",count:(null==(a=N.value)?void 0:a.comment_count)||0},{key:"following",label:"关注",count:(null==(e=N.value)?void 0:e.follow_count)||0},{key:"fans",label:"粉丝",count:(null==(s=N.value)?void 0:s.fans_count)||0}]}),O=e(()=>"posts"===W.value?U.value:"following"===W.value?B.value:"fans"===W.value?E.value:[]);t(()=>{i(),q.value=0}),u(l=>{const a=Number((null==l?void 0:l.user_id)||0);a>0?(H.value=a,Q(a),V(!0)):(o({title:"参数错误",icon:"none"}),setTimeout(()=>n(),1500))});const Q=async l=>{try{const a=await T({user_id:l});N.value=a}catch(a){o({title:"加载失败",icon:"none"})}},V=async(l=!1)=>{if(l&&(P.value=1,K.value=!1,U.value=[]),!K.value){G.value=!0;try{const a=await M({user_id:H.value,page_no:P.value,page_size:15}),e=(null==a?void 0:a.lists)||[],s=e.filter(l=>!(l=>{const a=Array.isArray(null==l?void 0:l.tags)?l.tags:[],e=Array.isArray(null==l?void 0:l.images)?l.images:[],s="string"==typeof(null==l?void 0:l.content)?l.content.trim():"",t="string"==typeof(null==l?void 0:l.content_short)?l.content_short.trim():"";return a.includes("特朗普")&&e.length>0&&!s&&!t})(l));l?U.value=s:U.value.push(...s),e.length<15?K.value=!0:P.value++}catch(a){}finally{G.value=!1}}},X=l=>{W.value!==l&&(W.value=l,"posts"===l&&0===U.value.length?V(!0):"following"===l&&0===B.value.length?(async()=>{G.value=!0;try{const l=await z.get({url:"/community/followList",data:{user_id:H.value,page_no:1,page_size:100}});B.value=(null==l?void 0:l.lists)||[]}catch(l){}finally{G.value=!1}})():"fans"===l&&0===E.value.length&&(async()=>{G.value=!0;try{const l=await z.get({url:"/community/fansList",data:{user_id:H.value,page_no:1,page_size:100}});E.value=(null==l?void 0:l.lists)||[]}catch(l){}finally{G.value=!1}})())},Y=()=>{"posts"===W.value&&V()},Z=()=>!!A()||(D({title:"提示",content:"该操作需要登录,是否前往登录?",confirmText:"去登录",success:l=>{l.confirm&&j({url:"/pages/login/login"})}}),!1),ll=async()=>{if(Z()&&N.value)try{const l=await I({follow_user_id:H.value}),a=!!(null==l?void 0:l.is_followed);N.value.is_followed=a,N.value.is_friend=a;const e=N.value.relationship||{};e.is_followed_by_me=a,e.is_mutual=a&&!!e.is_following_me,e.relationship_text=e.is_mutual?"互相关注":"对方还未添加你为好友",N.value.relationship=e,a?(N.value.fans_count=(N.value.fans_count||0)+1,o({title:"已加好友",icon:"success"})):(N.value.fans_count=Math.max(0,(N.value.fans_count||0)-1),o({title:"已取消好友",icon:"none"}))}catch(l){}},al=async()=>{if(Z()&&H.value)try{const l=await L({target_user_id:H.value});(null==l?void 0:l.id)&&j({url:`/pages/private_chat/room?session_id=${l.id}`})}catch(l){}},el=()=>{o({title:"分享功能开发中",icon:"none"})},sl=()=>{n()},tl=l=>{l!==H.value&&j({url:`/packages_community/pages/user_profile?user_id=${l}`})},il=l=>{if(!Array.isArray(null==l?void 0:l.tags)||!l.tags.includes("特朗普"))return"";if(l.source_url)return l.source_url;const a=l.origin_id||"";if(!a.startsWith("truthsocial:"))return"";const e=a.split(":")[1];return e?`https://truthsocial.com/@realDonaldTrump/${e}`:""},ul=l=>{if(!l)return"";const a=new Date(l.replace(/-/g,"/"));return`${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")} ${String(a.getHours()).padStart(2,"0")}:${String(a.getMinutes()).padStart(2,"0")}`};return(l,a)=>{const e=f("u-icon"),s=_,t=m,i=g,u=f("u-loading"),o=S;return d(),c(s,{class:"user-profile"},{default:r(()=>[v(s,{class:"profile-header",style:p({paddingTop:q.value+"px"})},{default:r(()=>[v(s,{class:"profile-nav"},{default:r(()=>[v(s,{class:"profile-nav__back",onClick:sl},{default:r(()=>[v(e,{name:"arrow-left",color:"#fff",size:"40"})]),_:1}),v(s,{class:"profile-nav__actions"},{default:r(()=>[v(s,{class:"profile-nav__icon",onClick:el},{default:r(()=>[v(e,{name:"share",color:"#fff",size:"36"})]),_:1})]),_:1})]),_:1}),N.value?(d(),c(s,{key:0,class:"profile-info"},{default:r(()=>[v(s,{class:"profile-info__row"},{default:r(()=>[v(t,{class:"profile-info__avatar",src:N.value.avatar||R.value,mode:"aspectFill"},null,8,["src"]),v(s,{class:"profile-info__detail"},{default:r(()=>[v(i,{class:"profile-info__name"},{default:r(()=>[y(k(N.value.nickname||"匿名用户"),1)]),_:1}),v(i,{class:"profile-info__id"},{default:r(()=>[y("ID:"+k(N.value.sn||N.value.id),1)]),_:1})]),_:1}),N.value.is_self?w("",!0):(d(),c(s,{key:0,class:"profile-info__actions"},{default:r(()=>[v(s,{class:h(["profile-info__follow-btn",{"profile-info__follow-btn--active":N.value.is_followed}]),onClick:ll},{default:r(()=>[v(i,null,{default:r(()=>[y(k(N.value.is_followed||N.value.is_friend?"已好友":"加好友"),1)]),_:1})]),_:1},8,["class"]),N.value.is_followed||N.value.is_friend?(d(),c(s,{key:0,class:"profile-info__chat-btn",onClick:al},{default:r(()=>[v(i,null,{default:r(()=>[y("私聊")]),_:1})]),_:1})):w("",!0)]),_:1}))]),_:1}),v(i,{class:"profile-info__desc"},{default:r(()=>[y("已加入世博头条"+k(N.value.join_days)+"天,获得"+k(N.value.like_count||0)+"个赞",1)]),_:1})]),_:1})):w("",!0)]),_:1},8,["style"]),v(s,{class:"profile-tabs"},{default:r(()=>[(d(!0),b(C,null,x(J.value,l=>(d(),c(s,{key:l.key,class:h(["profile-tabs__item",{"profile-tabs__item--active":W.value===l.key}]),onClick:a=>X(l.key)},{default:r(()=>[v(i,{class:"profile-tabs__label"},{default:r(()=>[y(k(l.label),1)]),_:2},1024),v(i,{class:"profile-tabs__count"},{default:r(()=>[y(k(l.count),1)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1}),v(o,{"scroll-y":"",class:"profile-content",onScrolltolower:Y},{default:r(()=>["posts"===W.value?(d(),c(s,{key:0},{default:r(()=>[(d(!0),b(C,null,x(U.value,l=>(d(),c(s,{key:l.id,class:"article-card",onClick:a=>{return e=l.id,void j({url:`/packages_community/pages/post_detail?id=${e}`});var e}},{default:r(()=>[v(s,{class:"article-card__body"},{default:r(()=>[v(s,{class:"article-card__text"},{default:r(()=>[v(i,{class:"article-card__title"},{default:r(()=>[y(k(l.content_short||l.content),1)]),_:2},1024),v(s,{class:"article-card__meta"},{default:r(()=>[v(i,null,{default:r(()=>{var a;return[y(k((null==(a=l.user)?void 0:a.nickname)||"匿名"),1)]}),_:2},1024),v(i,null,{default:r(()=>[y(k(l.comment_count||0)+"评论",1)]),_:2},1024),v(i,null,{default:r(()=>[y(k(ul(l.create_time)),1)]),_:2},1024)]),_:2},1024)]),_:2},1024),il(l)?(d(),c(s,{key:0,class:"article-card__thumb article-card__thumb--external",onClick:$(a=>{var e;(e=il(l))&&j({url:`/pages/webview/webview?url=${encodeURIComponent(e)}`})},["stop"])},{default:r(()=>[v(i,{class:"article-card__thumb-badge"},{default:r(()=>[y("T")]),_:1}),v(i,{class:"article-card__thumb-text"},{default:r(()=>[y("查看原帖")]),_:1})]),_:2},1032,["onClick"])):l.images&&l.images.length>0?(d(),c(t,{key:1,class:"article-card__thumb",src:l.images[0],mode:"aspectFill"},null,8,["src"])):w("",!0)]),_:2},1024),v(s,{class:"article-card__divider"})]),_:2},1032,["onClick"]))),128))]),_:1})):w("",!0),"comments"===W.value?(d(),c(s,{key:1,class:"profile-empty"},{default:r(()=>[v(i,null,{default:r(()=>[y("评论列表开发中...")]),_:1})]),_:1})):w("",!0),"following"===W.value?(d(),c(s,{key:2,class:"user-list"},{default:r(()=>[(d(!0),b(C,null,x(B.value,l=>(d(),c(s,{key:l.id,class:"user-list__item",onClick:a=>tl(l.id)},{default:r(()=>[v(t,{class:"user-list__avatar",src:l.avatar||R.value,mode:"aspectFill"},null,8,["src"]),v(i,{class:"user-list__name"},{default:r(()=>[y(k(l.nickname||"匿名"),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})):w("",!0),"fans"===W.value?(d(),c(s,{key:3,class:"user-list"},{default:r(()=>[(d(!0),b(C,null,x(E.value,l=>(d(),c(s,{key:l.id,class:"user-list__item",onClick:a=>tl(l.id)},{default:r(()=>[v(t,{class:"user-list__avatar",src:l.avatar||R.value,mode:"aspectFill"},null,8,["src"]),v(s,{class:"user-list__info"},{default:r(()=>[v(i,{class:"user-list__name"},{default:r(()=>[y(k(l.nickname||"匿名"),1)]),_:2},1024),l.is_mutual?(d(),c(i,{key:0,class:"user-list__mutual"},{default:r(()=>[y("互相关注")]),_:1})):w("",!0)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})):w("",!0),G.value?(d(),c(s,{key:4,class:"profile-loading"},{default:r(()=>[v(u,{mode:"circle"})]),_:1})):w("",!0),!G.value&&K.value&&O.value.length>0?(d(),c(s,{key:5,class:"profile-finished"},{default:r(()=>[v(i,null,{default:r(()=>[y("没有更多了")]),_:1})]),_:1})):w("",!0),G.value||0!==O.value.length?w("",!0):(d(),c(s,{key:6,class:"profile-empty"},{default:r(()=>[v(i,null,{default:r(()=>[y("暂无内容")]),_:1})]),_:1}))]),_:1})]),_:1})}}}),[["__scopeId","data-v-ed2040e6"]]);export{R as default};