🎨 🔥 🚑 集成前端代码的&兼容容器化部署插件的插件改造&提供了一个新的轮播图插件

This commit is contained in:
osi
2025-09-19 20:44:33 +08:00
parent edb673ee34
commit f254132e18
61 changed files with 2569 additions and 16 deletions

View File

@@ -0,0 +1,167 @@
-- 删除表如果存在
DROP TABLE IF EXISTS hg_banner;
-- 创建表
CREATE TABLE hg_banner (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
cover VARCHAR(255) DEFAULT NULL,
link VARCHAR(255) DEFAULT NULL,
type INTEGER DEFAULT 0,
status SMALLINT DEFAULT 1,
sort INTEGER DEFAULT 0,
created_at TIMESTAMP DEFAULT NULL,
updated_at TIMESTAMP DEFAULT NULL
);
-- 添加表注释
COMMENT ON TABLE hg_banner IS '轮播图表';
-- 添加列注释
COMMENT ON COLUMN hg_banner.name IS '轮播图名称';
COMMENT ON COLUMN hg_banner.cover IS '图片URL';
COMMENT ON COLUMN hg_banner.link IS '跳转链接小程序内用相对地址';
COMMENT ON COLUMN hg_banner.type IS '类型默认不传';
COMMENT ON COLUMN hg_banner.status IS '1可用,2不可用';
COMMENT ON COLUMN hg_banner.sort IS '排序数字越大越靠前';
-- 添加 updated_at 字段的更新触发器模拟 MySQL ON UPDATE CURRENT_TIMESTAMP
CREATE OR REPLACE FUNCTION update_updated_at_column()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = NOW();
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER trigger_update_updated_at
BEFORE UPDATE ON hg_banner
FOR EACH ROW
EXECUTE FUNCTION update_updated_at_column();
-- 添加菜单项
-- 先查找或创建"内容管理"父菜单如果不存在
INSERT INTO hg_admin_menu (pid, level, tree, title, name, path, icon, type, redirect, permissions, permission_name, component, always_show, active_menu, is_root, is_frame, frame_src, keep_alive, hidden, affix, sort, remark, status, updated_at, created_at)
SELECT 0, 1, '', '内容管理', 'content', '/content', 'BookOutlined', 1, '/content', '', '', 'LAYOUT', 2, '', 1, 2, '', 2, 2, 2, 12, '内容管理模块', 1, NOW(), NOW()
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name = 'content');
-- 获取内容管理菜单ID并添加轮播图管理菜单
WITH content_parent AS (
SELECT id FROM hg_admin_menu WHERE name = 'content' LIMIT 1
),
inserted_menu AS (
INSERT INTO hg_admin_menu (pid, level, tree, title, name, path, icon, type, redirect, permissions, permission_name, component, always_show, active_menu, is_root, is_frame, frame_src, keep_alive, hidden, affix, sort, remark, status, updated_at, created_at)
SELECT
cp.id,
2,
'tr_' || cp.id::text || ' ',
'轮播图管理',
'flashbanner',
'/flashbanner',
'',
2,
'',
'/flashbanner/banner/list',
'',
'/addons/flashbanner/index',
2,
'',
2,
2,
'',
1,
2,
2,
10,
'轮播图管理模块',
1,
NOW(),
NOW()
FROM content_parent cp
RETURNING id
)
-- 添加子菜单和按钮
INSERT INTO hg_admin_menu (pid, level, tree, title, name, path, icon, type, redirect, permissions, permission_name, component, always_show, active_menu, is_root, is_frame, frame_src, keep_alive, hidden, affix, sort, remark, status, updated_at, created_at)
SELECT
im.id,
3,
'tr_' || (SELECT id FROM content_parent)::text || ' tr_' || im.id::text || ' ',
'新增轮播',
'addbanner',
'',
'',
3,
'',
'/flashbanner/banner/create',
'',
'',
2,
'',
2,
2,
'',
2,
2,
2,
10,
'新增轮播图权限',
1,
NOW(),
NOW()
FROM inserted_menu im
UNION ALL
SELECT
im.id,
3,
'tr_' || (SELECT id FROM content_parent)::text || ' tr_' || im.id::text || ' ',
'轮播编辑',
'editbanner',
'',
'',
3,
'',
'/flashbanner/banner/update',
'',
'',
2,
'',
2,
2,
'',
2,
2,
2,
10,
'编辑轮播图权限',
1,
NOW(),
NOW()
FROM inserted_menu im
UNION ALL
SELECT
im.id,
3,
'tr_' || (SELECT id FROM content_parent)::text || ' tr_' || im.id::text || ' ',
'删除轮播',
'delbanner',
'',
'',
3,
'',
'/flashbanner/banner/delete',
'',
'',
2,
'',
2,
2,
'',
2,
2,
2,
10,
'删除轮播图权限',
1,
NOW(),
NOW()
FROM inserted_menu im;