# Monkey Code UI > 一个现代化的代码开发平台前端应用,基于 React 19 和 TypeScript 构建,提供智能代码统计、用户管理、AI模型管理等核心功能。 [![React](https://img.shields.io/badge/React-19.1.0-blue.svg)](https://reactjs.org/) [![TypeScript](https://img.shields.io/badge/TypeScript-5.8.3-blue.svg)](https://www.typescriptlang.org/) [![Vite](https://img.shields.io/badge/Vite-6.3.5-646CFF.svg)](https://vitejs.dev/) [![Material-UI](https://img.shields.io/badge/Material--UI-6.4.12-0081CB.svg)](https://mui.com/) ## ✨ 功能特性 ### 📊 数据统计 - **全局统计**: 系统整体数据分析和可视化展示 - **成员统计**: 用户个人数据统计和活动分析 - **多维度图表**: 柱状图、折线图、饼图等多种数据展示方式 ### 💬 智能交互 - **聊天功能**: 实时消息交流和会话管理 - **完成状态**: 任务完成情况跟踪和结果展示 ### 🤖 模型管理 - **模型配置**: AI模型参数设置和管理 - **使用统计**: 模型调用次数和Token使用量统计 - **性能监控**: 模型响应时间和成功率监控 ### 👥 用户管理 - **用户注册**: 完整的用户注册和认证流程 - **权限管理**: 基于角色的访问控制(RBAC) - **邀请系统**: 用户邀请和团队管理 - **登录历史**: 用户登录记录和安全审计 ### 🛡️ 管理后台 - **系统管理**: 全面的系统配置和监控 - **用户管理**: 管理员用户操作和权限分配 - **数据分析**: 深度业务数据分析和报表 ## 🛠️ 技术栈 ### 前端框架 - **React 19** - 最新的React框架,支持Concurrent Features - **TypeScript** - 类型安全的JavaScript超集 - **Vite** - 现代化的前端构建工具 ### UI框架与样式 - **Material-UI (@mui)** - Google Material Design组件库 - **Emotion** - CSS-in-JS样式库 - **@c-x/ui** - 自定义组件库 ### 状态管理与数据 - **ahooks** - React Hooks工具库 - **react-hook-form** - 高性能表单管理 - **axios** - HTTP客户端库 ### 路由与导航 - **react-router-dom v7** - 声明式路由管理 ### 数据可视化 - **ECharts** - 功能强大的图表库 - **react-activity-calendar** - 活动日历组件 ### 工具库 - **dayjs** - 轻量级日期处理库 - **decimal.js** - 精确数值计算 - **lottie-react** - 动画效果库 - **react-markdown** - Markdown渲染器 - **react-syntax-highlighter** - 代码高亮显示 ## 📁 项目结构 ``` ui/ ├── src/ │ ├── api/ # API请求层 │ │ ├── Billing.ts # 计费相关API │ │ ├── Dashboard.ts # 仪表盘API │ │ ├── Model.ts # 模型管理API │ │ ├── OpenAiv1.ts # OpenAI接口 │ │ ├── User.ts # 用户管理API │ │ ├── httpClient.ts # HTTP客户端配置 │ │ └── types.ts # API类型定义 │ ├── assets/ # 静态资源 │ │ ├── fonts/ # 字体文件 │ │ ├── images/ # 图片资源 │ │ ├── json/ # JSON配置文件 │ │ └── styles/ # 全局样式 │ ├── components/ # 公共组件 │ │ ├── avatar/ # 头像组件 │ │ ├── card/ # 卡片组件 │ │ ├── form/ # 表单组件 │ │ ├── header/ # 头部组件 │ │ ├── lottieIcon/ # 动画图标 │ │ ├── markDown/ # Markdown渲染 │ │ └── sidebar/ # 侧边栏组件 │ ├── layouts/ # 布局组件 │ │ └── mainLayout/ # 主布局 │ ├── pages/ # 页面组件 │ │ ├── admin/ # 管理员页面 │ │ ├── auth/ # 认证页面 │ │ ├── chat/ # 聊天页面 │ │ ├── completion/ # 完成页面 │ │ ├── dashboard/ # 仪表盘页面 │ │ ├── expectation/ # 期望页面 │ │ ├── invite/ # 邀请页面 │ │ ├── login/ # 登录页面 │ │ ├── model/ # 模型管理页面 │ │ └── user/ # 用户管理页面 │ ├── utils/ # 工具函数 │ ├── router.tsx # 路由配置 │ ├── theme.ts # 主题配置 │ └── main.tsx # 应用入口 ├── public/ # 公共资源 ├── api-templates/ # API模板 ├── scripts/ # 构建脚本 ├── vite.config.ts # Vite配置 ├── tsconfig.json # TypeScript配置 ├── eslint.config.js # ESLint配置 └── package.json # 项目依赖 ``` ## 🚀 快速开始 ### 环境要求 - **Node.js** >= 18.0.0 - **pnpm** >= 7.0.0 (推荐使用pnpm作为包管理器) ### 安装步骤 1. **克隆项目** ```bash git clone cd monkey-code-ui ``` 2. **安装依赖** ```bash pnpm install ``` 3. **启动开发服务器** ```bash pnpm dev ``` 4. **访问应用** 打开浏览器访问: `http://localhost:3300` ### 环境配置 创建 `.env` 文件配置环境变量: ```bash # API服务地址 VITE_API_BASE_URL=http://localhost:8080/ # 其他环境变量... ``` ## 📝 可用脚本 | 命令 | 说明 | |------|------| | `pnpm dev` | 启动开发服务器 (端口: 3300) | | `pnpm build` | 构建生产版本 | | `pnpm preview` | 预览生产构建结果 | | `pnpm lint` | 运行ESLint代码检查 | | `pnpm api` | 生成API接口代码 | | `pnpm icon` | 下载图标资源 | ## 🏗️ 构建部署 ### 生产构建 ```bash pnpm build ``` 构建产物将生成在 `dist/` 目录中。 ### Docker 部署 项目包含 `nginx.conf` 配置文件,可用于 Docker 容器化部署: ```bash # 构建Docker镜像 docker build -t monkey-code-ui . # 运行容器 docker run -p 80:80 monkey-code-ui ``` ## 🔧 开发指南 ### 代码规范 - 使用 **TypeScript** 进行类型检查 - 遵循 **ESLint** 代码规范 - 使用 **Prettier** 格式化代码 - 采用 **函数式组件** + **Hooks** 开发模式 ### API 集成 项目使用统一的API客户端配置,支持: - 请求/响应拦截器 - 错误处理 - 类型安全的接口定义 ### 主题定制 在 `src/theme.ts` 中配置Material-UI主题: - 颜色方案 - 字体设置 - 组件样式覆盖 ## 🤝 贡献指南 1. Fork 项目 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ## 📞 联系方式 如有问题或建议,请联系开发团队。