菜单
个人中心

后台菜单管理器

查看更多
0 下载次数
2871 查看数
2026-08-20 最后更新
5个版本 兼容版本
v1.5.6 v1.5.5 v1.5.4 v1.5.3 v1.5.2
¥19.90 ¥99.00
一次购买永久使用,并赠送1个月技术支持 ?
如何购买
1
登录您的BeikeShop商城后台
2
点击右上角“插件市场”
3
选择需要购买的插件
4
购买&安装
插件描述

🎯 功能概述

BeikShop 菜单管理器是一个强大的后台菜单管理插件,提供以下核心功能:

✨ 主要特性

  • 🔄 菜单导入/重置: 一键导入系统默认菜单或重置菜单配置
  • 📝 可视化编辑: 直观的菜单添加、编辑、删除操作
  • 🎨 拖拽排序: 支持拖拽方式调整菜单顺序
  • 🔐 权限控制: 基于角色的菜单访问权限管理
  • 🌍 多语言支持: 支持11种语言的完整本地化
  • 📱 响应式设计: 支持移动端菜单隐藏设置
  • 🎯 智能激活: 基于路由的菜单激活状态控制

🛠️ 技术特性

  • 路由智能识别: 自动同步路由名称和URL
  • 权限自动创建: 导入菜单时自动创建对应权限
  • 缓存优化: 智能缓存管理,确保性能
  • 层级管理: 支持无限层级的菜单结构

🚀 快速开始

1. 访问菜单管理器

  1. 登录 BeikShop 后台管理系统
  2. 导航至 系统设置 > 菜单管理器
  3. 进入菜单管理界面

2. 首次使用建议

推荐操作流程:

  1. 点击 "导入默认菜单" 按钮导入系统预设菜单
  2. 根据需要调整菜单顺序(拖拽排序)
  3. 编辑菜单权限设置
  4. 测试菜单显示效果

📥 菜单导入与重置

导入默认菜单

功能说明:一键导入 BeikShop 系统的默认菜单结构,包括所有核心功能模块。

操作步骤:

  1. 点击页面顶部的 "导入默认菜单" 按钮
  2. 在确认对话框中点击 "确定"
  3. 系统将自动创建以下菜单:
    • 首页
    • 订单管理(含子菜单)
    • 商品管理(含子菜单)
    • 客户管理(含子菜单)
    • 内容管理(含子菜单)
    • 统计报表(含子菜单)
    • 设计管理(含子菜单)
    • 插件管理(含子菜单)
    • 系统设置(含子菜单)
    • 帮助中心

自动创建内容:

  • ✅ 菜单项及层级结构
  • ✅ 多语言翻译
  • ✅ 对应权限记录
  • ✅ 路由配置
  • ✅ 图标设置

重置菜单

功能说明:清除所有自定义菜单,恢复到系统默认状态。

⚠️ 重要提醒:此操作将删除所有自定义菜单,请谨慎使用!

操作步骤:

  1. 点击 "重置菜单" 按钮
  2. 在确认对话框中点击 "确定"
  3. 系统将:
    • 删除所有现有菜单
    • 重新导入默认菜单
    • 重置权限配置

➕ 菜单添加与编辑

添加新菜单

操作步骤:

  1. 点击 "添加菜单" 按钮
  2. 填写菜单基本信息
  3. 配置菜单参数
  4. 点击 "保存" 完成创建

编辑现有菜单

操作步骤:

  1. 在菜单列表中找到要编辑的菜单
  2. 点击 "编辑" 按钮
  3. 修改菜单配置
  4. 点击 "保存" 保存更改

删除菜单

操作步骤:

  1. 在菜单列表中找到要删除的菜单
  2. 点击 "删除" 按钮
  3. 在确认对话框中点击 "确定"

注意事项:

  • 删除父菜单会同时删除所有子菜单
  • 删除操作不可恢复,请谨慎操作

菜单排序

拖拽排序:

  1. 鼠标悬停在菜单项上
  2. 按住鼠标左键拖拽菜单到目标位置
  3. 松开鼠标完成排序
  4. 系统自动保存新的排序

📋 参数详细说明

基本信息

菜单名称 (name)

  • 说明: 菜单的唯一标识符,用于系统内部识别
  • 格式: 英文字母、数字、下划线
  • 示例: products, order_list, customer_groups
  • 注意: 不能重复,建议使用有意义的英文名称

菜单标题 (title)

  • 说明: 显示在菜单中的文字标题
  • 支持: 多语言翻译
  • 示例:
    • 中文: 商品管理
    • 英文: Product Management
  • 注意: 支持HTML实体编码

父级菜单 (parent_id)

  • 说明: 指定菜单的父级菜单,用于创建层级结构
  • 选项:
    • 顶级菜单: 作为主菜单显示
    • 选择父菜单: 作为子菜单显示
  • 层级: 支持无限层级嵌套

路由配置

