From af98e7d88d8d9c46a39146b15706b07feee44683 Mon Sep 17 00:00:00 2001 From: TongTongStudio Date: Wed, 5 Aug 2026 22:06:59 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E8=AE=BE=E5=A4=87=E8=AF=A6=E6=83=85):=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BA=94=E7=94=A8=E5=88=97=E8=A1=A8=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E5=92=8C=E6=93=8D=E4=BD=9C=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增停止应用功能,操作列改为图标按钮并优化样式 - 应用列表增加排序功能,新增更新时间列 - 修复应用图标加载路径问题,补全代理前缀 - 上传图标接口支持可选应用名称参数 - 调整定位信息标签页位置 --- src/api/system/device/index.ts | 21 ++- src/components/DeviceSn/DeviceSnDetail.vue | 163 +++++++++++++++------ 2 files changed, 137 insertions(+), 47 deletions(-) diff --git a/src/api/system/device/index.ts b/src/api/system/device/index.ts index 87eae437..c268204c 100644 --- a/src/api/system/device/index.ts +++ b/src/api/system/device/index.ts @@ -392,14 +392,31 @@ const DeviceAPI = { }); }, - /** 上传应用图标(全局图标库) */ - uploadAppIcon(packageName: string, file: File) { + /** 停止应用 */ + stopApp(sn: string, packageName: string) { + return request({ + url: `${DEVICE_BASE_URL}/${sn}/app/stop`, + method: "post", + data: { packageName }, + }); + }, + + /** + * 上传应用图标(全局图标库) + * + * @param packageName 应用包名 + * @param file 图标文件(jpg/jpeg/png/webp) + * @param appName 应用名称,可选;不传则由服务端沿用已有名称 + */ + uploadAppIcon(packageName: string, file: File, appName?: string) { const formData = new FormData(); formData.append("file", file); return request({ url: `/api/v1/app-icons/${packageName}/upload`, method: "post", data: formData, + // appName 服务端是 @RequestParam,走 query 而非 FormData 才能稳定绑定 + params: appName ? { appName } : undefined, headers: { "Content-Type": "multipart/form-data", }, diff --git a/src/components/DeviceSn/DeviceSnDetail.vue b/src/components/DeviceSn/DeviceSnDetail.vue index 71fd4fc8..56ce2c0c 100644 --- a/src/components/DeviceSn/DeviceSnDetail.vue +++ b/src/components/DeviceSn/DeviceSnDetail.vue @@ -468,10 +468,10 @@