perf(backend+frontend): 列表API响应体积优化 3.1MB→145KB (↓95.4%)

- 后端: JPQL构造器投影排除LONGTEXT大字段(uploadedImages/videoReferenceImages)
- 后端: DTO层过滤非分镜图类型的base64内联resultUrl
- 前端: 列表缩略图从video改为img loading=lazy,消除172并发请求
- 前端: download函数增加resultUrl懒加载(详情接口兜底)
- 文档: 新增性能优化报告 docs/performance-optimization-report.md
This commit is contained in:
blandarebiter
2026-04-10 18:46:37 +08:00
commit 90b5118e45
280 changed files with 92468 additions and 0 deletions

View File

@@ -0,0 +1,82 @@
package com.example.demo.dto;
import java.util.HashMap;
import java.util.Map;
/**
* 邮件消息DTO
* 用于封装邮件发送请求
*/
public class MailMessage {
private String toEmail;
private String subject;
private Long templateId;
private Map<String, Object> templateData;
public MailMessage() {
this.templateData = new HashMap<>();
}
public MailMessage(String toEmail, String subject, Long templateId) {
this();
this.toEmail = toEmail;
this.subject = subject;
this.templateId = templateId;
}
public String getToEmail() {
return toEmail;
}
public void setToEmail(String toEmail) {
this.toEmail = toEmail;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public Long getTemplateId() {
return templateId;
}
public void setTemplateId(Long templateId) {
this.templateId = templateId;
}
public Map<String, Object> getTemplateData() {
return templateData;
}
public void setTemplateData(Map<String, Object> templateData) {
this.templateData = templateData;
}
/**
* 添加模板参数
*/
public MailMessage addParam(String key, Object value) {
this.templateData.put(key, value);
return this;
}
}