Files
CoreInject/frontend/dist/assets/BkWv3AV-.js
QiuChenly 8394c93e6c 性能优化、错误修复
### 后端更新

性能优化
- Redis、数据库索引优化, 复杂联表查询查询速度从10秒降低到500ms

功能增强
- 统一文件上传 API
- 论坛权限管理优化

### 前端更新

问题修复
- 统一错误提示、组件复用、图标本地化、密码加密传输、大文件分片上传

新增功能
- 全局通知系统、WebSocket 实时消息、图标批量同步、IP 封禁管理、应用版本批量查询、头像上传、TypeScript 类型完善、讨论区功能增强

代码优化
- 删除冗余组件、统一 API 错误处理、优化代码结构、统一 UI 风格
2025-11-13 03:02:01 +08:00

12 lines
3.0 KiB
JavaScript

import{d as e,r as a,f as s,w as l,P as t,c as o,g as i,i as n,j as u,k as r,l as c,m as v,t as d,q as b,v as p,T as m,e as f,n as k}from"./Cf-ihD4f.js"
import{b as g,_ as y,a as U}from"./C_NDl53k.js"
const h={class:"avatar-background"},w={class:"background-avatar-blur"},R=["src"],x={class:"card-content"},I={class:"content-layout"},L={class:"avatar-wrapper"},j={class:"user-info"},C={class:"user-name"},_={class:"action-buttons"},N=U(e({__name:"UserProfileCard",props:{visible:{type:Boolean,default:!1},userId:{default:""},userName:{default:""},position:{default:void 0},avatarUrl:{default:void 0},avatarId:{default:void 0}},emits:["close","sendMessage","blockUser","mouseEnter"],setup(e,{emit:U}){const N=e,M=U,O=a(null),T=a(null),W=a(""),$=e=>{W.value&&W.value.startsWith("blob:")&&URL.revokeObjectURL(W.value),W.value=URL.createObjectURL(e)},B=s(()=>N.position?T.value?{left:`${T.value.x}px`,top:`${T.value.y}px`}:{left:`${N.position.x}px`,top:`${N.position.y}px`}:{})
l(()=>[N.visible,N.position],()=>{T.value=null,N.visible&&N.position&&k(()=>{(()=>{if(!N.position||!O.value)return
const e=O.value.getBoundingClientRect(),a=e.width||260,s=e.height||240,l=16
let t=N.position.x,o=N.position.y
const i=window.innerWidth,n=window.innerHeight
t+a>i-l&&(t=i-a-l),t<l&&(t=l),o+s>n-l&&(o=N.position.y-l>=s?N.position.y-s-8:n-s-l),o<l&&(o=l),T.value={x:t,y:o}})()})},{immediate:!0})
const E=a(null),P=()=>{E.value&&(clearTimeout(E.value),E.value=null),M("close")},q=()=>{E.value&&(clearTimeout(E.value),E.value=null),M("mouseEnter")},z=()=>{E.value=window.setTimeout(()=>{P()},300)},H=()=>{M("sendMessage",N.userId,N.userName),P()},A=()=>{M("blockUser",N.userId,N.userName),P()}
return t(()=>{W.value&&W.value.startsWith("blob:")&&URL.revokeObjectURL(W.value)}),l(()=>N.visible,e=>{!e&&W.value&&W.value.startsWith("blob:")&&(URL.revokeObjectURL(W.value),W.value="")}),(a,s)=>(f(),o(m,{to:"body"},[i(n,{name:"card-fade"},{default:u(()=>[e.visible?(f(),r("div",{key:0,class:"card-overlay",onClick:P},[v("div",{ref_key:"cardContainerRef",ref:O,class:"card-container",style:b(B.value),onClick:s[0]||(s[0]=d(()=>{},["stop"])),onMouseenter:q,onMouseleave:z},[v("div",h,[v("div",w,[W.value?(f(),r("img",{key:0,src:W.value,alt:"",class:"background-image"},null,8,R)):c("",!0)]),s[1]||(s[1]=v("div",{class:"background-overlay"},null,-1))]),v("div",x,[v("div",I,[v("div",L,[i(g,{size:"large",userId:e.userId,"user-name":e.userName,"avatar-id":e.avatarId,width:80,height:80,"on-avatar-loaded":$},null,8,["userId","user-name","avatar-id"]),s[2]||(s[2]=v("div",{class:"online-indicator"},null,-1))]),v("div",j,[v("div",C,p(e.userName),1)])]),v("div",_,[v("button",{class:"action-btn message-btn",onClick:H},[i(y,{icon:"fluent-color:comment-multiple-32",class:"btn-icon"}),s[3]||(s[3]=v("span",null,"私信",-1))]),v("button",{class:"action-btn block-btn",onClick:A},[i(y,{icon:"mdi:block-helper",class:"btn-icon"}),s[4]||(s[4]=v("span",null,"拉黑",-1))])])])],36)])):c("",!0)]),_:1})]))}}),[["__scopeId","data-v-2b4c3d26"]])
export{N as U}