| | |
| | | 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; |