# 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. 部署管理 - 项目组管理:分层架构/可视化呈现 - 应用管理:基础信息、分类、编辑、上下线 - 环境管理:多环境切换与隔离 - 部署配置:CICD配置、模板配置、自动化脚本 - Jenkins 管理:流水线、任务触发、日志采集 - 外部系统集成:Git、Docker、K8s、通知等系统对接 - 服务器管理:资产登记、分组、状态监控 - 定时任务管理:任务启/停/禁/恢复/立即执行、操作日志、cron表达式、分组管理 #### 3. 工作流管理 - 流程定义:自定义流程模板,版本管理 - 工作流设计器:可视化流程图绘制、条件设置、节点属性 - 流程实例:流程启动、节点状态追踪、审批流转 - 节点设计:节点表单、流转条件、校验 - 工作流监控:流程监控、实例追踪、事件审计 - 日志流:关键流转日志、运行详情、异常追踪 #### 4. 表单/低代码支持 - 表单设计器:字段联动、校验、模板保存、可视化拖拉拽 - 表单数据管理:详情、查询、审批流适配 #### 5. 其他与基础 - 登录/注册及权限校验:自动跳转,支持Token、菜单动态加载 - 公共布局框架:全局导航、响应式菜单、顶部头部(用户信息、天气、通知) - 实时消息与操作提示:全平台toast、弹窗反馈 - RESTful API统一封装,异常处理、自动重定向、全局错误反馈 - 脚本化、模板化页面快速生成工具,覆盖开发全生命周期 ## 开发指南 ### 安装依赖 ```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](LICENSE) --- ## 当前进度总结 Deploy Ease Platform 前端现已全面实现了企业级部署自动化、权限组织、流程设计、定时任务调度、低代码表单等主流能力,覆盖了从组织管控到应用交付、流程编排与运维监控的全业务链路。架构高度模块化、类型定义严格,接口与UI解耦,利于多团队协作与持续扩展。整体技术栈现代,体验优良,适用于现代云运维、DevOps与低代码平台的前端技术解决方案。