路由名称 (route)

  • 说明: Laravel 路由名称,用于生成菜单链接
  • 格式: Laravel 标准路由名称
  • 示例:
    • admin.products.index
    • admin.orders.show
    • admin.customers.create
  • 功能:
    • 🔄 自动同步URL地址
    • 🔄 自动生成权限标识
    • 🎯 智能菜单激活

路由选择器:

  • 支持搜索过滤
  • 显示所有可用路由
  • 点击选择自动填充

菜单链接 (url)

  • 说明: 菜单点击后跳转的URL地址
  • 格式: 相对路径或绝对路径
  • 示例:
    • /admin/products
    • /admin/orders/create
    • https://external-site.com
  • 自动同步: 选择路由名称后自动生成

显示设置

菜单图标 (icon)

  • 说明: 菜单项前显示的图标
  • 格式: Bootstrap Icons 类名
  • 示例:
    • bi bi-house (首页图标)
    • bi bi-box (商品图标)
    • bi bi-people (用户图标)
  • 工具: 内置图标选择器

排序 (sort_order)

  • 说明: 菜单显示顺序,数字越小越靠前
  • 格式: 正整数
  • 默认: 0
  • 建议: 使用10的倍数便于后续插入

菜单类型与行为

菜单类型 (type)

  • 菜单 (menu): 标准菜单项,支持子菜单
  • 链接 (link): 纯链接,通常用于外部链接

打开方式 (target)

  • 当前窗口 (_self): 在当前窗口打开链接
  • 新窗口 (_blank): 在新窗口/标签页打开链接

权限控制

权限标识 (permission)

  • 说明: 访问此菜单所需的权限标识符
  • 格式: module_action
  • 示例:
    • orders_index (订单列表权限)
    • products_create (商品创建权限)
    • customers_update (客户更新权限)
  • 自动同步: 选择路由后自动生成
  • 留空: 所有用户可见(除超级管理员外)

高级配置

路由前缀 (prefixes)

  • 说明: 用于菜单激活状态判断的路由前缀列表
  • 格式: 逗号分隔的路由前缀
  • 示例: admin/products,admin/categories,admin/brands
  • 作用: 当前页面路径匹配任一前缀时,菜单显示为激活状态

排除路由 (excludes)

  • 说明: 不激活此菜单的路由列表
  • 格式: 逗号分隔的路由路径
  • 示例: admin/products/create,admin/products/import
  • 作用: 即使路径匹配前缀,这些路由也不会激活菜单

状态控制

显示状态 (visible)

  • 显示: 菜单在侧边栏中正常显示
  • 隐藏: 菜单不在侧边栏中显示(但仍可通过URL访问)

启用状态 (enabled)

  • 启用: 菜单正常工作
  • 禁用: 菜单完全不可用

移动端隐藏 (hide_mobile)

  • 显示: 在移动端也显示此菜单
  • 隐藏: 在移动端隐藏此菜单

🔧 高级功能

智能菜单激活

菜单管理器使用智能算法确定当前激活的菜单项:

激活规则:

  1. 精确匹配: 当前路由与菜单路由完全匹配
  2. 前缀匹配: 当前路径匹配菜单的路由前缀
  3. 排除规则: 排除路由中的路径不会激活菜单
  4. 层级激活: 子菜单激活时,父菜单也会激活

配置示例:

菜单: 商品管理
路由前缀: admin/products,admin/categories,admin/brands
排除路由: admin/products/export

激活情况: ✅ /admin/products → 激活 ✅ /admin/products/1 → 激活 ✅ /admin/categories → 激活 ❌ /admin/products/export → 不激活(被排除) ❌ /admin/orders → 不激活

❓ 常见问题

Q1: 菜单不显示怎么办?

可能原因:

  • 菜单状态为禁用或隐藏
  • 用户没有访问权限
  • 权限标识符设置错误

解决方法:

  1. 检查菜单的显示状态和启用状态
  2. 确认用户角色是否有相应权限
  3. 验证权限标识符是否正确

Q2: 菜单激活状态不正确?

可能原因:

  • 路由前缀配置不正确
  • 排除路由设置有误
  • 路由名称不匹配

解决方法:

  1. 检查并调整路由前缀配置
  2. 确认排除路由设置
  3. 验证路由名称是否正确

Q3: 拖拽排序不生效?

可能原因:

  • JavaScript 错误
  • 权限不足
  • 网络连接问题

解决方法:

  1. 检查浏览器控制台是否有错误
  2. 确认用户有菜单管理权限
  3. 刷新页面重试

Q4: 导入默认菜单失败?

可能原因:

  • 数据库连接问题
  • 权限表不存在
  • 插件未正确安装

解决方法:

  1. 检查数据库连接
  2. 确认权限系统正常工作
  3. 重新安装插件

Q5: 多语言显示不正确?

可能原因:

  • 语言包缺失
  • 翻译键不存在
  • 缓存问题

解决方法:

  1. 确认语言包完整
  2. 清除翻译缓存
  3. 检查翻译键是否正确
警告
您正在非法使用 License 专享版
为了避免法律风险,请尽快购买所需授权
购买授权