mirror of https://github.com/rocboss/paopao-ce
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.
2 lines
11 KiB
2 lines
11 KiB
import{d as E,c as A,r as _e,e as a,f as u,k as s,w as t,bf as o,j as b,y as O,A as d,x as f,Y as _,q as M,l as de,h as V,u as ee,F as se,H as g,b as pe}from"./@vue-a481fc63.js";import{u as me}from"./vuex-44de225f.js";import{u as ge,b as fe}from"./vue-router-e5a2430e.js";import{J as ve,O as ke,P as ye,Q as he,u as we,f as be,_ as G,R as $e}from"./index-3c78935c.js";import{K as Z,k as Ie,N as Ce,O as Se,Q as x,U as Me,r as F,s as qe,t as ze,X as R,Y as Oe,Z as j,_ as U,R as B}from"./@vicons-f0266f88.js";import{F as Re,j as p,o as Ae,M as Fe,l as Te,e as ne,P as te,T as Ne,O as Pe,U as We,a as je,G as Ue,Q as Be,J as Ve,k as De,H as He}from"./naive-ui-eecf2ec3.js";import{_ as Qe}from"./whisper-7e17488b.js";import{_ as Je}from"./main-nav.vue_vue_type_style_index_0_lang-a6e1ffe5.js";import{W as Ye}from"./v3-infinite-loading-2c58ec2f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-7c8d4b48.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ee={class:"sender-wrap"},Ge={key:0,class:"nickname"},Ke={key:0,class:"username"},Le={key:1,class:"nickname"},Xe={key:0,class:"username"},Ze={key:2,class:"nickname"},xe={class:"timestamp"},es={class:"timestamp-txt"},ss={key:0,class:"brief-content"},ns={key:1,class:"whisper-content-wrap"},ts={key:2,class:"requesting-friend-wrap"},as={key:2,class:"status-info"},os={key:3,class:"status-info"},ls="https://assets.paopao.info/public/avatar/default/admin.png",rs=E({__name:"message-item",props:{message:{}},emits:["send-whisper","reload"],setup(D,{emit:$}){const c=D,m=ge(),r=me(),q=Re(),v=e=>()=>V(p,null,{default:()=>V(e)}),k=A(()=>{let e=[{label:"私信",key:"whisper",icon:v(F)}],n=c.message.type==4&&c.message.sender_user_id==r.state.userInfo.id?c.message.receiver_user:c.message.sender_user;return r.state.userInfo.id!=n.id&&(n.is_following?e.push({label:"取消关注",key:"unfollow",icon:v(qe)}):e.push({label:"关注",key:"follow",icon:v(ze)})),e}),y=e=>{let n=e.type==4&&e.sender_user_id==r.state.userInfo.id?e.receiver_user:e.sender_user;q.success({title:"提示",content:"确定"+(n.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{n.is_following?we({user_id:n.id}).then(h=>{window.$message.success("操作成功"),n.is_following=!1,setTimeout(()=>{$("reload")},50)}).catch(h=>{}):be({user_id:n.id}).then(h=>{window.$message.success("关注成功"),n.is_following=!0,setTimeout(()=>{$("reload")},50)}).catch(h=>{})}})},T=e=>{switch(e){case"whisper":const n=c.message;if(n.type!=99){let h=n.type==4&&n.sender_user_id==r.state.userInfo.id?n.receiver_user:n.sender_user;$("send-whisper",h)}break;case"follow":case"unfollow":y(c.message);break}},I=A(()=>c.message.type!==4||c.message.sender_user_id!==r.state.userInfo.id),N=A(()=>c.message.type==4&&c.message.receiver_user_id==r.state.userInfo.id),z=A(()=>c.message.type==4&&c.message.sender_user_id==r.state.userInfo.id),i=e=>{S(e),(e.type===1||e.type===2||e.type===3)&&(e.post&&e.post.id>0?m.push({name:"post",query:{id:e.post_id}}):window.$message.error("该动态已被删除"))},H=e=>{S(e),ke({user_id:e.sender_user_id}).then(n=>{e.reply_id=2,window.$message.success("已同意添加好友")}).catch(n=>{console.log(n)})},P=e=>{S(e),ye({user_id:e.sender_user_id}).then(n=>{e.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(n=>{console.log(n)})},S=e=>{c.message.receiver_user_id==r.state.userInfo.id&&e.is_read===0&&he({id:e.id}).then(n=>{e.is_read=1}).catch(n=>{console.log(n)})};return(e,n)=>{const h=Ae,w=_e("router-link"),W=Fe,l=Te,K=ne,Q=te,J=Ne,Y=Pe;return a(),u("div",{class:de(["message-item",{unread:I.value&&e.message.is_read===0}]),onClick:n[5]||(n[5]=C=>S(e.message))},[s(Y,{"content-indented":""},{avatar:t(()=>[s(h,{round:"",size:30,src:e.message.type==4&&e.message.sender_user_id==o(r).state.userInfo.id?e.message.receiver_user.avatar:e.message.sender_user.id>0?e.message.sender_user.avatar:ls},null,8,["src"])]),header:t(()=>[b("div",Ee,[e.message.type!=4&&e.message.sender_user.id>0||N.value?(a(),u("span",Ge,[s(w,{onClick:n[0]||(n[0]=O(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.sender_user.username}}},{default:t(()=>[d(f(e.message.sender_user.nickname),1)]),_:1},8,["to"]),o(r).state.desktopModelShow?(a(),u("span",Ke," @"+f(e.message.sender_user.username),1)):_("",!0)])):z.value?(a(),u("span",Le,[s(w,{onClick:n[1]||(n[1]=O(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.receiver_user.username}}},{default:t(()=>[d(f(e.message.receiver_user.nickname),1)]),_:1},8,["to"]),o(r).state.desktopModelShow?(a(),u("span",Xe," @"+f(e.message.receiver_user.username),1)):_("",!0)])):(a(),u("span",Ze," 系统 ")),z.value?(a(),M(W,{key:3,class:"top-tag",type:"info",size:"small",round:""},{icon:t(()=>[s(o(p),{component:o(Z)},null,8,["component"])]),default:t(()=>[d(" 私信已发送 ")]),_:1})):_("",!0),e.message.type==4&&e.message.receiver_user_id==o(r).state.userInfo.id?(a(),M(W,{key:4,class:"top-tag",type:"warning",size:"small",round:""},{icon:t(()=>[s(o(p),{component:o(Z)},null,8,["component"])]),default:t(()=>[d(" 私信已接收 ")]),_:1})):_("",!0)])]),"header-extra":t(()=>[b("span",xe,[I.value&&e.message.is_read===0?(a(),M(l,{key:0,dot:"",processing:""})):_("",!0),b("span",es,f(o(ve)(e.message.created_on)),1),s(Q,{placement:"bottom-end",trigger:"click",size:"small",options:k.value,onSelect:T},{default:t(()=>[s(K,{quaternary:"",circle:""},{icon:t(()=>[s(o(p),null,{default:t(()=>[s(o(Ie))]),_:1})]),_:1})]),_:1},8,["options"])])]),description:t(()=>[s(J,{"show-icon":!1,class:"brief-wrap",type:!I.value||e.message.is_read>0?"default":"success"},{default:t(()=>[e.message.type!=4?(a(),u("div",ss,[d(f(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(a(),u("span",{key:0,onClick:n[2]||(n[2]=O(C=>i(e.message),["stop"])),class:"hash-link view-link"},[s(o(p),null,{default:t(()=>[s(o(Ce))]),_:1}),d(" 查看详情 ")])):_("",!0)])):_("",!0),e.message.type===4?(a(),u("div",ns,f(e.message.content),1)):_("",!0),e.message.type===5?(a(),u("div",ts,[d(f(e.message.content)+" ",1),e.message.reply_id===1?(a(),u("span",{key:0,onClick:n[3]||(n[3]=O(C=>H(e.message),["stop"])),class:"hash-link view-link"},[s(o(p),null,{default:t(()=>[s(o(Se))]),_:1}),d(" 同意 ")])):_("",!0),e.message.reply_id===1?(a(),u("span",{key:1,onClick:n[4]||(n[4]=O(C=>P(e.message),["stop"])),class:"hash-link view-link"},[s(o(p),null,{default:t(()=>[s(o(x))]),_:1}),d(" 拒绝 ")])):_("",!0),e.message.reply_id===2?(a(),u("span",as,[s(o(p),null,{default:t(()=>[s(o(Me))]),_:1}),d(" 已同意 ")])):_("",!0),e.message.reply_id===3?(a(),u("span",os,[s(o(p),null,{default:t(()=>[s(o(x))]),_:1}),d(" 已拒绝 ")])):_("",!0)])):_("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const is=G(rs,[["__scopeId","data-v-2507cd8e"]]),us={class:"content"},cs=E({__name:"message-skeleton",props:{num:{default:1}},setup(D){return($,c)=>{const m=We;return a(!0),u(se,null,ee(new Array($.num),r=>(a(),u("div",{class:"skeleton-item",key:r},[b("div",us,[s(m,{text:"",repeat:2}),s(m,{text:"",style:{width:"60%"}})])]))),128)}}});const _s=G(cs,[["__scopeId","data-v-01d2e871"]]),ds={key:0,class:"skeleton-wrap"},ps={key:1},ms={class:"title title-action"},gs={class:"title title-filter"},fs={key:0,class:"empty-wrap"},vs={key:1},ks={class:"load-more-wrap"},ys={class:"load-more-spinner"},hs=E({__name:"Messages",setup(D){const $=fe(),c=g(!1),m=g(!1),r=g(+$.query.p||1),q=g(20),v=g(0),k=g([]),y=g("所有消息"),T=g("all"),I=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}),z=()=>{m.value=!1,r.value=1,v.value=0,k.value=[]},i=l=>()=>V(p,null,{default:()=>V(l)}),H=A(()=>{let l;switch(y.value){case"所有消息":l=[{label:"系统消息",key:"system",icon:i(U)},{label:"我的私信",key:"whisper",icon:i(F)},{label:"好友申请",key:"requesting",icon:i(B)},{label:"未读消息",key:"unread",icon:i(R)}];break;case"系统消息":l=[{label:"所有消息",key:"all",icon:i(j)},{label:"我的私信",key:"whisper",icon:i(F)},{label:"好友申请",key:"requesting",icon:i(B)},{label:"未读消息",key:"unread",icon:i(R)}];break;case"我的私信":l=[{label:"所有消息",key:"all",icon:i(j)},{label:"系统消息",key:"system",icon:i(U)},{label:"好友申请",key:"requesting",icon:i(B)},{label:"未读消息",key:"unread",icon:i(R)}];break;case"好友申请":l=[{label:"所有消息",key:"all",icon:i(j)},{label:"系统消息",key:"system",icon:i(U)},{label:"我的私信",key:"whisper",icon:i(F)},{label:"未读消息",key:"unread",icon:i(R)}];break;case"未读消息":l=[{label:"所有消息",key:"all",icon:i(j)},{label:"系统消息",key:"system",icon:i(U)},{label:"我的私信",key:"whisper",icon:i(F)},{label:"好友申请",key:"requesting",icon:i(B)}];break;default:l=[];break}return l}),P=l=>{switch(l){case"all":y.value="所有消息";break;case"system":y.value="系统消息";break;case"whisper":y.value="我的私信";break;case"requesting":y.value="好友申请";break;case"unread":y.value="未读消息";break}T.value=l,z(),w()},S=()=>{P("unread")},e=()=>{z(),w()},n=l=>{N.value=l,I.value=!0},h=()=>{I.value=!1},w=()=>{c.value=!0,$e({style:T.value,page:r.value,page_size:q.value}).then(l=>{c.value=!1,l.list.length===0&&(m.value=!0),r.value>1?k.value=k.value.concat(l.list):(k.value=l.list,window.scrollTo(0,0)),v.value=Math.ceil(l.pager.total_rows/q.value)}).catch(l=>{c.value=!1,r.value>1&&r.value--})},W=()=>{r.value<v.value||v.value==0?(m.value=!1,r.value++,w()):m.value=!0};return pe(()=>{w()}),(l,K)=>{const Q=Je,J=Qe,Y=_s,C=ne,ae=Be,oe=te,L=je,le=Ve,re=is,ie=He,ue=Ue,ce=De;return a(),u("div",null,[s(Q,{title:"消息"}),s(ue,{class:"main-content-wrap messages-wrap",bordered:""},{default:t(()=>[s(J,{show:I.value,user:N.value,onSuccess:h},null,8,["show","user"]),c.value&&k.value.length===0?(a(),u("div",ds,[s(Y,{num:q.value},null,8,["num"])])):(a(),u("div",ps,[s(L,{justify:"space-between"},{default:t(()=>[b("div",ms,[s(C,{text:"",size:"small",onClick:S},{icon:t(()=>[s(o(p),null,{default:t(()=>[s(o(R))]),_:1})]),default:t(()=>[d(" 0 条未读 ")]),_:1}),s(ae,{vertical:""}),s(C,{text:"",size:"small",onClick:e},{default:t(()=>[d("全标已读")]),_:1})]),b("div",gs,[s(oe,{placement:"bottom-end",trigger:"click",size:"small",options:H.value,onSelect:P},{default:t(()=>[s(C,{text:""},{icon:t(()=>[s(o(p),null,{default:t(()=>[s(o(Oe))]),_:1})]),default:t(()=>[d(" "+f(y.value),1)]),_:1})]),_:1},8,["options"])])]),_:1}),k.value.length===0?(a(),u("div",fs,[s(le,{size:"large",description:"暂无数据"})])):(a(),u("div",vs,[(a(!0),u(se,null,ee(k.value,X=>(a(),M(ie,{key:X.id},{default:t(()=>[s(re,{message:X,onSendWhisper:n,onReload:w},null,8,["message"])]),_:2},1024))),128))]))]))]),_:1}),v.value>0?(a(),M(L,{key:0,justify:"center"},{default:t(()=>[s(o(Ye),{class:"load-more",slots:{complete:"没有更多消息了",error:"加载出错"},onInfinite:W},{spinner:t(()=>[b("div",ks,[m.value?_("",!0):(a(),M(ce,{key:0,size:14})),b("span",ys,f(m.value?"没有更多消息了":"加载更多"),1)])]),_:1})]),_:1})):_("",!0)])}}});const Ys=G(hs,[["__scopeId","data-v-77b4139c"]]);export{Ys as default};
|