Files
CoreInject/frontend/dist/assets/4xYhABhf.js
2025-11-16 05:39:11 +08:00

16 lines
1.1 KiB
JavaScript

import{u as e,j as t,W as s,k as a}from"./BaSQ3xJt.js"
import{r as n,c as r}from"./CdD4XvnD.js"
const i=n(0),u=new Map
let o=!1
function l(){const{user:l}=e(),{queryUsersOnlineStatus:c,isConnected:v}=t()
o||(o=!0,window.addEventListener(s.USER_ONLINE_STATUS_UPDATED,e=>{const t=e,{userId:s,userIds:a,batch:n}=t.detail
i.value++}))
const U=n(new Map),d=e=>a.getUserOnlineStatus(e),S=e=>a.getUserLastActiveAt(e)
return{userOnlineStatusMap:U,getUserOnlineStatus:d,getUserLastActiveAt:S,isUserOnline:e=>{if(u.has(e))return u.get(e)
const t=r(()=>(i.value,!(!l.value||e!==l.value._id)||d(e)))
return u.set(e,t),t},isUserOnlineSync:e=>!(!l.value||e!==l.value._id)||d(e),formatLastActiveTime:e=>{const t=S(e)
if(!t)return"未知"
const s=(new Date).getTime()-t.getTime(),a=Math.floor(s/1e3),n=Math.floor(a/60),r=Math.floor(n/60),i=Math.floor(r/24)
return a<60?"刚刚":n<60?`${n}分钟前`:r<24?`${r}小时前`:i<7?`${i}天前`:t.toLocaleDateString("zh-CN")},queryUsersOnlineStatus:async e=>{var t
await a.queryUsersOnlineStatus(e,c,v.value,null==(t=l.value)?void 0:t._id)}}}export{l as u}