所有字段均为小驼峰
流程设计
程序启动的时候,检查程序配置信息
全局错误处理,出错程序不崩溃,页面提示错误
graph LR
A(程序启动)-->A1(检查程序配置信息)-->A2(配置存在)-->A3(启动主程序)
A1-->B(配置不存在)-->B1(启动安装程序)
graph LR;
A(浏览器访问)-->A1(后端是安装程序)-->A2(不是安装程序中的页面)-->A3(跳转到引导安装程序的主页面)
A-->B(后端是主程序)-->B1("有报错(全局错误监控)")-->B2(返回错误页面/404页面)
B-->C(运行正常)-->C1(正常处理资源)
A1-->D1(安装程序路由)-->正常返回资源
graph LR;
A(引导用户安装程序)-->A1(用户输入配置信息)-->A2(检查信息正确性)-->A3(信息正确)-->A4(后端启动主程序)-->A5("前端loading,提示用户3-5分钟刷新页面")
A3-->B(信息错误)-->B1("页面提示错误信息")
数据库设计
用户表
字段 | 说明 | 类型 | 必填 | 其他说明 |
---|---|---|---|---|
account | 账号 | string | 是 | 系统生成 |
password | 密码 | string | 否 | 通过算法加密存储 |
portrait | 头像 | string | 否 | base64,url 都可以,base64 string长度需要放长 |
nickName | 昵称 | string | 否 | 昵称需要有长度限制,最长128个汉字 |
platformId | 平台 | string | 是 | 用户和平台强绑定 |
roleId | 角色id | string | 否 | 用户的角色 |
createAt | 创建时间 | string | 否 | 账号创建时间,系统自动生成 |
updateAt | 更新时间 | string | 否 | 数据更新时间,系统自动生成 |
平台表
字段 | 说明 | 类型 | 必填 | 其他说明 |
---|---|---|---|---|
ID | 平台ID | string | 是 | 系统生成 |
code | 平台code | string | 是 | 用户输入 |
name | 平台名字 | string | 是 | |
logo | 平台logo | string | 否 |
用户绑定信息表
字段 | 说明 | 类型 | 必填 | 其他说明 |
---|---|---|---|---|
account | 用户账户 | string | 是 | |
platformId | 平台 | string | 是 | |
type | 绑定类型code | string | 是 | |
typeAccount | 绑定类型的账号 | string | 是 | 如果绑定的是手机,这个就是手机号,如果是邮箱,就是邮箱号 |
other | 其他信息 | string | 否 | 其他信息 |
绑定类型的字典表
字段 | 说明 | 类型 | 必填 | 其他说明 |
---|---|---|---|---|
id | 类型ID | string | 是 | |
code | 类型code | string | 是 | 没有code就是ID |
name | 类型名字 | string | 是 | |
icon | 类型icon | string | 否 | 图片 |
操作表
字段 | 说明 | 类型 | 必填 | 其他说明 |
---|---|---|---|---|
id | id | string | 是 | |
name | 操作名 | string | 是 | |
code | 操作code | string | 是 | |
platformId | 操作所属平台 | string | 否 | 系统的操作不可增删改 |
模块表
字段 | 说明 | 类型 | 必填 | 其他说明 |
---|---|---|---|---|
id | 模块ID | string | 是 | |
name | 模块名字 | string | 是 | |
platformId | 所属平台 | string | 是 | |
operateId | 操作id | string | 是 |
角色表
角色是权限的集合
字段 | 说明 | 类型 | 必填 | 其他说明 |
---|---|---|---|---|
id | 角色id | string | 是 | id唯一 |
name | 角色名称 | string | 是 | |
icon | icon | string | 否 | |
platformId | 角色所属平台 | string | 否 | |
code | 角色code | string | 是 |
角色操作关联表
字段 | 说明 | 类型 | 必填 | 其他说明 |
---|---|---|---|---|
roleID | 角色id | string | 是 | |
operateId | 操作id | string | 是 |
用户登录信息记录
本期不做
字段 | 说明 | 类型 | 必填 | 其他说明 |
---|---|---|---|---|
account | 用户账户 | string | 是 | |
platformId | 平台 | string | 是 | |
device | 登录设备 | string | 否 | |
region | 登录地区 | string | 否 | |
loginTime | 登录时间 | string | 否 | |
createAt | 记录时间 | string | 否 |
接口设计
超级管理员一个,已配置文件形式保存超级管理员信息
接口
平台注册接口
作用1: 用户与平台绑定,没有绑定平台的用户禁止登录
作用2: 给管理员分配权限,管理员可以绑定多个平台,按平台分配权限
普通用户注册接口,
用户注册时需要传入 平台ID 没有平台ID,校验平台是否存在,平台不存在不给注册;
注册时需要传入管理员信息,校验管理员是否存在,校验管理员是否有这个平台的管理权限,不存在不给注册,做这个限制是为了溯源,用户是通过那个管理员注册的
普通用户登录
密码,验证码,快捷方式
校验平台,是否可以在这个平台登录
记录登录IP,登录设备,做常用地常用设备校验,异地等情况需要二次验证
添加管理员
仅超级管理员有权限
管理员需要绑定平台
管理员需要设置身份,运营者和管理者
运营者只有查看权限,管理者可以修改删除
权限都仅在绑定的平台有效
管理员可以添加运营者,指定运营者的平台,仅管理员管理的平台
获取管理员列表
获取用户列表
传入当前登录者信息
支持根据平台过滤,支持搜索、注册时间范围、上次登录时间、地区查询,
返回上次登录时间,上次登录设备,上次登录地区