fix: 删除任务/分组持久化(重启不再复活)+ feat: APK 安装支持本机 USB 设备
This commit is contained in:
+30
-2
@@ -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 {}
|
||||
|
||||
Reference in New Issue
Block a user