deploy-ease-platform/frontend
2025-10-29 10:10:41 +08:00
..
.cursor/rules 1 2025-10-21 14:52:38 +08:00
docs 增加审批组件 2025-10-25 17:49:11 +08:00
public 1 2024-12-27 16:49:15 +08:00
scripts 1 2024-12-28 21:04:42 +08:00
src 增加团队管理页面 2025-10-29 10:10:41 +08:00
.cursorrules 可正常保存流程 2024-12-05 10:31:22 +08:00
.windsurfrules 增加工具栏提示。 2024-12-12 16:54:37 +08:00
api.md 需要重写工作流相关的页面功能 2024-12-05 18:18:01 +08:00
components.json 1 2024-12-27 16:27:05 +08:00
index.html 可正常启用 2024-12-02 22:50:42 +08:00
package.json 表单CRUD 2025-10-27 17:05:37 +08:00
pnpm-lock.yaml 表单CRUD 2025-10-27 17:05:37 +08:00
postcss.config.js 1 2024-12-27 16:27:05 +08:00
README.md 1 2024-12-28 19:38:22 +08:00
tailwind.config.js 1 2024-12-27 16:27:05 +08:00
tsconfig.json 1 2025-01-22 17:05:23 +08:00
tsconfig.node.json 增加前端代码。 2024-11-28 09:57:54 +08:00
vite.config.ts 1 2024-12-26 22:07:30 +08:00

Deploy Ease Platform Frontend

Deploy Ease Platform 是一个现代化的部署管理平台前端项目,基于 React 18 和 TypeScript 开发,使用了最新的前端技术栈和最佳实践。

技术栈

  • 框架: React 18 + TypeScript
  • 构建工具: Vite
  • 路由: React Router 6
  • 状态管理: Redux Toolkit
  • UI 组件: shadcn/ui + Radix UI
  • 样式: TailwindCSS
  • 表单: React Hook Form + Zod
  • HTTP 客户端: Axios
  • 工作流编辑器: X6 + LogicFlow
  • 代码编辑器: Monaco Editor

项目结构

``` src/ ├── components/ # 公共组件 │ └── ui/ # shadcn/ui 组件 ├── pages/ # 页面组件 │ ├── Dashboard/ # 仪表盘 │ ├── Deploy/ # 部署管理 │ ├── System/ # 系统管理 │ ├── Workflow/ # 工作流管理 │ └── Login/ # 登录页面 ├── layouts/ # 布局组件 ├── router/ # 路由配置 ├── store/ # Redux 状态管理 ├── services/ # API 服务 ├── utils/ # 工具函数 ├── hooks/ # 自定义 Hooks └── types/ # TypeScript 类型定义 ```

功能模块

1. 系统管理

  • 用户管理
  • 角色管理
  • 菜单管理
  • 部门管理

2. 部署管理

  • 项目组管理
  • 应用管理
  • 环境管理
  • 部署配置
  • Jenkins管理
  • 外部系统集成

3. 工作流管理

  • 工作流定义
  • 工作流设计器
  • 工作流实例
  • 节点设计
  • 工作流监控
  • 日志流

开发指南

安装依赖

```bash pnpm install ```

开发环境运行

```bash pnpm dev ```

构建生产环境

```bash pnpm build ```

页面生成工具

项目提供了一个便捷的页面生成工具,可以快速生成符合项目规范的页面模板。

使用方法

  1. 编译生成器: ```bash npx tsc -p scripts/tsconfig.json ```

  2. 运行生成器(两种方式):

    a. 交互式模式: ```bash node dist/scripts/generate-page.js ```

    b. 命令行参数模式: ```bash node dist/scripts/generate-page.js user "用户管理" "/api/v1/users" ```

生成的文件结构

生成器会在 `src/pages/[模块名]/List/` 目录下创建以下文件:

  • `types.ts`: 类型定义
  • `schema.ts`: 表单验证 schema
  • `service.ts`: API 服务
  • `index.tsx`: 列表页面组件
  • `components/[模块名]Modal.tsx`: 编辑弹窗组件

生成的页面包含以下功能:

  • 列表展示
  • 搜索表单
  • 新增/编辑弹窗
  • 删除确认
  • 分页
  • 加载状态

开发规范

  1. 组件开发

    • 使用函数组件和 Hooks
    • Props 必须定义 TypeScript 类型
    • 使用 shadcn/ui 组件库
    • 遵循 TailwindCSS 样式规范
  2. 状态管理

    • 使用 Redux Toolkit 管理全局状态
    • 使用 React Hook Form 管理表单状态
    • 使用 Zod 进行表单验证
  3. API 调用

    • 使用统一的 request 工具
    • 遵循 RESTful 规范
    • 统一的错误处理
  4. 代码风格

    • 使用 ESLint 和 Prettier
    • 遵循 TypeScript 最佳实践
    • 组件和函数必须添加注释

浏览器支持

  • Chrome >= 88
  • Firefox >= 78
  • Safari >= 14
  • Edge >= 88

贡献指南

  1. Fork 项目
  2. 创建特性分支
  3. 提交代码
  4. 创建 Pull Request

许可证

MIT License