Files
youlai-boot/docs/sql/app_package_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

56 lines
2.4 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.
-- ============================================================
-- 应用安装包资源库 - 后台菜单与权限初始化脚本(可选)
-- ------------------------------------------------------------
-- 说明:
-- 1. 前端路由已在 constantRoutes 中注册,应用列表页面可直接通过
-- /#/app/package 访问,无需执行本脚本也能使用上传/列表功能。
-- 2. 本脚本仅用于在【后台管理 -> 系统管理 -> 菜单管理】侧边栏中
-- 展示“应用列表”入口,并将权限授予所有角色。
-- 3. 请在执行前确认第 1 步查询出的父目录(通常为“设备”目录)的 ID
-- 若父目录 route_path 不为 'devices',请修改下面的 @parent_id 取值条件。
-- 4. 本脚本仅 INSERT可重复执行已包含存在性判断
-- ============================================================
-- 0. 变量:自动定位“设备”目录作为父级(如实际父目录不同请修改条件)
SET @parent_id = (SELECT id FROM sys_menu WHERE type = 'C' AND route_path = 'devices' LIMIT 1);
-- 若未找到设备目录,则挂到根目录(id=0)
SET @parent_id = IFNULL(@parent_id, 0);
-- 1. 插入“应用列表”菜单(作为设备目录下的子菜单)
INSERT INTO sys_menu
(parent_id, name, type, route_name, route_path, component, perm, visible, sort, icon, redirect, tree_path, keep_alive, always_show, create_time, update_time)
SELECT
@parent_id,
'应用列表',
'M',
'AppPackage',
'app/package',
'app/package/index',
'app:package:list',
1,
100,
'box',
NULL,
CONCAT(IF(@parent_id = 0, '', CONCAT(@parent_id, ',')), 'APP_PACKAGE_PLACEHOLDER'),
1,
0,
NOW(),
NOW()
WHERE NOT EXISTS (
SELECT 1 FROM sys_menu WHERE route_name = 'AppPackage' AND route_path = 'app/package'
);
-- 更新 tree_path去掉占位并写入真实自增 id
SET @menu_id = (SELECT id FROM sys_menu WHERE route_name = 'AppPackage' AND route_path = 'app/package' LIMIT 1);
UPDATE sys_menu
SET tree_path = IF(@parent_id = 0, CONCAT(@menu_id, ','), CONCAT(@parent_id, ',', @menu_id, ','))
WHERE id = @menu_id;
-- 2. 将“应用列表”菜单权限授予所有角色
INSERT INTO sys_role_menu (role_id, menu_id)
SELECT r.id, @menu_id
FROM sys_role r
WHERE NOT EXISTS (
SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = r.id AND rm.menu_id = @menu_id
);