配合设备端 Agent 新增的「扫码配置」:人在机架前、设备还没接进平台时,
不用插线也不用在手机上打字输地址/令牌(还容易漏指纹)。
- `GET /api/devices/qrcode?serial=`:生成配置二维码(PNG data-url),内容为
{"v":1,"server":…,"token":…,"fingerprint":…,"name":…}
* 前置:设备端商店已启用(令牌从那儿来),否则 400 并说明去哪儿开
* `warn` 非空必须显示:①用 localhost 打开平台时,二维码里的地址手机会连不上
(提示改用局域网地址,_lan_ip() 优先挑 192.168/10.x,**不用** gethostbyname ——
那会返回 Tailscale 的 100.x 或 docker 的 172.17,手机根本连不上)
②设备还没采到指纹 → 扫完平台认不出是哪台
- 设备池每行加「二维码」按钮 → 弹窗显示二维码 + 设备名/地址 + 可展开看原始内容
- requirements 加 qrcode(纯 Python,配合已有的 Pillow 出 PNG,不引前端二维码库)
- 文档:API.md §6.2.2 新增、§6.2.1 名称呈现表补齐(剪贴板/安装弹窗/版本管理/
安装进度四处);DEVICE_AGENT.md §5.3 新增二维码内容格式(设备端契约)
验证:二维码用 cv2.QRCodeDetector 解回来与 payload 完全一致;手机上实测——
扫 A07 的码 → 相机启动 → 解码 → 保存 → 立刻拉清单,平台认出「A07」。
50 lines
1.8 KiB
Plaintext
50 lines
1.8 KiB
Plaintext
# 设备自动化后台 依赖清单
|
||
# 安装:pip install -r requirements.txt
|
||
#
|
||
# 注意:uiautomator2 依赖 adb,本项目的 bin/adb/ 已自带 adb.exe,
|
||
# 无需单独安装 Android SDK Platform Tools。
|
||
# uiautomator2 首次连接设备时会自动推送 atx-agent 到设备。
|
||
|
||
# Web 框架
|
||
Flask>=2.3,<4.0
|
||
|
||
# Flask 扩展
|
||
Flask-Login>=0.6
|
||
Flask-SQLAlchemy>=3.0,<4.0
|
||
|
||
# MySQL 驱动(纯 Python,slim 容器里无需编译依赖)。
|
||
# 连接参数与多环境配置见 core/db_config.py 与 .env.example 的「数据库」段。
|
||
PyMySQL>=1.1
|
||
|
||
# 设备端 Agent 的「扫码配置」二维码(设备池面板生成,手机扫一下配好 server/token/指纹)。
|
||
# 纯 Python,配合已有的 Pillow 出 PNG,不引前端二维码库。
|
||
qrcode>=7.4
|
||
|
||
# 定时任务调度
|
||
APScheduler>=3.10,<4.0
|
||
|
||
# HTTP 客户端
|
||
requests>=2.28
|
||
|
||
# SSH 远程执行(预留运维用;.env 配 STF_SSH_PASSWORD 时走密码认证,
|
||
# 跨平台无需 sshpass;未配置则退回系统 ssh 免密密钥)
|
||
paramiko>=3.0
|
||
|
||
# Android UI 自动化(uiautomator2)
|
||
uiautomator2>=3.0
|
||
|
||
# UI 元素抓取(步骤编辑器"抓取元素"功能,本地服务端口 20242)
|
||
uiautodev>=0.14
|
||
|
||
# 屏幕 OCR(条件判断的 OCR识别 选择器,ONNX 推理,跨平台:Windows/Linux/macOS,
|
||
# 中英文模型随包内置;服务器/容器环境必须用 headless 版 opencv——
|
||
# opencv-python 依赖 X11 库(libxcb),slim 容器里 import cv2 直接崩,OCR 步骤任务失败退出)
|
||
rapidocr_onnxruntime>=1.4
|
||
opencv-python-headless>=4.8,<5 # 锁定 4.x:5.x wheel 打包异常(无 cv2 模块)
|
||
|
||
# APK 元信息解析(应用管理功能:自动读取包名/版本/应用名)
|
||
pyaxmlparser>=0.3.27
|
||
|
||
# MCP Server + AI 控制台 Agent(fastmcp:Streamable HTTP 服务端/客户端)
|
||
fastmcp>=2.0
|