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/Messages-DJysuVQF.js

1 line
11 KiB

import{A as e,Bt as t,C as n,D as r,H as i,It 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"./pinia-TbaIYBWH.js";import{i as x,r as S}from"./vue-router-Dw9lfhBK.js";import{$ as ee,G as C,P as w,R as T,U as E,W as D,at as O,b as k,et as A,it as j,ot as M,p as N,s as P,tt as F,x as I}from"./naive-ui-Dv03sO69.js";import"./@juggle-BrKhuOcS.js";import{a as L,c as R,l as z,r as B}from"./sidebar-B2rODElh.js";import{A as V,D as H,Q as U,R as W,X as G,Y as K,Z as q,_ as J,at as te,et as Y,k as X,o as ne,st as Z,x as re}from"./@vicons-CZeOmejd.js";import"./moment-D_9q9veS.js";import{i as ie}from"./index-BzZcw6rK.js";import{t as ae}from"./main-nav-BW6UKmWQ.js";import{n as oe,t as se}from"./useUserAction-DVqObL5J.js";import"./@vue-cLJXtEPP.js";import"./v3-infinite-loading-Dj1QGmV8.js";import{t as Q}from"./usePagination-B2kaN_Rm.js";import{t as ce}from"./infinite-load-more-CuisQVv6.js";var $={class:`sender-wrap`},le={key:0,class:`nickname`},ue={key:0,class:`username`},de={key:1,class:`nickname`},fe={key:0,class:`username`},pe={key:2,class:`nickname`},me={class:`timestamp`},he={class:`timestamp-txt`},ge={key:0,class:`brief-content`},_e={key:1,class:`whisper-content-wrap`},ve={key:2,class:`requesting-friend-wrap`},ye={key:2,class:`status-info`},be={key:3,class:`status-info`},xe=`https://assets.paopao.info/public/avatar/default/admin.png`,Se=B(e({__name:`message-item`,props:{message:{}},emits:[`send-whisper`,`reload`],setup(e,{emit:i}){let s=x(),m=z(),g=R(),{desktopModelShow:S}=b(m),{userInfo:w}=b(g),T=E(),k=e,M=e=>()=>c(C,null,{default:()=>c(e)}),N=p(()=>{let e=k.message.type==4&&k.message.sender_user_id==w.value.id?k.message.receiver_user:k.message.sender_user,t=[{label:`私信 @`+e.username,key:`whisper`,icon:M(X)}];return w.value.id!=e.id&&(e.is_following?t.push({label:`取消关注 @`+e.username,key:`unfollow`,icon:M(J)}):t.push({label:`关注 @`+e.username,key:`follow`,icon:M(te)})),t}),I=i,B=e=>{let t=e.type==4&&e.sender_user_id==w.value.id?e.receiver_user:e.sender_user;se.followAction(T,t.id,t.username,t.is_following).then(e=>{t.is_following=e,setTimeout(()=>{I(`reload`)},50)}).catch(e=>{console.log(e)})},V=e=>{switch(e){case`whisper`:let e=k.message;e.type!=99&&I(`send-whisper`,e.type==4&&e.sender_user_id==w.value.id?e.receiver_user:e.sender_user);break;case`follow`:case`unfollow`:B(k.message);break;default:break}},H=p(()=>k.message.type!==4||k.message.sender_user_id!==w.value.id),W=p(()=>k.message.type==4&&k.message.receiver_user_id==w.value.id),Y=p(()=>k.message.type==4&&k.message.sender_user_id==w.value.id),Z=e=>{Q(e),(e.type===1||e.type===2||e.type===3)&&(e.post&&e.post.id>0?s.push({name:`post`,query:{id:e.post_id}}):window.$message.error(`该动态已被删除`))},ae=e=>{Q(e),L.v1.friend.post.add({user_id:e.sender_user_id}).then(t=>{e.reply_id=2,window.$message.success(`已同意添加好友`)}).catch(e=>{console.log(e)})},oe=e=>{Q(e),L.v1.friend.post.reject({user_id:e.sender_user_id}).then(t=>{e.reply_id=3,window.$message.success(`已拒绝添加好友`)}).catch(e=>{console.log(e)})},Q=e=>{k.message.receiver_user_id==w.value.id&&e.is_read===0&&L.v1.user.message.post.read({id:e.id}).then(t=>{e.is_read=1}).catch(e=>{console.log(e)})};return(i,s)=>{let c=F,p=o(`router-link`),m=O,g=A,b=ee,x=D,T=j,E=P;return f(),v(`div`,{class:a([`message-item`,{unread:H.value&&e.message.is_read===0}]),onClick:s[5]||=t=>Q(e.message)},[l(E,{"content-indented":``},{avatar:u(()=>[l(c,{round:``,size:30,src:e.message.type==4&&e.message.sender_user_id==h(w).id?e.message.receiver_user.avatar:e.message.sender_user.id>0?e.message.sender_user.avatar:xe},null,8,[`src`])]),header:u(()=>[y(`div`,$,[e.message.type!=4&&e.message.sender_user.id>0||W.value?(f(),v(`span`,le,[l(p,{onClick:s[0]||=_(()=>{},[`stop`]),class:`username-link`,to:{name:`user`,query:{s:e.message.sender_user.username}}},{default:u(()=>[r(t(e.message.sender_user.nickname),1)]),_:1},8,[`to`]),h(S)?(f(),v(`span`,ue,` @`+t(e.message.sender_user.username),1)):n(``,!0)])):Y.value?(f(),v(`span`,de,[l(p,{onClick:s[1]||=_(()=>{},[`stop`]),class:`username-link`,to:{name:`user`,query:{s:e.message.receiver_user.username}}},{default:u(()=>[r(t(e.message.receiver_user.nickname),1)]),_:1},8,[`to`]),h(S)?(f(),v(`span`,fe,` @`+t(e.message.receiver_user.username),1)):n(``,!0)])):(f(),v(`span`,pe,` 系统 `)),Y.value?(f(),d(m,{key:3,class:`top-tag`,type:`info`,size:`small`,round:``},{icon:u(()=>[l(h(C),{component:h(U)},null,8,[`component`])]),default:u(()=>[s[6]||=r(` 私信已发送 `,-1)]),_:1})):n(``,!0),e.message.type==4&&e.message.receiver_user_id==h(w).id?(f(),d(m,{key:4,class:`top-tag`,type:`warning`,size:`small`,round:``},{icon:u(()=>[l(h(C),{component:h(U)},null,8,[`component`])]),default:u(()=>[s[7]||=r(` 私信已接收 `,-1)]),_:1})):n(``,!0)])]),"header-extra":u(()=>[y(`span`,me,[H.value&&e.message.is_read===0?(f(),d(g,{key:0,dot:``,processing:``})):n(``,!0),y(`span`,he,t(h(ie)(e.message.created_on)),1),l(x,{placement:`bottom-end`,trigger:`click`,size:`small`,options:N.value,onSelect:V},{default:u(()=>[l(b,{quaternary:``,circle:``},{icon:u(()=>[l(h(C),null,{default:u(()=>[l(h(ne))]),_:1})]),_:1})]),_:1},8,[`options`])])]),description:u(()=>[l(T,{"show-icon":!1,class:`brief-wrap`,type:!H.value||e.message.is_read>0?`default`:`success`},{default:u(()=>[e.message.type==4?n(``,!0):(f(),v(`div`,ge,[r(t(e.message.brief)+` `,1),e.message.type===1||e.message.type===2||e.message.type===3?(f(),v(`span`,{key:0,onClick:s[2]||=_(t=>Z(e.message),[`stop`]),class:`hash-link view-link`},[l(h(C),null,{default:u(()=>[l(h(re))]),_:1}),s[8]||=r(` 查看详情 `,-1)])):n(``,!0)])),e.message.type===4?(f(),v(`div`,_e,t(e.message.content),1)):n(``,!0),e.message.type===5?(f(),v(`div`,ve,[r(t(e.message.content)+` `,1),e.message.reply_id===1?(f(),v(`span`,{key:0,onClick:s[3]||=_(t=>ae(e.message),[`stop`]),class:`hash-link view-link`},[l(h(C),null,{default:u(()=>[l(h(G))]),_:1}),s[9]||=r(` 同意 `,-1)])):n(``,!0),e.message.reply_id===1?(f(),v(`span`,{key:1,onClick:s[4]||=_(t=>oe(e.message),[`stop`]),class:`hash-link view-link`},[l(h(C),null,{default:u(()=>[l(h(K))]),_:1}),s[10]||=r(` 拒绝 `,-1)])):n(``,!0),e.message.reply_id===2?(f(),v(`span`,ye,[l(h(C),null,{default:u(()=>[l(h(q))]),_:1}),s[11]||=r(` 已同意 `,-1)])):n(``,!0),e.message.reply_id===3?(f(),v(`span`,be,[l(h(C),null,{default:u(()=>[l(h(K))]),_:1}),s[12]||=r(` 已拒绝 `,-1)])):n(``,!0)])):n(``,!0)]),_:1},8,[`type`])]),_:1})],2)}}}),[[`__scopeId`,`data-v-c8b31a22`]]),Ce={class:`content`},we=B(e({__name:`message-skeleton`,props:{num:{default:1}},setup(e){return(t,n)=>{let r=N;return f(!0),v(m,null,s(Array(e.num),e=>(f(),v(`div`,{class:`skeleton-item`,key:e},[y(`div`,Ce,[l(r,{text:``,repeat:2}),l(r,{text:``,style:{width:`60%`}})])]))),128)}}}),[[`__scopeId`,`data-v-e6390d54`]]),Te={class:`title title-action`},Ee={class:`title title-filter`},De={key:0,class:`skeleton-wrap`},Oe={key:1},ke={key:0,class:`empty-wrap`},Ae={key:1},je=B(e({__name:`Messages`,setup(e){let n=z();R();let{unreadMsgCount:a}=b(n),o=S(),{loading:_,noMore:x,page:E,pageSize:O,totalPage:A,reset:j}=Q(20);E.value=+o.query.p||1;let N=g([]),P=g(`所有消息`),F=g(`all`),B=g(!1),U=g({id:0,avatar:``,username:``,nickname:``,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),G=()=>{j(),N.value=[]},K=e=>()=>c(C,null,{default:()=>c(e)}),q=p(()=>{let e;switch(P.value){case`所有消息`:e=[{label:`系统消息`,key:`system`,icon:K(Z)},{label:`我的私信`,key:`whisper`,icon:K(X)},{label:`好友申请`,key:`requesting`,icon:K(H)},{label:`未读消息`,key:`unread`,icon:K(Y)}];break;case`系统消息`:e=[{label:`所有消息`,key:`all`,icon:K(W)},{label:`我的私信`,key:`whisper`,icon:K(X)},{label:`好友申请`,key:`requesting`,icon:K(H)},{label:`未读消息`,key:`unread`,icon:K(Y)}];break;case`我的私信`:e=[{label:`所有消息`,key:`all`,icon:K(W)},{label:`系统消息`,key:`system`,icon:K(Z)},{label:`好友申请`,key:`requesting`,icon:K(H)},{label:`未读消息`,key:`unread`,icon:K(Y)}];break;case`好友申请`:e=[{label:`所有消息`,key:`all`,icon:K(W)},{label:`系统消息`,key:`system`,icon:K(Z)},{label:`我的私信`,key:`whisper`,icon:K(X)},{label:`未读消息`,key:`unread`,icon:K(Y)}];break;case`未读消息`:e=[{label:`所有消息`,key:`all`,icon:K(W)},{label:`系统消息`,key:`system`,icon:K(Z)},{label:`我的私信`,key:`whisper`,icon:K(X)},{label:`好友申请`,key:`requesting`,icon:K(H)}];break;default:e=[];break}return e}),J=e=>{switch(e){case`all`:P.value=`所有消息`;break;case`system`:P.value=`系统消息`;break;case`whisper`:P.value=`我的私信`;break;case`requesting`:P.value=`好友申请`;break;case`unread`:P.value=`未读消息`;break}F.value=e,G(),$()},te=()=>{J(`unread`)},ne=()=>{a.value>0&&N.value.length>0&&L.v1.user.message.post.readall().then(e=>{if(F.value!=`unread`)for(let e in N.value)N.value[e].is_read=1;else N.value=[];n.updateUnreadMsgCount(0)}).catch(e=>{console.log(e)})},re=e=>{U.value=e,B.value=!0},ie=()=>{B.value=!1},se=()=>{G(),$()},$=()=>{_.value=!0,L.v1.user.get.messages({style:F.value,page:E.value,page_size:O.value}).then(e=>{_.value=!1,e.list.length===0&&(x.value=!0),E.value>1?N.value=N.value.concat(e.list):(N.value=e.list,window.scrollTo(0,0)),A.value=Math.ceil(e.pager.total_rows/O.value)}).catch(e=>{_.value=!1,E.value>1&&E.value--})},le=()=>{E.value<A.value||A.value==0?(x.value=!1,E.value++,$()):x.value=!0};return i(()=>{$()}),(e,n)=>{let i=ae,o=oe,c=ee,p=T,g=D,b=w,S=we,E=M,j=Se,F=k,L=I;return f(),v(`div`,null,[l(i,{title:`消息`}),l(L,{class:`main-content-wrap messages-wrap`,bordered:``},{default:u(()=>[l(o,{show:B.value,user:U.value,onSuccess:ie},null,8,[`show`,`user`]),l(b,{justify:`space-between`},{default:u(()=>[y(`div`,Te,[l(c,{text:``,size:`small`,focusable:!1,onClick:te},{icon:u(()=>[l(h(C),null,{default:u(()=>[l(h(Y))]),_:1})]),default:u(()=>[r(` `+t(h(a))+` 条未读 `,1)]),_:1}),l(p,{vertical:``}),l(c,{text:``,size:`small`,focusable:!1,onClick:ne},{default:u(()=>[...n[0]||=[r(`全标已读`,-1)]]),_:1})]),y(`div`,Ee,[l(g,{placement:`bottom-end`,trigger:`click`,size:`small`,options:q.value,onSelect:J},{default:u(()=>[l(c,{text:``},{icon:u(()=>[l(h(C),null,{default:u(()=>[l(h(V))]),_:1})]),default:u(()=>[r(` `+t(P.value),1)]),_:1})]),_:1},8,[`options`])])]),_:1}),h(_)&&N.value.length===0?(f(),v(`div`,De,[l(S,{num:h(O)},null,8,[`num`])])):(f(),v(`div`,Oe,[N.value.length===0?(f(),v(`div`,ke,[l(E,{size:`large`,description:`暂无数据`})])):(f(),v(`div`,Ae,[(f(!0),v(m,null,s(N.value,e=>(f(),d(F,{key:e.id},{default:u(()=>[l(j,{message:e,onSendWhisper:re,onReload:se},null,8,[`message`])]),_:2},1024))),128))]))]))]),_:1}),l(ce,{"total-page":h(A),"no-more":h(x),"complete-text":`没有更多消息了`,onLoadMore:le},null,8,[`total-page`,`no-more`])])}}}),[[`__scopeId`,`data-v-5226edc2`]]);export{je as default};