diff --git a/package.json b/package.json
index 25679bc..8d4ffc3 100644
--- a/package.json
+++ b/package.json
@@ -131,7 +131,6 @@
"pg-hstore": "^2.3.4",
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "react-ga4": "^2.1.0",
"react-hook-form": "^7.50.1",
"react-icons": "^5.0.1",
"react-markdown": "^9.0.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 76b6603..3f1934f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -119,9 +119,6 @@ dependencies:
react-dom:
specifier: ^18.2.0
version: 18.3.0(react@18.3.0)
- react-ga4:
- specifier: ^2.1.0
- version: 2.1.0
react-hook-form:
specifier: ^7.50.1
version: 7.51.3(react@18.3.0)
@@ -12383,10 +12380,6 @@ packages:
use-sidecar: 1.1.2(@types/react@18.3.0)(react@18.3.0)
dev: false
- /react-ga4@2.1.0:
- resolution: {integrity: sha512-ZKS7PGNFqqMd3PJ6+C2Jtz/o1iU9ggiy8Y8nUeksgVuvNISbmrQtJiZNvC/TjDsqD0QlU5Wkgs7i+w9+OjHhhQ==}
- dev: false
-
/react-hook-form@7.51.3(react@18.3.0):
resolution: {integrity: sha512-cvJ/wbHdhYx8aviSWh28w9ImjmVsb5Y05n1+FW786vEZQJV5STNM0pW6ujS+oiBecb0ARBxJFyAnXj9+GHXACQ==}
engines: {node: '>=12.22.0'}
diff --git a/src/renderer/index.ejs b/src/renderer/index.ejs
index abc6453..4d46190 100644
--- a/src/renderer/index.ejs
+++ b/src/renderer/index.ejs
@@ -4,6 +4,7 @@
懒人客服
+
diff --git a/src/renderer/index.tsx b/src/renderer/index.tsx
index e366123..42d20f3 100644
--- a/src/renderer/index.tsx
+++ b/src/renderer/index.tsx
@@ -1,10 +1,7 @@
import React from 'react';
import { createRoot } from 'react-dom/client';
-import ReactGA from 'react-ga4';
import App from './App';
-import { trackingID } from './services/analytics';
-ReactGA.initialize(trackingID);
const container = document.getElementById('root') as HTMLElement;
const root = createRoot(container);
root.render(
diff --git a/src/renderer/pages/About/index.tsx b/src/renderer/pages/About/index.tsx
index 199efa6..7100e50 100644
--- a/src/renderer/pages/About/index.tsx
+++ b/src/renderer/pages/About/index.tsx
@@ -1,4 +1,4 @@
-import React, { useState } from 'react';
+import React, { useState, useEffect } from 'react';
import {
Box,
Button,
@@ -17,6 +17,7 @@ import {
import PageContainer from '../../components/PageContainer';
import Markdown from '../../components/Markdown';
import { getVersionInfo } from '../../services/system/controller';
+import { trackPageView } from '../../services/analytics';
const AboutPage: React.FC = () => {
const toast = useToast();
@@ -55,6 +56,10 @@ const AboutPage: React.FC = () => {
}
};
+ useEffect(() => {
+ trackPageView('AboutPage');
+ }, []);
+
return (
diff --git a/src/renderer/pages/ChatSessionsTable/index.tsx b/src/renderer/pages/ChatSessionsTable/index.tsx
index 49c63ca..f899a2e 100644
--- a/src/renderer/pages/ChatSessionsTable/index.tsx
+++ b/src/renderer/pages/ChatSessionsTable/index.tsx
@@ -39,6 +39,7 @@ import {
getPlatformList,
exportMessageExcel,
} from '../../services/platform/controller';
+import { trackPageView } from '../../services/analytics';
const ChatSessionsTable = () => {
const toast = useToast();
@@ -57,6 +58,10 @@ const ChatSessionsTable = () => {
const [updated, setUpdated] = useState(false);
const itemsPerPage = 10; // 每一页显示的条数
+ useEffect(() => {
+ trackPageView('ChatSessionsTable');
+ }, []);
+
useEffect(() => {
const fetchSessions = async () => {
try {
diff --git a/src/renderer/pages/Home/AppManager/InstanceListComponent.tsx b/src/renderer/pages/Home/AppManager/InstanceListComponent.tsx
index 6df7118..64cb223 100644
--- a/src/renderer/pages/Home/AppManager/InstanceListComponent.tsx
+++ b/src/renderer/pages/Home/AppManager/InstanceListComponent.tsx
@@ -12,6 +12,7 @@ import {
import { AddIcon } from '@chakra-ui/icons';
import InstanceCardComponent from './InstanceCardComponent';
import { useAppManager } from './AppManagerContext';
+import { trackButtonClick } from '../../../services/analytics';
const InstanceListComponent = () => {
const {
@@ -37,6 +38,7 @@ const InstanceListComponent = () => {
const handleAddTaskWrapper = async () => {
try {
+ trackButtonClick(`add_task_${selectedAppId || ''}`);
await handleAddTask();
} catch (error) {
toast({
diff --git a/src/renderer/pages/Home/index.tsx b/src/renderer/pages/Home/index.tsx
index 7503f86..e90648c 100644
--- a/src/renderer/pages/Home/index.tsx
+++ b/src/renderer/pages/Home/index.tsx
@@ -17,7 +17,6 @@ import LogBox from './LogBox';
const HomePage = () => {
useEffect(() => {
- // 页面访问埋点
trackPageView('Home');
}, []);
diff --git a/src/renderer/pages/Settings/index.tsx b/src/renderer/pages/Settings/index.tsx
index 865ea12..ad0f744 100644
--- a/src/renderer/pages/Settings/index.tsx
+++ b/src/renderer/pages/Settings/index.tsx
@@ -1,4 +1,4 @@
-import React from 'react';
+import React, { useEffect } from 'react';
import {
ChakraProvider,
Flex,
@@ -12,8 +12,13 @@ import AccountSettings from '../../components/Settings/AccountSettings';
import GeneralSettings from '../../components/Settings/GeneralSettings';
import LLMSettings from '../../components/Settings/LLMSettings';
import PluginSettings from '../../components/Settings/PluginSettings';
+import { trackPageView } from '../../services/analytics';
const SettingsPage = () => {
+ useEffect(() => {
+ trackPageView('Settings');
+ }, []);
+
return (
diff --git a/src/renderer/services/analytics/index_template.ts b/src/renderer/services/analytics/index_template.ts
index 6ce8697..c4009e0 100644
--- a/src/renderer/services/analytics/index_template.ts
+++ b/src/renderer/services/analytics/index_template.ts
@@ -1,16 +1,11 @@
-import ua from 'universal-analytics';
-
-// 这里使用了 Google Analytics 的跟踪 ID,如果不使用,可以直接注释掉相关代码,Mock 掉相关函数
-const trackingID = 'UA-XXXXXXXXX-X';
-const visitor = ua(trackingID);
-
+/* eslint-disable @typescript-eslint/no-unused-vars */
export function sendEvent(
category: string,
action: string,
label: string,
value: string | number,
) {
- visitor.event(category, action, label, value).send();
+ // visitor.event(category, action, label, value).send();
}
// 预制事件:打开按钮