From 83ff116ea5db9be2f454aef23cdf14c5c16539d2 Mon Sep 17 00:00:00 2001 From: Rogee Date: Thu, 25 Dec 2025 15:05:05 +0800 Subject: [PATCH] feat: show publish action for tenant admins --- frontend/portal/src/layout/AppTopbar.vue | 12 ++++++- frontend/portal/src/service/session.js | 36 +++++++++++++++++-- .../src/views/management/ContentPublish.vue | 8 +++++ 3 files changed, 53 insertions(+), 3 deletions(-) diff --git a/frontend/portal/src/layout/AppTopbar.vue b/frontend/portal/src/layout/AppTopbar.vue index ee44f01..1904a6d 100644 --- a/frontend/portal/src/layout/AppTopbar.vue +++ b/frontend/portal/src/layout/AppTopbar.vue @@ -11,7 +11,7 @@ const { toggleMenu, toggleDarkMode, isDarkTheme } = useLayout(); const toast = useToast(); const router = useRouter(); -const { state: sessionState, isLoggedIn, username, isTenantApproved } = useSession(); +const { state: sessionState, isLoggedIn, username, isTenantApproved, isTenantAdmin, firstAdminTenantCode } = useSession(); const userMenuRef = ref(); @@ -38,6 +38,12 @@ const tenantApplyAction = computed(() => { return { label: '申请创作者', to: '/tenant/apply', icon: 'pi pi-star' }; }); +const publishTo = computed(() => { + const code = firstAdminTenantCode.value; + if (code) return { path: '/management/contents/new', query: { tenantCode: code } }; + return '/management/contents/new'; +}); + const userMenuItems = computed(() => [ { label: '个人中心', icon: 'pi pi-user', command: () => router.push('/me') }, { separator: true }, @@ -112,6 +118,10 @@ onMounted(() => {