qd icon indicating copy to clipboard operation
qd copied to clipboard

[Feature] QD2 路线图

Open a76yyyy opened this issue 1 year ago • 11 comments

Verify steps

  • [X] Tracker 我已经在 Issue Tracker 中找过我要提出的问题
  • [X] Need 当前 QD 框架并不包含该功能特性或者还不完善
  • [X] Framework 这是 QD 框架应包含的特性,并非模板特性
  • [X] Meaningful 我提交的不是无意义的 催促更新或修复 请求

Describe the Feature

当前 QD 框架存在以下问题:

  1. 代码结构冗杂, 不符合 Python 编程规范, 导致有意愿参与代码开发的同学难以理解框架代码,不利于开源社区共同发展;
  2. 框架当前采用前后端不分离的方式, 耦合程度极高, 且没有形成 Restful 的前后端接口, 导致修改任意一处代码的时候经常要同步修改前后端多处代码, 难以扩展;
  3. 框架 UI 已经多年未有较大变化, 当前一站式显示全部任务、模板的方式仅适配 PC Web 端, 且不美观, 前端;
  4. 框架提供了多种 API 用于 HAR 模板扩展, 这些 API 可以改为插件的形式, 便于开发者提供默认插件, 用户可以根据文档指导自行开发自定义插件式 API, 满足个性化需求;
  5. 框架当前的 CPU 占用和内存占用相对较高, 需要在新版本中尽量避免这种情况;
  6. 框架版本号采用 YYYYMMDD 形式, 不利于用户快速获知版本有何主要或者不兼容性变更;
  7. 无国际化支持.

综上所述, 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 上线后再合并新特性

a76yyyy avatar Jul 09 '24 00:07 a76yyyy

加油

gaows20 avatar Jul 29 '24 09:07 gaows20

目前的进度是?

acooler15 avatar Oct 03 '24 02:10 acooler15

目前的进度是?

qd-core 和 qd-cli 已基本定型,详见 v2 分支, 可以参考 操作说明 安装 qd-core 和 qd-cli , 执行 qd -h 查看执行方式。

年前主要是代码开发,预计 Server 和 Web 部分代码可以基本开发完成雏形, 估计测试用例、文档构建和国际化支持比较耗时.

a76yyyy avatar Oct 04 '24 12:10 a76yyyy

模板和任务是一对多的,能不能给任务加上个备注或者可以自定义任务名称。目前只能根据分组区分。

wangshantao avatar Nov 06 '24 02:11 wangshantao

期待中

crossgg avatar Nov 20 '24 15:11 crossgg

请问QD2可否考虑支持Browserless调用以适配更多应用场景?

ICEY1W32 avatar Nov 30 '24 16:11 ICEY1W32

请问QD2可否考虑支持Browserless调用以适配更多应用场景?

之后可以通过插件的形式支持

a76yyyy avatar Dec 01 '24 00:12 a76yyyy

不礼貌地问一下,现在进度如何呢,很期待了

nnrz avatar Mar 05 '25 20:03 nnrz

不礼貌地问一下,现在进度如何呢,很期待了

最近比较忙,还没来得及更新新的进展

a76yyyy avatar Mar 06 '25 14:03 a76yyyy

加油,非常期待!

MisteryLiuCode avatar Apr 02 '25 12:04 MisteryLiuCode

加油,非常期待!

5418ly avatar Nov 22 '25 15:11 5418ly