From c1f8de681309f529ed81045b3edf7573aff7d1b4 Mon Sep 17 00:00:00 2001 From: zjwmiao <1723168479@qq.com> Date: Tue, 7 Jan 2025 11:02:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=B8=8A=E6=8A=A5PV=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E5=B8=A6=E4=B8=8Aservice=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/api-analytics.ts | 2 +- src/routers/index.ts | 6 +++--- src/shared/analytics.ts | 25 ++++++++++--------------- src/stores/index.ts | 6 ------ 4 files changed, 14 insertions(+), 25 deletions(-) diff --git a/src/api/api-analytics.ts b/src/api/api-analytics.ts index 2fcdae9..ec72160 100644 --- a/src/api/api-analytics.ts +++ b/src/api/api-analytics.ts @@ -2,6 +2,6 @@ import { request } from '@/shared/axios'; export function reportAnalytics(data: Record) { return request.post('/api-dsapi/query/track/openeuler', data, { - $doException: false, + $doException: true, }); } diff --git a/src/routers/index.ts b/src/routers/index.ts index 77059db..5c26d57 100644 --- a/src/routers/index.ts +++ b/src/routers/index.ts @@ -1,5 +1,5 @@ import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'; -import { useLangStore, usePrevPageUrl } from '@/stores'; +import { useLangStore } from '@/stores'; import { reportPV } from '@/shared/analytics'; export const routes: RouteRecordRaw[] = [ @@ -43,11 +43,11 @@ router.beforeEach((to, from) => { if (from.path === '/') { return; } - usePrevPageUrl().url = window.location.href; + to.meta.$referrer = window.location.href; }); router.afterEach((to, from) => { if (to.path !== from.path) { - reportPV(usePrevPageUrl().url); + reportPV(to.meta.$referrer as string); } }); diff --git a/src/shared/analytics.ts b/src/shared/analytics.ts index 9110847..62b553f 100644 --- a/src/shared/analytics.ts +++ b/src/shared/analytics.ts @@ -22,16 +22,16 @@ export const disableOA = () => { }; export const reportPV = ($referrer?: string) => { - oa.report(OpenEventKeys.PV, $referrer ? () => ({ $referrer }) : undefined); + oaReport(OpenEventKeys.PV, $referrer ? { $referrer } : undefined); }; export const reportPerformance = () => { - oa.report(OpenEventKeys.LCP); - oa.report(OpenEventKeys.INP); - oa.report(OpenEventKeys.PageBasePerformance); + oaReport(OpenEventKeys.LCP); + oaReport(OpenEventKeys.INP); + oaReport(OpenEventKeys.PageBasePerformance); }; -export const oaReport = async >( +export const oaReport = >( event: string, eventData?: T | ((...opt: any[]) => Promise | T), $service = 'quickissue', @@ -40,18 +40,13 @@ export const oaReport = async >( eventOptions?: any; } ) => { - let data: T | undefined; - if (eventData) { - data = - typeof eventData === 'function' - ? await (eventData as (...opt: any[]) => Promise | T)() - : eventData; - } - await oa.report( + return oa.report( event, - () => ({ + async (...opt) => ({ $service, - ...data, + ...(typeof eventData === 'function' + ? await eventData(...opt) + : eventData), }), options ); diff --git a/src/stores/index.ts b/src/stores/index.ts index e346029..a7aa0a7 100644 --- a/src/stores/index.ts +++ b/src/stores/index.ts @@ -30,9 +30,3 @@ export const useLabelColor = defineStore('color', { }, }, }); - -export const usePrevPageUrl = defineStore('analytics', { - state: () => ({ - url: '', - }), -}); -- Gitee