fix: 删除任务/分组持久化(重启不再复活)+ feat: APK 安装支持本机 USB 设备

This commit is contained in:
2026-08-11 08:27:33 +08:00
parent 794f40a880
commit 5ccf622942
4 changed files with 75 additions and 26 deletions
+30 -2
View File
@@ -363,7 +363,7 @@ def api_groups_update(name):
@app.route("/api/groups/<name>", methods=["DELETE"])
@login_required
@perm_required(PERM_TASKS)
def api_groups_delete(name):
if mgr.delete_group(name):
return jsonify({"ok": True, "msg": "分组已删除"})
@@ -728,8 +728,36 @@ def api_apks_delete(apk_id):
return jsonify({"ok": False, "error": msg}), 400
@app.route("/api/apks/install/devices")
@perm_required(PERM_APKS)
def api_apks_install_devices():
"""可安装设备列表(应用管理):STF 在线设备池 + 本机 adb 设备(含 USB 有线连接)。
source: stf=STF 池 / usb=本机有线 adb / adb=本机网络 adb。
"""
devices, seen = [], set()
try:
for d in stf.list_all_devices():
serial = d.get("serial", "")
if serial and d.get("present") and d.get("ready"):
devices.append({"serial": serial,
"model": d.get("model") or d.get("manufacturer") or "",
"source": "stf"})
seen.add(serial)
except Exception:
pass
out = _adb("devices")
for line in (out or "").splitlines()[1:]:
parts = line.split()
if len(parts) >= 2 and parts[0] and parts[0] not in seen:
devices.append({"serial": parts[0], "model": "",
"source": "usb" if ":" not in parts[0] else "adb"})
seen.add(parts[0])
return jsonify({"ok": True, "devices": devices})
@app.route("/api/apks/install", methods=["POST"])
@login_required
@perm_required(PERM_APKS)
def api_apks_install():
"""批量安装 APK 到指定设备。参数: {apk_id, serials:[]}"""
data = request.json or {}