一.项目定位
本项目为单人独立开发的轻量化通用后台基座开源项目,基于FastAPI+Vue3前后端分离架构。V1.0版本仅保留所有业务系统必备核心能力,零冗余、高稳定、易扩展,主要用于个人技术沉淀、公众号/博客开源引流,以及快速承接定制化开发接单业务。所有非刚需工具类、可视化、复杂业务功能均后置迭代,首发版本只做基座闭环。
二、整体业务流程总览
1.管理员访问前端页面,输入账号密码+图形验证码完成登录,后端校验账号状态、密码、验证码,签发JWT令牌
2.前端携带Token请求后端接口,全局拦截器统一校验会话有效性
3.后端根据当前登录用户角色,动态分配菜单、按钮、接口权限
4.前端根据权限动态渲染侧边栏菜单、操作按钮,无权限内容自动隐藏
5.管理员可进行用户、角色、菜单、系统配置等基础操作
6.系统自动记录登录日志、操作日志、异常日志,完成全流程审计
7.所有业务操作复用全局分页、异常处理通用能力
三、核心功能开发需求
1.身份认证与安全体系
- 图形验证码登录:前端展示随机图形验证码,后端生成、校验、过期销毁,防止恶意请求
- 账号密码认证:密码加密存储,登录校验账号启用状态、密码正确性
- JWT会话管理:登录成功签发JWT令牌,设置过期时间,支持基础自动续期,退出登录销毁令牌
- 防暴力破解:限制单账号短时间登录失败次数,超限锁定登录权限
- 个人中心:支持查看个人信息、修改登录密码、编辑基础资料
- 账号状态管控:支持账号启用/禁用,禁用账号无法登录系统
2.RBAC五级权限体系
采用 用户-角色-菜单-按钮-接口 五级权限模型,实现权限闭环,杜绝越权操作。
四、项目核心功能
1. 权限管理模块(RBAC 完整体系)
用户管理:新增、编辑、删除、重置密码、分配角色
角色管理:新增、编辑、删除、分配菜单权限
菜单管理:动态菜单、路由权限、按钮权限控制
细粒度按钮权限控制(v-permission)
动态路由自动生成,切换用户自动刷新权限
2. 个人中心模块
个人资料查看与修改
个人密码修改(验证旧密码)
3. 全套日志审计系统(核心亮点)
登录日志:记录登录账号、IP、设备、登录状态、登录时间
异常日志:全局异常自动捕获、自动记录堆栈信息
所有日志支持:分页查询、条件筛选、时间范围筛选、一键清空
4. 系统特性
JWT 无状态登录、自动鉴权
全局异常统一处理
动态路由权限隔离
接口权限注解控制
项目采用前后端分离架构,实现了完整的 RBAC 权限体系、用户管理、角色管理、菜单管理以及日志审计功能,适合作为毕设、课程设计、二次开发基础后台框架使用。
后端技术栈:FastAPI、Python3.12+、SQLModel、JWT、Pydantic、MySQL8.0+
前端技术栈:Vue3、Vite、Vue Router、Pinia、Element Plus、Axios
架构模式:前后端分离、动态路由RBAC权限架构、轻量化无冗余设计
一、后端开发规范
1.严格遵循FastAPI路由分层设计,按模块拆分路由文件(用户、角色、菜单、日志),杜绝路由堆砌。
2.所有数据库操作基于SQLModel ORM,保证代码可维护性。
3.权限校验统一使用依赖注入实现,基于权限标识拦截接口,统一异常返回格式。
4.密码统一使用哈希加密,禁止明文存储;JWT密钥、过期时间统一配置。
5.接口异常自动捕获写入异常日志表。
二、前端开发规范
1.基于Vue3+Vite组合式API开发。
2.路由完全后端动态生成,前端仅保留基础路由,无权限路由自动过滤。
3.所有页面按钮、操作权限通过权限标识判断渲染,前后端双重权限校验。
4.全局统一封装请求。