mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-01 07:22:49 +08:00
2.6 KiB
2.6 KiB
name, description
| name | description |
|---|---|
| ulthon-admin-menu-cli | 解释并指导后台菜单(system_menu)与 admin:menu:* 命令的使用方式。需要导出菜单、通过命令行创建/更新/删除菜单、或排查菜单字段映射(pid/href/auth_node)时调用。 |
菜单管理(admin:menu:* CLI)
何时调用
- 需要导出当前系统菜单数据,用于备份/迁移/对比。
- 需要在不进入后台页面的情况下,通过命令行创建/更新/删除菜单。
- 需要排查菜单字段映射:
pid/href/auth_node与命令参数parent-id/path/node的对应关系。 - 需要脚本化输出(JSON)对接自动化运维/测试(仅导出命令支持)。
命令清单
1) 导出菜单
php think admin:menu:export
常用参数:
--format=json:JSON 输出(含 count/exported_at)--output=<文件路径>:把导出的菜单数组写入文件(JSON)
示例:
php think admin:menu:export --format=json
php think admin:menu:export --output=runtime/agent/menu_export.json
php think admin:menu:export --output=runtime/agent/menu_export.json --format=json
2) 创建菜单(会写入数据库)
php think admin:menu:create --title="测试菜单" --path="demo.index/index" --icon="fa fa-list" --parent-id=0 --sort=100
3) 更新菜单(会写入数据库)
php think admin:menu:update --id=123 --title="新标题" --path="demo.index/index" --icon="fa fa-list" --parent-id=0 --sort=100
说明:
--id必填;其余参数不传则不更新该字段。--path更新的是数据库字段href。--parent-id更新的是数据库字段pid。
4) 删除菜单(会写入数据库,软删除)
php think admin:menu:delete --id=123
说明:
- 若存在子菜单会拒绝删除(需先删除子菜单)。
字段映射速查
--parent-id→system_menu.pid--path→system_menu.href--node→system_menu.auth_node
典型工作流
工作流 A:备份菜单到文件
php think admin:menu:export --output=runtime/agent/menu_export.json
工作流 B:创建 → 更新 → 删除(用于验证命令链路)
php think admin:menu:create --title="CLI测试菜单" --path="test.cli/index" --parent-id=0
php think admin:menu:update --id=<上一步返回的id> --title="CLI测试菜单_改"
php think admin:menu:delete --id=<上一步返回的id>
注意事项
create/update/delete会实际修改数据库,建议在测试环境或确认无风险后执行。- 导出默认过滤
delete_time=0(只导出未删除菜单)。