实现目的:
具体产品场景的类别通用化,统一管理,统一开发护
可通过页面动态配置
查看、使用通用类别进行权限管理
层级管理
配置化意味着可以动态配置而无需经过发版。
通用化除了减少重复性工作外,往往还意味着功能升级,在原有共同基础功能的基础上,迭代出更强大的能力。比如权限,层级,排序等。
具体设计。
每个场景只关心自己的类别。因此不同类别需根据场景隔离。抽象出场景表1:n类别表。
页面方案
新增配置页面,可树状查看场景,新增场景。并在场景下配置类别。
使用方案
1用户在某一页面选择类别或查看类别。
2前端根据页面写死场景code,
3后端统一接口根据场景及权限筛选类别,查询类别表返回。
4前后端详情及保存,使用类别编码交互,查询类别表。
不好的地方是由于场景类别对应的语义是动态的,保存在数据库里,前端操作框只能强绑定场景code,导致前端出现魔数和表意模糊等问题。
其次是性能问题,每次用户查询类别或者代码根据类别走不同逻辑的判断,都需要一次dsl。
因此不好用在c端查询展示,或者流量较大的代码逻辑中。
主要用于后台运营人员查看和管理等。
权限在这里的意义是同一场景下用户可见类别范围不同。