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

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

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

### 前端更新

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

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

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

11 lines
3.6 KiB
JavaScript

import{d as a,r as l,w as s,c as e,g as i,i as o,j as n,k as t,l as c,t as r,m as u,v as d,F as v,y as p,b as m,B as f,C as b,A as g,T as y,e as h}from"./Cf-ihD4f.js"
import{_ as k,a as _}from"./C_NDl53k.js"
import{R as I}from"./6K6b4Qy_.js"
const C={class:"dialog-header"},w={class:"header-icon"},x={class:"dialog-content"},j={class:"report-info-section"},R={class:"section-title"},B={class:"info-grid"},D={class:"info-row"},q={class:"info-value"},A={class:"info-row"},F={class:"info-value"},N={class:"info-row full-width"},O={class:"info-content"},T={class:"report-type-section"},U={class:"section-title"},V={class:"report-types"},z=["onClick"],E={class:"type-label"},G={class:"report-comment-section"},H={class:"section-title"},J={class:"char-count"},K={class:"dialog-footer"},L=["disabled"],M=_(a({__name:"ReportDialog",props:{visible:{type:Boolean,default:!1},reportInfo:{default:null}},emits:["close","submit"],setup(a,{emit:_}){const M=a,P=_,Q=[{value:"pornography",...I.pornography},{value:"fraud",...I.fraud},{value:"malicious_drainage",...I.malicious_drainage},{value:"abuse",...I.abuse},{value:"trolling",...I.trolling},{value:"against_values",...I.against_values}],S=l([]),W=l("")
s(()=>M.visible,a=>{a&&(S.value=[],W.value="")})
const X=()=>{P("close")},Y=()=>{0!==S.value.length&&M.reportInfo&&P("submit",S.value,W.value,M.reportInfo)}
return(l,s)=>(h(),e(y,{to:"body"},[i(o,{name:"dialog-fade"},{default:n(()=>{var l,o,n
return[a.visible?(h(),t("div",{key:0,class:"dialog-overlay",onClick:r(X,["self"])},[u("div",{class:"dialog-container",onClick:s[1]||(s[1]=r(()=>{},["stop"]))},[u("div",C,[u("div",w,[i(k,{icon:"mdi:flag"})]),s[2]||(s[2]=u("h2",{class:"dialog-title"},"举报内容",-1)),u("button",{class:"dialog-close",onClick:X,"aria-label":"关闭"},[i(k,{icon:"mdi:close"})])]),u("div",x,[u("div",j,[u("div",R,[i(k,{icon:"mdi:information-outline",class:"title-icon"}),s[3]||(s[3]=u("span",null,"被举报信息",-1))]),u("div",B,[u("div",D,[s[4]||(s[4]=u("span",{class:"info-label"},"用户ID",-1)),u("span",q,d((null==(l=a.reportInfo)?void 0:l.userId)||"-"),1)]),u("div",A,[s[5]||(s[5]=u("span",{class:"info-label"},"用户昵称",-1)),u("span",F,d((null==(o=a.reportInfo)?void 0:o.userName)||"-"),1)]),u("div",N,[s[6]||(s[6]=u("span",{class:"info-label"},"内容",-1)),u("div",O,d((null==(n=a.reportInfo)?void 0:n.content)||"-"),1)])])]),u("div",T,[u("div",U,[i(k,{icon:"mdi:alert-circle-outline",class:"title-icon"}),s[7]||(s[7]=u("span",null,"选择举报类型",-1)),s[8]||(s[8]=u("span",{class:"required"},"*",-1))]),u("div",V,[(h(),t(v,null,p(Q,a=>u("button",{key:a.value,type:"button",class:m(["report-type-btn",{active:S.value.includes(a.value)}]),onClick:l=>(a=>{const l=S.value.indexOf(a)
l>-1?S.value.splice(l,1):S.value.push(a)})(a.value)},[i(k,{icon:a.icon,class:"type-icon"},null,8,["icon"]),u("span",E,d(a.label),1),S.value.includes(a.value)?(h(),e(k,{key:0,icon:"mdi:check-circle",class:"check-icon"})):c("",!0)],10,z)),64))])]),u("div",G,[u("div",H,[i(k,{icon:"mdi:comment-text-outline",class:"title-icon"}),s[9]||(s[9]=u("span",null,"补充说明(可选)",-1))]),f(u("textarea",{"onUpdate:modelValue":s[0]||(s[0]=a=>W.value=a),class:"comment-textarea",placeholder:"请详细描述举报原因,帮助我们更好地处理...",rows:"4",maxlength:"500"},null,512),[[b,W.value]]),u("div",J,d(W.value.length)+"/500",1)])]),u("div",K,[u("button",{class:"btn btn-secondary",onClick:X},"取消"),u("button",{class:"btn btn-primary",onClick:Y,disabled:0===S.value.length},[i(k,{icon:"mdi:send",class:"btn-icon"}),s[10]||(s[10]=g(" 提交举报 ",-1))],8,L)])])])):c("",!0)]}),_:1})]))}}),[["__scopeId","data-v-48a6bea7"]])
export{M as R}