From 37b69b01ec5c62d41947f571d0c1793fe5b31b5e Mon Sep 17 00:00:00 2001 From: wangdan-fit2cloud Date: Wed, 11 Nov 2026 18:43:37 +0800 Subject: [PATCH 1/2] Revert "feat: add application read permissions to homepage components" This reverts commit 1430103dc9ad575e65cfacc9ac5e946ba024dad4. --- .../home/components/HomeResourceOverview.vue | 96 +++++++------------ .../views/home/components/HomeStatistics.vue | 7 -- .../home/components/ranking/HomeRankings.vue | 20 +--- .../home/components/ranking/RankingCard.vue | 3 +- ui/src/views/system/home/index.vue | 21 +--- 5 files changed, 40 insertions(+), 107 deletions(-) diff --git a/ui/src/views/home/components/HomeResourceOverview.vue b/ui/src/views/home/components/HomeResourceOverview.vue index 5565afa5c54..4056eb002dd 100644 --- a/ui/src/views/home/components/HomeResourceOverview.vue +++ b/ui/src/views/home/components/HomeResourceOverview.vue @@ -15,27 +15,11 @@ interface HomeResourceCard { details: [string, number | undefined][] } -const ZERO_APPLICATION: HomeApplicationAggregation = { total: 0, publish_count: 0, un_publish_count: 0 } -const ZERO_KNOWLEDGE: HomeKnowledgeAggregation = { total: 0, document_count: 0, failure_count: 0 } -const ZERO_TOOL: HomeToolAggregation = { - total: 0, - custom_count: 0, - workflow_count: 0, - skill_count: 0, - mcp_count: 0, - data_source_count: 0, -} -const ZERO_MODEL: HomeModelAggregation = { total: 0, llm_count: 0, embedding_count: 0 } - /* 资源概况与列表导航 */ const props = defineProps<{ workspaceId: string; api: typeof HomepageApi }>() const router = useRouter() const route = useRoute() const isSystemScope = computed(() => route.meta.scope === 'system') -const canReadApplication = computed(() => !isSystemScope.value || perm.application.system.read()) -const canReadKnowledge = computed(() => !isSystemScope.value || perm.knowledge.system.read()) -const canReadTool = computed(() => !isSystemScope.value || perm.tool.system.read()) -const canReadModel = computed(() => !isSystemScope.value || perm.model.system.read()) const loading = ref(false) const application = ref() const knowledge = ref() @@ -97,54 +81,38 @@ function loadResources() { if (loading.value) return loading.value = true return Promise.allSettled([ - canReadApplication.value - ? props.api - .getApplicationAggregation(props.workspaceId) - .then((value) => { - application.value = value - }) - .catch(() => { - application.value = undefined - }) - : Promise.resolve().then(() => { - application.value = { ...ZERO_APPLICATION } - }), - canReadKnowledge.value - ? props.api - .getKnowledgeAggregation(props.workspaceId) - .then((value) => { - knowledge.value = value - }) - .catch(() => { - knowledge.value = undefined - }) - : Promise.resolve().then(() => { - knowledge.value = { ...ZERO_KNOWLEDGE } - }), - canReadTool.value - ? props.api - .getToolAggregation(props.workspaceId) - .then((value) => { - tool.value = value - }) - .catch(() => { - tool.value = undefined - }) - : Promise.resolve().then(() => { - tool.value = { ...ZERO_TOOL } - }), - canReadModel.value - ? props.api - .getModelAggregation(props.workspaceId) - .then((value) => { - model.value = value - }) - .catch(() => { - model.value = undefined - }) - : Promise.resolve().then(() => { - model.value = { ...ZERO_MODEL } - }), + props.api + .getApplicationAggregation(props.workspaceId) + .then((value) => { + application.value = value + }) + .catch(() => { + application.value = undefined + }), + props.api + .getKnowledgeAggregation(props.workspaceId) + .then((value) => { + knowledge.value = value + }) + .catch(() => { + knowledge.value = undefined + }), + props.api + .getToolAggregation(props.workspaceId) + .then((value) => { + tool.value = value + }) + .catch(() => { + tool.value = undefined + }), + props.api + .getModelAggregation(props.workspaceId) + .then((value) => { + model.value = value + }) + .catch(() => { + model.value = undefined + }), ]).finally(() => { loading.value = false }) diff --git a/ui/src/views/home/components/HomeStatistics.vue b/ui/src/views/home/components/HomeStatistics.vue index 7611db266bc..f3492029e4c 100644 --- a/ui/src/views/home/components/HomeStatistics.vue +++ b/ui/src/views/home/components/HomeStatistics.vue @@ -13,10 +13,8 @@ const props = defineProps<{ workspaceId: string applicationId: string api: typeof HomepageApi | typeof SystemHomepageApi | typeof OverviewApi - canReadApplication?: boolean }>() defineSlots<{ application(props: { loading: boolean }): unknown }>() -const canReadApplicationStatistics = computed(() => props.canReadApplication ?? true) /* 日期、智能体筛选与使用统计 */ const range = ref({ start_time: beforeDay(7), end_time: beforeDay(0) }) @@ -53,11 +51,6 @@ const metrics = computed(() => })), ) function loadMonitoring() { - if (!canReadApplicationStatistics.value) { - monitoring.value = [] - loading.value = false - return Promise.resolve() - } loading.value = true return props.api .getMonitoring(props.workspaceId, range.value, props.applicationId === 'all' ? '' : props.applicationId) diff --git a/ui/src/views/home/components/ranking/HomeRankings.vue b/ui/src/views/home/components/ranking/HomeRankings.vue index b9cee1e5de5..a66bf21573c 100644 --- a/ui/src/views/home/components/ranking/HomeRankings.vue +++ b/ui/src/views/home/components/ranking/HomeRankings.vue @@ -1,5 +1,5 @@ - - + +