管理后台开发模板

419 阅读4分钟

介绍: 一个基于vue-element-admin的开发模板,实现了一套代码多端共用,即总后台、商户后台和服务商后台都可以基于该模板来进行开发。

项目源码地址(前端部分):github.com/zweiqin/dem…

在选择后台时,只需要在src目录下的settings.js文件,修改titletype即可,如下图所示: settings文件.png

type0时,意味着该后台是总后台,总后台的登录账号默认有两个,分别是:

  1. jmadmin,该账号是默认的、属于总后台的‘开发者’角色的、权限最大的账号。
  2. admin,该账号是默认的、属于总后台的‘总后台管理员’角色的账号

这两个账号的admin_type0mer_idprovider_id也为0

注意:这两个账号所在的数据表为admin表,如下图所示: 屏幕截图 2022-12-03 204939.png

另外的两个账号分别为:

  1. meradmin:该账号是默认的、属于商户后台的‘商户管理员’角色的账号,其admin_type2mer_id默认为1provider_id0
  2. fwadmin:该账号是默认的、属于服务商后台的‘服务商管理员’角色的账号,其admin_type1mer_id0provider_id默认为1

关于角色的问题:

  • 每一个账号都存在admin表里,且都有唯一的id,该id就是用来对应着某种角色(role_id),这种对应关系单独存放在数据库的一个admin_roles表里,如下图所示: image.png
  • 上述的四个默认账号,其实都是处于‘管理者’的地位,且对应着四种角色,所以,应该给这四个角色加上一个is_developers的字段,来将‘管理者’和‘员工’进行区分。角色表(role表)如下图所示: image.png
  • role表里,每一个角色都有一个role_type的字段,表示该角色是属于哪个后台的。
    • 对于‘管理者’来说(即is_developers1的角色):
      • 默认只有上述的四种角色
    • 对于‘员工’来说(即is_developers0的角色):
      • 当某一个角色的role_type0的时候,表示该角色属于总后台,此时该角色的mer_idprovider_id字段对应的值必为0
      • 当某一个角色的role_type1的时候,表示该角色属于服务商后台,此时该角色的mer_id0provider_id必不为0,且表示该角色由哪个‘服务商管理员’账号所创建;
      • 当某一个角色的role_type2的时候,表示该角色属于商户后台,此时该角色的provider_id0mer_id必不为0,且表示该角色由哪个‘商户管理员’账号所创建;

当开发的后台为总后台时(即设置的type0),且使用jmadmin账号登录之后,默认显示的前端界面如下图所示:

  1. 人员权限页面用于处理总后台的人员角色,包括新增、删除、启用/禁用、查看详细人员列表和编辑操作 人员权限.png
  2. 人员信息页面用于处理总后台的人员数据,包括查询、新增、启用/禁用和编辑操作 人员信息.png
  3. 菜单管理页面用于处理页面路由,包括查询、新增、删除和编辑操作 菜单管理.png
  4. 权限管理页面用于给各后台的管理员添加页面路由,主要用到的是查看详细人员列表和编辑操作 权限管理.png
  5. 操作日志页面用于查询在所有后台触发的接口请求,该页面仅可进行查询 操作日志.png
  6. 商户管理页面用于处理商户后台的管理员数据,包括新增、启用/禁用和编辑操作 商户管理.png

当开发的后台为商户后台时(即设置的type2),且使用meradmin账号登录之后,默认显示的前端界面如下图所示(服务商后台也同理):

  1. 员工权限页面用于处理商户后台的员工角色,包括新增、删除、启用/禁用、查看详细员工列表和编辑操作 员工权限.png
  2. 员工信息页面用于处理商户后台的员工数据,包括查询、新增、启用/禁用和编辑操作 员工信息.png

其它值得注意的展示效果:

  1. 人员权限页面的新增角色对话框 人员权限1.png
  2. 人员信息页面的新增员工对话框 人员信息-新增员工.png
  3. 菜单管理页面的新增菜单对话框 菜单管理2.png
  4. 权限管理页面的编辑角色对话框和人员列表对话框 权限管理3-编辑角色.png 权限管理4-编辑角色.png 权限管理-人员列表.png
  5. 操作日志页面的详细对话框 操作日志1.png
  6. 商户管理页面的新增商户对话框 商户管理1.png