@medlinker/data-tracker
v0.2.9
Published
医联数据埋点工具
Downloads
5
Readme
@medlinker/data-tracker
多端埋点工具 文档
安装
NPM 安装(推荐)
npm i @medlinker/data-tracker
import MedDT from '@medlinker/data-tracker/browser';
MedDT.init(...);
全局安装
下载文件,并通过 script 标签引用。
<script src="/js/med-tracker/browser.js"></script>
/// <reference types="@medlinker/dt/browser" />
MedDT.init(...);
使用
初始化
模块需要通过调用 init
方法完成初始化。只有在初始化后,才能正常上报埋点信息,初始化前的埋点会被忽略。
MedDT.init(config);
config.hash
类型:boolean
,默认为 false。
当前项目使用使用了 hash 路由
config.enable
类型:boolean
,默认为 true。
是否启用,开发模式下一般设置成 false。
config.env
类型:dev | qa | prod
,默认为 dev
项目当前运行的环境,决定了上传的接口。
埋点方式
手动上报
通过调用方法来进行上报。
方法:MedDT.collect(data:UserDataEntity)
interface UserDataEntity {
/**
* log_type
*/
lt?: number;
/**
* event_id
*/
ei?: number;
/**
* event_param
*/
ep?: string;
/**
* business
*/
b?: string;
}
function Login() {
return (
<button
onClick={() => {
MedDT.report({
b: 'someActivity',
ei: '0',
});
// 业务代码逻辑
}}
>
提交
</button>
);
}
隐式上报
点击事件埋点更建议使用隐式上报。这种方式对业务代码的侵入性会小一些。
function Login() {
return (
<button
data-medtrack="b:patient;ei:0;s:web"
onClick={() => {
// 业务代码逻辑
};
}
>
提交
</button>
);
}
这样每次点击 button 都会将data-medtrack
携带的信息进行上报。
API
MedDT.init(config)
初始化配置
MedDT.ready()
调用此方法前的埋点会加入队列直到已经准备完成。一般在获取用户 id 后再调用此方法。
MedDT.setUserId(id:string)
设置当前登录的用户 id
MedDT.collect(data: UserDataEntity)
埋点方法
export interface UserDataEntity {
/**
* log_type,默认为1
*/
lt?: number;
/**
* event_id 默认为 -1
*/
ei?: number;
/**
* event_param 默认为 ''
*/
ep?: string;
/**
* business 默认为 ''
*/
b?: string;
}
MedDT.reset()
重置 tracker。
SPA 应用
- 在路由变化时调用一次
MedDT.collect()
- 用户退出登录后,如果没有刷新页面,可以调用
MedDT.reset()
重置模块。