From 2d701d46fcdd256a3cd22d375803bf08abd3da7e Mon Sep 17 00:00:00 2001 From: Ling0402 Date: Thu, 5 Mar 2026 19:41:07 +0800 Subject: [PATCH] feat: Device snapshot delete api (#1294) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### **快照删除 API 详情** * **请求地址**: `http://[手机IP]:[端口]/api/deleteSnapshot` * **请求方法**: `POST` * **请求头**: `Content-Type: application/json` * **请求体 (JSON)**: ```json { "id": 123456789 } ``` *(注:`id` 为长整型数字,不加引号)* * **预期响应**: ```json { "message": "快照删除成功" } ``` --- .../main/kotlin/li/songe/gkd/service/HttpService.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/src/main/kotlin/li/songe/gkd/service/HttpService.kt b/app/src/main/kotlin/li/songe/gkd/service/HttpService.kt index e75fbd21..2c78d8cf 100644 --- a/app/src/main/kotlin/li/songe/gkd/service/HttpService.kt +++ b/app/src/main/kotlin/li/songe/gkd/service/HttpService.kt @@ -214,6 +214,18 @@ private fun CoroutineScope.createServer(port: Int) = embeddedServer(CIO, port) { } call.respond(list) } + post("/deleteSnapshot") { + val data = call.receive() + val allSnapshots = DbSet.snapshotDao.query().first() + val snapshot = allSnapshots.find { it.id == data.id } + if (snapshot != null) { + SnapshotExt.removeSnapshot(data.id) + DbSet.snapshotDao.delete(snapshot) + call.respond(RpcOk("快照删除成功")) + } else { + throw RpcError("快照不存在或已被删除") + } + } post("/updateSubscription") { val subscription = RawSubscription.parse(call.receiveText(), json5 = false)