Files
YwxAppThink/docs/sql/add_common_nav_menu.sql

52 lines
3.8 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ============================================================
-- 前台主导航菜单 补库 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 '父级ID0=一级)',
`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);