Files
sbnews/server/public/mobile/assets/pages-private_chat-list.CveJz-2R.js
T

2 lines
3.7 KiB
JavaScript

import{d as e,r as a,b as s,K as t,f as l,c as n,w as u,k as i,P as o,o as r,l as _,m as c,q as d,t as v,S as m,D as g,x as f,F as p,y as h,p as y,v as k,e as b,a8 as w,a0 as D,av as x,_ as S}from"./index-DXU7LX1r.js";import{g as F}from"./chat.BVCR9ha0.js";const N=S(e({__name:"list",setup(e){const S=a(0),N=a([]),$=a(!1),C=a(!1),M=a(1);s(()=>{t(),S.value=0}),l(()=>{z(!0)});const z=async(e=!0)=>{if(!$.value&&(e&&(M.value=1,C.value=!1),!C.value)){$.value=!0;try{const a=await F({page_no:M.value,page_size:20}),s=(null==a?void 0:a.lists)||[];N.value=e?s:N.value.concat(s),s.length<20?C.value=!0:M.value++}catch(a){e&&(N.value=[])}finally{$.value=!1}}},j=()=>{$.value||C.value||z(!1)},T=e=>e.last_message_id?"image"===e.last_message_type?"[图片]":e.last_message_content||"消息":"还没有消息",Y=e=>{var a,s;return(null==(a=e.relationship)?void 0:a.relationship_text)||((null==(s=e.relationship)?void 0:s.is_mutual)?"互相关注":"对方还未添加你为好友")},q=e=>{if(!e)return"";let a=0;if("number"==typeof e)a=e>1e12?e:1e3*e;else{const s=Number(e);a=Number.isFinite(s)&&s>0?1e3*s:new Date(e.replace(/-/g,"/")).getTime()}if(!a||Number.isNaN(a))return"";const s=new Date(a),t=new Date,l=s.getFullYear()===t.getFullYear()&&s.getMonth()===t.getMonth()&&s.getDate()===t.getDate(),n=String(s.getHours()).padStart(2,"0"),u=String(s.getMinutes()).padStart(2,"0");return l?`${n}:${u}`:`${s.getMonth()+1}-${s.getDate()}`},H=()=>{w().length>1?D():x({url:"/pages/user/user"})};return(e,a)=>{const s=o("u-icon"),t=i,l=d,w=o("u-loading"),D=y,x=o("u-empty"),F=m;return r(),n(t,{class:"chat-list-page"},{default:u(()=>[_(t,{class:"chat-nav",style:c({paddingTop:S.value+"px"})},{default:u(()=>[_(t,{class:"chat-nav__btn",onClick:H},{default:u(()=>[_(s,{name:"arrow-left",size:"34",color:"#111827"})]),_:1}),_(l,{class:"chat-nav__title"},{default:u(()=>[v("私聊消息")]),_:1}),_(t,{class:"chat-nav__btn",onClick:a[0]||(a[0]=e=>z(!0))},{default:u(()=>[_(s,{name:"reload",size:"30",color:"#111827"})]),_:1})]),_:1},8,["style"]),_(F,{"scroll-y":"",class:"chat-list-scroll",onScrolltolower:j},{default:u(()=>[$.value&&0===N.value.length?(r(),n(t,{key:0,class:"chat-list-state"},{default:u(()=>[_(w,{mode:"circle"})]),_:1})):g("",!0),(r(!0),f(p,null,h(N.value,e=>(r(),n(t,{key:e.id,class:"session-item",onClick:a=>(e=>{b({url:`/pages/private_chat/room?session_id=${e.id}`})})(e)},{default:u(()=>{var a;return[_(D,{class:"session-item__avatar",src:(null==(a=e.target_user)?void 0:a.avatar)||"/static/images/avatar.png",mode:"aspectFill"},null,8,["src"]),_(t,{class:"session-item__body"},{default:u(()=>[_(t,{class:"session-item__top"},{default:u(()=>[_(l,{class:"session-item__name"},{default:u(()=>{var a;return[v(k((null==(a=e.target_user)?void 0:a.nickname)||"用户"),1)]}),_:2},1024),_(l,{class:"session-item__time"},{default:u(()=>[v(k(q(e.last_active_time||e.create_time)),1)]),_:2},1024)]),_:2},1024),_(t,{class:"session-item__bottom"},{default:u(()=>[_(l,{class:"session-item__message"},{default:u(()=>[v(k(T(e)),1)]),_:2},1024),_(l,{class:"session-item__relation"},{default:u(()=>[v(k(Y(e)),1)]),_:2},1024)]),_:2},1024)]),_:2},1024),e.unread_count>0?(r(),n(t,{key:0,class:"session-item__badge"},{default:u(()=>[_(l,null,{default:u(()=>[v(k(e.unread_count>99?"99+":e.unread_count),1)]),_:2},1024)]),_:2},1024)):g("",!0)]}),_:2},1032,["onClick"]))),128)),$.value||0!==N.value.length?g("",!0):(r(),n(t,{key:1,class:"chat-list-empty"},{default:u(()=>[_(x,{text:"暂无私聊消息",mode:"data"})]),_:1})),C.value&&N.value.length>0?(r(),n(t,{key:2,class:"chat-list-finished"},{default:u(()=>[_(l,null,{default:u(()=>[v("没有更多了")]),_:1})]),_:1})):g("",!0)]),_:1})]),_:1})}}}),[["__scopeId","data-v-67a71261"]]);export{N as default};