From 5463796f52fd64a050ec5143ecf818007e2c04f7 Mon Sep 17 00:00:00 2001 From: zizi Date: Tue, 16 Jun 2026 07:19:07 +0000 Subject: [PATCH] =?UTF-8?q?feat(studio):=20=E5=88=9B=E4=BD=9C=E8=80=85?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=9C=8B=E6=9D=BF(P-OPS-01/02)=E2=80=94?= =?UTF-8?q?=E2=80=94=E6=8C=87=E6=A0=87=E5=8D=A1=E6=8E=A5=E7=9C=9F=20+=20?= =?UTF-8?q?=E8=B6=8B=E5=8A=BF=E8=AF=9A=E5=AE=9E=E5=8D=A0=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 看板视图(views/dashboard):累计播放/点赞(project /my 聚合)+已发布数(community /level)+累计奖励(community /rewards)接真;完玩率/广告收益/七日趋势=诚实占位"数据接口建设中"(契约无创作者侧读端点,不伪造) - 入口:个人中心"创作数据"→/dashboard(requiresAuth+hideTabBar) - 实证缺口:契约仅 admin-api 有 telemetry game-stat / ad revenue(RBAC=admin),无 /app-api 创作者侧;建议后端补 /app-api/telemetry/my/{summary,trend}(creator 归属隔离) verify-as-you-go:vite build + vue-tsc 双绿;接的3端点逐条命中契约;3处gap逐条grep证伪;真机走查留合并点 Co-Authored-By: Claude Opus 4.8 (1M context) --- game-studio/src/router/index.ts | 8 + game-studio/src/views/dashboard/Dashboard.vue | 432 ++++++++++++++++++ game-studio/src/views/profile/Profile.vue | 11 + 3 files changed, 451 insertions(+) create mode 100644 game-studio/src/views/dashboard/Dashboard.vue diff --git a/game-studio/src/router/index.ts b/game-studio/src/router/index.ts index 5b920fbd..09743258 100644 --- a/game-studio/src/router/index.ts +++ b/game-studio/src/router/index.ts @@ -111,6 +111,14 @@ const routes: RouteRecordRaw[] = [ // requiresAuth:我的项目区为登录态私有数据,未真实登录跳 /login(§9.3) meta: { title: '我的项目', tab: 'project', requiresAuth: true }, }, + { + path: '/dashboard', + name: 'dashboard', + component: () => import('../views/dashboard/Dashboard.vue'), // L0 创作者数据看板(P-OPS-01/02) + // requiresAuth:看板为创作者私有数据(归属隔离在后端),未真实登录跳 /login(§9.3); + // hideTabBar:二级沉浸页,自带返回按钮(与 publish 同口径),归属「我的」Tab。 + meta: { title: '创作数据', tab: 'project', hideTabBar: true, requiresAuth: true }, + }, { path: '/project/:id', name: 'project-detail', diff --git a/game-studio/src/views/dashboard/Dashboard.vue b/game-studio/src/views/dashboard/Dashboard.vue new file mode 100644 index 00000000..ee3bcee7 --- /dev/null +++ b/game-studio/src/views/dashboard/Dashboard.vue @@ -0,0 +1,432 @@ + + + + + diff --git a/game-studio/src/views/profile/Profile.vue b/game-studio/src/views/profile/Profile.vue index a3d9a4e7..8b8a3788 100644 --- a/game-studio/src/views/profile/Profile.vue +++ b/game-studio/src/views/profile/Profile.vue @@ -86,6 +86,11 @@ function goProjects() { router.push('/project') } +/** 跳「创作数据」看板(P-OPS-01/02:核心指标卡 + 七日趋势,创作者私有数据) */ +function goDashboard() { + router.push('/dashboard') +} + /** 跳「消息」中心 */ function goMessages() { router.push('/message') @@ -175,6 +180,12 @@ onMounted(() => { 我的项目 + +