[Feature] QD2 路线图
Verify steps
- [X] Tracker 我已经在 Issue Tracker 中找过我要提出的问题
- [X] Need 当前 QD 框架并不包含该功能特性或者还不完善
- [X] Framework 这是 QD 框架应包含的特性,并非模板特性
- [X] Meaningful 我提交的不是无意义的 催促更新或修复 请求
Describe the Feature
当前 QD 框架存在以下问题:
- 代码结构冗杂, 不符合 Python 编程规范, 导致有意愿参与代码开发的同学难以理解框架代码,不利于开源社区共同发展;
- 框架当前采用前后端不分离的方式, 耦合程度极高, 且没有形成 Restful 的前后端接口, 导致修改任意一处代码的时候经常要同步修改前后端多处代码, 难以扩展;
- 框架 UI 已经多年未有较大变化, 当前一站式显示全部任务、模板的方式仅适配 PC Web 端, 且不美观, 前端;
- 框架提供了多种 API 用于 HAR 模板扩展, 这些 API 可以改为插件的形式, 便于开发者提供默认插件, 用户可以根据文档指导自行开发自定义插件式 API, 满足个性化需求;
- 框架当前的 CPU 占用和内存占用相对较高, 需要在新版本中尽量避免这种情况;
- 框架版本号采用 YYYYMMDD 形式, 不利于用户快速获知版本有何主要或者不兼容性变更;
- 无国际化支持.
综上所述, QD2 框架计划拆分为 QD_Core, QD_Cli, QD_Server, QD_Web, 每部分当前为仓库中的一个子分支/子文件夹, 等待开发完成后上线至仓库主分支:
- QD_Core 为框架的核心代码, 技术栈为 Aiohttp + plux, 用于解析 HAR 模板、实现 API 插件式构造、HTTP 请求客户端;
- QD_Cli 为命令行工具,用于命令行式执行HAR模板;
- QD_Server 为框架后端, 技术栈为 FastAPI + ApScheduler + Sqlmodel, 用于连接数据库, 提供 Restful API, 接收并响应前端请求, 定时调度, 消息推送;
- QD_Web 为框架前端, 技术栈为 Vue, 用于与后端通信, 前端用户交互, 实现用户登录, 个人模板管理, 任务管理, 公共模板, 自定义插件管理, 消息推送和记事本等工具管理.
Describe the solution
QD2 框架 MileStone 路线图如下, 预计 2025 年正式上线, 期间会进行灰度测试:
-
QD_Core:
- [x] 解析 HAR 模板
- [x] API 插件式构造
- [x] HTTP 请求客户端
- [x] 优化依赖导入时间
- [ ] 创建测试用例
- [x] 创建自动构建和发布模板
- [x] 国际化支持
- [ ] 开发/使用文档构建
- QD_Cli:
- [x] 命令行式执行 HAR 模板
-
QD_Server:
- [x] 连接数据库
- [ ] Restful API, 接收并响应前端请求
- [ ] 用户登录后端接口
- [ ] 模板注册/编辑/删除/查询接口
- [ ] 任务注册/更新/删除/查询接口
- [ ] 公共模板注册/编辑/删除/查询接口
- [ ] 自定义插件注册/更新/删除/查询接口
- [ ] 消息推送注册/编辑/取消接口
- [ ] 消息推送动作设置接口
- [ ] 记事本注册/编辑/删除/查询接口
- [ ] 定时调度
- [ ] 国际化支持
- [ ] 开发/使用文档构建
-
QD_Web:
- [ ] 前端UI设计
- [ ] 后端接口通信
- [ ] 用户登录
- [ ] 个人模板管理
- [ ] 任务管理
- [ ] 公共模板
- [ ] 自定义插件管理
- [ ] 消息推送
- [ ] 记事本等工具管理
- [ ] 国际化支持
- [ ] 开发/使用文档构建
Describe alternatives
- None
Additional context
QD2 开发期间当前框架 master 分支仅进行 Bug 修复, 并预计下半年进行最后 1-2 次发版, 暂不进行 Feature 更新, 等待 QD2 上线后再合并新特性
加油
目前的进度是?
目前的进度是?
qd-core 和 qd-cli 已基本定型,详见 v2 分支, 可以参考 操作说明 安装 qd-core 和 qd-cli , 执行 qd -h 查看执行方式。
年前主要是代码开发,预计 Server 和 Web 部分代码可以基本开发完成雏形, 估计测试用例、文档构建和国际化支持比较耗时.
模板和任务是一对多的,能不能给任务加上个备注或者可以自定义任务名称。目前只能根据分组区分。
期待中
请问QD2可否考虑支持Browserless调用以适配更多应用场景?
请问QD2可否考虑支持Browserless调用以适配更多应用场景?
之后可以通过插件的形式支持
不礼貌地问一下,现在进度如何呢,很期待了
不礼貌地问一下,现在进度如何呢,很期待了
最近比较忙,还没来得及更新新的进展
加油,非常期待!
加油,非常期待!