deploy-ease-platform/frontend/README.md
2025-10-30 17:26:12 +08:00

182 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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与低代码平台的前端技术解决方案。