1. 1. 流程设计
  2. 2. 数据库设计
    1. 2.1. 用户表
    2. 2.2. 平台表
    3. 2.3. 用户绑定信息表
    4. 2.4. 绑定类型的字典表
    5. 2.5. 操作表
    6. 2.6. 模块表
    7. 2.7. 角色表
    8. 2.8. 角色操作关联表
    9. 2.9. 用户登录信息记录
  3. 3. 接口设计
    1. 3.1. 接口
      1. 3.1.1. 平台注册接口
      2. 3.1.2. 普通用户注册接口,
      3. 3.1.3. 普通用户登录
      4. 3.1.4. 添加管理员
      5. 3.1.5. 获取管理员列表
      6. 3.1.6. 获取用户列表
      7. 3.1.7. 添加用户

所有字段均为小驼峰

流程设计

程序启动的时候,检查程序配置信息

全局错误处理,出错程序不崩溃,页面提示错误

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,登录设备,做常用地常用设备校验,异地等情况需要二次验证

添加管理员

仅超级管理员有权限

管理员需要绑定平台

管理员需要设置身份,运营者和管理者

运营者只有查看权限,管理者可以修改删除

权限都仅在绑定的平台有效

管理员可以添加运营者,指定运营者的平台,仅管理员管理的平台

获取管理员列表

获取用户列表

传入当前登录者信息

支持根据平台过滤,支持搜索、注册时间范围、上次登录时间、地区查询,

返回上次登录时间,上次登录设备,上次登录地区

添加用户