修改了 README.md 和 api_documentation.md

This commit is contained in:
Tian jianyong 2025-12-12 10:55:45 +08:00
parent 0cc8e6611a
commit e7dce915c5
2 changed files with 3295 additions and 149 deletions

322
README.md
View File

@ -1,189 +1,213 @@
<p align="center"> <p align="center">
<img alt="logo" src="https://oscimg.oschina.net/oscnet/up-d3d0a9303e11d522a06cd263f3079027715.png"> <img alt="logo" src="https://oscimg.oschina.net/oscnet/up-d3d0a9303e11d522a06cd263f3079027715.png">
</p> </p>
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">RuoYi-Vue3-FastAPI v1.6.2</h1> <h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">康达机器人管理系统</h1>
<h4 align="center">基于RuoYi-Vue3+FastAPI前后端分离的快速开发框架</h4> <h4 align="center">基于RuoYi-Vue3+FastAPI的智能机器人综合管理平台</h4>
<p align="center"> <p align="center">
<a href="https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI/stargazers"><img src="https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI/badge/star.svg?theme=dark"></a>
<a href="https://github.com/insistence/RuoYi-Vue3-FastAPI"><img src="https://img.shields.io/github/stars/insistence/RuoYi-Vue3-FastAPI?style=social"></a>
<a href="https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI"><img src="https://img.shields.io/badge/RuoYiVue3FastAPI-v1.6.2-brightgreen.svg"></a>
<a href="https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI/blob/master/LICENSE"><img src="https://img.shields.io/github/license/mashape/apistatus.svg"></a>
<img src="https://img.shields.io/badge/python-≥3.9-blue"> <img src="https://img.shields.io/badge/python-≥3.9-blue">
<img src="https://img.shields.io/badge/MySQL-≥5.7-blue"> <img src="https://img.shields.io/badge/MySQL-≥5.7-blue">
<img src="https://img.shields.io/badge/FastAPI-≥0.100.0-blue">
<img src="https://img.shields.io/badge/Vue3-≥3.2.0-blue">
</p> </p>
## 平台简介 ## 平台简介
RuoYi-Vue3-FastAPI是一套全部开源的快速开发平台毫无保留给个人及企业免费使用 康达机器人管理系统是基于RuoYi-Vue3-FastAPI框架开发的智能机器人综合管理平台专注于提供机器人设备管理、人脸识别、门禁控制、讲解内容管理等功能
* 前端采用Vue3、Element Plus基于<u>[RuoYi-Vue3](https://github.com/yangzongzhuan/RuoYi-Vue3)</u>前端项目修改。 * 后端采用FastAPI、SQLAlchemy、Redis、OAuth2 & Jwt构建高性能异步API服务
* 后端采用FastAPI、sqlalchemy、MySQLPostgreSQL、Redis、OAuth2 & Jwt。 * 前端基于Vue3、Element Plus实现现代化UI界面
* 权限认证使用OAuth2 & Jwt支持多终端认证系统。 * 集成海康威视平台实现门禁设备管理和视频监控
* 支持加载动态权限菜单,多方式轻松权限控制。 * 集成Compreface实现高精度人脸识别功能
* Vue2版本 * 支持机器人角色管理、讲解内容管理、动作控制等机器人专属功能
- Gitte仓库地址https://gitee.com/insistence2022/RuoYi-Vue-FastAPI * 提供完整的系统监控、日志管理、权限控制等企业级特性
- GitHub仓库地址https://github.com/insistence/RuoYi-Vue-FastAPI
* 纯Python版本
- Gitte仓库地址https://gitee.com/insistence2022/dash-fastapi-admin
- GitHub仓库地址https://github.com/insistence/Dash-FastAPI-Admin
* 特别鸣谢:<u>[RuoYi-Vue3](https://github.com/yangzongzhuan/RuoYi-Vue3)</u>
## 内置功能 ## 核心功能
1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 ### 系统管理
2. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 1. **用户管理**:系统用户配置、权限分配
3. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 2. **角色管理**:角色菜单权限分配、数据范围权限控制
4. 部门管理:配置系统组织机构(公司、部门、小组)。 3. **菜单管理**:动态菜单配置、操作权限管理
5. 岗位管理:配置系统用户所属担任职务。 4. **字典管理**:系统固定数据维护
6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 5. **操作日志**:系统操作记录查询与审计
7. 参数管理:对系统动态配置常用参数。 6. **登录日志**:用户登录记录及异常监控
8. 通知公告:系统通知公告信息发布维护。
9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
10. 登录日志:系统登录日志记录查询包含登录异常。
11. 在线用户:当前系统中活跃用户状态监控。
12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
13. 服务监控监视当前系统CPU、内存、磁盘、堆栈等相关信息。
14. 缓存监控:对系统的缓存信息查询,命令统计等。
15. 在线构建器拖动表单元素生成相应的HTML代码。
16. 系统接口根据业务代码自动生成相关的api接口文档。
17. 代码生成配置数据库表信息一键生成前后端代码python、sql、vue、js支持下载。
## 演示图 ### 机器人管理
1. **机器人信息管理**:机器人基本信息维护
2. **机器人角色配对**:机器人与角色关联管理
3. **机器人动作管理**:机器人动作序列配置
4. **引导词管理**:机器人引导语配置
5. **讲解内容管理**:讲解内容的增删改查
6. **讲解风格管理**:不同机器人讲解风格配置
<table> ### 人脸识别与门禁
<tr> 1. **人脸识别管理**基于Compreface的人脸检测与识别
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/login.png"/></td> 2. **门禁设备管理**:海康威视门禁设备的配置与控制
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/dashboard.png"/></td> 3. **识别记录管理**:人脸识别记录查询与统计
</tr> 4. **识别统计管理**:人脸识别数据统计分析
<tr>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/user.png"/></td>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/role.png"/></td>
</tr>
<tr>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/menu.png"/></td>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/dept.png"/></td>
</tr>
<tr>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/post.png"/></td>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/dict.png"/></td>
</tr>
<tr>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/config.png"/></td>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/notice.png"/></td>
</tr>
<tr>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/operLog.png"/></td>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/loginLog.png"/></td>
</tr>
<tr>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/online.png"/></td>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/job.png"/></td>
</tr>
<tr>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/server.png"/></td>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/cache.png"/></td>
</tr>
<tr>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/cacheList.png"></td>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/form.png"></td>
</tr>
<tr>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/api.png"></td>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/gen.png"/></td>
</tr>
<tr>
<td><img src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/profile.png"/></td>
</tr>
</table>
## 在线体验 ### 系统监控与维护
- *账号admin* 1. **在线用户**:活跃用户状态监控
- *密码admin123* 2. **定时任务**:任务调度与执行日志
- 演示地址:<a href="https://vfadmin.insistence.tech">vfadmin管理系统<a> 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 | - | 异步编程支持 |
```bash ### 前端技术
# 克隆项目 | 技术 | 版本 | 用途 |
git clone https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI.git | ---- | ---- | ---- |
| Vue3 | ≥3.2.0 | 前端框架 |
| Element Plus | ≥2.0.0 | UI组件库 |
| Vue Router | ≥4.0.0 | 路由管理 |
| Pinia | ≥2.0.0 | 状态管理 |
| Vite | ≥4.0.0 | 构建工具 |
# 进入项目根目录 ### 第三方服务集成
cd RuoYi-Vue3-FastAPI | 服务 | 用途 |
| ---- | ---- |
| 海康威视平台 | 门禁设备管理、视频监控 |
| 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.sqlMySQL或sql/ruoyi-fastapi-pg.sqlPostgreSQL
# 启动开发服务器
python3 app.py --env=dev
```
#### 前端环境
```bash ```bash
# 进入前端目录 # 进入前端目录
cd ruoyi-fastapi-frontend cd ruoyi-fastapi-frontend
# 安装依赖 # 安装依赖
npm install 或 yarn --registry=https://registry.npmmirror.com
# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npmmirror.com npm install --registry=https://registry.npmmirror.com
# 启动服务 # 启动开发服务器
npm run dev 或 yarn dev npm run dev
``` ```
#### 后端 ### 生产部署
#### 前端构建
```bash ```bash
# 进入后端目录 # 构建生产版本
cd ruoyi-fastapi-backend npm run build:prod
# 构建产物将生成在dist目录
# 如果使用的是MySQL数据库请执行以下命令安装项目依赖环境
pip3 install -r requirements.txt
# 如果使用的是PostgreSQL数据库请执行以下命令安装项目依赖环境
pip3 install -r requirements-pg.txt
# 配置环境
在.env.dev文件中配置开发环境的数据库和redis
# 运行sql文件
1.新建数据库ruoyi-fastapi(默认,可修改)
2.如果使用的是MySQL数据库使用命令或数据库连接工具运行sql文件夹下的ruoyi-fastapi.sql如果使用的是PostgreSQL数据库使用命令或数据库连接工具运行sql文件夹下的ruoyi-fastapi-pg.sql
# 运行后端
python3 app.py --env=dev
``` ```
#### 访问 #### 后端部署
```bash ```bash
# 默认账号密码 # 配置生产环境变量
账号admin cp .env.prod.example .env.prod
密码admin123 # 编辑.env.prod文件配置生产环境参数
# 浏览器访问 # 启动生产服务器
地址http://localhost:80
```
### 发布
#### 前端
```bash
# 构建测试环境
npm run build:stage 或 yarn build:stage
# 构建生产环境
npm run build:prod 或 yarn build:prod
```
#### 后端
```bash
# 配置环境
在.env.prod文件中配置生产环境的数据库和redis
# 运行后端
python3 app.py --env=prod python3 app.py --env=prod
``` ```
## 交流与赞助 ## 环境配置
如果有对本项目及FastAPI感兴趣的朋友欢迎加入知识星球一起交流学习让我们一起变得更强。如果你觉得这个项目帮助到了你你可以请作者喝杯咖啡表示鼓励☕。扫描下面微信二维码添加微信备注VF-Admin即可进群。
<table>
<tr> ### 核心配置文件
<td><img alt="wxcode" src="https://gitee.com/insistence2022/RuoYi-Vue-FastAPI/raw/master/demo-pictures/wxcode.jpg"></td> - `.env.dev`:开发环境配置
</tr> - `.env.prod`:生产环境配置
</table>
### 关键配置项
```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开源协议。

File diff suppressed because it is too large Load Diff