From 7b3ef8189ef71cebe1ee0068e1e35ff525e09065 Mon Sep 17 00:00:00 2001 From: XuqmGroup Date: Fri, 19 Jun 2026 03:02:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=20Sourcemap=20?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 BugCollectSourcemaps.vue 组件 - 添加路由 /bugcollect/sourcemaps - 添加导航菜单项 - 展示已上传的 Sourcemap 列表 - 包含使用说明(Android/RN/手动上传) Co-Authored-By: Claude --- tenant-platform/src/api/bugcollect.ts | 16 ++ tenant-platform/src/router/index.ts | 4 + .../bug-collect/BugCollectSourcemaps.vue | 164 ++++++++++++++++++ .../src/views/layout/MainLayout.vue | 2 + 4 files changed, 186 insertions(+) create mode 100644 tenant-platform/src/views/bug-collect/BugCollectSourcemaps.vue diff --git a/tenant-platform/src/api/bugcollect.ts b/tenant-platform/src/api/bugcollect.ts index af4ee29..c2ec334 100644 --- a/tenant-platform/src/api/bugcollect.ts +++ b/tenant-platform/src/api/bugcollect.ts @@ -101,6 +101,16 @@ export interface BugCollectWebhookRequest { secret?: string } +export interface BugCollectSourcemap { + id: number + appKey: string + platform: string + appVersion: string + bundleName: string + storageKey: string + uploadedAt: string +} + export interface BugCollectStatistics { levelDistribution: { name: string; value: number }[] statusDistribution: { name: string; value: number }[] @@ -236,4 +246,10 @@ export const bugCollectApi = { delete: (id: string | number) => client.delete(`/bugcollect/v1/webhooks/${id}`), }, + + // Sourcemaps + sourcemaps: { + list: (appKey: string) => + client.get<{ data: BugCollectSourcemap[] }>('/bugcollect/v1/sourcemaps', { params: { appKey } }), + }, } diff --git a/tenant-platform/src/router/index.ts b/tenant-platform/src/router/index.ts index 75ffae7..4deada2 100644 --- a/tenant-platform/src/router/index.ts +++ b/tenant-platform/src/router/index.ts @@ -142,6 +142,10 @@ const router = createRouter({ path: 'bugcollect/webhooks', component: () => import('@/views/bug-collect/BugCollectWebhooks.vue'), }, + { + path: 'bugcollect/sourcemaps', + component: () => import('@/views/bug-collect/BugCollectSourcemaps.vue'), + }, { path: 'bugcollect/rank/freq', component: () => import('@/views/bug-collect/BugCollectRankFreq.vue'), diff --git a/tenant-platform/src/views/bug-collect/BugCollectSourcemaps.vue b/tenant-platform/src/views/bug-collect/BugCollectSourcemaps.vue new file mode 100644 index 0000000..22ca4c1 --- /dev/null +++ b/tenant-platform/src/views/bug-collect/BugCollectSourcemaps.vue @@ -0,0 +1,164 @@ + + + + + diff --git a/tenant-platform/src/views/layout/MainLayout.vue b/tenant-platform/src/views/layout/MainLayout.vue index 579bf51..9774356 100644 --- a/tenant-platform/src/views/layout/MainLayout.vue +++ b/tenant-platform/src/views/layout/MainLayout.vue @@ -30,6 +30,7 @@ 高频排行 高危排行 Webhook + Sourcemap 安全中心 @@ -80,6 +81,7 @@ 高频排行 高危排行 Webhook + Sourcemap 安全中心