Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] QD2 路线图 #539

Open
10 of 37 tasks
a76yyyy opened this issue Jul 9, 2024 · 7 comments
Open
10 of 37 tasks

[Feature] QD2 路线图 #539

a76yyyy opened this issue Jul 9, 2024 · 7 comments
Assignees
Labels
enhancement New feature or request todo

Comments

@a76yyyy
Copy link
Contributor

a76yyyy commented Jul 9, 2024

Verify steps

  • Tracker 我已经在 Issue Tracker 中找过我要提出的问题
  • Need 当前 QD 框架并不包含该功能特性或者还不完善
  • Framework 这是 QD 框架应包含的特性,并非模板特性
  • 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 + Celery + Sqlmodel, 用于连接数据库, 提供 Restful API, 接收并响应前端请求, 定时调度, 消息推送;
  • QD_Web 为框架前端, 技术栈为 Vue, 用于与后端通信, 前端用户交互, 实现用户登录, 个人模板管理, 任务管理, 公共模板, 自定义插件管理, 消息推送和记事本等工具管理.

Describe the solution

QD2 框架 MileStone 路线图如下, 预计 2025 年正式上线, 期间会进行灰度测试:

  • QD_Core:

    • 解析 HAR 模板
    • API 插件式构造
    • HTTP 请求客户端
    • 优化依赖导入时间
    • 创建测试用例
    • 创建自动构建和发布模板
    • 国际化支持
    • 开发/使用文档构建
    • QD_Cli:
      • 命令行式执行 HAR 模板
  • QD_Server:

    • 连接数据库
    • Restful API, 接收并响应前端请求
      • 用户登录后端接口
      • 模板注册/编辑/删除/查询接口
      • 任务注册/更新/删除/查询接口
      • 公共模板注册/编辑/删除/查询接口
      • 自定义插件注册/更新/删除/查询接口
      • 消息推送注册/编辑/取消接口
      • 消息推送动作设置接口
      • 记事本注册/编辑/删除/查询接口
    • 定时调度
    • 国际化支持
    • 开发/使用文档构建
  • QD_Web:

    • 前端UI设计
    • 后端接口通信
      • 用户登录
      • 个人模板管理
      • 任务管理
      • 公共模板
      • 自定义插件管理
      • 消息推送
      • 记事本等工具管理
    • 国际化支持
    • 开发/使用文档构建

Describe alternatives

  • None

Additional context

QD2 开发期间当前框架 master 分支仅进行 Bug 修复, 并预计下半年进行最后 1-2 次发版, 暂不进行 Feature 更新, 等待 QD2 上线后再合并新特性

@a76yyyy a76yyyy added enhancement New feature or request todo labels Jul 9, 2024
@a76yyyy a76yyyy self-assigned this Jul 9, 2024
@a76yyyy a76yyyy pinned this issue Jul 9, 2024
@a76yyyy a76yyyy changed the title [Feature] QD2 Milestone [Feature] QD2 路线图 Jul 9, 2024
@gaows20
Copy link

gaows20 commented Jul 29, 2024

加油

@acooler15
Copy link
Member

目前的进度是?

@a76yyyy a76yyyy closed this as completed Oct 4, 2024
@a76yyyy a76yyyy reopened this Oct 4, 2024
@a76yyyy
Copy link
Contributor Author

a76yyyy commented Oct 4, 2024

目前的进度是?

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

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

@wangshantao
Copy link

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

@crossgg
Copy link
Contributor

crossgg commented Nov 20, 2024

期待中

@ICEY1W32
Copy link

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

@a76yyyy
Copy link
Contributor Author

a76yyyy commented Dec 1, 2024

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request todo
Projects
None yet
Development

No branches or pull requests

6 participants