From 1016111d19e66b6a7b7f227280bed75ac62fc75c Mon Sep 17 00:00:00 2001 From: Peanut Date: Sun, 17 May 2026 10:18:56 +0800 Subject: [PATCH] feat: add frontend analytics tracking --- mini-program/src/App.vue | 5 + mini-program/src/pages/life-event/detail.vue | 20 +- mini-program/src/pages/life-event/form.vue | 9 + .../src/pages/main/ScriptDetailView.vue | 20 +- mini-program/src/pages/main/ScriptView.vue | 53 +++- mini-program/src/pages/main/index.vue | 7 + mini-program/src/services/analytics.js | 124 +++++++++ web-admin/src/api/analytics.ts | 79 ++++++ web-admin/src/config/menu.ts | 7 +- web-admin/src/router/index.ts | 8 +- .../views/analytics/AnalyticsDashboard.vue | 261 ++++++++++++++++++ 11 files changed, 583 insertions(+), 10 deletions(-) create mode 100644 mini-program/src/services/analytics.js create mode 100644 web-admin/src/api/analytics.ts create mode 100644 web-admin/src/views/analytics/AnalyticsDashboard.vue diff --git a/mini-program/src/App.vue b/mini-program/src/App.vue index 4cd0572..7c3481b 100644 --- a/mini-program/src/App.vue +++ b/mini-program/src/App.vue @@ -3,6 +3,7 @@ import { ref } from 'vue' import { onLaunch, onShow, onHide } from '@dcloudio/uni-app' import { useAppStore } from './stores/app.js' import { logRuntimeEnv } from './services/request.js' +import analytics from './services/analytics.js' const statusBarHeight = ref(0) const safeAreaTop = ref(0) @@ -10,6 +11,7 @@ const safeAreaBottom = ref(0) onLaunch(async () => { console.log('App Launch') + analytics.initAnalytics() logRuntimeEnv('app:onLaunch') const store = useAppStore() await store.initialize() @@ -25,10 +27,13 @@ onLaunch(async () => { onShow(() => { console.log('App Show') + analytics.track('app_show', {}, { eventType: 'app' }) }) onHide(() => { console.log('App Hide') + analytics.track('app_hide', {}, { eventType: 'app' }) + analytics.flush() }) diff --git a/mini-program/src/pages/life-event/detail.vue b/mini-program/src/pages/life-event/detail.vue index bcc5cf4..136fe61 100644 --- a/mini-program/src/pages/life-event/detail.vue +++ b/mini-program/src/pages/life-event/detail.vue @@ -115,11 +115,13 @@ diff --git a/mini-program/src/pages/main/ScriptView.vue b/mini-program/src/pages/main/ScriptView.vue index f5875c3..910ad1b 100644 --- a/mini-program/src/pages/main/ScriptView.vue +++ b/mini-program/src/pages/main/ScriptView.vue @@ -148,7 +148,7 @@ 最近生成 - 查看全部 › + 查看全部 → 还没有剧本。先用一句灵感生成第一段平行人生。 @@ -181,8 +181,10 @@ -