From 512d01ac196369d0584aa8b84c179852512c7838 Mon Sep 17 00:00:00 2001 From: devin-cwd Date: Tue, 19 Nov 2024 17:31:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9EsetUserId=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=EF=BC=8C=E6=94=AF=E6=8C=81=E8=AE=BE=E7=BD=AE=E7=94=A8?= =?UTF-8?q?=E6=88=B7id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/analytics/index.html | 2 ++ packages/analytics/src/open-analytics.ts | 9 +++++++++ packages/analytics/src/types.ts | 1 + packages/analytics/test/main.ts | 11 ++++++++++- 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/packages/analytics/index.html b/packages/analytics/index.html index 8344053..01a7ab6 100644 --- a/packages/analytics/index.html +++ b/packages/analytics/index.html @@ -20,6 +20,8 @@ + + open link
123
diff --git a/packages/analytics/src/open-analytics.ts b/packages/analytics/src/open-analytics.ts index 6a9ccf5..e168cb9 100644 --- a/packages/analytics/src/open-analytics.ts +++ b/packages/analytics/src/open-analytics.ts @@ -108,6 +108,7 @@ export class OpenAnalytics { }).value; return { + uId: '', cId: client.id, aId: appId, oa_version: packageJson.version, @@ -221,6 +222,14 @@ export class OpenAnalytics { env: env, }); } + /** + * 设置user id + */ + setUserId(userId: string) { + Object.assign(this.#header, { + uId: userId, + }); + } /** * 控制是否发送数据上报 * @param enabled diff --git a/packages/analytics/src/types.ts b/packages/analytics/src/types.ts index 9f188b8..3418f64 100644 --- a/packages/analytics/src/types.ts +++ b/packages/analytics/src/types.ts @@ -14,6 +14,7 @@ export type Environment = 'development' | 'production' | (string & {}); export interface EventHeader { env?: Environment; // 当前运行环境 + uId?: string; // 用户id cId?: string; // 客户端匿名标识,清除浏览器缓存销毁 aId?: string; // 应用id oa_version?: string; // OA版本 diff --git a/packages/analytics/test/main.ts b/packages/analytics/test/main.ts index b9d70b6..2ccd9bc 100644 --- a/packages/analytics/test/main.ts +++ b/packages/analytics/test/main.ts @@ -6,13 +6,15 @@ const btnOpen = document.querySelector('#btn-open'); const btnClose = document.querySelector('#btn-close'); const btnEnvDev = document.querySelector('#btn-env-dev'); const btnEnvProd = document.querySelector('#btn-env-prod'); +const btnLogin = document.querySelector('#btn-login'); +const btnLogout = document.querySelector('#btn-logout'); const oa = new OpenAnalytics({ appKey: 'test', request: (data) => { console.log( 'request to send content', - data.header.env, + data.header, data.body.map((item) => item.event) ); // return fetch('report', { @@ -77,3 +79,10 @@ btnEnvDev?.addEventListener('click', () => { btnEnvProd?.addEventListener('click', () => { oa.setEnvironment('prodution'); }); + +btnLogin?.addEventListener('click', () => { + oa.setUserId('12332112312312'); +}); +btnLogout?.addEventListener('click', () => { + oa.setUserId(''); +}); -- Gitee