mini-rbac/README.md

135 lines
3.0 KiB
Markdown
Raw Permalink Normal View History

2025-01-16 17:04:12 +00:00
# Mini RBAC 系统
2022-09-19 14:59:27 +00:00
`Python(FastAPI)`、`VUE3`实现,仅保留核心权限控制的极简后台管理。
![index](./imgs/index.png)
2025-01-16 17:04:12 +00:00
相关视频:[https://www.bilibili.com/video/BV1mP411H7PL/](https://www.bilibili.com/video/BV1mP411H7PL/)
## 项目说明文档
## 1. 数据库模型
### 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: 接口请求方式
### 1.4 关系表
- 用户角色关系表 (sys_user_role)
- uid: 用户id
- rid: 角色id
- 角色菜单关系表 (sys_role_menu)
- rid: 角色id
- mid: 菜单id
## 2. API接口
### 2.1 认证相关
- POST /login 用户登录
- GET /ws WebSocket系统信息
### 2.2 用户管理
- GET /user 用户列表
- POST /user/query 用户查询
- POST /user 用户新增
- DELETE /user/{pk} 用户删除
- GET /user/{pk} 用户信息
- PUT /user/{pk} 用户更新
- PUT /user/role/{rid} 用户切换角色
### 2.3 角色管理
- GET /role 角色列表
- POST /role/query 角色查询
- POST /role 角色新增
- GET /role/{rid}/menu 查询角色权限
- DELETE /role/{pk} 角色删除
- PUT /role/{pk} 角色更新
### 2.4 菜单管理
- POST /menu 菜单新增
- GET /menu 菜单列表
- DELETE /menu/{pk} 菜单删除
- PUT /menu/{pk} 菜单更新
## 3. 技术栈
### 3.1 后端
- Python 3.x
- FastAPI (Web框架)
- Tortoise ORM (ORM框架)
- Uvicorn (ASGI服务器)
- Gunicorn (WSGI服务器)
- bcrypt (密码加密)
- python-jose (JWT认证)
### 3.2 前端
- 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开源协议
## 图片展示
2022-09-19 14:59:27 +00:00
### 页面
2022-09-19 14:59:27 +00:00
![login](./imgs/login.png)
![change](./imgs//select.png)
![user](./imgs/useradd.png)
![role](./imgs/menuadd.png)
![menu](./imgs/roleadd.png)
2022-09-19 14:59:27 +00:00
### 接口
2022-09-19 14:59:27 +00:00
![user-api](./imgs/user-api.png)
![role-menu](./imgs/role-menu-api.png)