You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
paopao-ce/web/dist/assets/Following-Bmlr66Gb.js

1 line
5.9 KiB

import{o as e}from"./rolldown-runtime-Bhmf7a9N.js";import{A as t,Bt as n,C as r,D as i,H as a,J as o,K as s,M as c,O as l,Q as u,S as d,W as f,b as p,h as m,ht as h,lt as g,p as _,w as v,x as y}from"./@css-render-YsNuQTaE.js";import{r as b}from"./vue-router-Dw9lfhBK.js";import{$ as x,G as S,P as C,U as w,W as T,at as E,b as D,c as O,f as k,l as A,ot as j,s as M,tt as N,x as P}from"./naive-ui-Dv03sO69.js";import"./@juggle-BrKhuOcS.js";import{a as F,r as I}from"./sidebar-DRayLsOo.js";import{_ as L,at as R,k as z,o as B}from"./@vicons-CZeOmejd.js";import"./moment-D_9q9veS.js";import{t as V}from"./index-C6IeTwfo.js";import{t as H}from"./main-nav-DUyzQZis.js";import{t as U}from"./post-skeleton-BwZD6JWX.js";import{t as W}from"./whisper-C0GBvvBh.js";import"./@vue-cLJXtEPP.js";import{t as G}from"./v3-infinite-loading-Dj1QGmV8.js";var K={class:`follow-item`},q={class:`nickname-wrap`},J={class:`username-wrap`},Y={class:`user-info`},X={class:`info-item`},Z={class:`info-item`},Q={class:`item-header-extra`},$=I(t({__name:`follow-item`,props:{contact:{}},emits:[`send-whisper`],setup(e,{emit:t}){let a=w(),s=t,m=e=>()=>c(S,null,{default:()=>c(e)}),g=()=>{a.success({title:`提示`,content:`确定`+(b.contact.is_following?`取消关注 @`:`关注 @`)+b.contact.username+` 吗?`,positiveText:`确定`,negativeText:`取消`,onPositiveClick:()=>{b.contact.is_following?F.v1.user.post.unfollow({user_id:b.contact.user_id}).then(e=>{window.$message.success(`取消关注成功`),b.contact.is_following=!1}).catch(e=>{console.log(e)}):F.v1.user.post.follow({user_id:b.contact.user_id}).then(e=>{window.$message.success(`关注成功`),b.contact.is_following=!0}).catch(e=>{console.log(e)})}})},b=e,C=p(()=>{let e=[{label:`私信 @`+b.contact.username,key:`whisper`,icon:m(z)}];return b.contact.is_following?e.push({label:`取消关注 @`+b.contact.username,key:`unfollow`,icon:m(L)}):e.push({label:`关注 @`+b.contact.username,key:`follow`,icon:m(R)}),e}),D=e=>{switch(e){case`follow`:case`unfollow`:g();break;case`whisper`:s(`send-whisper`,{id:b.contact.user_id,avatar:b.contact.avatar,username:b.contact.username,nickname:b.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1});break;default:break}};return(t,a)=>{let s=N,c=o(`router-link`),p=E,m=x,g=T,b=M;return f(),v(`div`,K,[l(b,{"content-indented":``},{avatar:u(()=>[l(s,{size:54,src:e.contact.avatar},null,8,[`src`])]),header:u(()=>[y(`span`,q,[l(c,{onClick:a[0]||=_(()=>{},[`stop`]),class:`username-link`,to:{name:`user`,query:{s:e.contact.username}}},{default:u(()=>[i(n(e.contact.nickname),1)]),_:1},8,[`to`])]),y(`span`,J,` @`+n(e.contact.username),1),e.contact.is_following?(f(),d(p,{key:0,class:`top-tag`,type:`success`,size:`small`,round:``},{default:u(()=>[...a[1]||=[i(` 已关注 `,-1)]]),_:1})):r(``,!0),y(`div`,Y,[y(`span`,X,` UID. `+n(e.contact.user_id),1),y(`span`,Z,n(h(V)(e.contact.created_on))+`\xA0加入 `,1)])]),"header-extra":u(()=>[y(`div`,Q,[l(g,{placement:`bottom-end`,trigger:`click`,size:`small`,options:C.value,onSelect:D},{default:u(()=>[l(m,{quaternary:``,circle:``},{icon:u(()=>[l(h(S),null,{default:u(()=>[l(h(B))]),_:1})]),_:1})]),_:1},8,[`options`])])]),_:1})])}}}),[[`__scopeId`,`data-v-f729688e`]]),ee=e(G()),te={key:0,class:`skeleton-wrap`},ne={key:1},re={key:0,class:`empty-wrap`},ie={class:`load-more-wrap`},ae={class:`load-more-spinner`},oe=I(t({__name:`Following`,setup(e){let t=b(),i=g(!1),o=g(!1),c=g([]),_=t.query.n||`粉丝详情`,x=t.query.s||``,S=g(t.query.t||`follows`),w=g(+t.query.p||1),T=g(20),E=g(0),M=g(!1),N=g({id:0,avatar:``,username:``,nickname:``,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1});function I(e){c.value=[],i.value=!1,o.value=!1,w.value=1,E.value=0,S.value=e}let L=p(()=>S.value==`follows`?`没有更多关注了`:`没有更多粉丝了`),R=e=>{N.value=e,M.value=!0},z=()=>{M.value=!1},B=()=>{w.value<E.value||E.value==0?(o.value=!1,w.value++,G()):o.value=!0},V=e=>{I(e),G()},G=()=>{S.value===`follows`?K(x):S.value===`followings`&&q(x)},K=(e,t=!1)=>{c.value.length===0&&(i.value=!0),F.v1.user.get.follows({username:e,page:w.value,page_size:T.value}).then(e=>{i.value=!1,e.list.length===0&&(o.value=!0),w.value>1?c.value=c.value.concat(e.list):(c.value=e.list,t&&setTimeout(()=>{window.scrollTo(0,99999)},50)),E.value=Math.ceil(e.pager.total_rows/T.value)}).catch(e=>{i.value=!1,w.value>1&&w.value--})},q=(e,t=!1)=>{c.value.length===0&&(i.value=!0),F.v1.user.get.followings({username:e,page:w.value,page_size:T.value}).then(e=>{i.value=!1,e.list.length===0&&(o.value=!0),w.value>1?c.value=c.value.concat(e.list):(c.value=e.list,t&&setTimeout(()=>{window.scrollTo(0,99999)},50)),E.value=Math.ceil(e.pager.total_rows/T.value)}).catch(e=>{i.value=!1,w.value>1&&w.value--})};return a(()=>{G()}),(e,t)=>{let a=H,p=A,g=O,b=U,x=j,w=$,F=D,I=W,G=P,K=k,q=C;return f(),v(m,null,[y(`div`,null,[l(a,{title:h(_),back:!0},null,8,[`title`]),l(G,{class:`main-content-wrap`,bordered:``},{default:u(()=>[l(g,{type:`line`,animated:``,"default-value":S.value,"onUpdate:value":V},{default:u(()=>[l(p,{name:`follows`,tab:`正在关注`}),l(p,{name:`followings`,tab:`我的粉丝`})]),_:1},8,[`default-value`]),i.value&&c.value.length===0?(f(),v(`div`,te,[l(b,{num:T.value},null,8,[`num`])])):(f(),v(`div`,ne,[c.value.length===0?(f(),v(`div`,re,[l(x,{size:`large`,description:`暂无数据`})])):r(``,!0),(f(!0),v(m,null,s(c.value,e=>(f(),d(F,{key:e.user_id},{default:u(()=>[l(w,{contact:e,onSendWhisper:R},null,8,[`contact`])]),_:2},1024))),128))])),l(I,{show:M.value,user:N.value,onSuccess:z},null,8,[`show`,`user`])]),_:1})]),E.value>0?(f(),d(q,{key:0,justify:`center`},{default:u(()=>[l(h(ee.default),{class:`load-more`,slots:{complete:L.value,error:`加载出错`},onInfinite:B},{spinner:u(()=>[y(`div`,ie,[o.value?r(``,!0):(f(),d(K,{key:0,size:14})),y(`span`,ae,n(o.value?L.value:`加载更多`),1)])]),_:1},8,[`slots`])]),_:1})):r(``,!0)],64)}}}),[[`__scopeId`,`data-v-f2f965b1`]]);export{oe as default};