codecamp

菜单管理

ApiAdmin中菜单充当了一个非常重要的角色,是系统的基础,权限控制,页面显示等等都依托于菜单数据,这也是安装脚本所要完成的一个非常重要的任务。既然菜单这么重要,那么初始化ApiAdmin之后是不是就不能改了?如果改错了,数据丢失怎么办?下面将一一阐述!

特别注意:菜单的新增、删除、修改父级菜单、修改菜单URL这四个操作是危险操作!如果您不是开发者请不要轻易操作!

1、菜单的各个配置项详细说明

  • 菜单名称:显示文字,没有实际意义,只对UI影响。
  • 父级菜单:表示菜单的层级关系。左侧导航菜单只显示两级菜单,更多子级菜单,将会在数据类体现(例:删除按钮等)
  • 菜单等级:主要是用来控制菜单的重要程度,如果您的项目对于管理员有严格的权限限制,甚至可以拓展出二次确认,高级管理员审核等功能。(时间关系暂未支持)
  • 访客权限:不登录系统能访问啥?这里给出了明确的权限标识,但是在系统中也给出了超级权限的URL,比如User/Login。两者实现的效果相似,但是相比较而言,超级权限需要修改代码,并且权限更大!
  • 是否显示:如果有正在开发测试的功能,不想给低权限的用户看到,这个将是个很好的选择!
  • 菜单图标:只是作用于UI显示,目前支持FontAwesome,直接填写fa-xxx,例:fa-address-book
  • 菜单URL:这个就是菜单请求数据的地址,ApiAdmin中所有的URL都使用ThinkPHP的url函数自动生成的。所以,格式为控制器/方法名,更详细的说明请参照ThinkPHP官方文档
  • 排序:依旧作用于UI,只能是整型。

2、修改菜单后需要注意的地方

  • 由于页面的Ajax只会刷新右侧数据区,所以,修改菜单后需要手动刷新页面才可以看到修改后的效果!
  • 在修改之前请提前做好数据备份,以防止出现问题!
  • 因为菜单都会对应一个URL,所以相关的后端代码一定要跟上,不然很可能会出现404或者500错误。

3、菜单改出问题怎么办?

如果,你只是体验测试项目,你可以放心大胆的删掉/application/extra/install.lock,重新走一遍安装脚本,初始化数据即可!如果你是生产项目,那么需要结合install.sql文件,手动恢复菜单数据。

项目安装
运行流程
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }