This commit is contained in:
2026-06-26 10:23:08 +08:00
parent f3675924dc
commit d6b6732ec2
5 changed files with 175 additions and 202 deletions
+54 -81
View File
@@ -354,26 +354,19 @@ async def _seed_data():
# Seed menu configs
from app.models.menu_config import MenuConfig
frontend_groups = [
("AI项目行业生成", "HomeOutlined", 0),
("AI对话生成", "HomeOutlined", 1),
("AI视频创作", "HomeOutlined", 2),
("资产管理", "HomeOutlined", 3),
("媒体关联", "HomeOutlined", 4),
]
frontend_group_ids: dict[str, str] = {}
for label, icon, order in frontend_groups:
existing = await db.execute(
select(MenuConfig).where(
MenuConfig.label == label,
MenuConfig.menu_type == "group",
MenuConfig.menu_target == "frontend",
).limit(1)
)
group = existing.scalar_one_or_none()
if group:
frontend_group_ids[label] = group.id
else:
menu_count = await db.execute(select(func.count(MenuConfig.id)))
menu_count_result = menu_count.scalar_one()
if menu_count_result == 0:
frontend_groups = [
("AI项目行业生成", "HomeOutlined", 0),
("AI对话生成", "HomeOutlined", 1),
("AI视频创作", "HomeOutlined", 2),
("资产管理", "HomeOutlined", 3),
("媒体关联", "HomeOutlined", 4),
]
frontend_group_ids: dict[str, str] = {}
for label, icon, order in frontend_groups:
gid = generate_id()
frontend_group_ids[label] = gid
db.add(
@@ -391,21 +384,19 @@ async def _seed_data():
)
)
frontend_pages = [
("/projects", "我的项目", "HomeOutlined", 0, "AI项目行业生成", True),
("/conversation", "AI创作", "StarOutlined", 0, "AI对话生成", True),
("/initial", "爆款开头复刻", "CodeOutlined", 0, "AI视频创作", False),
("/removelens", "拆镜复刻", "CameraOutlined", 1, "AI视频创作", False),
("/records", "项目记录", "PlayCircleOutlined", 0, "资产管理", True),
("/generated", "素材云", "CloudOutlined", 1, "资产管理", True),
("/authorization", "授权管理", "UserOutlined", 0, "媒体关联", False),
("/consume", "消耗列表", "FileTextOutlined", 1, "媒体关联", False),
]
for path, label, icon, order, group_label, is_default in frontend_pages:
existing = await db.execute(
select(MenuConfig).where(MenuConfig.path == path).limit(1)
)
if not existing.scalar_one_or_none():
frontend_pages = [
("/projects", "我的项目", "HomeOutlined", 0, "AI项目行业生成", True),
("/conversation", "AI创作", "StarOutlined", 0, "AI对话生成", True),
("/initial", "爆款开头复刻", "CodeOutlined", 0, "AI视频创作", False),
("/removelens", "拆镜复刻", "CameraOutlined", 1, "AI视频创作", False),
("/records", "项目记录", "PlayCircleOutlined", 0, "资产管理", True),
("/generated", "素材云", "CloudOutlined", 1, "资产管理", True),
("/authorization", "授权管理", "UserOutlined", 0, "媒体关联", False),
("/consume", "消耗列表", "FileTextOutlined", 1, "媒体关联", False),
("/popular", "爆款榜单", "ThunderboltOutlined", 0, "AI项目行业生成", False),
("/creativeplaza", "创意广场", "GiftOutlined", 0, "AI对话生成", False),
]
for path, label, icon, order, group_label, is_default in frontend_pages:
db.add(
MenuConfig(
id=generate_id(),
@@ -421,24 +412,13 @@ async def _seed_data():
)
)
admin_groups = [
("模型设置", "RobotOutlined", 98),
("模型配置", "RobotOutlined", 6),
("系统设置", "SettingOutlined", 99),
]
admin_group_ids: dict[str, str] = {}
for label, icon, order in admin_groups:
existing = await db.execute(
select(MenuConfig).where(
MenuConfig.label == label,
MenuConfig.menu_type == "group",
MenuConfig.menu_target == "admin",
).limit(1)
)
group = existing.scalar_one_or_none()
if group:
admin_group_ids[label] = group.id
else:
admin_groups = [
("模型设置", "RobotOutlined", 98),
("模型配置", "RobotOutlined", 6),
("系统设置", "SettingOutlined", 99),
]
admin_group_ids: dict[str, str] = {}
for label, icon, order in admin_groups:
gid = generate_id()
admin_group_ids[label] = gid
db.add(
@@ -454,34 +434,27 @@ async def _seed_data():
)
)
admin_pages = [
("/", "数据概览", "DashboardOutlined", 0, None),
("/users", "用户管理", "UserOutlined", 1, None),
("/credit-records", "交易流水", "WalletOutlined", 2, None),
("/generation-ai", "创作记录", "BulbOutlined", 3, None),
("/generation-records", "项目记录", "VideoCameraOutlined", 3, None),
("/recharge-packages", "充值套餐", "GiftOutlined", 4, None),
("/notifications", "消息推送", "BellOutlined", 5, None),
("/payment-stats", "支付统计", "LineChartOutlined", 6, None),
("/video-engines", "视频引擎", "PlayCircleOutlined", 0, "模型设置"),
("/models", "模型配置", "RobotOutlined", 1, "模型设置"),
("/image-engines", "图片模型", "PictureOutlined", 2, "模型设置"),
("/credit-ratios", "积分比例", "CalculatorOutlined", 3, "模型设置"),
("/payment", "支付配置", "DollarOutlined", 1, "系统设置"),
("/industries", "行业配置", "AppstoreOutlined", 2, "系统设置"),
("/menu-configs", "菜单配置", "SettingOutlined", 3, "系统设置"),
("/settings", "系统设置", "SettingOutlined", 4, "系统设置"),
("/operation-logs", "操作日志", "DatabaseOutlined", 5, "系统设置"),
("/oauthapp-list", "授权应用", "MenuOutlined", 28, "系统设置"),
]
for path, label, icon, order, parent_group in admin_pages:
existing = await db.execute(
select(MenuConfig).where(
MenuConfig.path == path,
MenuConfig.menu_target == "admin",
).limit(1)
)
if not existing.scalar_one_or_none():
admin_pages = [
("/", "数据概览", "DashboardOutlined", 0, None),
("/users", "用户管理", "UserOutlined", 1, None),
("/credit-records", "交易流水", "WalletOutlined", 2, None),
("/generation-ai", "创作记录", "BulbOutlined", 3, None),
("/generation-records", "项目记录", "VideoCameraOutlined", 3, None),
("/recharge-packages", "充值套餐", "GiftOutlined", 4, None),
("/notifications", "消息推送", "BellOutlined", 5, None),
("/payment-stats", "支付统计", "LineChartOutlined", 6, None),
("/video-engines", "视频引擎", "PlayCircleOutlined", 0, "模型设置"),
("/models", "模型配置", "RobotOutlined", 1, "模型设置"),
("/image-engines", "图片模型", "PictureOutlined", 2, "模型设置"),
("/credit-ratios", "积分比例", "CalculatorOutlined", 3, "模型设置"),
("/payment", "支付配置", "DollarOutlined", 1, "系统设置"),
("/industries", "行业配置", "AppstoreOutlined", 2, "系统设置"),
("/menu-configs", "菜单配置", "SettingOutlined", 3, "系统设置"),
("/settings", "系统设置", "SettingOutlined", 4, "系统设置"),
("/operation-logs", "操作日志", "DatabaseOutlined", 5, "系统设置"),
("/oauthapp-list", "授权应用", "MenuOutlined", 28, "系统设置"),
]
for path, label, icon, order, parent_group in admin_pages:
db.add(
MenuConfig(
id=generate_id(),