相关文档:初始化流程 | 应用插件系统 | 操作模块 | CV 流水线架构
注意:本文档部分内容标注了"未实现/待改造",最新实现以代码为准。应用相关架构详见 应用插件系统。
一条龙运行上下文,负责职责包括:
- 资源管理
- 初始化
- 保存运行状态
- 运行环境相关管理 (OneDragonEnvContext)
- 提供事件总线 (ContextEventBus)
OCR匹配器,负责职责包括:
- OCR模型加载
- 图片的文本识别
OCR服务,负责职责包括:
- 图片的OCR结果缓存
- OCR多线程支持 (未实现)
模板加载器,负责职责包括:
- 加载和缓存用于匹配的模板
模板匹配器,负责职责包括:
- 模板匹配
- 特征匹配
需持有组件:
- TemplateLoader: 用于获取模板
控制器基类,负责职责包括:
- 进行游戏截图
- 发送游戏指令 (鼠标、键盘等)
需要根据平台使用具体子类,例如 PcControllerBase
画面上下文,负责职责包括:
- 画面配置、路由的加载
- 当前画面判断
- 前往画面方式判断
应用组配置管理器,负责职责包括:
- 应用组的增删改查
应用工厂,每个应用需要定义一个工厂类。负责职责包括:
- 创建Application实例
- 创建应用配置
- 创建运行记录
应用运行上下文,负责职责包括:
- 应用注册
- 获取Application实例
- 获取和缓存应用配置、运行记录
- 管理应用运行、相关事件发送
需持有组件:
- ApplicationFactory
数据源,负责职责包括:
- 管理 Sqlite 链接
- 迭代表变更
配置仓库,负责职责包括:
- 配置类的增删改查
需持有组件:
- SqliteDataSource
- 应用注册
- 各服务创建和模型加载
- 检查当前应用运行情况
- 如果当前已有运行,拒绝新的运行的请求
- 如果当前空闲,则创建新的异步运行任务,并保存记录
- 检查并创建
schema_version表,仅有version字段,用于记录当前已经执行的版本。 - 遍历
assets/db/schema/目录下的文件,按照文件名 (规范为yyyy-MM-dd.sql) 排序,遍历执行 >=version的文件,并更新version字段。