项目创建

npm create vite@latest flow-control-demo -- --template vue
npm install
npm run dev

http://localhost:5173/ 可以查看效果

页面需求

帮我实现一个简易版本的测试平台前端 vue3,支持循环控制,循环/if 等。 每个步骤,支持定义左侧改为真正的树形多层嵌套结构,点击后右侧可以自定义名称,设置对应的基本信息(保存后生效)。 左侧树支持右键:新增、删除、复制、上下移动。 支持类型包含循环控制,脚本,http,整体保存后是一个 json 结构,方便后端执行处理。 给出页面好看的 vue3 实现

要求

尽可能的组件化

页面大气

vue3+elementui

按照页面分类,一个个 vue 页面分别给出

支持的类型有哪些

左侧初始化默认有一个根节点ROOT,只允许创建子节点。点击根节点,右侧有对应的变量信息。 流程控制节点也可以新建子节点。

新建子节点支持的类型有:

1)流程控制:并发循环,串行循环,IF /ELSE IF /ELSE 、finally、tryException 2)远程调用:http(类似 postman 的参数能力)、rpc、kafka 3) 脚本处理:shell 脚本、python 脚本、groovy 脚本 4) 数据加载:SQL、Redis、文件解析 5) 报告模块:调用 email/sms 6)文件模块:scp 复制文件,本地上传文件

要求: a. 每个模块,涉及到机器登录权限的,允许用户输入选择执行账户。 b. 每个步骤,支持指定超时时间 c. 每个步骤,支持断言 d. 每个步骤,支持使用变量,输出变量 e. 每个子节点步骤,支持复制、删除、上移、下移、拖拽移动。每个步骤,都支持输入步骤名,右侧页面保存后,在菜单左侧同步更新。 f. 每个不同的类型,都实现对应的 vue 组件,方便后续维护拓展。

【优化1】

  1. 默认有一个根节点ROOT,只允许创建子节点。点击根节点,右侧有对应的变量信息。

变量名 变量值 变量备注,默认只有一行,允许用户修改/增加/删除

支持保存+导出整体的 json。

  1. 其他子步骤,保存统一放在最上方右侧。为每一种子步骤添加合适的 meoji logo,左侧保存后同步显示,方便查看。样式尽可能好看。

  2. label 和输入框最好是一行,如何是内容比较多,用 textarea。样式要好看。

  3. 不同的子步骤,子页面样式是不同的,你也根据这些实际的情况做一下区分。在左侧树,右键的时候就可以直接选择类型。

以数据加载为例,用户可以输入数据库的基本链接信息(url/username/password/驱动),执行SQL、结果断言。

【优化2】

  1. 左侧树,新建子步骤选择的时候,按照分类,做成二级菜单。全部同一级别,太长了。
  2. ROOT 节点,右键时只允许新建子步骤。点击 ROOT 右侧是变量设置,ROOT 界面不需要说明信息。ROOT 右侧需要保存,导出JSON,导入JSON。 点击导入JSON,可以根据JSON初始化整棵树+右侧基本信息。
  3. 导出 JSON 只需要 root 页面右侧有。
  4. 复制节点,调整为复制。复制、上移、下移、删除添加合适的 emoji logo。
  5. 只有 root 节点和流程控制节点允许有右键新建子步骤,其他节点右键只有复制、上移、下移、删除的基础操作。
  6. 涉及到SQL脚本、其他编程脚本输入框,使用黑色,更酷炫。
  7. 左侧树支持拖拽移动到合适的树位置,提升用户体验

参考资料