0.0.4 • Published 3 years ago
mql-web-report v0.0.4
koznak-report
大数据上报
安装
npm i mql-web-report -S示例 🌰
import ReportSdk from "mql-web-report";
const reportSdk = ReportSdk.getReportSdk("appKey", {
userId: "",
version: "",
tocken: "",
deviceId: "",
carrier: "",
});
// 心跳事件
reportSdk.reportHeart();
// 浏览事件
reportSdk.reportPage({
pageId: "",
pageName: "",
eventId: "",
eventType: "",
});参数
| 字段 | 说明 | 类型 | 是否必穿、默认值 |
|---|---|---|---|
| appKey | 大数据唯一标识 | string | ✅ |
| userInfo | 用户信息 | UserInfo | ✅ |
| env | 环境 | "test | "product" | 可为空、默认"test"测试环境 |
UserInfo
| 字段 | 说明 | 类型 |
|---|---|---|
| userId | 唯一标识 | string |
| tocken | 登陆令牌 | string |
| version | 版本号 | string |
| deviceId | 设备ID | string |
| carrier | 运营商 | "Mobile" | "Unicom" | "Telecom" |"" |
方法
reportHeart 🔧
心跳事件
代码演示
import ReportSdk from "mql-web-report";
const reportSdk = ReportSdk.getReportSdk("appKey", {
userId: "",
version: "",
tocken: "",
deviceId: "",
carrier: "",
});
reportSdk.reportHeart();返回类型
Promise<void>
reportPage 🔧
浏览事件
代码演示
import ReportSdk from "mql-web-report";
const reportSdk = ReportSdk.getReportSdk("appKey", {
userId: "",
version: "",
tocken: "",
deviceId: "",
carrier: "",
});
reportSdk.reportPage({
pageId: "",
pageName: "",
eventId: "",
eventType: "",
});参数说明
ReportPageP
| 字段 | 说明 | 类型 | 是否比传 |
|---|---|---|---|
| pageId | 页面ID | string | ✅ |
| pageName | 页面名称 | string | ✅ |
| eventId | 事件ID | string | ✅ |
| eventType | 事件类型 | string | ✅ |
| dataMap | 自定义数据 | {[key:string]:any} | ❌ |
返回类型
Promise<void>
reportClick 🔧
点击事件
代码演示
import ReportSdk from "mql-web-report";
const reportSdk = ReportSdk.getReportSdk("appKey", {
userId: "",
version: "",
tocken: "",
deviceId: "",
carrier: "",
});
reportSdk.reportClick({
pageId,
targetId,
targetName,
targetType,
eventId,
eventType,
});参数说明
ReportClickP
| 字段 | 说明 | 类型 | 是否比传 |
|---|---|---|---|
| pageId | 页面ID | string | ✅ |
| pageName | 页面名称 | string | ✅ |
| eventId | 事件ID | string | ✅ |
| eventType | 事件类型 | string | ✅ |
| targetType | 目标类型 | string | ✅ |
| targetName | 目标类型 | string | ✅ |
| dataMap | 自定义数据 | {[key:string]:any} | ❌ |
返回类型
Promise<void>
reportExposure 🔧
曝光事件
代码演示
import ReportSdk from "mql-web-report";
const reportSdk = ReportSdk.getReportSdk("appKey", {
userId: "",
version: "",
tocken: "",
deviceId: "",
carrier: "",
});
reportSdk.reportExposure({
pageId,
targetId,
targetName,
targetType,
eventId,
eventType,
});参数说明
ReportExposureP
| 字段 | 说明 | 类型 | 是否比传 |
|---|---|---|---|
| pageId | 页面ID | string | ✅ |
| pageName | 页面名称 | string | ✅ |
| eventId | 事件ID | string | ✅ |
| eventType | 事件类型 | string | ✅ |
| targetType | 目标类型 | string | ✅ |
| targetName | 目标类型 | string | ✅ |
| dataMap | 自定义数据 | {[key:string]:any} | ❌ |
返回类型
Promise<void>
类型定义
import type {
Sdk,
Env,
ReportClickP,
ReportExposureP,
ReportPageP,
DataMap,
Target,
Event,
Page,
UserInfo,
} from "mql-web-report";开发说明
目录结构
src
开发目录
| 文件名 | 说明 |
|---|---|
| config.ts | 配置文件 |
| index.ts | 入口 |
| reportSdk.ts | 大数据上报类 |
| tools.ts | 工具库 |
| type.ts | 类型集合 |
tests
测试目录
| 文件名 | 说明 |
|---|---|
| mock | 模拟上报数据 |
| unit | 测试用例 |
| ws | webSocket监听上报结果 |
.husky
Git钩子相关
dist
打包文件
脚本说明
- lint
ESlint代码语法校验、prettier代码格式校验并尝试自动修复
- tsc
TypeScript类型校验
- lint:commit
lint校验Git暂存区
- patch
npm包版本升级
- test
运行jest测试用例
- build
打包
- commit
git cz代码提交(用于commit信息约束)
- 其他
CI、publish脚本用于CI发版、prepare用户Git钩子初始化