康达机器人后端
Go to file
2025-12-24 19:00:57 +08:00
ruoyi-fastapi-backend 修复 bug 2025-12-24 19:00:57 +08:00
ruoyi-fastapi-frontend 项目初始化 2025-12-05 10:12:12 +08:00
.gitignore 项目初始化 2025-12-05 10:12:12 +08:00
LICENSE 项目初始化 2025-12-05 10:12:12 +08:00
main.py 项目初始化 2025-12-05 10:12:12 +08:00
README.md 修改接口参数,统一为 snake_case 风格 2025-12-24 16:48:22 +08:00

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           # 项目依赖
    └── ...

开发与部署

开发环境准备

后端环境

# 查看所有 conda 环境
conda env list

# 激活后端环境(环境名根据实际情况调整,常见为 fastapi_python 或 base
conda activate fastapi_python

# 进入后端目录
cd ruoyi-fastapi-backend

# 安装依赖MySQL版本
pip install -r requirements.txt
# 或安装PostgreSQL版本依赖
pip install -r requirements-postgresql.txt

# 配置环境变量
cp .env.dev.example .env.dev
# 编辑.env.dev文件配置数据库、Redis、海康平台、Compreface等参数

# 初始化数据库
# 1. 创建数据库
# 2. 执行sql/ruoyi-fastapi.sqlMySQL或sql/ruoyi-fastapi-pg.sqlPostgreSQL

# 启动开发服务器
python app.py --env=dev

常见问题:

  • 依赖冲突警告langchain-community、langchain-openai、langsmith 等包版本冲突通常不影响服务运行,可忽略
  • 如果遇到依赖问题,可尝试升级冲突包:
    pip install --upgrade requests openai requests-toolbelt
    
  • 确认 Python 版本:查看项目 .python-version 文件
  • 服务启动后,通过 netstat -tlnp | grep 9099 确认端口 9099 是否在监听状态

前端环境

# 进入前端目录
cd ruoyi-fastapi-frontend

# 安装依赖
npm install --registry=https://registry.npmmirror.com

# 启动开发服务器
npm run dev

生产部署

前端构建

# 构建生产版本
npm run build:prod
# 构建产物将生成在dist目录

后端部署

# 配置生产环境变量
cp .env.prod.example .env.prod
# 编辑.env.prod文件配置生产环境参数

# 启动生产服务器
python3 app.py --env=prod

环境配置

核心配置文件

  • .env.dev:开发环境配置
  • .env.prod:生产环境配置

关键配置项

# 应用配置
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" }