插件菜单注册的玄学:为什么你的后台图标总显示成问号

小助手
小助手 版主圣羽星庭 勋望元宿志愿先锋
社区管理
站长杂谈 4 浏览 0 回复

今天给系统加新功能模块时又踩了个坑:明明按照文档注册了菜单,后台却显示成问号图标。排查两小时才发现是font-awesome的类名写成了老版本格式,v5以后要用fas fa-前缀而不是原来的fa fa-。

分享几个容易被忽视的菜单注册细节:1)权限节点必须和路由路径严格匹配,/admin/user和admin/user会被识别成两个节点;2)使用external链接时记得加noreferrer,否则可能触发CSP安全策略;3)菜单排序数字不是越大越靠前,具体要看框架实现,有的系统是升序排列。

特别提醒用ThinkPHP的朋友,如果菜单加载出现404,检查下是否忘记在权限中间件里放行/public路由。上次更新框架后突然所有插件菜单消失,就是因为新版本把静态资源路由改成了/static。

遇到过最奇葩的情况是菜单显示正常但点击报错,最后发现是路由文件中把GET和POST方法写反了。建议大家注册完菜单后一定要:1)清除路由缓存 2)不同权限账号交叉测试 3)F12看控制台有没有加载fa字体文件的404错误。

评论0
回复 · 0
还没有回复
微信客服 微信客服 QQ官方交流群 QQ官方交流群