优化readme

This commit is contained in:
carry 2025-01-17 01:04:12 +08:00
parent 0ef41c6cde
commit da5ac866d9

154
README.md
View File

@ -1,68 +1,124 @@
# Mini RBAC # Mini RBAC 系统
`Python(FastAPI)`、`VUE3`实现,仅保留核心权限控制的极简后台管理。 `Python(FastAPI)`、`VUE3`实现,仅保留核心权限控制的极简后台管理。
![index](./imgs/index.png) ![index](./imgs/index.png)
# 本地非 Docker 运行 相关视频:[https://www.bilibili.com/video/BV1mP411H7PL/](https://www.bilibili.com/video/BV1mP411H7PL/)
[本地运行: https://www.bilibili.com/video/BV1mP411H7PL/](https://www.bilibili.com/video/BV1mP411H7PL/) ## 项目说明文档
[演示地址-前端: http://49.232.203.244:1856](http://49.232.203.244:1856/login) ## 1. 数据库模型
[演示地址-接口地址: http://49.232.203.244:1855/docs](http://49.232.203.244:1855/docs) ### 1.1 用户表 (sys_user)
- username: 账号 (唯一)
- nickname: 姓名
- password: 密码
## 功能 ### 1.2 角色表 (sys_role)
- name: 角色名称
- remark: 角色描述
### 权限控制 ### 1.3 菜单表 (sys_menu)
- name: 名称
- icon: 菜单图标
- path: 菜单url
- type: 菜单类型 (0目录 1组件 2按钮 3数据)
- component: 组件地址
- pid: 父id
- identifier: 权限标识 (如user:add)
- api: 接口地址
- method: 接口请求方式
- [x] 前端菜单权限控制 ### 1.4 关系表
- [x] 前端路由权限控制 - 用户角色关系表 (sys_user_role)
- [x] 前端按钮权限控制 - uid: 用户id
- [x] 后端接口权限控制 - rid: 角色id
- 角色菜单关系表 (sys_role_menu)
- rid: 角色id
- mid: 菜单id
### 业务功能 ## 2. API接口
- [x] 登录、退出、切换角色 ### 2.1 认证相关
- [x] 用户管理 -> 新增、编辑、删除、查询 - POST /login 用户登录
- [x] 角色管理 -> 新增、编辑、删除、查询 - GET /ws WebSocket系统信息
- [x] 菜单管理 -> 新增、编辑、删除、查询
# 使用框架&工具 ### 2.2 用户管理
- GET /user 用户列表
- POST /user/query 用户查询
- POST /user 用户新增
- DELETE /user/{pk} 用户删除
- GET /user/{pk} 用户信息
- PUT /user/{pk} 用户更新
- PUT /user/role/{rid} 用户切换角色
## 前端 `node 16.15 LTS` ### 2.3 角色管理
- GET /role 角色列表
- POST /role/query 角色查询
- POST /role 角色新增
- GET /role/{rid}/menu 查询角色权限
- DELETE /role/{pk} 角色删除
- PUT /role/{pk} 角色更新
```json ### 2.4 菜单管理
{ - POST /menu 菜单新增
"@kangc/v-md-editor": "^2.3.15", - GET /menu 菜单列表
"ant-design-vue": "^3.2.12", - DELETE /menu/{pk} 菜单删除
"axios": "^0.27.2", - PUT /menu/{pk} 菜单更新
"echarts": "^5.3.3",
"moment": "^2.29.4",
"normalize.css": "^8.0.1",
"pinia": "^2.0.21",
"pinia-plugin-persistedstate": "^2.2.0",
"vue": "^3.2.38",
"vue-router": "^4.1.5",
"vite": "^3.0.9"
}
```
## 后端 `Python 3.9.7` ## 3. 技术栈
``` ### 3.1 后端
bcrypt==4.0.0 - Python 3.x
fastapi==0.82.0 - FastAPI (Web框架)
passlib==1.7.4 - Tortoise ORM (ORM框架)
pytest==7.1.3 - Uvicorn (ASGI服务器)
python-jose==3.3.0 - Gunicorn (WSGI服务器)
requests==2.28.1 - bcrypt (密码加密)
uvicorn==0.18.3 - python-jose (JWT认证)
tortoise-orm==0.19.2
websockets==10.3
```
<details> ### 3.2 前端
<summary>更多图片</summary> - Vue 3 (前端框架)
- Pinia (状态管理)
- Vue Router (路由管理)
- Ant Design Vue (UI组件库)
- ECharts (图表库)
- Vite (构建工具)
- Axios (HTTP客户端)
## 4. 网页页面
### 4.1 主要页面结构
- 登录页 (login)
- 主页面 (main)
- 仪表盘 (dashboard)
- 系统管理
- 用户管理 (user)
- 角色管理 (role)
- 菜单管理 (menu)
- 测试页面 (test)
### 4.2 页面功能
- 登录认证
- 用户管理:增删改查、角色分配
- 角色管理:增删改查、权限分配
- 菜单管理:增删改查
- 仪表盘:系统信息展示
- WebSocket实时数据更新
### 4.3权限控制
- 前端菜单权限控制
- 前端路由权限控制
- 前端按钮权限控制
- 后端接口权限控制
## 备注
原项目地址:[https://github.com/zy7y/mini-rbac](https://github.com/zy7y/mini-rbac)
本人学习全栈项目时clone了这个项目作为参考同时优化了readme文件未违反mit开源协议
## 图片展示
### 页面 ### 页面
@ -76,5 +132,3 @@ websockets==10.3
![user-api](./imgs/user-api.png) ![user-api](./imgs/user-api.png)
![role-menu](./imgs/role-menu-api.png) ![role-menu](./imgs/role-menu-api.png)
</details>