更新
This commit is contained in:
1 parent
012f8edf8b
commit
36ff960fbd
33 files changed
+1644
-344
No files matched your search
@@ -0,0 +1,49 @@
|
||||
-- =============================================================
|
||||
-- yz_system_menu 增加「是否必须登录」字段 require_login
|
||||
--
|
||||
-- 用途:免登录控制从模块级下沉到菜单级——Platform 菜单管理逐条配置
|
||||
-- 某菜单(功能入口)是否允许移动端游客(持游客令牌)免登录使用。
|
||||
-- 1 = 必须登录(默认,保持既有行为)
|
||||
-- 0 = 可免登录使用(进入 nav 公开菜单 /api/menus/public)
|
||||
--
|
||||
-- 关联:yz_system_modules.require_login 保留但移动端不再作为判定依据,
|
||||
-- 以菜单级开关为准(模块宫格是否可点 = 该模块下存在免登录菜单)。
|
||||
--
|
||||
-- 幂等:MySQL 的 ALTER TABLE ADD COLUMN 不支持 IF NOT EXISTS,
|
||||
-- 重复执行会报 1060 Duplicate column name。这里用 information_schema
|
||||
-- 判断列是否存在,缺失才拼 ADD COLUMN,再通过 PREPARE 执行。
|
||||
-- 约定:本脚本在 mysql 客户端手动执行(同一会话保持 PREPARE 生效)。
|
||||
-- =============================================================
|
||||
|
||||
SET @sql := CONCAT(
|
||||
'ALTER TABLE `yz_system_menu` ',
|
||||
IF(
|
||||
(SELECT COUNT(*) FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'yz_system_menu'
|
||||
AND COLUMN_NAME = 'require_login') = 0,
|
||||
'ADD COLUMN `require_login` TINYINT NOT NULL DEFAULT 1 COMMENT ''1=必须登录 0=可免登录使用'' AFTER `is_visible`',
|
||||
''
|
||||
)
|
||||
);
|
||||
|
||||
-- 列已存在时 @sql 仅剩 'ALTER TABLE `yz_system_menu` ',替换为无害语句
|
||||
SET @sql := IF(RIGHT(TRIM(@sql), 1) = '`', 'SELECT 1 AS column_already_exists', @sql);
|
||||
|
||||
PREPARE stmt FROM @sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
-- =============================================================
|
||||
-- 初始放开「便捷工具」的三个免登录功能(确认菜单标题后再执行):
|
||||
--
|
||||
-- SELECT id, title, path FROM `yz_system_menu`
|
||||
-- WHERE title IN ('记事本', '日程提醒', '账号管理') AND delete_time IS NULL;
|
||||
--
|
||||
-- UPDATE `yz_system_menu`
|
||||
-- SET `require_login` = 0
|
||||
-- WHERE title IN ('记事本', '日程提醒', '账号管理');
|
||||
--
|
||||
-- 说明:父级目录菜单如需游客可见,也要一并置 0;
|
||||
-- 后续新模块按需放开,全部走 Platform 菜单管理界面配置。
|
||||
-- =============================================================
|
||||
Reference in new issue
Block a user