feat: 07 创作者中心批 5(前端页面所需的菜单、隐藏路由与详情字段)
为什么:创作者中心的四个页面要挂到后台菜单里,但「作品编辑」是详情页(/creator-center/dramas/:id), 不能出现在侧边栏。当前菜单体系只下发 visible=1 的行、且 meta 里没有 hidden 字段,直接加会导致 "要么侧边栏多出一条无意义菜单,要么详情页路由根本不存在(点编辑就 404)"。所以先把这套补上: - MenuVO.Meta 增加 hidden;MenuService 把 visible=0 翻译成 meta.hidden, 并让路由下发不再过滤 visible(隐藏项仍要注册路由,侧边栏由前端按 meta.hidden 过滤) - sql/data-phase1.sql 补创作者中心菜单 26-30(目录 + 我的作品 + 隐藏的作品编辑 + 收费配置 + 数据看板), 创作者角色与超管各授权这 5 条;创作者角色**没有任何运营后台菜单** - CreatorCenterDramaVO 补 subtitle/genre/description/trailerUrl/language:编辑页要回填这些字段, 之前详情接口只给列表用的那几个字段 - docs/api-phase1.md:07 行改「已实现」,2.10 补四个页面清单与菜单隔离说明
This commit is contained in:
1 parent
b0fea1d237
commit
a635de7111
6 files changed
+70
-4
No files matched your search
@@ -214,3 +214,36 @@ CROSS JOIN sys_permission p
|
||||
WHERE r.code = 'creator'
|
||||
AND p.code IN ('cover:upload', 'episode:upload')
|
||||
ON CONFLICT DO NOTHING;
|
||||
|
||||
-- ---------- 菜单:创作者中心(批 5,前端页面落地后才挂) ----------
|
||||
-- 26 是目录,27/29/30 是三个可见页面,28 是隐藏路由(作品编辑详情页,visible=0 → meta.hidden),
|
||||
-- 组件路径对应 src/views/creator-center/ 下的四个页面。
|
||||
INSERT INTO sys_menu (id, parent_id, title, route_path, route_name, component, redirect, icon,
|
||||
permission_code, type, always_show, affix, sort, visible) VALUES
|
||||
(26, 0, '创作者中心', '/creator-center', 'CreatorCenter', '#', '/creator-center/workspace', 'ep:film', 'creator-center:view', 'CATALOG', 1, 0, 3, 1),
|
||||
(27, 26, '我的作品', 'workspace', 'creator-workspace', 'views/creator-center/WorkspaceView', '', '', 'creator-center:view', 'MENU', 0, 0, 1, 1),
|
||||
(28, 26, '作品编辑', 'dramas/:id', 'creator-drama-edit', 'views/creator-center/DramaEditView', '', '', 'creator-center:drama:edit', 'MENU', 0, 0, 2, 0),
|
||||
(29, 26, '收费配置', 'prices', 'creator-prices', 'views/creator-center/PriceConfigView', '', '', 'creator-center:price:update', 'MENU', 0, 0, 3, 1),
|
||||
(30, 26, '数据看板', 'dashboard', 'creator-dashboard', 'views/creator-center/DashboardView', '', '', 'creator-center:stat:view', 'MENU', 0, 0, 4, 1)
|
||||
ON CONFLICT (id) DO UPDATE SET parent_id = EXCLUDED.parent_id, title = EXCLUDED.title,
|
||||
route_path = EXCLUDED.route_path, route_name = EXCLUDED.route_name, component = EXCLUDED.component,
|
||||
redirect = EXCLUDED.redirect, icon = EXCLUDED.icon, permission_code = EXCLUDED.permission_code,
|
||||
type = EXCLUDED.type, always_show = EXCLUDED.always_show, affix = EXCLUDED.affix,
|
||||
sort = EXCLUDED.sort, visible = EXCLUDED.visible;
|
||||
|
||||
-- 创作者角色:只挂创作者中心这五条(含隐藏的编辑页),**不给任何运营后台菜单**
|
||||
INSERT INTO sys_role_menu (role_id, menu_id)
|
||||
SELECT r.id, m.id
|
||||
FROM sys_role r
|
||||
CROSS JOIN sys_menu m
|
||||
WHERE r.code = 'creator'
|
||||
AND m.id IN (26, 27, 28, 29, 30)
|
||||
ON CONFLICT DO NOTHING;
|
||||
|
||||
INSERT INTO sys_role_menu (role_id, menu_id)
|
||||
SELECT r.id, m.id
|
||||
FROM sys_role r
|
||||
CROSS JOIN sys_menu m
|
||||
WHERE r.code = 'super_admin'
|
||||
AND m.id IN (26, 27, 28, 29, 30)
|
||||
ON CONFLICT DO NOTHING;
|
||||
Reference in new issue
Block a user