-- ============================================================ -- 前台主导航菜单 补库 SQL -- 适用:已部署环境增量补齐(新建表 + 默认菜单项 + 后台菜单入口) -- 说明:表名已统一为 common_nav_menu(前缀由部署时替换 __PREFIX__) -- ============================================================ -- 1) 创建导航菜单表(若不存在) CREATE TABLE IF NOT EXISTS `__PREFIX__common_nav_menu` ( `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID', `parent_id` int unsigned NOT NULL DEFAULT '0' COMMENT '父级ID(0=一级)', `title` varchar(50) NOT NULL DEFAULT '' COMMENT '菜单名称', `url` varchar(255) NOT NULL DEFAULT '' COMMENT '链接(controller/action 或 外链 http)', `icon` varchar(50) NOT NULL DEFAULT '' COMMENT '图标类', `sort` int NOT NULL DEFAULT '0' COMMENT '排序(越小越靠前)', `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态(1=显示 0=隐藏)', `create_at` int unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', `update_at` int unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', `delete_at` int unsigned NOT NULL DEFAULT '0' COMMENT '删除时间', PRIMARY KEY (`id`), KEY `parent_id` (`parent_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='前台主导航菜单'; -- 2) 插入默认菜单项(示例:首页/产品/案例/新闻/关于我们,含二级下拉) -- 先清理可能存在的旧默认数据,避免重复(按 title 去重,仅针对本批默认项) DELETE FROM `__PREFIX__common_nav_menu` WHERE `title` IN ('首页','产品中心','软件产品','硬件产品','客户案例','新闻动态','关于我们') AND `delete_at` = 0; INSERT INTO `__PREFIX__common_nav_menu` (`parent_id`, `title`, `url`, `icon`, `sort`, `status`, `create_at`, `update_at`, `delete_at`) VALUES (0, '首页', 'index/index', 'layui-icon-home', 1, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0), (0, '产品中心', '', 'layui-icon-app', 2, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0), (0, '客户案例', 'case/index', 'layui-icon-template',3, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0), (0, '新闻动态', 'news/index', 'layui-icon-note', 4, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0), (0, '关于我们', 'about/index', 'layui-icon-about', 5, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0); -- 二级菜单(父级=产品中心,取其刚插入的 id) INSERT INTO `__PREFIX__common_nav_menu` (`parent_id`, `title`, `url`, `icon`, `sort`, `status`, `create_at`, `update_at`, `delete_at`) SELECT id, '软件产品', 'product/index?type=soft', 'layui-icon-component', 1, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0 FROM `__PREFIX__common_nav_menu` WHERE `title` = '产品中心' AND `delete_at` = 0 LIMIT 1; INSERT INTO `__PREFIX__common_nav_menu` (`parent_id`, `title`, `url`, `icon`, `sort`, `status`, `create_at`, `update_at`, `delete_at`) SELECT id, '硬件产品', 'product/index?type=hard', 'layui-icon-rate', 2, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0 FROM `__PREFIX__common_nav_menu` WHERE `title` = '产品中心' AND `delete_at` = 0 LIMIT 1; -- 3) 后台菜单入口(backend_power):挂到「营运」(pid=629) 下 -- 用 INSERT IGNORE 避免与 install.sql 全量初始化冲突 INSERT IGNORE INTO `__PREFIX__backend_power` (`id`, `pid`, `name`, `url`, `type`, `route`, `icon`, `o`, `v`, `s`, `sort`, `status`, `create_at`, `update_at`, `delete_at`) VALUES (63, 3, '主导航菜单', 'nav:index', 2, 'nav/index', 'layui-icon layui-icon-list', 12, NULL, 1, 0, 0, 0), (64, 63, '添加菜单', 'nav:add', 3, 'nav/save', 'layui-icon ', 0, NULL, 1, 0, 0, 0), (65, 63, '编辑菜单', 'nav:edit', 3, 'nav/edit', 'layui-icon ', 0, NULL, 1, 0, 0, 0), (66, 63, '删除菜单', 'nav:delete',3, 'nav/delete', 'layui-icon ', 0, NULL, 1, 0, 0, 0);