diff --git a/src/components/analytics/La51Analytics.astro b/src/components/analytics/La51Analytics.astro new file mode 100644 index 000000000..92037e2ad --- /dev/null +++ b/src/components/analytics/La51Analytics.astro @@ -0,0 +1,49 @@ +--- +interface Props { + analyticsId: string; + sdkUrl?: string; + ck?: string; + autoTrack?: boolean; + hashMode?: boolean; + screenRecord?: boolean; +} + +const { + analyticsId, + sdkUrl, + ck, + autoTrack = true, + hashMode = false, + screenRecord = true, +} = Astro.props; +--- + + \ No newline at end of file diff --git a/src/config/siteConfig.ts b/src/config/siteConfig.ts index 6cd8b31a7..bf33eb64f 100644 --- a/src/config/siteConfig.ts +++ b/src/config/siteConfig.ts @@ -166,6 +166,16 @@ export const siteConfig: SiteConfig = { googleAnalyticsId: "", // Microsoft Clarity ID microsoftClarityId: "", + // 51la 统计 ID + la51AnalyticsId: "", + // 51la 配置 + la51Config: { + // sdkUrl: "", // 自定义 SDK JS 地址,防止 DNS 污染,留空使用默认地址 + // ck: "", // 多个统计 ID 的数据分离标识,留空则使用 la51AnalyticsId + autoTrack: false, // 开启事件分析功能 + hashMode: false, // Hash路由模式, 项目使用History API路由, 所以不必开启默认false + screenRecord: true, // 开启网站录屏功能 + }, }, // 图像优化及响应式配置 diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 970efdcf3..b6c0b0e67 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -1,5 +1,6 @@ --- import GoogleAnalytics from "@components/analytics/GoogleAnalytics.astro"; +import La51Analytics from "@components/analytics/La51Analytics.astro"; import MicrosoftClarity from "@components/analytics/MicrosoftClarity.astro"; import FancyboxManager from "@components/features/FancyboxManager.astro"; import FontManager from "@components/features/FontManager.astro"; @@ -102,6 +103,16 @@ const siteLang = lang.replace("_", "-"); {siteConfig.analytics?.microsoftClarityId && ( )} + {siteConfig.analytics?.la51AnalyticsId && ( + + )} {pageTitle}