# UdminAI 项目总览 ## 项目简介 UdminAI 是一个基于 Rust + React 的现代化流程管理和自动化平台,提供可视化流程编辑、定时任务调度、用户权限管理等功能。 ## 技术架构 ### 后端技术栈 - **框架**: Axum (异步 Web 框架) - **数据库**: SeaORM (支持 MySQL/PostgreSQL/SQLite) - **缓存**: Redis - **认证**: JWT + Argon2 密码哈希 - **定时任务**: tokio-cron-scheduler - **流程引擎**: 自研流程执行引擎 - **实时通信**: WebSocket + SSE ### 前端技术栈 - **框架**: React 18 + TypeScript - **UI 库**: Semi Design + Ant Design - **流程编辑器**: @flowgram.ai 系列组件 - **状态管理**: React Context - **路由**: React Router v6 - **HTTP 客户端**: Axios ## 项目结构 ``` udmin_ai/ ├── backend/ # Rust 后端服务 │ ├── src/ │ │ ├── flow/ # 流程引擎核心 │ │ ├── models/ # 数据模型 │ │ ├── services/ # 业务逻辑层 │ │ ├── routes/ # API 路由 │ │ ├── middlewares/ # 中间件 │ │ └── utils/ # 工具函数 │ └── migration/ # 数据库迁移 ├── frontend/ # React 前端应用 │ └── src/ │ ├── flows/ # 流程编辑器 │ ├── pages/ # 页面组件 │ ├── components/ # 通用组件 │ └── utils/ # 工具函数 ├── docs/ # 项目文档 ├── scripts/ # 部署脚本 └── README.md ``` ## 核心功能模块 ### 1. 用户权限管理 - 用户管理 (Users) - 角色管理 (Roles) - 菜单权限 (Menus) - 部门管理 (Departments) - 职位管理 (Positions) ### 2. 流程管理 - 可视化流程编辑器 - 流程执行引擎 - 流程运行日志 - 多种节点类型支持 (HTTP、数据库、脚本、条件等) ### 3. 定时任务 - Cron 表达式支持 - 任务调度管理 - 执行状态监控 ### 4. 系统监控 - 请求日志记录 - 系统运行状态 - 实时通信支持 ## 部署架构 ### 服务端口分配 - **HTTP API**: 9898 (可配置) - **WebSocket**: 8877 (可配置) - **SSE**: 8866 (可配置) - **前端开发服务器**: 8888 ### 环境配置 - 开发环境: `.env` - 生产环境: `.env.prod` - 测试环境: `.env.staging` ## 开发指南 ### 后端开发 ```bash cd backend cargo run # 开发模式 cargo build --release # 生产构建 ``` ### 前端开发 ```bash cd frontend npm install npm run dev # 开发服务器 npm run build # 生产构建 ``` ### 数据库迁移 ```bash cd backend/migration cargo run ``` ## API 文档 项目集成了 Swagger UI,启动后端服务后可访问: - Swagger UI: `http://localhost:9898/swagger-ui/` - OpenAPI JSON: `http://localhost:9898/api-docs/openapi.json` ## 安全特性 - JWT 令牌认证 - Argon2 密码哈希 - CORS 跨域保护 - 请求日志记录 - 权限中间件验证 ## 扩展性设计 - 模块化架构,易于扩展新功能 - 插件化流程节点,支持自定义执行器 - 微服务友好的设计 - 支持水平扩展 ## 监控和日志 - 结构化日志 (tracing) - 请求链路追踪 - 性能监控 - 错误处理和报告