|
1 | | -# Nexus-Admin Rsbuild分支 |
| 1 | +# Nexus 集成信息管理平台 |
2 | 2 |
|
3 | | -# 项目介绍 |
4 | | -Nexus-Admin 是一个基于 React 19.1.9 版本的管理系统,使用 Rsbuild 构建工具,基于 Ant Design 组件库,采用 TypeScript 编写。该项目的主要功能是集成信息管理平台,用于将多种协议、多种系统进行耦合,通过配置服务并发布,可做到让不同厂商的系统进行最简化的系统对接 |
| 3 | +<div align="center"> |
| 4 | + <img src="images/工作台.png" alt="Nexus 工作台" width="800"/> |
| 5 | + <p><em>Nexus 集成信息管理平台 - 工作台界面</em></p> |
| 6 | +</div> |
5 | 7 |
|
6 | | -# 框架技术: |
7 | | -- react@19.1.9 |
8 | | -- antd@latest |
9 | | -- rsbuild@latest 构建工具 |
10 | | -- zustand@latest 状态管理 |
11 | | -- sass@latest |
12 | | -- react-router@latest |
13 | | -- react-dom@19.1.7 |
14 | | -- axios@latest |
15 | | -- @tanstack/react-query@latest |
16 | | -# 注意 |
17 | | - 其中对axios进行了二次封装,其前后台交互的数据是json,并将数据进行了加密处理,发送到后端,后端项目基于springboot3.4.5+jdk21+mybatis-flex(后续开放) |
| 8 | +## 📋 项目简介 |
18 | 9 |
|
19 | | -# 支持丰富的交互协议,http、soap、RPC、hl7(后续支持)、file 等等,其包含的功能大部分由 apache camel 中的组件所支持,也可自行扩充其中的组件 |
| 10 | +Nexus 是一个现代化的集成信息管理平台,专为多协议、多系统耦合而设计。通过配置服务和发布机制,实现不同厂商系统之间的最简化对接,为企业数字化转型提供强大的集成解决方案。 |
20 | 11 |
|
21 | | -# 整体系统界面如下图所示 |
| 12 | +### 🎯 核心特性 |
22 | 13 |
|
23 | | -## 登录 |
24 | | - |
| 14 | +- **多协议支持**: 支持 HTTP、SOAP、RPC、HL7 等多种通信协议 |
| 15 | +- **可视化工作流**: 基于 Apache Camel 的图形化流程设计 |
| 16 | +- **实时监控**: 完整的系统监控和日志追踪 |
| 17 | +- **安全可靠**: 数据加密传输,权限精细化管理 |
| 18 | +- **扩展性强**: 支持自定义组件和插件扩展 |
25 | 19 |
|
26 | | -## 应用中心 |
27 | | - |
| 20 | +## 🏗️ 技术架构 |
28 | 21 |
|
29 | | -## 菜单管理 |
30 | | - |
| 22 | +### 前端技术栈 |
31 | 23 |
|
32 | | -更加详细的介绍,敬请期待!!! |
| 24 | +- **React 19.1.9** - 现代化的用户界面框架 |
| 25 | +- **Ant Design 5.x** - 企业级 UI 组件库 |
| 26 | +- **Vite** - 快速的前端构建工具 |
| 27 | +- **TypeScript** - 类型安全的 JavaScript 超集 |
| 28 | +- **Zustand** - 轻量级状态管理 |
| 29 | +- **React Router 7.x** - 客户端路由管理 |
| 30 | +- **TanStack Query** - 强大的数据获取和缓存 |
| 31 | +- **ECharts** - 数据可视化图表库 |
| 32 | +- **Sass** - CSS 预处理器 |
33 | 33 |
|
| 34 | +### 后端技术栈 |
34 | 35 |
|
35 | | -## Setup |
| 36 | +- **Spring Boot 3.4.5** - 企业级 Java 应用框架 |
| 37 | +- **JDK 21** - 最新的 Java 开发工具包 |
| 38 | +- **MyBatis-Flex** - 灵活的 ORM 框架 |
| 39 | +- **Apache Camel** - 企业集成模式框架 |
36 | 40 |
|
37 | | -Install the dependencies: |
| 41 | +### 开发工具 |
| 42 | + |
| 43 | +- **Bun** - 快速的 JavaScript 运行时和包管理器 |
| 44 | +- **Biome** - 快速的代码格式化和检查工具 |
| 45 | +- **Tailwind CSS** - 实用优先的 CSS 框架 |
| 46 | + |
| 47 | +## 🖼️ 系统界面展示 |
| 48 | + |
| 49 | +### 登录界面 |
| 50 | +<div align="center"> |
| 51 | + <img src="images/登录.png" alt="登录界面" width="600"/> |
| 52 | + <p><em>安全登录界面,支持多种认证方式</em></p> |
| 53 | +</div> |
| 54 | + |
| 55 | +### 工作台 |
| 56 | +<div align="center"> |
| 57 | + <img src="images/工作台.png" alt="工作台" width="800"/> |
| 58 | + <p><em>集成工作台,提供流程监控和快速操作</em></p> |
| 59 | +</div> |
| 60 | + |
| 61 | +### 应用中心 |
| 62 | +<div align="center"> |
| 63 | + <img src="images/应用中心.png" alt="应用中心" width="800"/> |
| 64 | + <p><em>应用管理中心,支持应用的创建、配置和发布</em></p> |
| 65 | +</div> |
| 66 | + |
| 67 | +### 快捷搜索 |
| 68 | +<div align="center"> |
| 69 | + <img src="images/快捷搜索.png" alt="快捷搜索" width="600"/> |
| 70 | + <p><em>智能搜索功能,快速定位系统资源</em></p> |
| 71 | +</div> |
| 72 | + |
| 73 | +### 模板中心 |
| 74 | +<div align="center"> |
| 75 | + <img src="images/模板中心.png" alt="模板中心" width="800"/> |
| 76 | + <p><em>丰富的集成模板库,加速开发流程</em></p> |
| 77 | +</div> |
| 78 | + |
| 79 | +### 用户管理 |
| 80 | +<div align="center"> |
| 81 | + <img src="images/用户管理.png" alt="用户管理" width="800"/> |
| 82 | + <p><em>完整的用户权限管理体系</em></p> |
| 83 | +</div> |
| 84 | + |
| 85 | +### 角色维护 |
| 86 | +<div align="center"> |
| 87 | + <img src="images/角色维护.png" alt="角色维护" width="800"/> |
| 88 | + <p><em>灵活的角色权限配置</em></p> |
| 89 | +</div> |
| 90 | + |
| 91 | +### 菜单维护 |
| 92 | +<div align="center"> |
| 93 | + <img src="images/菜单维护.png" alt="菜单维护" width="800"/> |
| 94 | + <p><em>动态菜单配置和管理</em></p> |
| 95 | +</div> |
| 96 | + |
| 97 | +### 系统参数 |
| 98 | +<div align="center"> |
| 99 | + <img src="images/系统参数.png" alt="系统参数" width="800"/> |
| 100 | + <p><em>系统参数配置和监控</em></p> |
| 101 | +</div> |
| 102 | + |
| 103 | +## 🚀 Apache Camel 集成 |
| 104 | + |
| 105 | +### 集成架构 |
| 106 | + |
| 107 | +Nexus 平台深度集成 Apache Camel,作为核心的数据交互引擎: |
| 108 | + |
| 109 | +```mermaid |
| 110 | +graph TB |
| 111 | + A[前端界面] --> B[API Gateway] |
| 112 | + B --> C[Spring Boot 后端] |
| 113 | + C --> D[Apache Camel 路由引擎] |
| 114 | + D --> E[多种协议适配器] |
| 115 | + E --> F[外部系统] |
| 116 | + |
| 117 | + E --> G[HTTP/HTTPS] |
| 118 | + E --> H[SOAP Web Services] |
| 119 | + E --> I[RPC 调用] |
| 120 | + E --> J[文件传输] |
| 121 | + E --> K[数据库连接] |
| 122 | + E --> L[消息队列] |
| 123 | +``` |
| 124 | + |
| 125 | +### 支持的 Camel 组件 |
| 126 | + |
| 127 | +- **HTTP/HTTPS**: RESTful API 和 Web 服务调用 |
| 128 | +- **SOAP**: Web 服务集成 |
| 129 | +- **File**: 文件传输和处理 |
| 130 | +- **FTP/SFTP**: 文件传输协议 |
| 131 | +- **Database**: 数据库连接和操作 |
| 132 | +- **JMS/AMQP**: 消息队列集成 |
| 133 | +- **Timer**: 定时任务调度 |
| 134 | +- **Mail**: 邮件服务集成 |
| 135 | +- **自定义组件**: 支持业务特定的集成需求 |
| 136 | + |
| 137 | +### 路由配置示例 |
| 138 | + |
| 139 | +```java |
| 140 | +@Component |
| 141 | +public class IntegrationRoute extends RouteBuilder { |
| 142 | + |
| 143 | + @Override |
| 144 | + public void configure() throws Exception { |
| 145 | + // HTTP 到数据库的集成路由 |
| 146 | + from("direct:http-to-db") |
| 147 | + .log("接收到 HTTP 请求: ${body}") |
| 148 | + .transform().jsonpath("$.data") |
| 149 | + .to("sql:INSERT INTO integration_log (data, timestamp) VALUES (:#data, :#timestamp)") |
| 150 | + .setBody(constant("数据已成功处理")); |
| 151 | + |
| 152 | + // 定时数据同步 |
| 153 | + from("timer:sync?period=30000") |
| 154 | + .to("sql:SELECT * FROM source_table WHERE updated_at > :#lastSync") |
| 155 | + .split(body()) |
| 156 | + .to("http4://target-system/api/sync") |
| 157 | + .log("同步完成: ${body}"); |
| 158 | + } |
| 159 | +} |
| 160 | +``` |
| 161 | + |
| 162 | +## 📁 项目结构 |
| 163 | + |
| 164 | +``` |
| 165 | +nexus-admin/ |
| 166 | +├── src/ |
| 167 | +│ ├── components/ # 通用组件 |
| 168 | +│ │ ├── base/ # 基础组件 |
| 169 | +│ │ ├── CodeEditor/ # 代码编辑器 |
| 170 | +│ │ ├── workflow/ # 工作流组件 |
| 171 | +│ │ └── ... |
| 172 | +│ ├── views/ # 页面视图 |
| 173 | +│ │ ├── dashboard/ # 仪表板 |
| 174 | +│ │ ├── integrated/ # 集成管理 |
| 175 | +│ │ ├── system/ # 系统管理 |
| 176 | +│ │ └── ... |
| 177 | +│ ├── services/ # API 服务 |
| 178 | +│ ├── stores/ # 状态管理 |
| 179 | +│ ├── utils/ # 工具函数 |
| 180 | +│ └── types/ # 类型定义 |
| 181 | +├── public/ # 静态资源 |
| 182 | +├── images/ # 项目截图 |
| 183 | +└── docs/ # 文档 |
| 184 | +``` |
| 185 | + |
| 186 | +## 🛠️ 开发环境设置 |
| 187 | + |
| 188 | +### 环境要求 |
| 189 | + |
| 190 | +- **Node.js**: >= 22.12.0 |
| 191 | +- **Bun**: 最新版本 |
| 192 | +- **Java**: JDK 21+ |
| 193 | +- **数据库**: MySQL 8.0+ 或 PostgreSQL 13+ |
| 194 | + |
| 195 | +### 安装依赖 |
38 | 196 |
|
39 | 197 | ```bash |
| 198 | +# 使用 Bun 安装依赖 |
40 | 199 | bun install |
41 | 200 | ``` |
42 | 201 |
|
43 | | -## Get started |
44 | | - |
45 | | -Start the dev server: |
| 202 | +### 启动开发服务器 |
46 | 203 |
|
47 | 204 | ```bash |
| 205 | +# 启动前端开发服务器 |
48 | 206 | bun run dev |
49 | 207 | ``` |
50 | 208 |
|
51 | | -Build the app for production: |
| 209 | +### 构建生产版本 |
52 | 210 |
|
53 | 211 | ```bash |
| 212 | +# 构建生产版本 |
54 | 213 | bun run build |
| 214 | + |
| 215 | +# 预览生产构建 |
| 216 | +bun run preview |
55 | 217 | ``` |
56 | 218 |
|
57 | | -Preview the production build locally: |
| 219 | +## 🔧 配置说明 |
| 220 | + |
| 221 | +### 环境配置 |
| 222 | + |
| 223 | +项目支持多环境配置,通过 `.env` 文件进行配置: |
58 | 224 |
|
59 | 225 | ```bash |
60 | | -bun run preview |
| 226 | +# 开发环境 |
| 227 | +VITE_API_BASE_URL=http://localhost:9193 |
| 228 | +VITE_APP_TITLE=Nexus Admin |
| 229 | + |
| 230 | +# 生产环境 |
| 231 | +VITE_API_BASE_URL=https://api.nexus.com |
| 232 | +VITE_APP_TITLE=Nexus 集成平台 |
| 233 | +``` |
| 234 | + |
| 235 | +### 代理配置 |
| 236 | + |
| 237 | +开发环境已配置 API 代理,将 `/api` 请求代理到后端服务: |
| 238 | + |
| 239 | +```typescript |
| 240 | +// vite.config.ts |
| 241 | +server: { |
| 242 | + port: 8000, |
| 243 | + proxy: { |
| 244 | + '/api': { |
| 245 | + target: 'http://localhost:9193', |
| 246 | + changeOrigin: true, |
| 247 | + rewrite: (path) => path.replace(/^\/api/, ''), |
| 248 | + }, |
| 249 | + }, |
| 250 | +} |
61 | 251 | ``` |
| 252 | + |
| 253 | +## 🔐 安全特性 |
| 254 | + |
| 255 | +### 数据加密 |
| 256 | + |
| 257 | +- **传输加密**: 所有 API 请求使用 HTTPS 加密传输 |
| 258 | +- **数据加密**: 敏感数据使用 AES 加密存储 |
| 259 | +- **密码加密**: 用户密码使用 BCrypt 加密 |
| 260 | + |
| 261 | +### 权限控制 |
| 262 | + |
| 263 | +- **RBAC 模型**: 基于角色的访问控制 |
| 264 | +- **菜单权限**: 动态菜单权限控制 |
| 265 | +- **接口权限**: API 接口级别的权限验证 |
| 266 | +- **数据权限**: 行级数据权限控制 |
| 267 | + |
| 268 | +## 📊 监控和日志 |
| 269 | + |
| 270 | +### 系统监控 |
| 271 | + |
| 272 | +- **实时监控**: 系统运行状态实时监控 |
| 273 | +- **性能指标**: CPU、内存、磁盘使用率监控 |
| 274 | +- **业务指标**: 集成流程执行统计 |
| 275 | + |
| 276 | +### 日志管理 |
| 277 | + |
| 278 | +- **操作日志**: 用户操作行为记录 |
| 279 | +- **系统日志**: 系统运行日志 |
| 280 | +- **错误日志**: 异常和错误信息记录 |
| 281 | +- **审计日志**: 数据变更审计记录 |
| 282 | + |
| 283 | +## 🚀 部署指南 |
| 284 | + |
| 285 | +### Docker 部署 |
| 286 | + |
| 287 | +```dockerfile |
| 288 | +# Dockerfile |
| 289 | +FROM node:22-alpine AS builder |
| 290 | +WORKDIR /app |
| 291 | +COPY package*.json ./ |
| 292 | +RUN bun install |
| 293 | +COPY . . |
| 294 | +RUN bun run build |
| 295 | + |
| 296 | +FROM nginx:alpine |
| 297 | +COPY --from=builder /app/dist /usr/share/nginx/html |
| 298 | +COPY nginx.conf /etc/nginx/nginx.conf |
| 299 | +EXPOSE 80 |
| 300 | +CMD ["nginx", "-g", "daemon off;"] |
| 301 | +``` |
| 302 | + |
| 303 | +### 生产环境部署 |
| 304 | + |
| 305 | +```bash |
| 306 | +# 构建生产版本 |
| 307 | +bun run build:prod |
| 308 | + |
| 309 | +# 部署到服务器 |
| 310 | +rsync -av dist/ user@server:/var/www/nexus-admin/ |
| 311 | +``` |
| 312 | + |
| 313 | +## 🤝 贡献指南 |
| 314 | + |
| 315 | +我们欢迎社区贡献!请遵循以下步骤: |
| 316 | + |
| 317 | +1. Fork 本仓库 |
| 318 | +2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) |
| 319 | +3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) |
| 320 | +4. 推送到分支 (`git push origin feature/AmazingFeature`) |
| 321 | +5. 开启 Pull Request |
| 322 | + |
| 323 | +## 📄 许可证 |
| 324 | + |
| 325 | +本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。 |
| 326 | + |
| 327 | +## 📞 联系我们 |
| 328 | + |
| 329 | +- **项目主页**: [GitHub Repository](https://github.com/your-org/nexus-admin) |
| 330 | +- **问题反馈**: [Issues](https://github.com/your-org/nexus-admin/issues) |
| 331 | +- **文档**: [Wiki](https://github.com/your-org/nexus-admin/wiki) |
| 332 | + |
| 333 | +## 🔮 未来规划 |
| 334 | + |
| 335 | +### 短期目标 (v1.1) |
| 336 | + |
| 337 | +- [ ] 支持更多 Apache Camel 组件 |
| 338 | +- [ ] 增强工作流可视化编辑器 |
| 339 | +- [ ] 添加更多数据源连接器 |
| 340 | +- [ ] 完善监控和告警功能 |
| 341 | + |
| 342 | +### 长期目标 (v2.0) |
| 343 | + |
| 344 | +- [ ] 微服务架构升级 |
| 345 | +- [ ] 云原生部署支持 |
| 346 | +- [ ] AI 辅助集成配置 |
| 347 | +- [ ] 多租户支持 |
| 348 | +- [ ] 国际化支持 |
| 349 | + |
| 350 | +--- |
| 351 | + |
| 352 | +<div align="center"> |
| 353 | + <p>⭐ 如果这个项目对您有帮助,请给我们一个 Star!</p> |
| 354 | + <p>Made with ❤️ by Nexus Team</p> |
| 355 | +</div> |
0 commit comments