diff --git a/packages/analytics/index.html b/packages/analytics/index.html
index 834405306aa63fcb1b8c457b287437097ff73c84..01a7ab6840275e1f57557af322f5efb15304e1d9 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 6a9ccf59fc917ee16f36aeb3a8b501e5584ddf5d..e168cb9973b9a1eefed26698120f2065c3fbbec9 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 9f188b80ff1da854afc5ff932d26c355dd3df057..3418f643e29759579010b1f70eff587cc9d4d210 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 b9d70b6ca4e6af4de44b047fa0d75a70104b42b3..2ccd9bcbad58e590b458ea8a06838b3bfec779ae 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('');
+});