feat(tenant-platform): 应用详情页显示 BugCollect 服务 + 服务管理菜单新增崩溃收集
- AppDetailView: 新增崩溃收集服务卡片(开通/关闭/跳转概览&错误列表) - serviceLabel/serviceHelp: 补充 BUG_COLLECT 对应文案 - MainLayout: 服务管理子菜单新增「崩溃收集」入口(/services/bugcollect) - router: 注册 services/bugcollect 路由 → BugCollectOverview Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
父节点
a6c929e406
当前提交
b75efcefd8
@ -101,6 +101,10 @@ const router = createRouter({
|
|||||||
path: 'services/license/:appKey?',
|
path: 'services/license/:appKey?',
|
||||||
component: () => import('@/views/license/LicenseManagementView.vue'),
|
component: () => import('@/views/license/LicenseManagementView.vue'),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: 'services/bugcollect/:appKey?',
|
||||||
|
component: () => import('@/views/bug-collect/BugCollectOverview.vue'),
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: 'system-logs',
|
path: 'system-logs',
|
||||||
component: () => import('@/views/system/ServerLogsView.vue'),
|
component: () => import('@/views/system/ServerLogsView.vue'),
|
||||||
|
|||||||
@ -172,6 +172,45 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
|
<el-card class="info-card" style="margin-top:16px">
|
||||||
|
<template #header>崩溃收集</template>
|
||||||
|
<div class="service-grid">
|
||||||
|
<el-card class="service-card">
|
||||||
|
<div class="service-header">
|
||||||
|
<div class="service-title-block">
|
||||||
|
<span class="service-name">{{ serviceLabel('BUG_COLLECT') }}</span>
|
||||||
|
<span class="service-help">{{ serviceHelp('BUG_COLLECT') }}</span>
|
||||||
|
</div>
|
||||||
|
<el-switch
|
||||||
|
:model-value="isServiceEnabled('BUG_COLLECT')"
|
||||||
|
@change="(val: boolean) => onToggleService('BUG_COLLECT', val)"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="service-status-row">
|
||||||
|
<el-tag :type="isServiceEnabled('BUG_COLLECT') ? 'success' : 'info'" size="small">
|
||||||
|
{{ isServiceEnabled('BUG_COLLECT') ? '已开通' : '未开通' }}
|
||||||
|
</el-tag>
|
||||||
|
<span class="service-status-text">
|
||||||
|
采集 App 崩溃、异常与自定义事件,支持漏斗分析和 Webhook 告警。
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="service-actions">
|
||||||
|
<template v-if="isServiceEnabled('BUG_COLLECT')">
|
||||||
|
<el-button size="small" type="primary" plain @click="$router.push('/bugcollect/overview')">
|
||||||
|
崩溃概览 →
|
||||||
|
</el-button>
|
||||||
|
<el-button size="small" @click="$router.push('/bugcollect/issues')">
|
||||||
|
错误列表 →
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
<el-button v-else size="small" type="primary" plain @click="openActivationRequest('BUG_COLLECT')">
|
||||||
|
申请开通
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
|
||||||
<!-- API Key 管理 -->
|
<!-- API Key 管理 -->
|
||||||
<el-card class="info-card" style="margin-top:16px">
|
<el-card class="info-card" style="margin-top:16px">
|
||||||
<template #header>
|
<template #header>
|
||||||
@ -484,7 +523,13 @@ function isServiceEnabled(svcType: string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function serviceLabel(type: string) {
|
function serviceLabel(type: string) {
|
||||||
return { IM: '即时通讯 (IM)', PUSH: '离线推送', UPDATE: '版本管理', LICENSE: '授权管理' }[type] ?? type
|
return {
|
||||||
|
IM: '即时通讯 (IM)',
|
||||||
|
PUSH: '离线推送',
|
||||||
|
UPDATE: '版本管理',
|
||||||
|
LICENSE: '授权管理',
|
||||||
|
BUG_COLLECT: '崩溃收集 (BugCollect)',
|
||||||
|
}[type] ?? type
|
||||||
}
|
}
|
||||||
|
|
||||||
function serviceHelp(type: string) {
|
function serviceHelp(type: string) {
|
||||||
@ -493,6 +538,7 @@ function serviceHelp(type: string) {
|
|||||||
PUSH: '一次开通后,可在推送配置页按厂商维护配置。',
|
PUSH: '一次开通后,可在推送配置页按厂商维护配置。',
|
||||||
UPDATE: '一次开通后,版本管理页独立管理版本上传、商店配置和灰度发布。',
|
UPDATE: '一次开通后,版本管理页独立管理版本上传、商店配置和灰度发布。',
|
||||||
LICENSE: '管理 PAD 设备的授权注册与验证。',
|
LICENSE: '管理 PAD 设备的授权注册与验证。',
|
||||||
|
BUG_COLLECT: '采集 App 崩溃与自定义事件,支持漏斗分析和 Webhook 告警。',
|
||||||
}[type] ?? ''
|
}[type] ?? ''
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -21,6 +21,7 @@
|
|||||||
<el-menu-item index="/services/push"><el-icon><Bell /></el-icon><span>离线推送</span></el-menu-item>
|
<el-menu-item index="/services/push"><el-icon><Bell /></el-icon><span>离线推送</span></el-menu-item>
|
||||||
<el-menu-item index="/services/update"><el-icon><Upload /></el-icon><span>版本管理</span></el-menu-item>
|
<el-menu-item index="/services/update"><el-icon><Upload /></el-icon><span>版本管理</span></el-menu-item>
|
||||||
<el-menu-item index="/services/license"><el-icon><Key /></el-icon><span>授权管理</span></el-menu-item>
|
<el-menu-item index="/services/license"><el-icon><Key /></el-icon><span>授权管理</span></el-menu-item>
|
||||||
|
<el-menu-item index="/services/bugcollect"><el-icon><DataLine /></el-icon><span>崩溃收集</span></el-menu-item>
|
||||||
</el-sub-menu>
|
</el-sub-menu>
|
||||||
<el-menu-item index="/security"><el-icon><Lock /></el-icon><span>安全中心</span></el-menu-item>
|
<el-menu-item index="/security"><el-icon><Lock /></el-icon><span>安全中心</span></el-menu-item>
|
||||||
<el-sub-menu index="ops">
|
<el-sub-menu index="ops">
|
||||||
@ -71,6 +72,7 @@
|
|||||||
<el-menu-item index="/services/push"><el-icon><Bell /></el-icon><span>离线推送</span></el-menu-item>
|
<el-menu-item index="/services/push"><el-icon><Bell /></el-icon><span>离线推送</span></el-menu-item>
|
||||||
<el-menu-item index="/services/update"><el-icon><Upload /></el-icon><span>版本管理</span></el-menu-item>
|
<el-menu-item index="/services/update"><el-icon><Upload /></el-icon><span>版本管理</span></el-menu-item>
|
||||||
<el-menu-item index="/services/license"><el-icon><Key /></el-icon><span>授权管理</span></el-menu-item>
|
<el-menu-item index="/services/license"><el-icon><Key /></el-icon><span>授权管理</span></el-menu-item>
|
||||||
|
<el-menu-item index="/services/bugcollect"><el-icon><DataLine /></el-icon><span>崩溃收集</span></el-menu-item>
|
||||||
</el-sub-menu>
|
</el-sub-menu>
|
||||||
<el-menu-item index="/security"><el-icon><Lock /></el-icon><span>安全中心</span></el-menu-item>
|
<el-menu-item index="/security"><el-icon><Lock /></el-icon><span>安全中心</span></el-menu-item>
|
||||||
<el-sub-menu index="ops">
|
<el-sub-menu index="ops">
|
||||||
|
|||||||
正在加载...
在新工单中引用
屏蔽一个用户