介绍: 一个基于vue-element-admin的开发模板,实现了一套代码多端共用,即总后台、商户后台和服务商后台都可以基于该模板来进行开发。
项目源码地址(前端部分):github.com/zweiqin/dem…
在选择后台时,只需要在src目录下的settings.js文件,修改title和type即可,如下图所示:
当type为0时,意味着该后台是总后台,总后台的登录账号默认有两个,分别是:
- jmadmin,该账号是默认的、属于总后台的‘开发者’角色的、权限最大的账号。
- admin,该账号是默认的、属于总后台的‘总后台管理员’角色的账号
这两个账号的admin_type为0,mer_id和provider_id也为0。
注意:这两个账号所在的数据表为admin表,如下图所示:
另外的两个账号分别为:
- meradmin:该账号是默认的、属于商户后台的‘商户管理员’角色的账号,其
admin_type为2,mer_id默认为1,provider_id为0。 - fwadmin:该账号是默认的、属于服务商后台的‘服务商管理员’角色的账号,其
admin_type为1,mer_id为0,provider_id默认为1。
关于角色的问题:
- 每一个账号都存在
admin表里,且都有唯一的id,该id就是用来对应着某种角色(role_id),这种对应关系单独存放在数据库的一个admin_roles表里,如下图所示: - 上述的四个默认账号,其实都是处于‘管理者’的地位,且对应着四种角色,所以,应该给这四个角色加上一个
is_developers的字段,来将‘管理者’和‘员工’进行区分。角色表(role表)如下图所示: - 在
role表里,每一个角色都有一个role_type的字段,表示该角色是属于哪个后台的。- 对于‘管理者’来说(即
is_developers为1的角色):- 默认只有上述的四种角色
- 对于‘员工’来说(即
is_developers为0的角色):- 当某一个角色的
role_type为0的时候,表示该角色属于总后台,此时该角色的mer_id和provider_id字段对应的值必为0; - 当某一个角色的
role_type为1的时候,表示该角色属于服务商后台,此时该角色的mer_id为0,provider_id必不为0,且表示该角色由哪个‘服务商管理员’账号所创建; - 当某一个角色的
role_type为2的时候,表示该角色属于商户后台,此时该角色的provider_id为0,mer_id必不为0,且表示该角色由哪个‘商户管理员’账号所创建;
- 当某一个角色的
- 对于‘管理者’来说(即
当开发的后台为总后台时(即设置的type为0),且使用jmadmin账号登录之后,默认显示的前端界面如下图所示:
- 人员权限页面用于处理总后台的人员角色,包括新增、删除、启用/禁用、查看详细人员列表和编辑操作
- 人员信息页面用于处理总后台的人员数据,包括查询、新增、启用/禁用和编辑操作
- 菜单管理页面用于处理页面路由,包括查询、新增、删除和编辑操作
- 权限管理页面用于给各后台的管理员添加页面路由,主要用到的是查看详细人员列表和编辑操作
- 操作日志页面用于查询在所有后台触发的接口请求,该页面仅可进行查询
- 商户管理页面用于处理商户后台的管理员数据,包括新增、启用/禁用和编辑操作
当开发的后台为商户后台时(即设置的type为2),且使用meradmin账号登录之后,默认显示的前端界面如下图所示(服务商后台也同理):
- 员工权限页面用于处理商户后台的员工角色,包括新增、删除、启用/禁用、查看详细员工列表和编辑操作
- 员工信息页面用于处理商户后台的员工数据,包括查询、新增、启用/禁用和编辑操作
其它值得注意的展示效果:
- 人员权限页面的新增角色对话框
- 人员信息页面的新增员工对话框
- 菜单管理页面的新增菜单对话框
- 权限管理页面的编辑角色对话框和人员列表对话框
- 操作日志页面的详细对话框
- 商户管理页面的新增商户对话框