chore(清理): 删除死代码与过期文件——7个无引用DTO+图片工作台整棵子树(16文件)+冗余副本+一次性脚本+可再生审计快照

每项删除前均做过全仓库引用核对(含 tests/、两个前端、Python 侧):
- Java 7 个 DTO:BrandTaskRunRequest、LegacyBrandTaskCreateVo、Ziniao{SwitchShopRequest,CurrentShopVo,LoginUrlVo,SwitchShopVo}、
  AppearancePatentParsedGroupManifestDto —— 全仓库仅命中声明行本身
- frontend-vue 整棵 src/pages/image/(16 文件):9a487ae9 起首页一级入口已删("图片已并入视频页"),
  该子树完全自闭环;同步移除 /image 路由与 ImageVideoPage 的图片入口
- frontend-vue 两个孤儿组件 AiModuleSwitch/AiWorkflowShell:无引用,且位于 src/shared/components
  而非 unplugin-vue-components 默认扫描的 src/components,不存在自动注册
- backend/tool/devices.py + .device_id:app_client/tool/devices.py 的冗余副本(活的是 app_client 那份),
  app.py 只注册 version_bp,无任何引用
- admin-frontend-vue 的一次性 Playwright 调试脚本 rescan.tmp.mjs / diag-role-price.mjs
- backend-java/scripts/*_report.json ×4:可由 n1_scan.py 等重跑的审计快照
- frontend-vue/DESIGN.md:Last refreshed 2026-06-09,仍是 MPA 时代内容
- backend/requirement.txt:pip freeze 63 条裁剪为实际 import 的 5 条;run.sh 硬依赖该文件存在,故保留文件本身

验证:mvn compile 通过、vue-tsc --noEmit 通过、残留引用 grep 零命中。
注:仓库既有的 4 个失败测试类(FlywayMigration*DocTest、MigrationInventoryTest、HttpClientTimeoutEffectiveTest)
经 stash 对照实验确认与本次改动无关(相同 Failures/Errors 计数)。
This commit is contained in:
2026-09-11 01:33:54 +08:00
parent 48ee76d60d
commit dd45ffe34c
37 changed files with 11 additions and 11972 deletions
@@ -1,24 +0,0 @@
package com.nanri.aiimage.modules.appearancepatent.model.dto;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class AppearancePatentParsedGroupManifestDto {
private String aiPrompt;
private String apiKey;
private String patentToken;
private Integer pageSize;
private Integer totalGroups;
private Integer totalRows;
private List<PageRef> pages = new ArrayList<>();
@Data
public static class PageRef {
private Integer page;
private Integer groupCount;
private String ref;
}
}
@@ -1,20 +0,0 @@
package com.nanri.aiimage.modules.brand.model.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
@Data
@Schema(description = "品牌任务兼容立即执行请求")
public class BrandTaskRunRequest {
@Schema(description = "旧页面传入的本地路径列表,仅兼容旧接口")
private List<String> paths;
@Schema(description = "品牌匹配方式: Terms/Simple")
private String strategy = "Terms";
@Schema(description = "任务类型: 1=立即执行")
private Integer taskType = 1;
}
@@ -1,9 +0,0 @@
package com.nanri.aiimage.modules.brand.model.vo;
import lombok.Data;
@Data
public class LegacyBrandTaskCreateVo {
private Long task_id;
}
@@ -1,17 +0,0 @@
package com.nanri.aiimage.modules.ziniao.model.dto;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Data
public class ZiniaoSwitchShopRequest {
@NotBlank(message = "sessionId 不能为空")
private String sessionId;
@NotNull(message = "userId 不能为空")
private Long userId;
@NotBlank(message = "shopId 不能为空")
private String shopId;
}
@@ -1,20 +0,0 @@
package com.nanri.aiimage.modules.ziniao.model.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "当前紫鸟店铺")
public class ZiniaoCurrentShopVo {
@Schema(description = "店铺 ID")
private String shopId;
@Schema(description = "店铺名称")
private String shopName;
@Schema(description = "平台")
private String platform;
@Schema(description = "选中时间戳(毫秒)")
private Long selectedAt;
}
@@ -1,17 +0,0 @@
package com.nanri.aiimage.modules.ziniao.model.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "紫鸟登录地址")
public class ZiniaoLoginUrlVo {
@Schema(description = "登录链接")
private String loginUrl;
@Schema(description = "登录 state")
private String state;
@Schema(description = "state 过期时间戳(毫秒)")
private Long expireAt;
}
@@ -1,20 +0,0 @@
package com.nanri.aiimage.modules.ziniao.model.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "切换紫鸟店铺结果")
public class ZiniaoSwitchShopVo {
@Schema(description = "是否切换成功")
private Boolean success;
@Schema(description = "当前店铺 ID")
private String currentShopId;
@Schema(description = "当前店铺名称")
private String currentShopName;
@Schema(description = "紫鸟启动链接")
private String openStoreUrl;
}