logo

康达机器人管理系统

基于RuoYi-Vue3+FastAPI的智能机器人综合管理平台

## 平台简介 康达机器人管理系统是基于RuoYi-Vue3-FastAPI框架开发的智能机器人综合管理平台,专注于提供机器人设备管理、人脸识别、门禁控制、讲解内容管理等功能。 * 后端采用FastAPI、SQLAlchemy、Redis、OAuth2 & Jwt构建高性能异步API服务 * 前端基于Vue3、Element Plus实现现代化UI界面 * 集成海康威视平台实现门禁设备管理和视频监控 * 集成Compreface实现高精度人脸识别功能 * 支持机器人角色管理、讲解内容管理、动作控制等机器人专属功能 * 提供完整的系统监控、日志管理、权限控制等企业级特性 ## 核心功能 ### 系统管理 1. **用户管理**:系统用户配置、权限分配 2. **角色管理**:角色菜单权限分配、数据范围权限控制 3. **菜单管理**:动态菜单配置、操作权限管理 4. **字典管理**:系统固定数据维护 5. **操作日志**:系统操作记录查询与审计 6. **登录日志**:用户登录记录及异常监控 ### 机器人管理 1. **机器人信息管理**:机器人基本信息维护 2. **机器人角色配对**:机器人与角色关联管理 3. **机器人动作管理**:机器人动作序列配置 4. **引导词管理**:机器人引导语配置 5. **讲解内容管理**:讲解内容的增删改查 6. **讲解风格管理**:不同机器人讲解风格配置 ### 人脸识别与门禁 1. **人脸识别管理**:基于Compreface的人脸检测与识别 2. **门禁设备管理**:海康威视门禁设备的配置与控制 3. **识别记录管理**:人脸识别记录查询与统计 4. **识别统计管理**:人脸识别数据统计分析 ### 系统监控与维护 1. **在线用户**:活跃用户状态监控 2. **定时任务**:任务调度与执行日志 3. **服务监控**:系统CPU、内存、磁盘等资源监控 4. **代码生成**:数据库表一键生成前后端代码 ## 技术栈 ### 后端技术 | 技术 | 版本 | 用途 | | ---- | ---- | ---- | | FastAPI | ≥0.100.0 | 异步Web框架 | | SQLAlchemy | ≥2.0.0 | ORM框架 | | Redis | ≥6.0 | 缓存、会话管理 | | MySQL/PostgreSQL | ≥5.7/≥12.0 | 数据库 | | OAuth2 + JWT | - | 身份认证与授权 | | Asyncio | - | 异步编程支持 | ### 前端技术 | 技术 | 版本 | 用途 | | ---- | ---- | ---- | | Vue3 | ≥3.2.0 | 前端框架 | | Element Plus | ≥2.0.0 | UI组件库 | | Vue Router | ≥4.0.0 | 路由管理 | | Pinia | ≥2.0.0 | 状态管理 | | Vite | ≥4.0.0 | 构建工具 | ### 第三方服务集成 | 服务 | 用途 | | ---- | ---- | | 海康威视平台 | 门禁设备管理、视频监控 | | Compreface | 人脸识别服务 | | RAGFlow | AI对话与知识库管理 | ## 项目结构 ``` ├── main.py # 项目入口文件 ├── ruoyi-fastapi-backend/ # 后端应用目录 │ ├── app.py # FastAPI应用入口 │ ├── server.py # 应用配置与路由注册 │ ├── config/ # 配置文件目录 │ ├── module_admin/ # 核心业务模块 │ │ ├── controller/ # 控制器层 │ │ ├── service/ # 服务层 │ │ ├── dao/ # 数据访问层 │ │ └── entity/ # 实体层 │ ├── utils/ # 工具类目录 │ │ ├── haikang_util.py # 海康平台工具 │ │ ├── compreface_util.py # Compreface工具 │ │ └── ... │ └── ... └── ruoyi-fastapi-frontend/ # 前端应用目录 ├── src/ # 前端源代码 ├── index.html # HTML入口 ├── package.json # 项目依赖 └── ... ``` ## 开发与部署 ### 开发环境准备 #### 后端环境 ```bash # 进入后端目录 cd ruoyi-fastapi-backend # 安装依赖(MySQL版本) pip3 install -r requirements.txt # 或安装PostgreSQL版本依赖 pip3 install -r requirements-pg.txt # 配置环境变量 cp .env.dev.example .env.dev # 编辑.env.dev文件,配置数据库、Redis、海康平台、Compreface等参数 # 初始化数据库 # 1. 创建数据库 # 2. 执行sql/ruoyi-fastapi.sql(MySQL)或sql/ruoyi-fastapi-pg.sql(PostgreSQL) # 启动开发服务器 python3 app.py --env=dev ``` #### 前端环境 ```bash # 进入前端目录 cd ruoyi-fastapi-frontend # 安装依赖 npm install --registry=https://registry.npmmirror.com # 启动开发服务器 npm run dev ``` ### 生产部署 #### 前端构建 ```bash # 构建生产版本 npm run build:prod # 构建产物将生成在dist目录 ``` #### 后端部署 ```bash # 配置生产环境变量 cp .env.prod.example .env.prod # 编辑.env.prod文件配置生产环境参数 # 启动生产服务器 python3 app.py --env=prod ``` ## 环境配置 ### 核心配置文件 - `.env.dev`:开发环境配置 - `.env.prod`:生产环境配置 ### 关键配置项 ```env # 应用配置 APP_NAME=康达机器人管理系统 APP_PORT=9099 # 数据库配置 DB_TYPE=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=ruoyi-fastapi DB_USERNAME=root DB_PASSWORD=password # Redis配置 REDIS_HOST=localhost REDIS_PORT=6379 # 海康平台配置 HAIKANG_URL=http://your-haikang-server HAIKANG_AK=your-access-key HAIKANG_SK=your-secret-key # Compreface配置 COMPREFACE_BASE_URL=http://your-compreface-server COMPREFACE_API_KEY=your-api-key ``` ## API文档 项目启动后,可通过以下地址访问API文档: - Swagger UI: `http://localhost:9099/dev-api/docs` - ReDoc: `http://localhost:9099/dev-api/redoc` ## 注意事项 1. 首次使用需先配置数据库并执行初始化SQL脚本 2. 海康平台和Compreface服务需提前部署并配置API密钥 3. 生产环境需修改默认JWT密钥和数据库密码 4. 建议使用Nginx作为前端静态资源服务器和API反向代理 ## 许可证 本项目基于Apache License 2.0开源协议。 RAGFlow服务使用固定的chat-id,该id在RAGFlow服务端配置,用于标识聊天助手会话: { "chatId": "db4bb966895b11f08cda0242ac130006", "question": "你好,请用简洁的语言介绍你自己", "stream": true, "sessionId": "38d765e48a3811f0be310242ac130006" } 测试 Token: { "code": 200, "msg": "登录成功", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiMSIsInVzZXJfbmFtZSI6ImFkbWluIiwiZGVwdF9uYW1lIjoiXHU3ODE0XHU1M2QxXHU5MGU4XHU5NWU4Iiwic2Vzc2lvbl9pZCI6IjQ3OTBlZmFmLTU2OTktNDE4Zi04MTQ0LWJmMGI3Y2UwNmRhNCIsImxvZ2luX2luZm8iOnsiaXBhZGRyIjpudWxsLCJsb2dpbkxvY2F0aW9uIjoiXHU2NzJhXHU3N2U1IiwiYnJvd3NlciI6Ik90aGVyIiwib3MiOiJPdGhlciIsImxvZ2luVGltZSI6IjIwMjUtMTItMTYgMTM6MDY6MjQifSwiZXhwIjoxNzY4NDUzNTg0fQ.ijL1R8b-6s-OGL1f0uxcD3-b0Na6N3SnxygIvlM3EgM", "success": true, "time": "2025-12-16T13:06:24.888622" }