liu
2026-09-30 125ce27a5f4f85800c0564b515be153b88adeaca
docs/sql/config_export_all_20260929.sql
@@ -11703,4 +11703,28 @@
                         AND `deleted` = b'0') `t`
        WHERE `t`.`user_id` = `u`.`id`);
-- 5) 首页数据权限
--
-- 首页(/analytics)本身是前端静态路由、人人可见,但它内部会调 4 个后端接口拉数据,
-- 这些接口都带 @PreAuthorize,角色缺权限时一进首页就报「没有权限」:
--   bpm/task/todo-page          → bpm:task:query
--   finance/reimbursement/page  → finance:reimbursement:query
--   research/application/page   → research:application:query
--   research/guideline/page     → research:guideline:query
--
-- 按 permission 串查、不写死菜单编号:编号在各库不一致,写死换库就失效。
-- 只授按钮(type=3)、不授其上级菜单,所以不会往侧边栏塞 BPM / 财务 / 科研的入口。
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `updater`)
SELECT @wxcp_role_id, `m`.`id`, 'admin', 'admin'
FROM `system_menu` `m`
WHERE `m`.`deleted` = b'0'
  AND `m`.`permission` IN ('bpm:task:query', 'finance:reimbursement:query',
                           'research:application:query', 'research:guideline:query')
  AND @wxcp_role_id IS NOT NULL
  AND NOT EXISTS (
        SELECT 1 FROM (SELECT `menu_id` FROM `system_role_menu`
                       WHERE `role_id` = @wxcp_role_id
                         AND `deleted` = b'0') `t`
        WHERE `t`.`menu_id` = `m`.`id`);
SET FOREIGN_KEY_CHECKS = 1;