前言
之前开发了一个校园二手物品交易网站的demo
前端采用Vue2结合Element UI
后端采用了koa 、Sequelize 、Mysql
在工作了一年多之后,突然想针对工作所学来完善一下自己手里的项目
想要做一个针对于该平台或多个平台,来进行路由配置和角色集中管理的平台,其中涉及到的功能点有路由管理,账号的角色管理,以及用户账号密码之类等功能点
简易二手物品交易网站地址:https://github.com/wangzhen12138/secondary-market
后端的仓库权限暂时设置为私人的,想要前后配套的可以私聊我
目前后端服务尚未部署线上环境
路由管理:
- 路由的增删改查:允许管理员对系统中的路由进行基本的增删改查操作。
- 动态路由注册:根据用户的角色和权限,动态地注册和展示相应的路由。
- 路由状态监控:实时监控路由的状态,如是否可达、响应时间等。
账号角色管理:
- 用户账号管理:提供用户账号的增删改查功能,包括用户名、密码、邮箱等信息的维护。
- 角色定义与分配:定义不同的角色,并为每个角色分配相应的权限。同时,将角色分配给用户,从而控制用户的访问权限。
- 角色继承与覆盖:支持角色之间的继承关系,以及特定用户或场景下对角色权限的覆盖。
用户账号密码管理:
- 密码策略制定:制定密码的复杂度要求、有效期等策略。
- 密码找回与重置:提供密码找回和重置功能,确保用户账号的安全性。
- 登录日志记录:记录用户的登录时间、IP地址等信息,用于安全审计和故障排查。
权限管理:
- 基于角色的权限控制(RBAC):通过角色来管理用户的权限,简化权限管理的复杂度。
- 权限的细粒度控制:支持对系统功能的细粒度控制,如某个按钮的点击权限。
系统监控与日志:
- 系统性能监控:监控系统的CPU、内存、磁盘等性能指标,确保系统的稳定运行。
- 日志记录与分析:记录系统的运行日志,并提供日志查询和分析功能,用于问题追踪和性能优化。
报表与统计分析:
- 用户行为分析:分析用户的行为数据,如访问量、访问时长等,为优化系统提供数据支持。
- 系统性能报告:生成系统性能报告,帮助管理员了解系统的运行状态和瓶颈。
数据库表设计
以下数据库表用于支持上述功能点:
- 用户表(User):
字段名 | 类型 | 描述 |
---|---|---|
Id | INT | 主键,自动增长 |
Username | VARCHAR(50) | 用户名,唯一索引 |
Password | VARCHAR(255) | 密码,经过加密处理 |
VARCHAR(100) | 邮箱地址 | |
RoleId | INT | 外键,关联角色表 |
CreatedTime | DATETIME | 创建时间 |
UpdatedTime | DATETIME | 更新时间 |
- 角色表(Role):
字段名 | 类型 | 描述 |
---|---|---|
Id | INT | 主键,自动增长 |
RoleName | VARCHAR(50) | 角色名,唯一索引 |
Description | VARCHAR(255) | 角色描述 |
CreatedTime | DATETIME | 创建时间 |
UpdatedTime | DATETIME | 更新时间 |
- 权限表(Privilege):
字段名 | 类型 | 描述 |
---|---|---|
Id | INT | 主键,自动增长 |
PrivilegeName | VARCHAR(50) | 权限名,唯一索引 |
Description | VARCHAR(255) | 权限描述 |
ParentId | INT | 外键,关联父权限(可选) |
CreatedTime | DATETIME | 创建时间 |
UpdatedTime | DATETIME | 更新时间 |
- 角色权限关联表(RolePrivilege):
字段名 | 类型 | 描述 |
---|---|---|
RoleId | INT | 外键,关联角色表 |
PrivilegeId | INT | 外键,关联权限表 |
CreatedTime | DATETIME | 创建时间 |
- 路由表(Route):
字段名 | 类型 | 描述 |
---|---|---|
Id | INT | 主键,自动增长 |
Path | VARCHAR(255) | 路由路径,唯一索引 |
Component | VARCHAR(255) | 路由对应的组件名或路径 |
Name | VARCHAR(50) | 路由名称 |
CreatedTime | DATETIME | 创建时间 |
UpdatedTime | DATETIME | 更新时间 |
- 用户路由关联表(UserRoute)(可选,根据动态路由注册需求设计):
字段名 | 类型 | 描述 |
---|---|---|
UserId | INT | 外键,关联用户表 |
RouteId | INT | 外键,关联路由表 |
CreatedTime | DATETIME | 创建时间 |
在实际应用中,可能还需要根据具体业务需求对表结构和字段进行调整和优化。同时,为了确保系统的安全性和性能,还需要考虑数据库的索引设计、事务处理、并发控制等方面的问题。