feat(device): 重构应用图标静态资源路径并新增停止应用功能

- 将图标访问路径从 /api/v1/device/app_icon 迁移至 /static/app_icon,避免与业务 Controller 命名空间冲突,并添加 immutable 长缓存策略
- 新增 STOP_APP(39) 操作类型及 DeviceOpsController.stopApp 接口,支持强制停止应用
- 图标上传接口增加 appName 参数,支持应用名称上报与刷新,并做长度截断保护
- 图标锁定场景改用 BusinessException(APP_ICON_LOCKED) 替代 RuntimeException,设备端可据此识别终态不再重试
- 新增 /static/** 路径到安全白名单,允许 img 标签无 token 访问图标资源
- 同步更新数据库表结构注释及实体/VO 字段
This commit is contained in:
TongTongStudio
2026-08-05 21:52:37 +08:00
parent 157e708a5b
commit 5cc08a73ff
15 changed files with 114 additions and 15 deletions

View File

@@ -71,8 +71,9 @@ public class AppIconController {
@Log(module = LogModuleEnum.DEVICE, value = ActionTypeEnum.UPLOAD_APP_ICON)
public Result<String> upload(
@Parameter(description = "应用包名") @PathVariable String packageName,
@Parameter(description = "应用名称(可选,不传则沿用已有名称)") @RequestParam(required = false) String appName,
@Parameter(description = "图标文件jpg/jpeg/png/webp") @RequestPart(value = "file") MultipartFile file
) {
return Result.success(appIconService.uploadIcon(packageName, file, "admin"));
return Result.success(appIconService.uploadIcon(packageName, appName, file, "admin"));
}
}