搜索

首页  >  问答  >  正文

javascript - 关于界面主菜单生成逻辑的各种设计讨论

主菜单,就是那种后台管理系统里面,通过配置可以控制是否显示某菜单,或某菜单里的某个功能。
关于它的设计和实现方式,我个人总结大概有以下几种。

(1)用数据库表保存
一般主菜单都是树结构,基于用传统关系型数据库来保存的方案,有2种。

数据传递方案也有2种:

(2)用json保存
这个是我这个问题主要想了解的方式,不知道你们是否有用过,则直接把主菜单的父子节点信息构建成json格式,存到一个配置表里,或者一个json文件里。这样可以免去构造树结构的麻烦。但是由于是纯json格式,人工维护的话,数据结构不复杂的情况下还可以,如果遇到复杂的情况,可能需要编写一个维护界面来维护,这时候由于json并没有类似sql的查询语法,前端(假设是js)写增删查改起来会特别复杂(特别是删除)。

这个。。。。不知道你们平时用的是什么方式?可以的话希望可以简要的说说,
同时,如果对(2)用json保存这种方式有什么看法的话,也可以说说。
综合考虑性能,可扩展性,可维护性等等。

大家讲道理大家讲道理2737 天前726

全部回复(1)我来回复

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-26 10:51:08

    方案要根据技术来选,就你给出的两种方案来说,第一种更适合关系型数据库实现,第二种更适合 NoSQL 数据库实现。

    综合来看更推荐第一种方案,将菜单结构 flatten 在后期设计用户、用户组、权限等模块的时候会比较方便。而使用 JSON 的方案进行这些操作就会比较复杂。

    回复
    0
  • 取消回复