Files
youlai-boot/docs/sql/app_manager_menu.sql
TongTongStudio 8ee05af6c7 feat(app): add app category management and package repository with apk parsing
新增应用分类管理(MongoDB CRUD + 图标上传)和应用安装包资源库(上传/分页/详情/删除),集成apk-parser自动解析APK元数据(包名、版本、权限、CPU架构、图标),并添加对应的SQL菜单初始化脚本与授权配置。
2026-08-07 12:20:04 +08:00

57 lines
2.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.
-- ============================================================
-- 应用管理 / 应用上传 菜单修复与初始化(幂等,可重复执行)
-- ------------------------------------------------------------
-- 说明:
-- 本项目使用 vue3-element-admin后端动态菜单约定
-- - 目录(type='C')的 component 必须是 'Layout'(顶层目录必须有 Layout 壳),
-- 否则 transformRoutes 不会包裹 Layout点击进入页面会白屏/一直 loading。
-- - 菜单(type='M')的 component 才是页面路径,如 'app-manager/upload-package/index'。
--
-- 本脚本:
-- 1. 修正「应用管理」目录 (route_path=/app-manager) 的 component = 'Layout'(关键修复白屏)。
-- 2. 确保「应用上传」菜单存在且 component 指向正确页面。
-- 3. 授权给 ADMIN 角色 (role_id=2如不同请改)。
-- ============================================================
-- 1. 修正「应用管理」目录(无论是否已存在,都强制 component='Layout'
INSERT INTO sys_menu
(parent_id, tree_path, name, type, route_name, route_path, component,
perm, always_show, keep_alive, visible, sort, icon, redirect,
create_time, update_time, params)
SELECT 0, '0', '应用管理', 'C', '', '/app-manager', 'Layout',
NULL, 1, NULL, 1, 3, 'box', '/app-manager/upload-package',
now(), now(), NULL
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE route_path = '/app-manager' AND type = 'C');
-- 把已存在但 component 不是 Layout 的「应用管理」目录修正为 Layout关键
UPDATE sys_menu
SET component = 'Layout',
always_show = 1,
redirect = '/app-manager/upload-package',
update_time = now()
WHERE route_path = '/app-manager' AND type = 'C' AND component <> 'Layout';
-- 2. 确保「应用上传」菜单存在(挂在应用管理目录下)
SET @parent_id = (SELECT id FROM sys_menu WHERE route_path = '/app-manager' AND type = 'C' LIMIT 1);
INSERT INTO sys_menu
(parent_id, tree_path, name, type, route_name, route_path, component,
perm, always_show, keep_alive, visible, sort, icon, redirect,
create_time, update_time, params)
SELECT @parent_id,
CONCAT('0,', @parent_id),
'应用上传', 'M', 'UploadPackage', 'upload-package', 'app-manager/upload-package/index',
NULL, NULL, 1, 1, 1, 'upload', NULL,
now(), now(), NULL
FROM DUAL
WHERE @parent_id IS NOT NULL
AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE component = 'app-manager/upload-package/index');
-- 3. 授权给 ADMIN 角色role_id=2如实际不同请修改
SET @menu_id = (SELECT id FROM sys_menu WHERE component = 'app-manager/upload-package/index' LIMIT 1);
INSERT IGNORE INTO sys_role_menu (role_id, menu_id)
SELECT 2, @menu_id
FROM DUAL
WHERE @menu_id IS NOT NULL;