feat: 新增通用步骤任务+元素抓取,完善全部项目文档
- 新增 generic_steps 通用步骤任务(可视化步骤编辑器编排流程,支持 open_app/click/swipe/input_text/wait/loop/group) - 新增 core/uiauto_helper.py 封装 uiautodev 元素抓取客户端 - web_server 新增元素抓取/截图/设备列表等 API - monitor.html 新增步骤编辑器、元素抓取模态框、独立关闭逻辑 - 新增 README.md 项目总览(快速上手/架构/配置/FAQ) - 新增 doc/ARCHITECTURE.md 架构详解、doc/DEPLOY.md 部署指南、doc/API.md 接口文档 - 修复 doc/TASK_DEV.md:移除已删除的 comment 引用,补充 generic 包,更新注册示例 - .gitignore 忽略 .claude/ 工具产物
This commit is contained in:
@@ -111,6 +111,35 @@ class TaskJob(db.Model):
|
||||
return f"<TaskJob {self.name}>"
|
||||
|
||||
|
||||
class CustomAction(db.Model):
|
||||
"""自定义动作(把一系列步骤打包成一个可复用的动作)。
|
||||
|
||||
steps 字段存 JSON 数组,格式同 generic_steps 的 step schema。
|
||||
前端拖拽到画布时,展开为 group 步骤(type='group')。
|
||||
"""
|
||||
id = db.Column(db.String(32), primary_key=True)
|
||||
name = db.Column(db.String(120), nullable=False)
|
||||
icon = db.Column(db.String(4), default="📦")
|
||||
steps = db.Column(db.Text, default="[]") # JSON 数组
|
||||
created_at = db.Column(db.String(20), default="")
|
||||
|
||||
def get_steps(self):
|
||||
try:
|
||||
return json.loads(self.steps or "[]")
|
||||
except Exception:
|
||||
return []
|
||||
|
||||
def set_steps(self, v):
|
||||
self.steps = json.dumps(v or [], ensure_ascii=False)
|
||||
|
||||
def to_dict(self):
|
||||
return {"id": self.id, "name": self.name, "icon": self.icon or "📦",
|
||||
"steps": self.get_steps(), "created_at": self.created_at or ""}
|
||||
|
||||
def __repr__(self):
|
||||
return f"<CustomAction {self.name}>"
|
||||
|
||||
|
||||
class ApkFile(db.Model):
|
||||
"""上传的 APK 文件元信息(应用管理功能)。"""
|
||||
id = db.Column(db.String(32), primary_key=True) # uuid 前 8 位
|
||||
|
||||
Reference in New Issue
Block a user