{"_id":"@hyext/hyext-reporter-ya","_rev":"43-a7db57bfe4c83dc32514edad20b9fbe1","name":"@hyext/hyext-reporter-ya","dist-tags":{"beta":"1.2.2-beta.2","latest":"1.2.3"},"versions":{"0.1.1-beta.1":{"name":"@hyext/hyext-reporter-ya","version":"0.1.1-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@0.1.1-beta.1","maintainers":[{"name":"mylhyz","email":"mylhyz@gmail.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"}],"dist":{"shasum":"1656eba1a1851d484a0c474563f4a2de9fa043df","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-0.1.1-beta.1.tgz","fileCount":6,"integrity":"sha512-vAh6VoGD7V6tm3tIicPwvD1Ke7qwB1ozgVI4Ahlv3yZgTm4v33P/23XSrOxymXhM3IFu0Yy/LDj+NdcJH5lpDw==","signatures":[{"sig":"MEYCIQC6BoW//KOy/tyjUcmvFp5yPNZ9FJtQwVKBf8yRuZBZhgIhAJdEdOxmBDv5Rl9JLjkbJ9hCXF6nXwbLeiL5xCWPSE1H","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9YRmCRA9TVsSAnZWagAAUYoP/AnqQ8872tlyx+GogsDl\nmLY4WNmZFkFoi1yOL+ui0X8VeSrqnsHSIv2CLSA6grTA5qM/mA4Jav54BCAg\naA6DhCFrplwrFb8CkNmsMM49magL0ycxhsX4pHNU02fRrZn+G2RuFNwYy/l5\nwebAubWNslAA+MdW313Hpqc7pyDrDVktZX75szesjg0B2mC0DXkiyfeXihLz\nWMNSj5CDj62xBVsYsHUrvenz674h9GMYaxfcUmysomMKfws8gWTEoBDl45Zz\nFk4RPHbW/XNhwbFJD0/5HWd/40CvIT7bufpv6SxC4RckD4jmdVSYmCKe5GFK\n9MueZ/nczRSzY9Fj2P8BqE6+0lYyUOKmgPCaqFi4SVdiQIGltSNia05SldIx\nbg7Dh0CU11ZpXfuXSxdqnTugJ0HdzZZchAXy1NCVwpbRK56MTKKjuFIGNGUL\nBuWM4n8JTfDmx7ORKcH8cpJqlCVksYFRayetZPwHVFlC8GbTEd7AFpvlrWyj\nF21bk95q5fHl7OoWu48SkaDkf18Eo/epyMQGbwxJQqSHmjVWkCaVs2hbkOmO\nvvmke8MkZVZw7qj5l21ilnZdrrmjjR0IuorwrTQdm1789E0d2GjqztXOrIli\n/FXoc8tgWa/XzsdSFqJdxvAlPXkU9uPUQbwimNYP+Iz186xYnO2v93lVydwx\ngKMi\r\n=GC15\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"6.14.8","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.1-beta.0"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_0.1.1-beta.1_1626702950344_0.759495800957892","host":"s3://npm-registry-packages"}},"0.1.3-beta.0":{"name":"@hyext/hyext-reporter-ya","version":"0.1.3-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@0.1.3-beta.0","maintainers":[{"name":"mylhyz","email":"mylhyz@gmail.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"}],"dist":{"shasum":"6f01acd54d509adc0051d4091fdd42b6d8bb0e93","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-0.1.3-beta.0.tgz","fileCount":6,"integrity":"sha512-nHSwrOHRtzzJOZnmOz78x7DslPU4CXv0AHgzRCiYXfflN/L87abounIf52kQXZ6ir/LSm9pZ4MpnqNjROOKCxg==","signatures":[{"sig":"MEUCIDIy8g/9/FI5XKyS8a3QcW4Ib/mNYdy/MGDpW2oeK/leAiEA93yWUhO4v+F82Gcw2ZVXBbPd/VtaI1khmr+cz756UBo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13870,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9YXUCRA9TVsSAnZWagAAaO4P/1vfDf7/QuXphVWyhclx\nFg15LAV0IB/cYTtgcvL8JXpAfjHNB/qV7qewumhYNu99y481/H+Hy3Tb/lEh\nwy0EiBmfZEVjbHAVqCfaJmizwhBaxNFnLeCHrxks9l/6TjwqCRDP27XEiMHo\nil5oJ3PtbSM2shynQuI2pFr/GQlRjobInde/3iz70X46gA3fF2OSRCZBFbvR\nM4vAycHp9cXRiAG/ql7e66xDPy8omA5A/n6QJrYJXjpS0gLIpnVswtds1VVk\nOiVPaNeHdBHyekDMq8QB4hp0wZYH8TnbakQN4nEew05u72JFZoG9OeXtUGuW\nSMtjxU4zodhe6XTfowCX2+N2HfG14msUPpP29J/sg5uTs3ED46po/Hf1+6Wy\nCP8a3PQGaGdjJ8Dv1uQRfAe06EX58w95Ls0j6aNmkk656YOJYWdzveUoIhPi\naeU9numsQE/JwmFFxSR+jSu/oD1/5+ll64I1X6LrJHU36zYIqHcCoyVx6ygg\nc/EC2QJuytVP+zu3bJ3NkU8NeHuqk87yWQeDtf/vdb4XAc2rQ9jnLMDnf+pQ\nRrATFcqjEKJD/4Sgwr6p5qdUWDHVmY94UFJOSrY48xrIZmdXMM1yiZylsthJ\nJlBbrt8JKuE01VIEiMDJL860Gfaly9yEf5PSlIhGGICDHtA6QEIQ42oupEcn\noZiy\r\n=jcTS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8)SDK 端产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 2 秒上报，会收集延迟时间内的所有日志；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya --registry=https://nexus.huya.com/repository/npm-public/\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数       | 类型    | 必填 | 默认      | 说明           |\n| ---------- | ------- | ---- | --------- | -------------- |\n| CommonInfo | Object  | 是   | --        | 日志公用信息   |\n| YAInstance | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport | boolean | 否   | true      | 是否开启上报   |\n| Debug      | boolean | 否   | false     | 是否开启 debug |\n\n#### 日志公用信息 CommonInfo\n\n| 参数    | 类型   | 必填 | 说明                                         |\n| ------- | ------ | ---- | -------------------------------------------- |\n| ext_id  | string | 是   | 小程序 ID                                    |\n| uid     | string | 是   | 用户 ID                                      |\n| pid     | string | 是   | 主播 ID                                      |\n| game_id | string | 是   | 品类 ID                                      |\n| env     | string | 是   | 环境信息, test-测试环境, production-正式环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"production\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 60s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数   | 类型   | 必填 | 默认 | 说明           |\n| ------ | ------ | ---- | ---- | -------------- |\n| fields | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数   | 类型   | 必填 | 默认 | 说明           |\n| ------ | ------ | ---- | ---- | -------------- |\n| info   | Object | 是   | --   | 上报日志信息   |\n| fields | Object | 否   | --   | 自定义日志数据 |\n\n#### 上报日志信息 info\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### 关键词取值及描述 key desc\n\n- 预制的一些 info 变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields 敏感关键词（传入 key 值不能与之重复）\n\n| 参数        | 类型   | 说明                     |\n| ----------- | ------ | ------------------------ |\n| key         | string | 由 info 传入             |\n| desc        | string | 由 info 传入             |\n| type        | number | 系统默认值               |\n| client_time | number | 日志创建时间戳，系统生成 |\n| ext_id      | string | 由 CommonInfo 传入       |\n| uid         | string | 由 CommonInfo 传入       |\n| pid         | string | 由 CommonInfo 传入       |\n| game_id     | string | 由 CommonInfo 传入       |\n| env         | string | 由 CommonInfo 传入       |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"5144f2d7d3ca9e85cfe7c77249b7c8bcdf845ded","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.1-beta.0"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_0.1.3-beta.0_1626703316226_0.2741723655677737","host":"s3://npm-registry-packages"}},"0.1.6-beta.0":{"name":"@hyext/hyext-reporter-ya","version":"0.1.6-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@0.1.6-beta.0","maintainers":[{"name":"mylhyz","email":"mylhyz@gmail.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"}],"dist":{"shasum":"5ff59919f34ceb5f67ce900aabe47fc62b5561d8","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-0.1.6-beta.0.tgz","fileCount":6,"integrity":"sha512-GheZOJizK/JI8gKEhm/zGZk3BJhPY8R65ZicQaqZCA7JTfDw0ynIcbMsQns45bETuv1g/NqGfrJ3dQn99vphGg==","signatures":[{"sig":"MEUCIBkaazuA1MIGd/bDzNe5KjgfrCEIORWDmYv+MsTpt15ZAiEAo3a6aD8W+3uKxBckMwL4aryM8QiEZYleY/Q8SoijfPs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13870,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9YdLCRA9TVsSAnZWagAAF5sQAJ/bDOA5JouhK9DH95un\n2/ecpWvl+Z8bJonYW2b3PSR8ZjEemNhjOjMzRcP6Qkf+/IdNH2uD4vNXr2Gt\nUQv+WN1n0r1b2Wh5iFIPZVhhJHKyzqiDaCsWvCd4bioo1Ma/PjNqBqmWPOc9\nJSD4NJUodnKNPQoRr989rn57kp1hqTdrhz+nS0PsJunMGFpaT4G4lvHl9Zr9\neppkNhIbhiLCVM8JSf+kZ/dKkjjxmIT+L9Z8v1noYiaBvmEJsY3wqNzFSKVi\nxxtrz6XkCrmIfDWvq4GrsFVNaeK/gCMPLAIg4H5wklJtcQ1t+7yfEBRFfizs\nmstM2wADrSZskVNtLubuOEmOhuIgNxgHzwEiIK1JlL0w6K2sZX765lFxmMDL\nLbSpoHnFcD9kk0fcAHjIxGcXOwsfqZOmN1Ef5GrePKpe4PNnPXTqYe51biqt\nMO6p+kb74bq+LYyQU9KwYTtdsBtpzFkhGC54C7Xlc/wFFOyeLXkf3NhEYUwU\nBe1tjmnuk9ciFIafOT7hbVUfcL7Y2FD/tBXaUlRi8ztvLW/tV7afBZ3wFyRR\nO7TRxpAb+jqtUmbIzhHfXPIh8FKI7mGQv6emyRed22lKckYg2Wz3lt81QS7X\nLch0pEm65UxCdsPuAb3Upx7hG+ZsLCza7TqxLQPD2XXPzOo6ekaYX0dVECbn\nPU9o\r\n=MHAU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8)SDK 端产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 2 秒上报，会收集延迟时间内的所有日志；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya --registry=https://nexus.huya.com/repository/npm-public/\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数       | 类型    | 必填 | 默认      | 说明           |\n| ---------- | ------- | ---- | --------- | -------------- |\n| CommonInfo | Object  | 是   | --        | 日志公用信息   |\n| YAInstance | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport | boolean | 否   | true      | 是否开启上报   |\n| Debug      | boolean | 否   | false     | 是否开启 debug |\n\n#### 日志公用信息 CommonInfo\n\n| 参数    | 类型   | 必填 | 说明                                         |\n| ------- | ------ | ---- | -------------------------------------------- |\n| ext_id  | string | 是   | 小程序 ID                                    |\n| uid     | string | 是   | 用户 ID                                      |\n| pid     | string | 是   | 主播 ID                                      |\n| game_id | string | 是   | 品类 ID                                      |\n| env     | string | 是   | 环境信息, test-测试环境, production-正式环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"production\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 60s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数   | 类型   | 必填 | 默认 | 说明           |\n| ------ | ------ | ---- | ---- | -------------- |\n| fields | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数   | 类型   | 必填 | 默认 | 说明           |\n| ------ | ------ | ---- | ---- | -------------- |\n| info   | Object | 是   | --   | 上报日志信息   |\n| fields | Object | 否   | --   | 自定义日志数据 |\n\n#### 上报日志信息 info\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### 关键词取值及描述 key desc\n\n- 预制的一些 info 变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields 敏感关键词（传入 key 值不能与之重复）\n\n| 参数        | 类型   | 说明                     |\n| ----------- | ------ | ------------------------ |\n| key         | string | 由 info 传入             |\n| desc        | string | 由 info 传入             |\n| type        | number | 系统默认值               |\n| client_time | number | 日志创建时间戳，系统生成 |\n| ext_id      | string | 由 CommonInfo 传入       |\n| uid         | string | 由 CommonInfo 传入       |\n| pid         | string | 由 CommonInfo 传入       |\n| game_id     | string | 由 CommonInfo 传入       |\n| env         | string | 由 CommonInfo 传入       |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"61b922bbed458528e675879d1ac1ca175441d075","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^0.1.6-beta.0"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_0.1.6-beta.0_1626703691210_0.473518487347919","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@hyext/hyext-reporter-ya","version":"1.0.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.0","maintainers":[{"name":"mylhyz","email":"mylhyz@gmail.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"}],"dist":{"shasum":"4e927e4c5065396e9ae7904f71d35d144559a6a2","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.0.tgz","fileCount":6,"integrity":"sha512-tyUxoMmkuDmMjpgCbfMSXXKr4Tg7Fxk5hwk0vfyw7/Pz5NGQPV5vJmC9zFz42bpa9pVQmn07uNwhNGzNGlUt7g==","signatures":[{"sig":"MEUCIHmB9YiOmXhcOwGdqLvluzCQGB8PXqZOUVKPi2BuBLQiAiEA89HlYUAVS8Wq0Qxg+GSND84C904LovhFqGsQRboTCDM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13856,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9YhxCRA9TVsSAnZWagAASI0P/2N2F+5RMwb4QPwttv2J\nhICgnH6akb96i5b9MNtwaO66Z3Ct3V8uhJoL4kgc8pPm4pvPIAG5mAOdHtdd\nmg4lhpkQ1UjdW2bJ956p0laol+Sj0UgPUNGOL44ndRL3surZZUiQgHgRj13W\n3rW/8BdA9v6IkdvjTLPGTdSK7oaZWB7Cw6tOEYLMbd/dFb6/XbEAHqlvpBiS\nxo7sYRksRFg0FjAvxXmBtk+jFWu6aw1evlqk1j34bn5aWbhe0sgG3BwAfQUx\nyKkJypT2/QN/HOyjlSKN4EqReb+4UnOG5H+cqLNyCHhnP2pYTelFkATnerm0\nVF26WQKdCETUtH/oATElBjRcgsA6CsbCgsKk3U9BQny0xnNBmyj+wxvQ6JgL\nMu9HU4f6KKa9cYTZUmq/IQjliT/Aj06O4kExC6x8jkIGEc9iI+7myg57g3tj\n+tYW49g93r+2gJqbUVqcONqGY1NfCdQy7VUST/r/fkLakKBV+QPo8xYhgumW\ni0oNB+54D91ZPGlD9oNR22NnqfN8vvK4Uoyet85Qot97AQwBMeqNVmdqPnsD\nBm7UjJZBKXnOs1L/PkqknLXSwoTHgPuU91XijRkjQ78GHxDU/lX28dTF88wz\nSU2QlVqbH0vrQon5mhoiARreI80v/dwq1kepg66Zle3oP6rLW7DTnMFmMI57\nmlcj\r\n=Gwnn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"14772e76f0f0cc9731e9299927e3aa4014557d3a","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.0"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.0_1626703985695_0.47465355880163096","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@hyext/hyext-reporter-ya","version":"1.0.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.1","maintainers":[{"name":"mylhyz","email":"mylhyz@gmail.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"}],"dist":{"shasum":"c70b84ef6c4b1935fcc63c33afc4c9c415a22478","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.1.tgz","fileCount":6,"integrity":"sha512-/JtuZJafHvWgQrmYrLcoJs74FyyA+JW9L5VYczLjpsMrtDKrKzlCS6dUzr1KEM39hzNdFTyYDyUaF29eT3HMkA==","signatures":[{"sig":"MEUCIQDEEkn9fPcG71y/L5ICKf2fZwaZukl2w80HI0TmU2CRBwIgdzIEq0nB/IVZ8XT6QxGlXLb/5pkVoDYUyuywTAah43w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13799,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9YkJCRA9TVsSAnZWagAAwWYP/37McjtPOVY4O3kU3Q8U\nOeSdbIJcx66Xj2jN2u9S+NDunwbJxfqPre2Rd8UoWKesyhoCFJSPwpeM4jdf\nfd+SqOv5pufRCPpBlkE0u1+/g+Qn1775acgRSAJHsU5/8uO6VCHEbMjlCg+U\n1GhlvTIjPjafD/bvsSUnL4w8misjy7SumEBbv0rpppC9zCHNABq2tSwagQqc\nWf5foctv2h9ZQ+bxEXOYIINOZ3e67igY249CEb7uJulTghbiHX1GXDo4FU7b\nC04A8vDm0mP6Q7k/PQFpmcK0fSHm2ZiTX6rnwCgEOGdWWcCz1X/gCI1fR51O\nvxQwsW6X1KjdlpNUkcK5VudNABTHT6Voyr59CW41aRPajCV4lXFav19mV+7E\n+9nJQQ6El87r59K3NHV4Ryz4/yiEIIz/JpQ1PJmDr+g3yVr8RP612L+FKIAF\n3+zC3HaoG3J9fRtoindAdiKwwE3/BNZdRLS+Pgc0A6q8iQ/qvPeb/ciBwhGv\nCb0Kai0XpdOdf1gAZOnIsgMWUFzwPCCj5VRkwx4W+8PEy6DfTyHaPUB4+uTc\nagtbrgE6wemffmIf2LBDD76rPUGSzCdpPdtG05wuteazNS+YGHZA+HoxH/Yp\nRZq0hGXBF0+Ge6P5+yvNOELFDnHpKwO8tfj9NJfMFzvIsXwPSLZxG6+0uBcf\nMGJb\r\n=FuxZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"4ec26a7a40850fdcedf4207587d36ec9ffbe9f1c","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.1"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.1_1626704137724_0.125924389826213","host":"s3://npm-registry-packages"}},"1.0.2-beta.0":{"name":"@hyext/hyext-reporter-ya","version":"1.0.2-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.2-beta.0","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"9655430fbb540cadfbc0943cf4a9d142431b5625","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.2-beta.0.tgz","fileCount":6,"integrity":"sha512-ZEj3CzT6J8ZldjnAMI2/VAZHpLEvUiwOVMtaGZw/N0KQ3xJ/xA88ofHR6UY5EvbD378twv6BKIToQHkp97nQkA==","signatures":[{"sig":"MEYCIQCtI00wezIYFStfGyRV6rZ9eOqzQa36Cr1E7ceNQ3B03wIhAN877ZQ3Bd2GB9TbkUowNA+fxPIKXJpyAP7hBkpfp6dR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14009,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9ujZCRA9TVsSAnZWagAA2sMQAITRFGB5e9csZ6vI/pgh\nEH8RYdMxme7nZFeWEOOe3VYwPrpUfJUjOGdrZ1cP/BWa4qfucAl3VAvB2x+W\ntstFFvGccrsg5cyPN5Ze5EgWc9QrxhwALzGZmntd/RDvGO0YLxUXaclTJkNM\nn1kReI+7Epkvh0izzvAFcXzku+YnkBB4QNW1xeRLZEhDWJQF3s/qsMpS7x2n\n9UcCPx58tDxQ8MKkgESmDb106CsvyiREGr56YemXOu43VQAAxB65VPGuqdpA\nPf5itaYeU3wDFTWzrhUbbQPnVrzz1N/bj/oCx8T9hGudmTbmYcpkCXVFixmE\nfE8owJpDMPvktcNhwuy3q+9EEHzjaF4As4aU1ePW2ZzE+ISeMOr2/fs/Kx5P\nz/mvQI0R5mFDOoFhoRLsZ39Y752cBMF6pBh5RtSwnD8HvU50T7uBT3Jk3Pwq\n5XfiuE/RuaHJfedf3Yglzb4wA6O45vOzysbZ/1Kfk4Jxik2byZGwHc6AB9+a\n2KhU2X7LRvrPtYg7sEq2dGrtbpjXBYgQU32dkTsihODmW+i2kmgXACfCohZF\nz/e45yDuoVKdWhcC+cWPP0jPpjA/0bJ7eILeaPAjyJ0hIXL9hIHAqd1g5Eeg\nG3T5oEPDLocSji1AB/UC3ESkfn8PIyxG9mpQytWuKJiDN8pUqBq89Ht0Jq+X\nAJqh\r\n=pLSg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 2 秒上报，会收集延迟时间内的所有日志；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共信息\n\n| 参数    | 类型   | 必填 | 说明                                         |\n| ------- | ------ | ---- | -------------------------------------------- |\n| ext_id  | string | 是   | 小程序 ID                                    |\n| uid     | string | 是   | 用户 ID                                      |\n| pid     | string | 是   | 主播 ID                                      |\n| game_id | string | 是   | 品类 ID                                      |\n| env     | string | 是   | 环境信息, test-测试环境, production-正式环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"production\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 60s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [info](#info)     | Object | 是   | --   | 上报日志信息   |\n| [fields](#fields) | Object | 否   | --   | 自定义日志数据 |\n\n#### info\n\n- 上报日志信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制事件信息\n- 预制的一些 info 结构的变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据对象\n- 键值不能与以下值重复\n\n| 键值        | 类型   | 说明                     |\n| ----------- | ------ | ------------------------ |\n| key         | string | 由 info 传入             |\n| desc        | string | 由 info 传入             |\n| type        | number | 系统默认值               |\n| client_time | number | 日志创建时间戳，系统生成 |\n| ext_id      | string | 由 CommonInfo 传入       |\n| uid         | string | 由 CommonInfo 传入       |\n| pid         | string | 由 CommonInfo 传入       |\n| game_id     | string | 由 CommonInfo 传入       |\n| env         | string | 由 CommonInfo 传入       |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"61a52551e5120277c49a825842b4556c2a706528","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.2-beta.0"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.2-beta.0_1626794201157_0.8429472281616981","host":"s3://npm-registry-packages"}},"1.0.2-beta.1":{"name":"@hyext/hyext-reporter-ya","version":"1.0.2-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.2-beta.1","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"62aad3d032e6d08141b0f1c3823464eb4447c2de","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.2-beta.1.tgz","fileCount":6,"integrity":"sha512-dukdMFNXJJpaRP1H6xfmLTJIl4BLCpuXfq8keUaueJ3bcm+ObVBUpgnMSnaqZSqINoM+nytjb5wnz4uEDOwehw==","signatures":[{"sig":"MEUCIQDFyHnRn+FmuI8m/IzXkZQvkkAJteRODLgzJEEtdOh0GgIgSYunQfP2xqX+hUDr/ry7ZHj639GAnoUbQajsH9buluk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+TVkCRA9TVsSAnZWagAAqD8P/jp9Da7WedxW18uumGQj\nnORq8aC40QiBXJMfg+gRl7GuWYlEP5t99b9z7TvnvogTR7B8nQbQ/GPDmRtj\noHTxp/weQShruIx9ExR45TCobVeVfEnlf2jqdf+vrpxxE8wSM0q7mVkkOpRK\n6C0ej2QoeKFcolw/T6RL83e8j8WYbudAJo3GNNZJQILlySG5a8phQUpVVQb+\nGBoQVMXAn2diyfuEXr8f0w+HySqtB7cNGYKLfKMZOXohlq7HjhZbjW3UmOm/\nGg2ifXtPUdVzlSwvnnS+o4nCeqcXtQvpV/KuuPZTR29ktWCPsaAWn271qe2O\n4uvaInI1DLqhHqBM7fDmCbyhkxEmT0RdCEcxIAsy9X5C80Bq/zrR+yfiaz+s\nKEdQA6yQxd4Fwls5Q8UHCPg3LXsTBGbWYLEcQQkZ3i0pPFx1ooUhooS/Z53p\nS5sozsbJpovzH3dylS2KKnraRCq+Xj0D5JnZwd7JvkVL34XWWLIL4t2o/Yz4\n+dTXZhEEF4qnl9i0Hw8QEfpR+759KHMtbkDXvPeXkLifYuQe10lk4icHXvPu\n0h1XSkoy4Fh3LCbl4yTQ06gavsT06bUFMMobdV0vGkZZ1D8Y1g/6mmucJTvP\nBYB5gLaOXH481zs3ql7qMFBrDwB7270dhuW2l6OnHNNecoPhinmKYhHI0FKq\n+jEZ\r\n=3VUd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 2 秒上报，会收集延迟时间内的所有日志；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共信息\n\n| 参数    | 类型   | 必填 | 说明                                         |\n| ------- | ------ | ---- | -------------------------------------------- |\n| ext_id  | string | 是   | 小程序 ID                                    |\n| uid     | string | 是   | 用户 ID                                      |\n| pid     | string | 是   | 主播 ID                                      |\n| game_id | string | 是   | 品类 ID                                      |\n| env     | string | 是   | 环境信息, test-测试环境, production-正式环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"production\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 60s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [info](#info)     | Object | 是   | --   | 上报日志信息   |\n| [fields](#fields) | Object | 否   | --   | 自定义日志数据 |\n\n#### info\n\n- 上报日志信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制事件信息\n- 预制的一些 info 结构的变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据对象\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 键值        | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n| ext_id      | string | 小程序 ID      | CommonInfo  |\n| uid         | string | 用户 ID        | CommonInfo  |\n| pid         | string | 主播 ID        | CommonInfo  |\n| game_id     | string | 品类 ID        | CommonInfo  |\n| env         | string | 环境信息       | CommonInfo  |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"8df787404be5edef272d1203d4ffcf0c7e429af5","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.2-beta.1"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.2-beta.1_1626944868050_0.6782466919351104","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@hyext/hyext-reporter-ya","version":"1.0.2","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.2","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"54976053c8d48b40350104de075765f8c6e748a3","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.2.tgz","fileCount":6,"integrity":"sha512-AV+WGF7Qvl+QqXyAEB4dmwMXaVtvwYC7gsyylVukTvXhhBkblV4hauUEGhSmXYgiKf7gZUGwSPlMfqitQaTdvA==","signatures":[{"sig":"MEUCIQCPnisLrn/qDzPQJYULuQ6J4+MrYTzw9uD09PfKJ6GINQIgWBiD7HWNwbZuXPkX3Vivc2dsAXjW+b6GVZEW3g3eEAo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+UWUCRA9TVsSAnZWagAAWTEP/jlV+h3PT4s/x1y5grAv\nCLdMzdIY3arOwauOV1CLtSDHtbh1vapFm/vP1G9FcpQ8KX0KftJBeTJbq/Oq\nTbDLzPOW3jZD1qJJgC28YV71nYr/MM4ZvlIlTxeOG+HVXnsvLAcWyaA80z2X\no2xyy8NUl9htvIAUhfHJ7RTG4bPamgwJhUgkk3o2PtyDj+XOynG5r7QbNdF1\nAXE02VNEkE0TQ2HXslSelFZS6gNyOtQh0JYfL857bP+fzPi9r0FHwwL2jOIk\nUDi32BuQzqAM0GJ9ixTAC0DzRSbq7pF9C7x5rfysfLMqM2xeB10vDuSfxryV\nGk99/YEjzPIDSBWZaBQvVs+DIlIm760FoSdrJVgnuoKi2bA/a7SZx2iFO5Xt\njVSEDAMoCQiEOh3BRzWSEPzrzjdZkFG1HyiE/QH/+QuVYUMV7C4j7a4KzrJ3\nuAn//PYfe6ETSSyFr8qiUCh1s05N+vfMIM7BKCauu7/6Gu+mVY8UEs9a/xve\nCxpJqv4jAcPZO/9FVCutx8m74JRIazqYqeL4D0PBFTliWf+5IoJC4dr9/h4D\n/uWm49EHcd7N4KWN8rYNaVVr07dnmiI7UgPo/FT1IsyWB7klucdNavMHiKzu\nt+EIO5/Ub/GkuOgzspdB7qheBvgQjD0PNuUmtOttnPJ6vAjDtS4+e+ebsf5y\n8/WZ\r\n=GOJE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"01e06968875b62b67c3dbab3b242fa18d18c6144","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.2"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.2_1626949012818_0.07497610711179026","host":"s3://npm-registry-packages"}},"1.0.3-beta.0":{"name":"@hyext/hyext-reporter-ya","version":"1.0.3-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.3-beta.0","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"f123e0a1fa4f0493ae01f03102358a2c3b01a9a6","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.3-beta.0.tgz","fileCount":6,"integrity":"sha512-reZn8FX/bDhJqND5EgE3tdrvXR/HWXM8vWuGSCGYmfKd8fEdvl/gkJRmwZlq5fSmyetvSjyMbMDGNJhfBQPGMg==","signatures":[{"sig":"MEUCIEm24bS8PC0UJCafJxZ7A7fbqu0isyyOwHEX2GsOqtYZAiEAqmXsCIPeeZv7+Ai0NYXkLD+Yr3IgUuYB/r2xluH+dqw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14009,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhANpoCRA9TVsSAnZWagAAyQUP/A46C8ohGUF4X4F3v1Xr\nYIVE+QjXJfCoefZqYcn1RAY2/+god4zEjnlZ9ydBfrV9MNbQzRc8Kvblu413\nqhxQ3NIEPoPfVPkT8OqmFxwPBkBEIi/ZTdhTCTcQZxfig1xNJ3EW3iJGcXh9\n1uHRvsH73868EKs2dNfNSOkzDFDPr6sjZB2NmLAA877VkFYOVvix2RqOrhrk\nz+JqpkviIdgItvyuDics7oyGNS0IY10yO2F4OyHSm3QMLfwMGu5rFTvnBPgq\nchYqgIyeyOGKMbCABFOKx6rKNblRGoTFXoaYCeUcANmjOyVSSziP2s+ykaNi\nltg71LXg+VEkr7zm2JYawIi/7o69ewJZlSlzO7kuYProI+Jp05dKoaOZlj8p\nKOV5yKrevid7LX1Ca+zl7W8uibOl699aLXru/fXVRK0F0VJf1fWihKSQWOx6\n6w+u4K4B4Nmp5hsghhj09sHPqMtIplXEsJ71N3NmYg4DgjXPg4x8Q9UhXLpI\nDR+32PzIDLeNzJ8nd1G10WFO2EQgZds7ii0cpG7Qen6hHhTiQ12noAmvtFwG\nshzBxGF9TOIzSHxLm4HHM9fzO85VHpz72PAgT1PJLL9Hpm7zqWuqLCaydTnz\nySYYsgoyZLdnBcogj8xcPkufsvEUoDSYlU61gkiYISU4yOw1XzCf+1mMGrEW\nx+OX\r\n=qkSO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 1 秒上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共信息\n\n| 参数    | 类型   | 必填 | 说明                                         |\n| ------- | ------ | ---- | -------------------------------------------- |\n| ext_id  | string | 是   | 小程序 ID                                    |\n| uid     | string | 是   | 用户 ID                                      |\n| pid     | string | 是   | 主播 ID                                      |\n| game_id | string | 是   | 品类 ID                                      |\n| env     | string | 是   | 环境信息, test-测试环境, production-正式环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"production\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 60s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [info](#info)     | Object | 是   | --   | 上报日志信息   |\n| [fields](#fields) | Object | 否   | --   | 自定义日志数据 |\n\n#### info\n\n- 上报日志信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制事件信息\n- 预制的一些 info 结构的变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据对象\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 键值        | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n| ext_id      | string | 小程序 ID      | CommonInfo  |\n| uid         | string | 用户 ID        | CommonInfo  |\n| pid         | string | 主播 ID        | CommonInfo  |\n| game_id     | string | 品类 ID        | CommonInfo  |\n| env         | string | 环境信息       | CommonInfo  |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"dbeea70f12c471fd45f67962ccece82e350938e9","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.3-beta.0"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.3-beta.0_1627445864603_0.9925397649767833","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@hyext/hyext-reporter-ya","version":"1.0.5","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.5","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"2229fb75e0f9236ee0441e6a2cbc86574f5cac7f","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.5.tgz","fileCount":6,"integrity":"sha512-Ww3P/0pYuglYfF7WtnIsqIkSiSYUa9oCUrHJ0huzICuIcKpNrjw6ijjSZtEpYhenPwj9SVztE8GreEEyiOogmw==","signatures":[{"sig":"MEUCIGJx31ajpFumutoJdFdl05BGPTrynxZprAXSX4AgkNXBAiEAue0yKc0FScEK3QIdYZOdPg9tAxkroGs2KvhslswcCjY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAN8eCRA9TVsSAnZWagAA7FQP/j8A3/HqDg5QKGeeDGok\nvprcZtNCLT6Y2qNmt7SgTWiWxTNA2VMNa1aXKHeFfA86oniYPOFc2d2YRb/4\nWIxfJxwerOMvYcBbMO1Skqik6VtO/rd7XvNEl0ENzryYGMKLjTf6j8ZAZRCf\nZlqbf12Zi00tHEEChY9226z371O1B0NaNwAKgWcMTNHHgJ9GRQPEkWlwXQmk\noQTBmpL3kj3UePpSeMTF14+PHw3iQOMRTjDP+g3I0WnVmdOtBnTmsiug7V4c\nTPAUYdswPndv2/pNPtDNIehFnTcEnOHSUqJHAx4WI/Qxgl3REWSu39B8UD8O\nBLOXgFUSqesn4MI7IxO/IevFwMkgW6BHxvve7maEMEOpbm2jDFh2P+ZTbUwZ\nzIu7g108x/a5Ervj2Wgs3DLCBGPGHzIhfs1Loi+1hCXhJ+ly7723jK5qgUfC\noFAHHK9sjIY+Bnsz8ELXUXVmsi3jk68vtRycORiS3Wp1964QjR7plVkEYvp5\ngBoimTl724vaEhOaj+MvfP736d3ByaZ+kpeMQ9aJ4PMAx/28/tTRb5MyA3PM\nN9ocOHGgYwJDLCYOfDbkkNp0TLbpNKUosov17LuR/x6bupqvBhHYkPr3qiCm\nTfc5OFfdMDLX9gvHsDhYnbkg67zSHT+G0WRfQ7XYztpAgwmEwPDI4rq9hp2D\nNfO3\r\n=FLeM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"4b170fa3f894a0ac7eacdbd1830dc9483cab938e","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.5"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.5_1627447070275_0.11145462706528342","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@hyext/hyext-reporter-ya","version":"1.0.6","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.6","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"297048abf1714e2b202074e6300dabb56e032d32","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.6.tgz","fileCount":6,"integrity":"sha512-71hhT0jClyYMTfgBTzKgax7F8UgKnSYW28Detj2ai36QbyNwlnpE++AjIBIozeBox2tytVrawcfwiKgTTfZsvg==","signatures":[{"sig":"MEUCIQDDASOGACrLZ1rXPW59JB0FDFr9CpXwLuXaHHjAEfSsCwIgNg2NTe/bQ60Gr0D0f3Ex2cZh3O5N3KTDZp/faBfV5cA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhASN6CRA9TVsSAnZWagAA+/UP/1AfzgV5rBBSOdNy5FkD\nz48fuME276RXDDEWCEM8QJmSx7xBsCz+dUS7AdO7cPZ5W7exf5RHZ94O4oFs\n0daqK4jbeIrlgrYsbLIRYL5yTVP4MybLHaOQb/22FwAjw/DS2oPNkLwwbJDS\nEdjBgO4Hzla48MxwFuyWG90+Le2u0T64k1HDUIsV7PGb8q1cqgbvRnyGBtBA\nOHRJ/OqgscWILmwha8VbYmks6+x2w+wm2FR/yZeFmyIT9AozqIdnpwgBjNbe\nC2uM7xjthSBFwQ05whZdcibZMbEvW3X2Nmwy3RhA4DCOTESSYExR9V2jfn1c\nIu5JKN++Zzg2RRd0weWnCwLX+9xbLbJD3t/PBHg9T8i7i8x7GVmUlvY1Uw5Z\nrLR3cK7wRcjtSZK8cCQOTjh651EGffPUJ2Evo/FKW6FSpt3N5S4RHJeXTHpZ\nKm+MfDXRSviWIKoGbal7ck0CeGxICPqHE90ucCcLqite6+XijemqIUabHR7B\nzbs4HXbDh0culmBRLqxCe2ctiiTCPo4spQcPoSO+OM/d79en8Dfje28n5MEQ\nI1BbniLvatG76SOT+J2G7REV/DAz52iAczUGETvhhKmLn+aPSWkjfndjp6AR\nPO66I2MQhS0P5PvHt/osA1FLIAZ9WBbHleSHWLbEo4s5kUt6tcWVUiQVcaXX\nnrf5\r\n=svOK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"4667af5d865cba77ef39b97c719e2c1f70246f97","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.6"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.6_1627464570173_0.5471580541936223","host":"s3://npm-registry-packages"}},"1.0.7-beta.0":{"name":"@hyext/hyext-reporter-ya","version":"1.0.7-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.7-beta.0","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"29dc7b32c6a4db72e4e3fcc2d9b0f58a57ecb4c2","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.7-beta.0.tgz","fileCount":6,"integrity":"sha512-mmwvh+Eph4KIVpnFtf26YJpwfKmV7TDEE5BRv2cGcCGuuD/OTnZL0YBm3hUjR/VJVVIIXYBtJm9N8HQmnLq6nQ==","signatures":[{"sig":"MEUCIHW5D7Krgd1LinpBFTib2f4vdGShLx0FjcwP075xrCAzAiEAvVLsImXHLOMlH7eroFVBHguo0ba7dZ+deQQA77KZ0X4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14009,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAWagCRA9TVsSAnZWagAAufQP/0A6vTcWNYvvifja8Wiq\nJaPuhJ+/UfvQH8bvzx90ytLchlW8fMEiRnTbl8nVcuY1H6U2t5W2wFhEqX/D\n9yd/eEq3SDU2vKNnlfiQj+gYEN7fSIGtItTFC6UekmXfsbdJjvr3KCqE/2q1\n7ofFtnK1is1VtMgXmxa2BIV8bIyouP1+GMSDA3iPjSkswi5QHIULQmVLM8eC\njs36qL/vCmZ+lvXJ/CNGfStOXLfOCsMNxweLbTkRag/UiYM+1FgIQ1qZP8Tz\ncPmt4UqzvDzTrkjHAXmkhdDo2KThwFvfCr5U+EnTMNoYCgxVVSH2KGn4CXrO\nFTQdikaCk92aTYxzUo/7SB3SuqkDBMueQf1d4/LaL79z5LxVsLK6ZUZ1DXRQ\nZCmlGACUUGtka0UXpWwFVG4kJneNUwFJQUVIRxnK05Dr24RwCh0F/+LYnoQk\nDN8ORbgv+Iyoykz/7zsmSwlTxPI2iucUVAsCK6dVXLZRhsvzHj6/3dmPBi+i\nZmVDYHltkn4hmpjnF8oIH5C2nvJ/1dRVH3SAlg4uMdzjfcBdMdRAMjuP4YAZ\nUeUxgqY02IPabLMQgxCzDkt7xlwQFERYvBy8YS+8Q6cSK4SSrjoHCPTUkL2h\nBXdhMAOrdEXocTLo8177v+1IaVWdIGLDPsLDuBqQ8xcQwkAAoDqkC7c29x9N\nfieC\r\n=f7uY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 1 秒上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共信息\n\n| 参数    | 类型   | 必填 | 说明                                         |\n| ------- | ------ | ---- | -------------------------------------------- |\n| ext_id  | string | 是   | 小程序 ID                                    |\n| uid     | string | 是   | 用户 ID                                      |\n| pid     | string | 是   | 主播 ID                                      |\n| game_id | string | 是   | 品类 ID                                      |\n| env     | string | 是   | 环境信息, test-测试环境, production-正式环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"production\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 60s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [info](#info)     | Object | 是   | --   | 上报日志信息   |\n| [fields](#fields) | Object | 否   | --   | 自定义日志数据 |\n\n#### info\n\n- 上报日志信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制事件信息\n- 预制的一些 info 结构的变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据对象\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 键值        | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n| ext_id      | string | 小程序 ID      | CommonInfo  |\n| uid         | string | 用户 ID        | CommonInfo  |\n| pid         | string | 主播 ID        | CommonInfo  |\n| game_id     | string | 品类 ID        | CommonInfo  |\n| env         | string | 环境信息       | CommonInfo  |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"fe4b1266bc6296f060f4c5248990adeff2ac9819","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.7-beta.0"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.7-beta.0_1627481760042_0.16556620515595322","host":"s3://npm-registry-packages"}},"1.0.7-beta.1":{"name":"@hyext/hyext-reporter-ya","version":"1.0.7-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.7-beta.1","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"d8f5b0fbd6b2e94d2098209395a17fac75875051","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.7-beta.1.tgz","fileCount":6,"integrity":"sha512-ou8e40QxRzEnEjIP8+lr+R+O9QeWOycxzl15Wxey5zQU3Zhd9UUGOFotibBrxq4Vd68/P7GX2BfCbIN+KNGXcQ==","signatures":[{"sig":"MEYCIQDgk1PCsxvRpKG1HTxh6fsBVeC0+pYQui5o8FRbnJnfOwIhAIhiqS2gYZVBOle2GVkIYQV4BYNuQVRFQDCzeTAZnVVU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14009,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAXCkCRA9TVsSAnZWagAAii4P/iThz1kr3QPUj5w6YmNm\nux6eDe9LyFmujJ8bCLERfDYj0jtniQIyUkyOy9ewKqw+FbTFHceXTID/USMW\nNPLqIsVP11zx2HfUIpLsRjMxdA8cTgsF4RixwyaJZeywUPyXJpHKD4ytEYc5\nh80LMbayJ9hUDru87NKzzBD630VVohNVDruoNlCmEgCSIkAQFngxjyLqbJwo\nEkFpUeT6WJ85GzEwLmf9m1Vqd/feW4+SugUXziOw/+Ned9m9mCCAfEFj+e5w\nnVGiVoRVd4XAkyH2RDkM/z+TUm0QzsSHP1tNiHKPZwxKIqd8bHhlBXtxe08j\nM69XF0UnPUXcPlKYvuUqxPW9HnoI9Amcfq6Kt3C7BRbF8Zo3ktfq3z2DVJWj\nocIXstu1ZJ/vkgs0eQMdpaKf4W001ur34c78pG0v3SR8d8bCwKCkhRWB8Sce\n7OyL3nXissOsGhwP3nAGYtV6B2iTu0cRMsTGYHkdeWnJq7Ft1aZ7pKOd56Ao\nFt2AVTa4a6MwhW++KaLbf9M5/bslJAXKJk/ILqSTbUFgrWRFI7nz2cmo3kT7\npcTCT3gfDmCJMBQiZfLh18hoqyJK5nISU+/m9j9WILwr+AYDHpN//CnacIRO\n5KDCeK/GpJHC3OnrmnjHg0/vG/Jjjg+9dwXCTle9pUbmhmYcE1JhZHETa6nY\nMWRI\r\n=qpvo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 1 秒上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共信息\n\n| 参数    | 类型   | 必填 | 说明                                         |\n| ------- | ------ | ---- | -------------------------------------------- |\n| ext_id  | string | 是   | 小程序 ID                                    |\n| uid     | string | 是   | 用户 ID                                      |\n| pid     | string | 是   | 主播 ID                                      |\n| game_id | string | 是   | 品类 ID                                      |\n| env     | string | 是   | 环境信息, test-测试环境, production-正式环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"production\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 60s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [info](#info)     | Object | 是   | --   | 上报日志信息   |\n| [fields](#fields) | Object | 否   | --   | 自定义日志数据 |\n\n#### info\n\n- 上报日志信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制事件信息\n- 预制的一些 info 结构的变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据对象\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 键值        | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n| ext_id      | string | 小程序 ID      | CommonInfo  |\n| uid         | string | 用户 ID        | CommonInfo  |\n| pid         | string | 主播 ID        | CommonInfo  |\n| game_id     | string | 品类 ID        | CommonInfo  |\n| env         | string | 环境信息       | CommonInfo  |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"506ce7770e006abf46f262adcf0004d1f331d91d","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.7-beta.1"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.7-beta.1_1627484324871_0.9272994633615455","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"@hyext/hyext-reporter-ya","version":"1.0.7","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.7","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"f3ea56caf2cdc5d1d64c4bda3d7438a3001d4d0e","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.7.tgz","fileCount":6,"integrity":"sha512-jUGtl4dUB5boTxNauZXv0B2K+X0ke+HbmJPebCXbfh92NPRCnEra0l89sQ+N9XDFicq5c+m3KZs+85+BYguksQ==","signatures":[{"sig":"MEUCIASeXOr6d+Pq80V7o9XD/55KjCqzqyvKrOj/j8aTMiLtAiEAlKpxwbQXQTHl1iM3j5rEcjFK2/xJMnNBODvZWokZI1A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAXZUCRA9TVsSAnZWagAAu+4QAI5oRExc/sEcrDOnmicz\nb8Zz5OuGbUDtkTJVnvsk5bOXcJ23jA+gCbCYIZqLOyeXvNzB0X+DQMN2zykJ\nSbO3MNl32PbwEtiVstq/bFPQqHtg/BZQReMPMDK9UzYoICFe7ZjMfReqpZ7o\nfV51GSGj2XnFnnorlE/G8szhXrxpS0Mk2p73jkwQCmxbenurm2ZsP3bXsBLm\nSZvP4AQbpSXyMBrPzVhIYHMx2D2KcaFKa06Rk2iRiXJlYz0DEfc2rZh7WL4k\nTtrQPJboXyHTp7dsus89rjJsyvQ/WitSr4FXtgqgztw+1JNTCv2tH/Y8wHxU\n9tS2Je2BtcxbFDVtKWN54RD/SLLP3H1JjvhXt8g3VhK31s1b82BUj72Ar8jh\nnkXU8lr5pv3IkCnwmdujLFC25AD1murefa5Ow/t10ud2huwPTdykSglHeFSl\nts8Bd7V4xLthP/H1B5tYrFcyjot+LjAE4yN1lS8NiiPzfoIwoC3nI22Xh0EX\nY+gzGS54prxEzjV2kF8GaarkRDQ0Rh8fy0DfGrdZuJqQjuqVT8TncMcdHmqG\nEuhReX6H9G7w4cQpcER/ZXMzWvrj0f2whV/P+v2g8yOfX+ToxQ7fkMDN+ucx\nvf3mLnNhvXiQZma/wl3fiHgvjnsPO2Wlhf6YE/pgE8tSmkAM6HV1Kr7Vr240\neJc2\r\n=kMsT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"584aeb7cf421eb90536b036251156a0ec985c1c7","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.7"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.7_1627485780279_0.7636748775683033","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"@hyext/hyext-reporter-ya","version":"1.0.9","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.9","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"bc636beeea513f75631cd405fe1fae92fbb6b55f","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.9.tgz","fileCount":6,"integrity":"sha512-eKnYKhehr4nYOqGvSxzHdYicEj+CT4dmP8UFChfA9zkN6X0OUBtEynqNEYrP1LeOIAj53oELwbors3gz0RSqmQ==","signatures":[{"sig":"MEUCIC+6JBUouC4iaNoJWywkkXaIgtbf/ybuXbSFCKjokHLAAiEAkM6s+W5Dm6GJcOBDhXSgVpXiX8U4qFeShyRE/+3Rml8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13957,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAitjCRA9TVsSAnZWagAAd5kQAIjWit3EhIFpQivZbIzs\nDZJany91OroIrwqc2NY4JDODHV6OWbQ2OuEHxzJw5kMvu0g2hR0PCMicTYJo\nKZoCrt1rLzvUbSLddp3X5RkyydRbH9PVCYar2PboFTzyYFZL1CwlsqFQEmKQ\n8iITOD6GHLBuanvhAXjBTdY5KwuzF0BOhSwrybgvFmltTvccBYsJheTP7qDn\nLgxOAC4FzI80CaoEf4rFF/zPuZ2umdw3pGzlAvpqM2iv9lJJUDh63scDepHy\nKZF60SMrIXfl7FiGHikQ3lx9HCkW9ffHYuOYI33oga/s9MGdtEUf9IeHFVWb\n0zEvz5sqorlhKoQFzf06lIMnOl9azW4u6kCsM5iI6VPQDUoGssdPiZhQKqVo\nj3UlizDwoddQyujcR9Da1MvGUrsdsdxyf8vr6Tpp5/JLcgBVRynEV8S3IaZK\nF/kVYeejXnLaw42+Y6JDtR8AUMcOZSfSVcqzHuV/GxcmDCzWFzHCsl/KJFUe\nyf/i03rZetE3DykfZ208UGx8QY9IubEvDGzQ4S1WrR2U/jRw82oB1Zxek0nN\nGWUXITvf7KTjlgXtYTk2o94uae1NkFFmeLiXK30JYkWBsLEWHcb1ytn97CgV\n99Jop8fQ/zrYkvrg5T7uP1JIpafe6H8IzfNdJUXvsI2Ps8mgn7fUv6sqb6jV\nSJGg\r\n=rR+g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"b93de036d56b10718438e07c37fa635948b504be","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.9"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.9_1627532131006_0.5919210551408691","host":"s3://npm-registry-packages"}},"1.0.10-beta.0":{"name":"@hyext/hyext-reporter-ya","version":"1.0.10-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.10-beta.0","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"137e4f81315db2230a6ec245a1630afc2930af06","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.10-beta.0.tgz","fileCount":6,"integrity":"sha512-n/RIBPB+LP41LTsFnesYwaEQ5nU99m+ODdwDifeY46X4srM60YUR6k0M8hQxHE31vPwdfiqxTxGaetSKue7LhA==","signatures":[{"sig":"MEUCIQCZqq9BIL78qpNZ0lZNs02E0oOVL4Wp1G3CWxvxxy37vwIgGdhcE9RxCoS83dyjAyllI5xD0o8EDffRfO7atnXetBc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13973,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC+FMCRA9TVsSAnZWagAAo4wP/jl6WiavibAuSA9zEmFM\nTWxamudEPPQUi1Ceo+kePfOmofwpQjv0sTXPUKYnlUU0tZD8Crw1j4oE9low\nBQ643Coah0J+EgBvRUCydpJSTy8/6cRvbMVe9HK0Ph/NR+6U49znraMLsycA\nBD93tOPCVsntLgfDhBL/hS1+vKD7nIHAtVoZeH/lh3m8n3nZ//hHOX/ms6Qu\nrE6enW+zglZeWYyI5lilKUarHKlUGdE8MGYB7B/lz1plazLWK4YwMci8R4VE\n6lsMtkicwwVqndPwmCbj4HyQVk6OM7AgvugKWyLWIBVI50l8+DiUUszRfTDG\nF0AwDiRasSTKOztbw0uNAtQeji0cfr8slR0cW3SnXsR1dU4jc2us7thq9iMz\n9bBk1McTjGih/p49j6FkO3bB+YvxcG1/s/8KWNNIRS12BMqB2RJEmL5IpeJx\no1pgUzWOTpux2tknkBUdn45/PCW7f8jATKDso7/rHbIXdpBr2BlKG3eamtgd\nWRRSwj6grrCxOCSwyqV30JLR7bIX1w87zhGzZ8e0xOuvmZbDkJ20vknofqs5\nlDZSjcriFqSeKepG/NGw46JlGw5oYCuveWSeWAVitFu8O1xe1pruQl+0RfKt\nKLXfyYt5ev8yfmq3MgKU3WpxpvcmI7Jr8MefkIQ0BOdoPD7F9/CsxUgAt/D5\n7tDR\r\n=vckp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 1 秒上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明      |\n| ----------- | ------ | ---- | --------- |\n| ext_id      | string | 是   | 小程序 ID |\n| uid         | string | 是   | 用户 ID   |\n| pid         | string | 是   | 主播 ID   |\n| game_id     | string | 是   | 品类 ID   |\n| [env](#env) | string | 是   | 环境信息  |\n\n#### env\n\n- 环境信息\n\n| 取值    | 说明     |\n| ------- | -------- |\n| unknown | 未知环境 |\n| online  | 正式环境 |\n| test    | 测试环境 |\n| dev     | 开发环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"online\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 60s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明                         |\n| ----------------- | ------ | ---- | ---- | ---------------------------- |\n| [info](#info)     | Object | 是   | --   | 日志描述，不会被 fields 覆盖 |\n| [fields](#fields) | Object | 否   | --   | 日志自定义数据               |\n\n#### info\n\n- 日志描述信息，不会被 fields 覆盖\n- 系统预制了一些日志描述信息 [LogEvents](#LogEvents) 方便使用\n- 也可定义自己日志描述信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制日志描述信息\n- 均为与 info 同构变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 敏感键值    | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| desc        | string | 业务描述       | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"82d0ed7e3ce38e5f133621e0291a5939cb026b41","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.10-beta.0"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.10-beta.0_1628168524517_0.7114247394661486","host":"s3://npm-registry-packages"}},"1.0.10":{"name":"@hyext/hyext-reporter-ya","version":"1.0.10","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.10","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"d6e57268ae723942f3c6a47712fd55bb9013cad4","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.10.tgz","fileCount":6,"integrity":"sha512-Mwekoj/GjLlDqbRKlZrTOmJRF1enKAXGqUpo4RoiQUboDhwPxbeU3R060wS4LrGxhypglU8LqYHf1jLhRfqnow==","signatures":[{"sig":"MEUCIDMTeGQzkLNzCmBrbmo1A5GcedTX1RqCWwXugcObkwcAAiEA5IRClIWTiIeOplAtEX39DU7BgJscRIDkDe0Yw3g3X0U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13960,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC+j3CRA9TVsSAnZWagAAo48P+wWPtVWHvLZEFc3xoapC\n9m1o5xkyK4Nx20Wlc9mMMvgffHLJ9/Byd4ONCwPvBKz516Il8ufYJM7ei+oC\nTOKBWlrP2aj4vcOb6Truvc9Iwb/M8L9h1heiRWuxJOXWE5N4Yzfq/Z0t6Zc5\nijG3qSCx4e/MtZIDZTtScwLBEzsnI9VVypxvV0TdW3kuL7Bo0D09c7E4kJMO\nqy5wskNWkJ1SuuCIwTDwZT89nsCzYVGWHnkRi23nTcIoZE6n6PJrt66Q9PuJ\nt5Ip7Nyet9NZMSSbnEwL9d/JctX31KIb9MhigWB/3Fjx7AR0fpMLHY195DZf\nR2Cohgi036o5QeWxsoqxo7KfETF8XKIXVksOv0z8XkGSDwuGt9VAyndUxad5\nnYlT07FSYl3Tw0jkMb9zsPuETMncCOkYjevH7LS+MbstXQYLihpL+zKwIb+E\ne7lo8gNLlN/X3JgFaH+4Hx8ZdwdmmsWVB7gsdUewFYk5h98neBQsrka6JVRu\nhqwPsWUZI329t90jNmX9ueSdLB/Gxrvs1tX8+N87/7NZ+bhhS/lR6LW5J4Sl\nvVZpt0ORjiUxnyqK8Aa++LEw3FgfQ7gk8ehiD4iAPBCgv9/WdhUbBtD3qURt\npWmX435g04jyjrYa7OAAq6Y6A1MMAeUuJhwK+gpiRcBsXv9VmhYLd1rHojUY\nfQYC\r\n=RVTH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"7c5c1353c2d4a1d2fdca16a0b93569d7cee05b32","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.10"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.10_1628170487107_0.8381262953837243","host":"s3://npm-registry-packages"}},"1.0.11-beta.0":{"name":"@hyext/hyext-reporter-ya","version":"1.0.11-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.11-beta.0","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"d6d171fa88835c21a6d47ba508d88a857c4361d9","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.11-beta.0.tgz","fileCount":6,"integrity":"sha512-55dza5Jk8Rop4pY2dL7Y0eCnJCV+yiUL07NbZ6DsMJ/KNIIwqURkoyNozsfjYGrcEM6aY7JuipXvIympQNOPwg==","signatures":[{"sig":"MEYCIQCAX9y7v7ugLpVdLer2wovkJUP9sYs+HuLpUiEz+dA4RAIhAOhP2793PwXGyNO8ps1O2Un1Z0aNmMrXt4OaQLkoM5co","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14013,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC/4kCRA9TVsSAnZWagAALQYP/jkZj3x5MQH4J5FlVfNk\nFGDq+U4hpxMY5hO/YWXx+HH7GMuWkDjlRB1LhnrQmns1O3Ero2fDJW1KHfyk\njJRTGwHKhaUS1lrZUC90DHuBPDxLGHDhbNnkGfF7FupHUddfcw7RbX9buBDg\niDXQyV2Efc04kjfrZv5EjZDxAjHq/q//NClUdEhCdTJIGYlYcgd0VBeZyTpx\nKcXgh1aRWlioWUZIUSQ6XXGMcuN4qJzL9GKTJADaxjEXplq9fDtTNRg9Q+n/\nMFcTgxjWOB3350/wwKJ+tAp7RcA1+lqxTh5gg+e7IpnHAN/XkEw3G8JqtfMx\nODPuUqZysX8XMfDup9pi+tM32lQG/UR4D38D5NTIatfdJB4qQejCFYfIj+ea\n5rfi5DAKWDjVUjB+IH6rQdqDp10FliXzK6rySgouoAAi3ZgqZURJS60HwqHr\nqNYsMLYOr8xcW0LBkPI5qCKyzZX4cng00t7d5zv62V+0RhwU/fypnugmnL5z\nG8ie2Ypq7XFaRokKw9uBRuMIfqFhcDcSYqHhF5elJUJvS3tPB/lS7Eq2g6ag\na48O+PBfJUcoMkC1vI4nJ/n29SfOmQzj019Tb41wg0Fjfp0P0skFmutxTtru\ntu5QmNIzm8vlXsDJSfeIWOPiEnBXzsy9hnmsaoYV5A0KOGD9xxOcb5fAC+ld\ntuZ3\r\n=nW+l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明      |\n| ----------- | ------ | ---- | --------- |\n| ext_id      | string | 是   | 小程序 ID |\n| uid         | string | 是   | 用户 ID   |\n| pid         | string | 是   | 主播 ID   |\n| game_id     | string | 是   | 品类 ID   |\n| [env](#env) | string | 是   | 环境信息  |\n\n#### env\n\n- 环境信息\n\n| 取值    | 说明     |\n| ------- | -------- |\n| unknown | 未知环境 |\n| online  | 正式环境 |\n| test    | 测试环境 |\n| dev     | 开发环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"online\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 60s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明                         |\n| ----------------- | ------ | ---- | ---- | ---------------------------- |\n| [info](#info)     | Object | 是   | --   | 日志描述，不会被 fields 覆盖 |\n| [fields](#fields) | Object | 否   | --   | 日志自定义数据               |\n\n#### info\n\n- 日志描述信息，不会被 fields 覆盖\n- 系统预制了一些日志描述信息 [LogEvents](#LogEvents) 方便使用\n- 也可定义自己日志描述信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制日志描述信息\n- 均为与 info 同构变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 敏感键值    | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| desc        | string | 业务描述       | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"fd9e2d347271c0e1e283ffcc4764cd6c7b5f1312","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.10"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.11-beta.0_1628175908357_0.19172687266896316","host":"s3://npm-registry-packages"}},"1.0.11-beta.1":{"name":"@hyext/hyext-reporter-ya","version":"1.0.11-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.11-beta.1","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"4aee9d2559ecba2c4394a4561c9284830ac41098","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.11-beta.1.tgz","fileCount":6,"integrity":"sha512-pt5JI8UVbOCMdIGBC6ujhKoLeXqeMmDhg2oEQbsKU7w3ma4ybe/upozyOfcz3OY487qFEuhGgdophPkq8H3eug==","signatures":[{"sig":"MEUCIQCE5JcCMcfgM6P9MH/9H//sLMoF8wUsVNnr7DM5+6zpCAIgXpQIFBbFYlEHZo/wBJBM4Gb1uDJVudTJWTdOf4seil0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14020,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDNZdCRA9TVsSAnZWagAA1zAP/jrmfsdXISpZ8Jo216q+\n3aWi2IvRnicSryOgy0ZU3aynakGHgFBT2m/2I5gNGajChV+eceQT89stYeRG\nno8j74rgZGAR5JgJs6+Ck1bVyxHvaa5rJUPvAYn5/FJSo003ManVPBjcYEoR\nChS4Df1DLF6VeDaLaL16hww8LnHmvCHd7k4yDeM+wKvsAz9h264t+jX6gJc1\nmUm6BigfgIOnB0mlEF3I1UC6DnHfbx1tRbkx98+fKIFXS1BxkXvf6fvHFn3k\nVbJ34on60o0+TOX+DtsuiRrIt5sU5hP0zMnCH4JIgkDu9IDvs9EBd62pm2jm\ntquxIvekm3lVeKaE7/FlDKdJ3MwkDrw8Ej83tktLxhcnZSbBWQssUrlbZzPo\nnW1yIoXOts3j0shge5ihH6XeelLFzXi+jwN2xyE/srb/Dn8TN1MLt9cVw5vk\n7b+SjqHYh6n3wWGuBRaL0rksrpVwYcW0X8adxl9C8HZ8fl/H33OhOqm/EHXu\nU3BGiZwQfoYVAEWxVglx+2nQXMtnSPUdE9fRk2RFRW+GfHcaklmRSOt0c2q0\nz5t5LJkApSpKulZa9GAOgavGYfaunlrEwTdPX9NYfXhuEhcyVYyfWZi5ONZb\nUR7EPCfu9YDwXoQk5Ajkvoofq2T7qWJPOWFXF+LA6WwfbxfzuHaZh5MyG4vN\nu7pQ\r\n=p4GV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明      |\n| ----------- | ------ | ---- | --------- |\n| ext_id      | string | 是   | 小程序 ID |\n| uid         | string | 是   | 用户 ID   |\n| pid         | string | 是   | 主播 ID   |\n| game_id     | string | 是   | 品类 ID   |\n| [env](#env) | string | 是   | 环境信息  |\n\n#### env\n\n- 环境信息\n\n| 取值    | 说明     |\n| ------- | -------- |\n| unknown | 未知环境 |\n| online  | 正式环境 |\n| test    | 测试环境 |\n| dev     | 开发环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"online\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 60s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明                         |\n| ----------------- | ------ | ---- | ---- | ---------------------------- |\n| [info](#info)     | Object | 是   | --   | 日志描述，不会被 fields 覆盖 |\n| [fields](#fields) | Object | 否   | --   | 日志自定义数据               |\n\n#### info\n\n- 日志描述信息，不会被 fields 覆盖\n- 系统预制了一些日志描述信息 [LogEvents](#LogEvents) 方便使用\n- 也可定义自己日志描述信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制日志描述信息\n- 均为与 info 同构变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 敏感键值    | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| desc        | string | 业务描述       | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"58e40f7a18db4330b5016602b3600a1eadff1bb2","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.11-beta.0"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.11-beta.1_1628231261667_0.12074073561153686","host":"s3://npm-registry-packages"}},"1.0.11-beta.2":{"name":"@hyext/hyext-reporter-ya","version":"1.0.11-beta.2","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.11-beta.2","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"5f52f0e3807288128c4425427a2ea8f18a70425f","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.11-beta.2.tgz","fileCount":6,"integrity":"sha512-v04wcopA4Xj8awJPg1Qy4V9LC/hwXyuf0ELOHoE4aw17SN+VNUFrQNWXeo2ZziPeLTVS9out2oKrieELjrMiSw==","signatures":[{"sig":"MEQCIHS75OTIYK+j9AEuvrefPEPCjKpOWf6xvZi9bS08kZ+eAiB6kTuj3ACm1nPHvSJUQ/Wdx9MbgfAsxy0yi32BrqMetA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14020,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDObbCRA9TVsSAnZWagAA75AP/1+ve5jwy7IkJZeyutt0\nnrj+O1Ekmvvk8y1UsxR+HpUqepIoPB2997K4pPEUn8+Iugpoil35b9EoZaJV\nd2BG1jZhI3KlppJ1fUg0LCl20e0fdH+TuWJvo2WPS12cXaJdpZN4cjDFy7v/\nFEuZD4l/BIVq+4Q82+oQDSFOhrOkZ/3fppPCTHXhKaHRLaIB7qgvD2JDmxiG\nVptNKXzg7GzfBq8CJVzYL/QF4MX0t0HLWmdlOxG9QiOYkaSNLkWaPa0S68KR\nRN/azlIwd2YT7oR/8KPaaTRrvbdEMwYQWhMu3UzQ+x6mrxHoIEv/rpMalGnj\nXJd/UpaDu6poAsL2zrbXsr3BkBBAsvLx+z7/sbZ9KVkTFs4koD0lbEFqnrCj\nWL5iQx4FF6YULaJIuqQ4KAU7YfDIJ3NZe39KlbgQ+eCOkvBuiaY0IbceRqsp\nsqb4I9Qc50+Mett7UBDNznkO51trFP+JfT+MFng3JBwGKPaTAh+jZS4SgYMh\n64ExLL2v4CvwQQMJw+3bdWQ/AU9qd5vSrzVsFZt/27Ov34JrwSSdHNLCyPLx\nqXcw38ZWuKWOSyrkKFZ03/Zl1DNgrW6poSucXEaVHo8ZJ4ctxoktkUNdfmSj\nTWcmjraQPAeZgu29L9EqyMCFnB+la7OSj6IBwhGNrdpcZ5sb2LHKD4S0RsIW\nJLLQ\r\n=JR1d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明      |\n| ----------- | ------ | ---- | --------- |\n| ext_id      | string | 是   | 小程序 ID |\n| uid         | string | 是   | 用户 ID   |\n| pid         | string | 是   | 主播 ID   |\n| game_id     | string | 是   | 品类 ID   |\n| [env](#env) | string | 是   | 环境信息  |\n\n#### env\n\n- 环境信息\n\n| 取值    | 说明     |\n| ------- | -------- |\n| unknown | 未知环境 |\n| online  | 正式环境 |\n| test    | 测试环境 |\n| dev     | 开发环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"online\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 60s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明                         |\n| ----------------- | ------ | ---- | ---- | ---------------------------- |\n| [info](#info)     | Object | 是   | --   | 日志描述，不会被 fields 覆盖 |\n| [fields](#fields) | Object | 否   | --   | 日志自定义数据               |\n\n#### info\n\n- 日志描述信息，不会被 fields 覆盖\n- 系统预制了一些日志描述信息 [LogEvents](#LogEvents) 方便使用\n- 也可定义自己日志描述信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制日志描述信息\n- 均为与 info 同构变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 敏感键值    | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| desc        | string | 业务描述       | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"70197915d3b064347e91555de02be216a628b27d","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.11-beta.1"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.11-beta.2_1628235483596_0.8873136264239205","host":"s3://npm-registry-packages"}},"1.0.11":{"name":"@hyext/hyext-reporter-ya","version":"1.0.11","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.11","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"9a591eba9f72d897a8a7c5b46cf32c0b6207e66a","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.11.tgz","fileCount":6,"integrity":"sha512-6vOsoPRygE6gDuyogxDJ138MFmwgAIyIA9We3OjR6DaN2Jo68ac4mhJyxa9aNfR89Al1bY3d9lPOsqd0BvuCtw==","signatures":[{"sig":"MEUCIE2/+9YfwXGM80G0J5OfIHBequ8QgoB+KtcJDLi7XQz6AiEAxn/1L6P8ggHB9LtYaUQYoSr3WttgSEMGaneW2HXCx8E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14006,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDO4QCRA9TVsSAnZWagAAuFAQAKAETfGhDe95+MmInxAD\nR8WCWdfqR57KrOX357YnrIijKO4HElIfcaR+rPU3OoBpK9TbmFf759J+aYXI\nAhWHyHpT9I3KVaQJ0qomoERb72eSTnasa2akiPC6pLYv4UrY4MESG6hyH0aR\nhzMaqickeZ/JVCoJH2gdjr1ZvlDXIsx8rDaD4ULPndTcZzaFttjfK1hiJ4iB\nQmtpjEyH3i/fjTvhwT/LwU/VPdkvyGAhHGK9yY1m/RG+5mdh2VQmaqEff08g\njeqil8aEd1ALXqm/2/G8AqxX3xyps97KMsyxt0PwBs+TEk8yLH+BPBSVXMW+\nJFivzu2gcWPZK3rU1CsC6QY1XhsTEgICz2w/wPOkkthDMsOdanxiNqk7BfQ/\nviwAMI+ZjoRYKHgUSuF4O2G9tO/mzKilu7pt4DsUMnVmyfs8Anjnp3DPr9UK\n6ORK5ZAzG0ZosCRB8kV8Ms+0dIukH4F77RSmfHIbVUu8T/H4VkJXZvv+eUez\njpfKYeydBI/oPl3i5nJNM4aKs036fMZCActS1++T6W5fg24jGrhkPGzVDnv9\nHGHec79vop+ivBP6uchqBD7G3EwvNEaQRyaW9z8s7uxRDeeW7P2x8tNNET8h\nkg4aDriXrSokNGsn/QnUg2dOUsDyoIa1Mvz1t4wzYnNsb21WzzLcDupes9DZ\nOe0e\r\n=ZNNV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"d138a66ac59213b265d72af84d8ac467f5666e23","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.11"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.11_1628237327894_0.0069570657830115845","host":"s3://npm-registry-packages"}},"1.0.12-beta.0":{"name":"@hyext/hyext-reporter-ya","version":"1.0.12-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.12-beta.0","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"18a2f3298ebf9870e04e070a7123930a0827c324","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.12-beta.0.tgz","fileCount":6,"integrity":"sha512-WRotVBYXK02wune0JT/gaGl4OEKdYXvDegdodAnyONSaoZh9kbHKLj+9KtvhRGANyHe4C3+AOz7mxO0AX1Uvlg==","signatures":[{"sig":"MEQCIBmnKBHGmJiYIKzIQa2aN+7oejDDNO8jg4V7T+8Gzq2yAiBB+q1yZqyXuObMDH1R8iaPvv+Ty+xqwLMBKRix1anLYQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14020,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDRUHCRA9TVsSAnZWagAA8vMP/27ONira1awntcRgm0HK\nGFJ+fFkJzPhUEQhFhVjNAiBOdyL+3Ibq+K6nC8hM7NxjVqJS21Ml9o5ux7k2\n4uZ/sMsAxJ6UG6rUO0a2HR5tgL0Kx29xC2hqEzXGnQWQ2z64DTeCjdWfBiT/\ndAOchFsd1eeAYFSNwv5wEbQ1oUU28bS62H/z7IfLKGe37Ar2Bx2+62K/6yKe\njPtwAOpVv2ZkvuuEne9oBgODWdBPLqOxo9MFOrZzX66skDpVp9puXPDo7HS9\n5PQha+46EnR+K76cO4m9GimDef13gBGlcJp7LJwc450Vcd5DwJwVnzSV18PF\namHECVP6KvXTJ8v89BaaZd5tEmdOxqagfdid3+J7B3RZm+j5Aw2xTsnA/5Ch\nAecfVi2IiZ7gH4RlwlD/fU2MKYDTFyAxBny/eKrdvrom72Eemum/ilb9/c6q\na1Ny+cL90dCBk7D+9oi4FMvq4TEcCciWfQC7cExLvGK+vmjI9eNqS2wKrGKg\nWQLA8exvwVg2XL+zYQHvp9a1J/hGz4CX6h7G3iN/qgk7IyyeBZxHZD3hq6OW\nrtXh18AGdwSOvIynSJSd63JIXYfOQbbzUVIb70m+FSrKYf1+xN3nHlopOKKC\n+esqRl1gwDWjblyEpZ1JQ4T0YyiNaxpmgvlgw7CW967vFZqEUmyvk4Vb0991\n1sx8\r\n=xG30\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明      |\n| ----------- | ------ | ---- | --------- |\n| ext_id      | string | 是   | 小程序 ID |\n| uid         | string | 是   | 用户 ID   |\n| pid         | string | 是   | 主播 ID   |\n| game_id     | string | 是   | 品类 ID   |\n| [env](#env) | string | 是   | 环境信息  |\n\n#### env\n\n- 环境信息\n\n| 取值    | 说明     |\n| ------- | -------- |\n| unknown | 未知环境 |\n| online  | 正式环境 |\n| test    | 测试环境 |\n| dev     | 开发环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"online\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 60s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明                         |\n| ----------------- | ------ | ---- | ---- | ---------------------------- |\n| [info](#info)     | Object | 是   | --   | 日志描述，不会被 fields 覆盖 |\n| [fields](#fields) | Object | 否   | --   | 日志自定义数据               |\n\n#### info\n\n- 日志描述信息，不会被 fields 覆盖\n- 系统预制了一些日志描述信息 [LogEvents](#LogEvents) 方便使用\n- 也可定义自己日志描述信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制日志描述信息\n- 均为与 info 同构变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 敏感键值    | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| desc        | string | 业务描述       | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"b41e437557156b1e275c5e15be0e00a778192939","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.12-beta.0"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.12-beta.0_1628247303658_0.33924521856428513","host":"s3://npm-registry-packages"}},"1.0.12-beta.1":{"name":"@hyext/hyext-reporter-ya","version":"1.0.12-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.12-beta.1","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"21367c49885703096fe9f64e8d4d932a54cafa98","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.12-beta.1.tgz","fileCount":6,"integrity":"sha512-Gi2K3kGNw+QHfzQZzb8rQ0zcsxC+ExTjO9w6Hvt8gjb5yBQUBORlKsZbaRqDNey2PXfSAoHyKCg1quQW/dRirw==","signatures":[{"sig":"MEUCIFJ+OzYXVHhs8yZQyNpzk0Bv46e/4AbtmnwYv6a+SCuaAiEAnvQi/aOnuXhflP1pOj8qxu+nw+hQh3/pcAJucI79I6o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14020,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEKp7CRA9TVsSAnZWagAAz/IP/RSptz65201OkhL2rtFr\nLMDjd0z03X50JrafHL/Yeh72WXgv8576z3io/XBCZBAaxnDoWcaB2cPkyROz\nyhbFo7doSGrn+lCiogSiOKiGQLLHE/uHRx6dLOBFJIR9Ii56srNW+XBemvzU\nTjQdFgLoDZhrLS5il1Gv+oRtHWWHOnSS5zqJpqYpA56M9zfboTi/5VzBikDp\nHLIoQMB8LZWE0oJQzlu9B8Bd/CsmycT5QBQAAMOqGvvYuM4SrViSmuJNAFQf\ntewHu/w2o58H0ppgf/br7XFxHO/FsDu8FvIA+jaTZ171THWeA2+xdoDv9hbW\nBwLHoh6bKKg+Dr/6MOrKjxAsheur5WuYpM/bCrIY2+c/Ermd9KrpUGmXgmKC\niVqqUYmjQVLRD3MzhXVXer0FPPzwot39oF7kMAMQABmNSKSudZdM9U9Nfn1I\nzuHXHUA5o+PQJXoqxilBrZrn51EVk0sZJPdT10xb+rRrNkiD1Gt1AdQWor3K\nm0wUJYLcmypH8AQbs4nnYbZ/smXPdjV/wlWnDEabv90Ktnri9pwSHsP8BVrH\nf4AVzUgnFmhAMYe60AoB0/MVo/p1uJl78knsOgPAkIf87VPRi0u89X7g6eI/\nZH3Q1ZFPgxAXQbGHeoYeMdk9kz+gPDCL9H9axUr691BZAjPiYPdaPwtoJdjm\nDbNM\r\n=r6tL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明      |\n| ----------- | ------ | ---- | --------- |\n| ext_id      | string | 是   | 小程序 ID |\n| uid         | string | 是   | 用户 ID   |\n| pid         | string | 是   | 主播 ID   |\n| game_id     | string | 是   | 品类 ID   |\n| [env](#env) | string | 是   | 环境信息  |\n\n#### env\n\n- 环境信息\n\n| 取值    | 说明     |\n| ------- | -------- |\n| unknown | 未知环境 |\n| online  | 正式环境 |\n| test    | 测试环境 |\n| dev     | 开发环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"online\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 60s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明                         |\n| ----------------- | ------ | ---- | ---- | ---------------------------- |\n| [info](#info)     | Object | 是   | --   | 日志描述，不会被 fields 覆盖 |\n| [fields](#fields) | Object | 否   | --   | 日志自定义数据               |\n\n#### info\n\n- 日志描述信息，不会被 fields 覆盖\n- 系统预制了一些日志描述信息 [LogEvents](#LogEvents) 方便使用\n- 也可定义自己日志描述信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制日志描述信息\n- 均为与 info 同构变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 敏感键值    | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| desc        | string | 业务描述       | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"fedf6b6ef0195a6983bba5bd545add2ed69fa84e","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.12-beta.1"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.12-beta.1_1628482171696_0.017974939290247516","host":"s3://npm-registry-packages"}},"1.0.12-beta.2":{"name":"@hyext/hyext-reporter-ya","version":"1.0.12-beta.2","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.12-beta.2","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"0eb4cdab0e436b75def44be71e69d74ea64214dc","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.12-beta.2.tgz","fileCount":6,"integrity":"sha512-MSiF6bWcCq6W6Q9iBmDxbZ9b8Vrp7tmCR2GUjMIX+03//lPN/+T7pXRft6ad0S4GOdsB9atR7qmqCo8k6sAOYA==","signatures":[{"sig":"MEQCIFZhV4jQp7C7FcxdCbsp8D3Z8HkPpRHX7Z6AOsTZlqmTAiAHkaXemIedszlPesWIlnfsnXahBvM4uWTE3QUJ7RIgpw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14020,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEMy+CRA9TVsSAnZWagAAZRkP/1cgd9fpMX9CaOjSaM0N\npyoPUp/kDKKyyuxtNw3HnwIlhO1LGeLVIMmqoXF689FAm5wGLl1rwTfetcKm\njiPgYi++bApWwsRkftqgGRycl8MAi0/4mia2XXt5NcRiS73viDeA+iagpJnN\nZwRkgV05kCoFCNoAY4yLSbkJABGTISRxTMpGRFXC56JSv4v8hK69FciaMM0g\nOvE7fCLdudvvN9nQTfTQ/xhF86v8/5dAnUBf7Zl3MCWiPWo1Au+EC8eswOEC\nPwdGeh3rZItMzKYIvv51h5U0ESPDBt48LjnvPq7I7G/HG1Y8yM93fPUmcUgU\n7DNlYiyD0IwRYJ4r0pKbiCiWSWOY/j0PHP1Tpb+Of/JPg/Fk9L1r0eDBhTcf\nI5sgUrM1x2qXqHwJSxonbxuKBHtEznGhoCYUJaXM225t+TvhN7zGYFpQOuMm\njX6uTb/P5O3ImmL82P7OqLnvV75h2aGIHvuenZ3CbVbXAHm+gK0MiBSIEXL3\n00kNd15Cx87xRYPGkxYDMXjh7WpQrClaS4BFCaFroLAKrvtxPSbLozlVE62m\n7B1zyDzJZjeaV1gBSnma2Iwd7nS/cmQCldCi5GFKE6OdtDyyOBVUDIxdGLWt\nKjrebZ4Vw0cap8NuN2zW0/q5ED2b4RtUYtB7rGF94EMpkOXMt7MHclFzbx0Y\nycio\r\n=o5v1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明      |\n| ----------- | ------ | ---- | --------- |\n| ext_id      | string | 是   | 小程序 ID |\n| uid         | string | 是   | 用户 ID   |\n| pid         | string | 是   | 主播 ID   |\n| game_id     | string | 是   | 品类 ID   |\n| [env](#env) | string | 是   | 环境信息  |\n\n#### env\n\n- 环境信息\n\n| 取值    | 说明     |\n| ------- | -------- |\n| unknown | 未知环境 |\n| online  | 正式环境 |\n| test    | 测试环境 |\n| dev     | 开发环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"online\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 60s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明                         |\n| ----------------- | ------ | ---- | ---- | ---------------------------- |\n| [info](#info)     | Object | 是   | --   | 日志描述，不会被 fields 覆盖 |\n| [fields](#fields) | Object | 否   | --   | 日志自定义数据               |\n\n#### info\n\n- 日志描述信息，不会被 fields 覆盖\n- 系统预制了一些日志描述信息 [LogEvents](#LogEvents) 方便使用\n- 也可定义自己日志描述信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制日志描述信息\n- 均为与 info 同构变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 敏感键值    | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| desc        | string | 业务描述       | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"dbc29cf2fb00f0b3222dedbf7a0fb26fcee55880","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.12-beta.2"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.12-beta.2_1628490942418_0.2751259343542303","host":"s3://npm-registry-packages"}},"1.0.12-beta.3":{"name":"@hyext/hyext-reporter-ya","version":"1.0.12-beta.3","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.12-beta.3","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"e8b38ad00b3e25449805f3249785869ad800392d","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.12-beta.3.tgz","fileCount":6,"integrity":"sha512-//tZpHJaoMw2LwckKTSr/NONaKzR6O52YTyfcyvzOUDCXNN1NuUnEtNUgZWpiWFjPvHAFn+TyozW39XuEkEUFw==","signatures":[{"sig":"MEUCIQC9/sRnsl3WKPFVZHN2e9ZJO7Bct24hQSGP7trY3seYCAIgND8ItmD3ACi8KsBT2RyMBBTFYkKT8mds7jDzmNWgEKc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14020,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEPe0CRA9TVsSAnZWagAAWMcP/jHe08OBy1U4tTGNTgtb\nXkQtxaqwvWKdFST6oyczJ78D1N5xk1BynX3/wI4k+PtbP6S5D8uhNj6F4ehO\nl5Oc5C9xnvhUab/mJxmK4AVqZ10QZAOlV+/E91jpjuGsyyC3wPxPxwJ7GxE9\nIDPUF6YYaVdSg3eI/jD4yYprgMcRplm5oVn3fWnW93qkUu/UCO5n3MG79gXl\nXvlRoLBrwt9AYLqwP+sQ3skcgQJoYbBZ3RWyqgVRsaWVx0YtMMIaV6FsoW/6\nahHzok103KEZRklej1L7Vdi8pmCWmhjfE8k01cEhkN4ADU+86Rr0M+zQ4j0z\nWDS0GI+cHBNR/gT4mGpCC5tFvbX4vxPVDcZdi+bw/w2bkhEVQGk+e9kKSHCI\nyGI9DDSnpbpJ01miSuyTtym3a5wWyEQQRBPg6GywkAJ7u31qdswjzhy4T5NB\noktuya05Zrvsnt69hQIoW+bCz6HOJU2HocBP2q0TcMycOr8ew59+O6kfbxbf\ntENwHKxs2Q4lg1kS7PAWvKvBgBvzX1p+SECPseWoUfrVxVgnZwzgdv9KAmc8\nOgYpVh5ph+y7oquimQ87oxw9p0k38ogQTba20O7Cnl3KEnI1GznsKI6AYANI\nhWy9RZayN4m9NXskGST+4Ef/3n3xOymE478IWvMru3crofo3FwKr1mZPKquo\nEJHF\r\n=CF7q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明      |\n| ----------- | ------ | ---- | --------- |\n| ext_id      | string | 是   | 小程序 ID |\n| uid         | string | 是   | 用户 ID   |\n| pid         | string | 是   | 主播 ID   |\n| game_id     | string | 是   | 品类 ID   |\n| [env](#env) | string | 是   | 环境信息  |\n\n#### env\n\n- 环境信息\n\n| 取值    | 说明     |\n| ------- | -------- |\n| unknown | 未知环境 |\n| online  | 正式环境 |\n| test    | 测试环境 |\n| dev     | 开发环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"online\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 60s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明                         |\n| ----------------- | ------ | ---- | ---- | ---------------------------- |\n| [info](#info)     | Object | 是   | --   | 日志描述，不会被 fields 覆盖 |\n| [fields](#fields) | Object | 否   | --   | 日志自定义数据               |\n\n#### info\n\n- 日志描述信息，不会被 fields 覆盖\n- 系统预制了一些日志描述信息 [LogEvents](#LogEvents) 方便使用\n- 也可定义自己日志描述信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制日志描述信息\n- 均为与 info 同构变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 敏感键值    | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| desc        | string | 业务描述       | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"b9e3d83b74ae5ad22a5195fc10408fa28d8081bc","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.12-beta.3"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.12-beta.3_1628501940569_0.0656064398985694","host":"s3://npm-registry-packages"}},"1.0.12":{"name":"@hyext/hyext-reporter-ya","version":"1.0.12","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.12","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"b5dcb32f00187a0d3a607bc9f0acf90431ef7741","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.12.tgz","fileCount":6,"integrity":"sha512-hTyQThoW7vPs7HpgE/ghBmqGQLN/Oq2Fx6cE0esUtXB9/PJEc5/d+kpmws7+fgrACj5KnY73w09fbVQQ+k/caQ==","signatures":[{"sig":"MEUCIQDcfa+0dbsCmoI3Zaj8UDGA0SPBFaSGdr4mezFAPDb+2AIgahyO7pwRKO12n3Rr0bZhGLDVC32cHWXX67jB6vtiy+c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14006,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEQjtCRA9TVsSAnZWagAA/x4QAI/X6MRuF/kDkDSrY3UK\nY8pcc0ZlwqlJHIPab/AT80k++wSHE2nZp7AqGVDikhOkcIncuNXWK7ULHk27\nm+SpjzfcQV106jda+HmaVOuD85hfRRqtAjK5razuCc332ZtZh26MQdwkS1L1\nO89XQ4WMID/QGjfqGolJ1R6ebESZSilkYxZ9zM1Gg0Fy2di6S570Z8R8nWUB\nIz2C5RJmdgSEp/XlJeeBlGu3Qp+NcQVYqNnU0aeDjHXtht3gWtlJkf/z0wNn\nckBf5ikAC8yULGZwVNS2Hj72vUZMX5dLLE0Te/sl5whXRLBLXvw9udVW5jZ5\nRBfz144PK7sFEWOJlEGV/iV+qUHkPzVSNPfAn1w5jDXafIPuGzcEaqKkumx9\nsoCGUD5Z73k6xfnIZPWHCpgfiEF4y+KpAR4MprEGz4TPpG5QcW3UpIH0jqZe\nkXEfh/LF9rR0HPLCLK7eaVeHK3SWXZuuR51T6zOcloAauk2KUYrlmrr8ROs4\nqlq22cEMYo3PbwxYTOIObYmXWZ5rk34Gh66W6Uu4xLXn3IN84miSN4LS1eYx\nc626OnMTQbzKTPVSEnrKRTvKRldcVOW8G76GUOYgBCe68hFg/X8wuFZ50dLG\nZP5tT8vxjhdrAheGFvI8KToEb7EMM1yD/c0c+flXZu7wT0anqAtSFnIUa7DE\n8wiu\r\n=UinH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"10f24d3eaf78e669032e0e55bc5b9c0861409736","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.12"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.12_1628506348916_0.7161279022572073","host":"s3://npm-registry-packages"}},"1.0.13":{"name":"@hyext/hyext-reporter-ya","version":"1.0.13","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.13","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"0630e4005514d664951504c70c4be57c25a5710d","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.13.tgz","fileCount":6,"integrity":"sha512-zYU+nxzpC1trpBveVh68BiBOpi5aGoXGYP0wKUQxbCzuYrdhQtN4zZkVDPEXLtlPGyTf18wTkICSsNMC2EIy0A==","signatures":[{"sig":"MEQCIE1vQgVfRSgiqSD7tFBHJCppUrEMigKcYk9gjwqbaHf5AiBjOSChombF81JRkaKmYSphf2fwzh7AWlXc0BXMOrn46w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14006},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"9efd2765df151c203b2842c3436b9f047e65bc4d","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.13"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.13_1632821520624_0.4996005030895576","host":"s3://npm-registry-packages"}},"1.0.15":{"name":"@hyext/hyext-reporter-ya","version":"1.0.15","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.15","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"5a5682eebf2b6b60673c30ee1e438085bf4055b1","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.15.tgz","fileCount":6,"integrity":"sha512-/iVbQy5xs12DJx+UKI1zxkuKzgHcrluH3S6nD/+WUVJn/beZls1AnU8Ye874G4qbgqYl9D91iHY4v4ls3zYXrQ==","signatures":[{"sig":"MEUCIQDFMqf0+exDYppGk1SkmO8XmLJ+Bkiph0wBSYzS9wSi5QIgar+jUK/ktLf+Qr1MYpelomjPdaCl3N3j7SXetlRese4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14007},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"e43df0f5ce662bf31194f17c12fa1a16aaa9cf58","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.15"},"publishConfig":{"@hyext:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.15_1634628153883_0.5442637009670275","host":"s3://npm-registry-packages"}},"1.0.16-beta.0":{"name":"@hyext/hyext-reporter-ya","version":"1.0.16-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.16-beta.0","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"8987b3fdb53968b01434e73d618fbb2d06b840b0","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.16-beta.0.tgz","fileCount":6,"integrity":"sha512-1AeIXrOYZb+x00oikq+b1fIzF1Yt8Qxhd4aO40bqxA0eb6wIeBx1DO7dwKh0P5RZyAHkTBoBTAewyNQcDncq8A==","signatures":[{"sig":"MEUCIQD6rfZ3GEB3B3GjKWb6X9jDjdtVB5lccFiiuLcfvV4n5gIgFfgURVHO2jNPxtAoFcpConfWEGYpYgcaCATNnU/PCu8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14021,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhn1ltCRA9TVsSAnZWagAA4UwP/2PNGCElsJB0gyGJvOmE\nY2lD2YMYOGE6Pt8cIJ7Qpsn9OWkbyPzOVvGMS76D6NU4TzF1YCLuX0pQKeIs\nh3cN85OlphxTII1whTWtJlpcjHe0FluPEbgOaCJjNrhBhVbpt6XBDLdNHw3o\nnJKVFpuZhzhr4Rc480YCGishbYBIs7h3q2fHKB5eoDmp2xMELRuqPVN0GZm9\nnaAeSHwzZQfAe/lqhMvLwnsfooE0HHGheiZftH9FhedMJrkKYq7Qwj9AL1Cz\nWQXk3/QhMZxvaoQyDGTv68x4H9C6ek+h5ebZNK/y/r7Ph9QMd1Td5E6/nyI5\n+0wNsnwpidg8+kPWDpvfQhmMTKZUzG+/6GT7h/N8KSNZuvPuF49aUNn6AFNu\nfsYK6BRFDAu95qNto0d4P2i/6vzYsB7H/p9OCviTgHhDbMH76kP/CEU0g6ZZ\nt6k5uCzcSuUMLfqGhEhMlnvfbQ3yI0C+EmEgUn/ka5DFD24OXYbdKf7jf/iC\nRzSWrhZjqsUw4nbzJTP/1G+1ng3C54WcHgm0SFBdWQasAJn4b/apsJRaxccL\nHtXqFenhW22WvQSyh1x1eVP02puk3lcohVeePCIGfh6sc+PfcmbFFHZ/SjiX\nd6i3Ppl4Nu+hdFNo70N8RxaBc9ThGx6wBuFu+D+p991iKs6pkJEIJ+i+39BJ\n10Gs\r\n=TbP2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 30 秒心跳一次\n- 日志延迟 500ms 上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明      |\n| ----------- | ------ | ---- | --------- |\n| ext_id      | string | 是   | 小程序 ID |\n| uid         | string | 是   | 用户 ID   |\n| pid         | string | 是   | 主播 ID   |\n| game_id     | string | 是   | 品类 ID   |\n| [env](#env) | string | 是   | 环境信息  |\n\n#### env\n\n- 环境信息\n\n| 取值    | 说明     |\n| ------- | -------- |\n| unknown | 未知环境 |\n| online  | 正式环境 |\n| test    | 测试环境 |\n| dev     | 开发环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"online\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 30s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明                         |\n| ----------------- | ------ | ---- | ---- | ---------------------------- |\n| [info](#info)     | Object | 是   | --   | 日志描述，不会被 fields 覆盖 |\n| [fields](#fields) | Object | 否   | --   | 日志自定义数据               |\n\n#### info\n\n- 日志描述信息，不会被 fields 覆盖\n- 系统预制了一些日志描述信息 [LogEvents](#LogEvents) 方便使用\n- 也可定义自己日志描述信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制日志描述信息\n- 均为与 info 同构变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 敏感键值    | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| desc        | string | 业务描述       | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"0da80c526ddf5feaffc6e55589993914d6e9de02","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.16-beta.0"},"publishConfig":{"@hyext:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.16-beta.0_1637833069124_0.018072443797443327","host":"s3://npm-registry-packages"}},"1.0.16":{"name":"@hyext/hyext-reporter-ya","version":"1.0.16","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.16","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"70d9b10167e66e1de04da43c4f4f963c8098543a","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.16.tgz","fileCount":6,"integrity":"sha512-xSlynOwKcJPh3H1KeXYgdeSwe1fKSWhUI5S+QRF3KoL2aA525EzIZNFnQmqv0DAowsYPMLKCI0oYaWcET3zpbg==","signatures":[{"sig":"MEUCICBOxnZvR9r/boV766Aom5w1opHJ7hbEgS0lCfcA3VKVAiEAu1SyE2PdJKMRURmX5ouUzXsGTHNSJpZbAFisMjOEmoU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14007,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhoK+UCRA9TVsSAnZWagAA89kP/2C90gEaRQ44cvRH5QWh\ntsb/1aLvXnwTt7UE7Z0LKP5ieXykkOb9ZsTw9itOhzvCpM3uWljJFZDEwHeE\nG5XTaejrLKSGamQ298q/lYAvW+N2/fdrRaSbECnS03Hduu0zzmzw6WbscUoK\nx27RhPyG4y0AaxxBBIUidPl15cYDZhtDwYalckLdP0sBrXalB3wo8jPrH+Zw\ntop/jsA2m7tAFGdfmZAmN/c9J2BwdpLMNdcXe7F8Ynf/uiiFdeStcin2ZvLR\nsX9GwmiijS51iDAkcocD52b6rQuYbPiMx6YbVQoiqbXvlQwS1vIq3j5zteZQ\nUoZUwybM85Jc5IhDExIub86Y8HkBJIVcW2kaO7wZs5kxdCJaoD882SPAyZeW\nZjG3dSs8JMbQRXZ1ajsLQ2mPEBqosRaXRETscr1NngCeo8yhJvoVPntF7ffn\nUwnFdvw42UXzmHWc4SjDuFWvfzJwbr1IvmDrhhPq8VQkjkwk+fx+C7kSNovj\nhY/yKOxcoI5kUJug2IhaJrxtgIuH0IOfslQKbbEH8OHGJgA/OWOuq5zG3MmV\nWdbau+XCDRzZa2lKSCg+WZKqIettFjMtNIM8xhxt+9QofpZPs7S2WWkmrIjt\nm9htiu5EchBv3z5aa/9QGYRB+UKLevHnjX4dZj1gCQ87PUf/H9LYOwQyoC5N\nOO/l\r\n=US1h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"84625b2c38c3ab8247b0e1b2ebdf5b0b70728401","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.16"},"publishConfig":{"@hyext:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.16_1637920659937_0.4077751486048644","host":"s3://npm-registry-packages"}},"1.0.17-beta.0":{"name":"@hyext/hyext-reporter-ya","version":"1.0.17-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.17-beta.0","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"d4810bcb610643e7c7659d576a052cf67f951ec4","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.17-beta.0.tgz","fileCount":6,"integrity":"sha512-Fhgu7VvKvBNacQ68BwshHTGwFAM9DWde0Vb1VUlr3t263rHZDUL0qauQGLQOubkKapZsgwFE5UjssbaVhtRSog==","signatures":[{"sig":"MEUCIQCRikGvld25b2ljpLzzSRJwEpggaRvqC/3eV7VsJ7kViwIgM23/GhDS5khxKmOGOr61TjKuxEW2FFSgaWBbQRXKCaE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14021,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuriBCRA9TVsSAnZWagAApa0P/1Xwwy+eyIqJ4o6P1Ol9\n0OpQ4YRiwSXTyhqqucOkJ10UBUXSeY4PdTuQqk6AaVuiIxRVi9rlt6F9X0kt\nIRoXKCWpCkc1ZSfdDXD0CaW62E60HZRdARzuQPUmyUCXJt+kiUp7LrJbu72z\n22GF4u0IKCIMWp+Zzn91qGhiDT/+32l9sWqCJ8i74/d7UW0CrfNeuFM5Bspc\ndnTi2Gah44N7zRdSw31ZNFtupHWuVO9T9oo17yweqh2mgR0mlLT2XudbHRhd\nMC/pOSWYmJBkg73X2z2u9GSu3bJL5oq2V+UZ/Rt9YlWEl40jLGV82WoHCJ2X\nWS0YZZtmk/n1i7sumkFVxWrT5wxc6im6+2mse895vPt3LNpWTWTC3egw8uDr\nr4C1sQ5eafP3CnuTwCMjkadoc8+PlhynJ+D3UIfGFUFLKe7oRgXJ9oGBzoBW\nJaJN9D1liXcZE3DIfxU/7rDJqRHA7hxapQ2wQWPM631fBQZIqpXMBxFQFeIS\nSm66ka33OwaqoLWwbE0s0kK6wlkcrIp2LqJhsPmN4/ysya6S87VmWAWpfSz4\n+0KvzqqhRgyrQobt5BAmqXqbAEMFm2i3bBZ+XEqNa57eN6c25ir0pnjP7pi2\nAjfJ7QkkrGKq3fYLtkICihyKCK/wWxtJfjNd3YgT9hXJxWa0ae7btRbp/j/b\nlG5Z\r\n=kvz9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 30 秒心跳一次\n- 日志延迟 500ms 上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明      |\n| ----------- | ------ | ---- | --------- |\n| ext_id      | string | 是   | 小程序 ID |\n| uid         | string | 是   | 用户 ID   |\n| pid         | string | 是   | 主播 ID   |\n| game_id     | string | 是   | 品类 ID   |\n| [env](#env) | string | 是   | 环境信息  |\n\n#### env\n\n- 环境信息\n\n| 取值    | 说明     |\n| ------- | -------- |\n| unknown | 未知环境 |\n| online  | 正式环境 |\n| test    | 测试环境 |\n| dev     | 开发环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"online\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 30s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明                         |\n| ----------------- | ------ | ---- | ---- | ---------------------------- |\n| [info](#info)     | Object | 是   | --   | 日志描述，不会被 fields 覆盖 |\n| [fields](#fields) | Object | 否   | --   | 日志自定义数据               |\n\n#### info\n\n- 日志描述信息，不会被 fields 覆盖\n- 系统预制了一些日志描述信息 [LogEvents](#LogEvents) 方便使用\n- 也可定义自己日志描述信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制日志描述信息\n- 均为与 info 同构变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 敏感键值    | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| desc        | string | 业务描述       | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"3cf24c74a95cf4e9f86bfdf2507b00a7af01a037","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.17-beta.0"},"publishConfig":{"@hyext:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.17-beta.0_1639626881036_0.788895425126148","host":"s3://npm-registry-packages"}},"1.0.17":{"name":"@hyext/hyext-reporter-ya","version":"1.0.17","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.0.17","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"2a3dadb9e484c32a556d559dd07a29b86643134f","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.0.17.tgz","fileCount":6,"integrity":"sha512-OFGPR/mS4XKxKfENXJy6m6ftuH62PW4p2Q/IhOwKNnNNtYGi/AjmG3XcFGbD/pn4g0MgieW35ncxXWiG2ETJyA==","signatures":[{"sig":"MEUCIQDXa47RIkxMoMYZYUaUFMF1ywD+GkdbRP9lIuuuV2RV3AIgOVB9H3QNiRWOpfbeNCpDaz27nbF7N5oeRNjYydJJlyA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14007,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhut6cCRA9TVsSAnZWagAAzVkP/jQLVNwF2u+u+OeUe1EU\nE8XB6oci7uCQrdaekgXrpC/cAp0hvHNU9bJQZP4x/YExXOn8NysdC51pUzT9\nzDQwL7Mz9aYsSy1uVDtJtn3Da/r7Rmtt0WhJPRvK8jXG7ST0x68Fb42zT2JC\nVAAup5fcFygMmRCLvgQqlqKfziReHY9JAZOTM6U54UFUScnFp8OjYN7yZrSX\nP8x0tjE7v51GZUUFTrZ+a0mPD5lxj/rufhsr/+psZw3kARAV9TvyPKCHplUq\nMC7eNutVcqA5Kv0zBq4s5/qlUNl4V6SXPyHkIsQf3ktPWetlqc3QiCkq3WFP\nn7oJMXtc9iWv8V7Lp1n/5MhP8soVZUBZvyxV8rR2dduHkOW2LRqX1M6MUjeB\n93peIeeTEjnIB6ZlqzgEQt33Vf87uAR+8XG8PeDXSU+WF6ZQs1OMQPYqAjaQ\nOpU2GQtXhiRHJZ68N915/rmY1oRYe9qSazan3At4C42VC0S30dhCzfQOCAZr\njyE9f63IRrTi+rzNBnhptqZQ9iZ/t0h9GQITzssaRA80NQZS/SgpI9eTa/rI\n/hOOaoeOctEVfvRDnNrLQb/dNEU1A2K6muyMM3wKSOk+kcXuMK8NUlH2vb/P\n/cKve+Lu2HZXsSrouZ3V/DvgWJnMW5TiWGlbOl2SkEE3xOE+ilDoGPwuNWgP\n7ylM\r\n=WT2P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"6c84eddcb4a567e10f9d0666ec46156d17966150","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.17"},"publishConfig":{"@hyext:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.0.17_1639636636755_0.3513041738936644","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@hyext/hyext-reporter-ya","version":"1.2.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.2.0","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"591338a1b4560c1f3714da0554dab4257f8df746","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.2.0.tgz","fileCount":6,"integrity":"sha512-9YB3CwYetS8StduExcnXAHOMppKZu6ByhkAvage2h4QOb2bg9Ub81g8bWbbg3ed2MK5goRDt9eMqCAyqovhy7w==","signatures":[{"sig":"MEQCIAI/LIBYghw+27BwrNR/SfAc1rHNVIRunYgZL1ih5J37AiAb4nF5qnopxHhp8/YMtRMYoQrpRgUFCoOBhuUasGvv/Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14005,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuuI9CRA9TVsSAnZWagAACcEQAIsY0HBnpRNWnqGVK4V6\nXMRYHsdzCHmW9ndCgKU5SUjhc+Q/3bv9EiA8kN8OGucVtFEGYZSoSLftzfyb\nWgevRLfaCR0QJ7MvYYwVAkNIUEedm+Nzo8I7sTjkAqbcO8+MQxziwn065lIl\nJDO5YVm6dNjRMij40V6zO4HjmEwJcUbGj7pwAb/lZYe+xRaCuS8z+T0N7I32\nN/rM3X8XhxceUI/RhDH7AteNvo6RK69b1KMTxgSdLTGJvGXQfhs+k0SOZoae\nOnHFiLXkUYx31j1wxuAUi+/pr+2xsjXDuOgSa1Y+5zPsop9SnDynXuYYeb4l\nfxfCUGoRG8U42pivfkr8r6/Pv6J3q/0aA74uy87lhggFV+bbyCH8DqUXPrCF\nm4CvIer2swQI2KBI8ZZ91lNSErCKlD4bFdHuhokPtewdRmvwFkO0rFimehGZ\n8OSN1uJb2pHgqVSW/71rGWg2q+KlJqlQ3G+V0bFwhWk51tRm0yEdFHSITYMX\nvh1ajS4zSSaZsBKis1tROq4/j8YTGnci575sHW+SsEjZ1FCvEJBrM3PswFGD\npGn0AYLNQcN2QvDpeTi9LHSJPWzRx7x3cPNGVl4csBQlCOfWNwwa7luM53tV\nkizjjeAXakwdv+bSW/QPQGep6Ccp15X6WChfc5tY7hyIZhmQsGz42xOt9i7K\nikRe\r\n=8/W3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"f4c8c7387bf619831e16d50f6221b1e9d5aabecd","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.2.0"},"publishConfig":{"@hyext:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.2.0_1639637565298_0.890387398364618","host":"s3://npm-registry-packages"}},"1.2.1-beta.0":{"name":"@hyext/hyext-reporter-ya","version":"1.2.1-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.2.1-beta.0","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"45b5c62593e2d069ce80cf9e350a51c059d04164","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.2.1-beta.0.tgz","fileCount":6,"integrity":"sha512-y6n8+s7Wi5n9mbTsvWiKRmErFG1wgc10QgoKcUrk+NeNYYNIagtd8WbaClaAOS6LgDFODlFaJwLzEI9lXk/wsQ==","signatures":[{"sig":"MEYCIQD47h+5NvtTPIlO61cgfmcJuQmpj7khgixTSHE5KwfxiQIhAPfqKMhxb2QxFXZddkntIxzqPk3/ZAfQFF+gX8b3qcJk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14019,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvJRXCRA9TVsSAnZWagAAb0gP/RswBsRWzzxPerSLfWmc\nx1/Aai3WdCT/rq+b/1iM4n5q2aasoiKq96vWNRUD+Rif/QPpYh2oofHzktTu\np7rIYTXfFL5k6kt3Lxp5RYU/7SAnZI9MH3OWuJ3bLFVXAquX+PeJXDsehkFp\nrjRFcK1VYk/cvFd+PYGOkD0qHFGdDo5THvaTCvTxa48uF8Op+lmw9sy+/RS9\nbnql50ykLgr49iP3Ylny+fP5tBVxV0vZY4iudHgJu3So7rBOU/rip5m8xcoq\nCQjzb0MKYBtVyn4QoGJAvR2PwKnXCE0tRJWsyS0abLGmBOMHCtSNBSwP07Cb\n0HDfhZ3A1E9lVHoCdyVlDQgwZIuYB5phMIsGxdK1WVijyaNx+znsNuCjIp9S\nGvEnzSFf/StO9W1xu6k4Zd0nwh/bqof8CTP/4OEW/bqT2hj/0zOYKbd3lx2U\n4F0YHcg4N6stefBEty6spfHOdrJCh1+ekXKw6ESdKAL9Yvea79IXxCZvxltu\nau9v7JN+UrlkIy86nkJpm2VtUHmBsPGaECryMrnnSbuue55gORHRi/CpDIaM\nI14n4v/ThY4pnjq2R3D5txaOfBknG6KQpTnh2SDT5ltxLag+hU3657uAcqM3\n/OdkQGuLlt0NCVDCRfvZ+nqq4TU3tkeaRXlvvZywPRS3CCeXZRn+0B/wXcSc\num1Y\r\n=1Gyu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 30 秒心跳一次\n- 日志延迟 500ms 上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明      |\n| ----------- | ------ | ---- | --------- |\n| ext_id      | string | 是   | 小程序 ID |\n| uid         | string | 是   | 用户 ID   |\n| pid         | string | 是   | 主播 ID   |\n| game_id     | string | 是   | 品类 ID   |\n| [env](#env) | string | 是   | 环境信息  |\n\n#### env\n\n- 环境信息\n\n| 取值    | 说明     |\n| ------- | -------- |\n| unknown | 未知环境 |\n| online  | 正式环境 |\n| test    | 测试环境 |\n| dev     | 开发环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"online\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 30s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明                         |\n| ----------------- | ------ | ---- | ---- | ---------------------------- |\n| [info](#info)     | Object | 是   | --   | 日志描述，不会被 fields 覆盖 |\n| [fields](#fields) | Object | 否   | --   | 日志自定义数据               |\n\n#### info\n\n- 日志描述信息，不会被 fields 覆盖\n- 系统预制了一些日志描述信息 [LogEvents](#LogEvents) 方便使用\n- 也可定义自己日志描述信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制日志描述信息\n- 均为与 info 同构变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 敏感键值    | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| desc        | string | 业务描述       | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"c4b437f74dbca28cbd14da8ffb48de50e2ff9b18","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.2.1-beta.0"},"publishConfig":{"@hyext:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.2.1-beta.0_1639748695540_0.8656163121958886","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"@hyext/hyext-reporter-ya","version":"1.2.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.2.1","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"fb120b09ff9d2e67f76ba33be02fd50a39095442","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.2.1.tgz","fileCount":6,"integrity":"sha512-5H0/vv6Ni4A6pI+J/babRnBi4WXtbcorCjHcR7r3oNNa/MQLRg9KMYy9IwKfR4VJMnQHwVMa/Js1HAHwVQTxnA==","signatures":[{"sig":"MEQCIBEywn6W5L4ysjrCNDiJ7SvaCrjF03cgCzdE31OP0vIYAiAnXNULDL0G7IgfFCViyq1tPgUEob0aEWjNjv0suqrUDQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14005,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwFq0CRA9TVsSAnZWagAA7RwP/iEosD59SUe7Wio5msqy\nHPERzOi51LdpuiMGNdjMv61VJqIBVhVLewHuGhCUz5AgOnH3kWJjte8c7FGa\no9j/ubiko5CxAKEdoDQ/68iMBDPBsFRQ5vnxuwR/+vwqtz79dPpNb6vBFQMd\nkrRh4Z6rJOnTfkJOPnM+9NV8Rm7DHr2daWOEuX+uz346HawZf+G0l3fYeA9u\nD97UiRbzeJn/MfppqSpZKKzu/MKqwG4Sp5s4RLgbMAGjeHS+S8H0lwNcsTIl\nn0egfQ0bU8hJKyhghH+B6SHUBCDJ2ZAuaMo0l824YKdktt7aOPMXxx7veqof\nThGJwnbxoByKIYuzCWHqsqOt/nxixExaY6MARXTDnKKvYae1FPsFyyHh4azn\n4G8ulCw0Gqauv2KXhRvMBdCgWSfJ8mj9tiyLqOifuqgE8dmtxmrSg9Z7F/K+\nRt+uXqS0TAyhE+YEH8kFb7zk83TogbdX10etwJ8RHmTzNyfQj6a0g+GRnr0T\nvSi1HZRsn616xrtfaUCJJ91DR0A1NzuhqhGaU5OOCk3Zg8wj+4aFWLeNjEk3\nyWyll39QYSihrjD+9qH9DwDN60/nfitDn6ijP0IGJC0XAKnHjRPjpC26gl5z\nVN8kRLivd2mPIho60gdmScwNawMXLMzptlv9Sca6LdO0cdVW9xUap7KXLE6f\nF81c\r\n=eQC1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"fc8536150d1beb52375f3037fab7c6a46f61b5b0","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.2.1"},"publishConfig":{"@hyext:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.2.1_1639996083964_0.6560829291250867","host":"s3://npm-registry-packages"}},"1.2.2-beta.0":{"name":"@hyext/hyext-reporter-ya","version":"1.2.2-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.2.2-beta.0","maintainers":[{"name":"hy-ext","email":"luzuoqing@huya.com"},{"name":"menglexing","email":"menglexing@vip.qq.com"},{"name":"wundereye","email":"icymindt@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"jch2020","email":"jchjob@163.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"},{"name":"quoc-vi","email":"13580557171@163.com"},{"name":"mylhyz","email":"mylhyz@gmail.com"}],"dist":{"shasum":"d9f1be476adda323aa6b1bb029c53262d40bb940","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.2.2-beta.0.tgz","fileCount":6,"integrity":"sha512-rs5a3MMHVlPONKMrckx+Ega0TpJjcRqTPNx08KAQ6EerSVesEtkOgpU1fAmMgRxm5wwhlDtq1TQVv86lZLPITA==","signatures":[{"sig":"MEQCIAukLNXPIbESeVV51rk8z8v7JNEVmBIa3KmVP3nf7tiMAiBLSQZ6GmxWe9jAdJn1bhKuFE+vqhLjF9BzlYA3hqPEHQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14019,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3qdACRA9TVsSAnZWagAA8HkP/2BCyWvI5GJU+TwrOOPK\n2CVcCjK5Z4ctkB23y9ZMdqdb7q0QbflnpP4OFvGFJWUS2C62T11lBtglRaL1\n4qVfrENCHCT6hfPt99D5HOJXmA7AaRRKiE/s2ra3UgH3lJPtlCEcmUmlXSvL\nJvcpvb0RPY1lrqmWQv8rmHXjbpXaNHGiu+x86XkQdXFKqAk05eQI6Z+Ac6CC\nIaomGxU9phZSwU4jlGaVwenXlE+lxuFiLxkmcmjzSkYwjks0PF9nS9xJuw9J\nGDgcLxlX9H+OS+Hze4aai7GANu7JDY+q2lf0X7pQBUe75Bw9QYQSCkwV0bHv\nU7jB3fTGUZdj+1bXVd8xTr7pPZRkRxDuxvzl0YWPxGS6hWPfEJ5eLc/u4bQG\nirihNM9DezMdKt7EymAnW4LXttu9afCb4AIsazdHCtRLOqSrN9/IZVzD+K2V\n+OM9LdfcA7gMsa/QBHRDVTXJGH/dnsSqljaExNl5vcqa83947NQ2NmBZpYZB\nxI+G7iimRm/uyte+JIUgGpPkR9YFoGVR9MCu/mHXNwW9W+kIpDhluuq6ukrE\ng+htQlt6Nn7xjDIIE0n1htt92PKiVAs7kMmeFo2qMVBDG5/OqR/QX9jr+9Gr\n1J/qw7xSyk6apldxxCW2qfUBmRxSKKg+S3V5uPQbtPj6E3Q+zT1hKglj1i6b\nPakP\r\n=VWPX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 30 秒心跳一次\n- 日志延迟 500ms 上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明      |\n| ----------- | ------ | ---- | --------- |\n| ext_id      | string | 是   | 小程序 ID |\n| uid         | string | 是   | 用户 ID   |\n| pid         | string | 是   | 主播 ID   |\n| game_id     | string | 是   | 品类 ID   |\n| [env](#env) | string | 是   | 环境信息  |\n\n#### env\n\n- 环境信息\n\n| 取值    | 说明     |\n| ------- | -------- |\n| unknown | 未知环境 |\n| online  | 正式环境 |\n| test    | 测试环境 |\n| dev     | 开发环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"online\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 30s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明                         |\n| ----------------- | ------ | ---- | ---- | ---------------------------- |\n| [info](#info)     | Object | 是   | --   | 日志描述，不会被 fields 覆盖 |\n| [fields](#fields) | Object | 否   | --   | 日志自定义数据               |\n\n#### info\n\n- 日志描述信息，不会被 fields 覆盖\n- 系统预制了一些日志描述信息 [LogEvents](#LogEvents) 方便使用\n- 也可定义自己日志描述信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制日志描述信息\n- 均为与 info 同构变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 敏感键值    | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| desc        | string | 业务描述       | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"651f050e5c0be5737e32b5944093c657200b1df5","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.2.2-beta.0"},"publishConfig":{"@hyext:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.2.2-beta.0_1641981760396_0.34595187142306694","host":"s3://npm-registry-packages"}},"1.2.2-beta.1":{"name":"@hyext/hyext-reporter-ya","version":"1.2.2-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.2.2-beta.1","maintainers":[{"name":"hy-ext","email":"hy-ext@huya.com"},{"name":"wundereye","email":"overcch@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"}],"dist":{"shasum":"21abb3a09056cd36260779eb5215cfd93f20b870","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.2.2-beta.1.tgz","fileCount":6,"integrity":"sha512-KdGMLYrRLMHoAp33PWT6pJ76EEFufn9L6q2Ks5bvV4/cKn1Gy8rDszq756AbVCdTaR0x4+N3V6WAEbKyQ/pqCg==","signatures":[{"sig":"MEUCIH62+IwCiBl8eBYL2hg9J66zr6Ydril0bJJtGmcwaKtqAiEA2ZuMUA28Vf1MCIvu9vK5MjBVeHRKr6mQyEooAXPb4S4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14211,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCIk1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLKA/+Ob4qmLPH3bsp/GJzdqCOGdn7UAx/fW6ks+1SKaH1dYGmxtW+\r\nDQK/2QY43HWFJfWLhnVQN7lV64+tCrvjJ56BcfFns3cZscC3OwDYApRzmon9\r\nAWy7d9nqJ5ZanLyEt19bL5ouykFa6+IfKiOGt5olEnP/cmzsTKOoq49KsqKF\r\nW51sGGcjsjvDWzWXkfyW2i7+5yP/tCD7pSSww7adroPtFLP/GNFbGh7dJX8E\r\nBNBd42c/BO9qi3VXSNvkxNnGhvAvd9qJFlVe5whXjMeEayMzRijf1lPr9pkX\r\nAsVr3BxoU+fnHRf4IO2O19qR0Q1qVNFkWZjueBBto32Q8VED1S5iSCr/0Xam\r\nhMW0EoAOvCSoOUhu5aFsFXX2wYp6takCRpEFDJUIiG8Q3ysQlLAndscdOKbW\r\nckRjtWsHMTXrjOdzMJGnmx14TIO/Enl2dz1RlNayMvjWkejnCldjVmHFZ38B\r\nXDAVI2JEljQM9lQBtmdcdJTuAh2hh0pq3lGl+2jQyCC5uTiIWy963b6eaEs4\r\n7bxFB5pBThsBkebORmVIIz7/lFTu1V/qeL02owHdrICqZamv9CLqDJYSht+8\r\n/rHMFX5EYDdMpfM08EqpHshTmUM3IzZn0wUNnmd8qdBZKPApSGcjLMSDAlty\r\n3KJE/sArTKS9bNyQoO1NSIpcMlv7HWPm3V4=\r\n=3HJ5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 30 秒心跳一次\n- 日志延迟 500ms 上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明      |\n| ----------- | ------ | ---- | --------- |\n| ext_id      | string | 是   | 小程序 ID |\n| uid         | string | 是   | 用户 ID   |\n| pid         | string | 是   | 主播 ID   |\n| game_id     | string | 是   | 品类 ID   |\n| [env](#env) | string | 是   | 环境信息  |\n\n#### env\n\n- 环境信息\n\n| 取值    | 说明     |\n| ------- | -------- |\n| unknown | 未知环境 |\n| online  | 正式环境 |\n| test    | 测试环境 |\n| dev     | 开发环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"online\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 30s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明                         |\n| ----------------- | ------ | ---- | ---- | ---------------------------- |\n| [info](#info)     | Object | 是   | --   | 日志描述，不会被 fields 覆盖 |\n| [fields](#fields) | Object | 否   | --   | 日志自定义数据               |\n\n#### info\n\n- 日志描述信息，不会被 fields 覆盖\n- 系统预制了一些日志描述信息 [LogEvents](#LogEvents) 方便使用\n- 也可定义自己日志描述信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制日志描述信息\n- 均为与 info 同构变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 敏感键值    | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| desc        | string | 业务描述       | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"b455eda571b8703ea8a72316e0e5c7fd80f01ee7","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v14.14.0+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"14.14.0","dependencies":{"@hyext/hyext-reporter":"^1.2.2-beta.1"},"publishConfig":{"@hyext:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.2.2-beta.1_1678281013627_0.47224301832968263","host":"s3://npm-registry-packages"}},"1.2.2-beta.2":{"name":"@hyext/hyext-reporter-ya","version":"1.2.2-beta.2","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.2.2-beta.2","maintainers":[{"name":"hy-ext","email":"hy-ext@huya.com"},{"name":"wundereye","email":"overcch@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"}],"dist":{"shasum":"bf50bf029ab285e643f3e5def5a8af43ddf3b52b","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.2.2-beta.2.tgz","fileCount":6,"integrity":"sha512-C5I/p3DKZiXJYVsCca4Nrl5g3LedEl3SYNZk4zdvZfO0R2hPLP7K5Wk6h1xrtrxhOQ8HKcHAeazbrfKYDiNmlQ==","signatures":[{"sig":"MEUCIB+NCx8wiJjdSIYYo5ocNHyzgqZJ6SqnB8Qz7aHcfz2ZAiEAq41Bvo4SoqMz5BfgWCOqNoCq4f4FmCQHHkVANLziPcU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14191},"main":"./build/index.cjs.js","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 30 秒心跳一次\n- 日志延迟 500ms 上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明      |\n| ----------- | ------ | ---- | --------- |\n| ext_id      | string | 是   | 小程序 ID |\n| uid         | string | 是   | 用户 ID   |\n| pid         | string | 是   | 主播 ID   |\n| game_id     | string | 是   | 品类 ID   |\n| [env](#env) | string | 是   | 环境信息  |\n\n#### env\n\n- 环境信息\n\n| 取值    | 说明     |\n| ------- | -------- |\n| unknown | 未知环境 |\n| online  | 正式环境 |\n| test    | 测试环境 |\n| dev     | 开发环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"online\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 30s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明                         |\n| ----------------- | ------ | ---- | ---- | ---------------------------- |\n| [info](#info)     | Object | 是   | --   | 日志描述，不会被 fields 覆盖 |\n| [fields](#fields) | Object | 否   | --   | 日志自定义数据               |\n\n#### info\n\n- 日志描述信息，不会被 fields 覆盖\n- 系统预制了一些日志描述信息 [LogEvents](#LogEvents) 方便使用\n- 也可定义自己日志描述信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制日志描述信息\n- 均为与 info 同构变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 敏感键值    | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| desc        | string | 业务描述       | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","gitHead":"04afe08de150b41a726ae486888f444c5042ee48","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.22.12+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.22.12","dependencies":{"@hyext/hyext-reporter":"^1.2.2-beta.2"},"publishConfig":{"@hyext:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.2.2-beta.2_1700205477656_0.3717982544681815","host":"s3://npm-registry-packages"}},"1.2.3":{"name":"@hyext/hyext-reporter-ya","version":"1.2.3","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ya@1.2.3","maintainers":[{"name":"hy-ext","email":"hy-ext@huya.com"},{"name":"wundereye","email":"overcch@gmail.com"},{"name":"maizhiying","email":"zhiying.mai@gmail.com"},{"name":"xiangwang123","email":"wangxiang@huya.com"},{"name":"zhangjiaheng","email":"zhangjiaheng@huya.com"},{"name":"limingyi_100","email":"limingyi_100@126.com"}],"dist":{"shasum":"043a2bce580caa99c9706a3936581cd0dd999b66","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ya/-/hyext-reporter-ya-1.2.3.tgz","fileCount":6,"integrity":"sha512-IjG+97K6KKFxGSpNi8fmuGGaf4QlS7Gtehqs+HGyOcRQyK5v37x33JGFobGMKNrhJwaCCbzrjlVuBE6DWYWVFQ==","signatures":[{"sig":"MEQCIFGYbrHG/+cjcrooVBdWT3Si9mfgUZNYEhv3xvof2rHJAiArIOsGgHzSw8qyq81CloLAI0qXDa6SZ2P77VQW4y+7cQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14177},"main":"./build/index.cjs.js","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"e6cd08d32482c18aa3586bc7551310420cb13382","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.22.12+x64 (darwin)","description":"小程序上报日志统一YA版本","directories":{},"sideEffects":false,"_nodeVersion":"12.22.12","dependencies":{"@hyext/hyext-reporter":"^1.2.3"},"publishConfig":{"@hyext:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ya_1.2.3_1700205757234_0.9098128978943549","host":"s3://npm-registry-packages"}}},"time":{"created":"2021-07-19T13:55:50.072Z","modified":"2025-04-25T02:57:53.952Z","0.1.1-beta.1":"2021-07-19T13:55:50.503Z","0.1.3-beta.0":"2021-07-19T14:01:56.370Z","0.1.6-beta.0":"2021-07-19T14:08:11.358Z","1.0.0":"2021-07-19T14:13:05.920Z","1.0.1":"2021-07-19T14:15:37.839Z","1.0.2-beta.0":"2021-07-20T15:16:41.302Z","1.0.2-beta.1":"2021-07-22T09:07:48.191Z","1.0.2":"2021-07-22T10:16:52.952Z","1.0.3-beta.0":"2021-07-28T04:17:44.947Z","1.0.5":"2021-07-28T04:37:50.462Z","1.0.6":"2021-07-28T09:29:30.309Z","1.0.7-beta.0":"2021-07-28T14:16:00.181Z","1.0.7-beta.1":"2021-07-28T14:58:44.992Z","1.0.7":"2021-07-28T15:23:00.392Z","1.0.9":"2021-07-29T04:15:31.110Z","1.0.10-beta.0":"2021-08-05T13:02:04.692Z","1.0.10":"2021-08-05T13:34:47.453Z","1.0.11-beta.0":"2021-08-05T15:05:08.505Z","1.0.11-beta.1":"2021-08-06T06:27:41.821Z","1.0.11-beta.2":"2021-08-06T07:38:03.719Z","1.0.11":"2021-08-06T08:08:48.042Z","1.0.12-beta.0":"2021-08-06T10:55:03.872Z","1.0.12-beta.1":"2021-08-09T04:09:31.835Z","1.0.12-beta.2":"2021-08-09T06:35:42.556Z","1.0.12-beta.3":"2021-08-09T09:39:00.715Z","1.0.12":"2021-08-09T10:52:29.023Z","1.0.13":"2021-09-28T09:32:00.765Z","1.0.15":"2021-10-19T07:22:34.050Z","1.0.16-beta.0":"2021-11-25T09:37:49.256Z","1.0.16":"2021-11-26T09:57:40.082Z","1.0.17-beta.0":"2021-12-16T03:54:41.163Z","1.0.17":"2021-12-16T06:37:16.876Z","1.2.0":"2021-12-16T06:52:45.450Z","1.2.1-beta.0":"2021-12-17T13:44:55.694Z","1.2.1":"2021-12-20T10:28:04.125Z","1.2.2-beta.0":"2022-01-12T10:02:40.550Z","1.2.2-beta.1":"2023-03-08T13:10:13.763Z","1.2.2-beta.2":"2023-11-17T07:17:57.816Z","1.2.3":"2023-11-17T07:22:37.393Z"},"author":{"name":"limingyi"},"license":"ISC","repository":{"type":"gitlab"},"description":"小程序上报日志统一YA版本","maintainers":[{"email":"hy-ext@huya.com","name":"hy-ext"},{"email":"zhiying.mai@gmail.com","name":"maizhiying"}],"readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ya\n- 负责统一小程序日志数据\n- 主要用于搭载了[YA 上报](https://hs.huya.info/statisticsreport/doc#/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97/Web%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97?id=%e4%bd%bf%e7%94%a8) 小程序 H5 产品\n- 需要传入小程序相关端基础信息 CommonInfo\n- 提供全局心跳，默认 30 秒心跳一次\n- 日志延迟 500ms 上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm install @hyext/hyext-reporter-ya\n```\n\n### 引入\n\n```\nimport { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'\n\n```\n\n### 初始化 - new YAExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认      | 说明           |\n| ------------------------- | ------- | ---- | --------- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 是   | --        | 日志公用信息   |\n| YAInstance                | YA      | 是   | window.ya | YA 上报实例    |\n| OpenReport                | boolean | 否   | true      | 是否开启上报   |\n| Debug                     | boolean | 否   | false     | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明      |\n| ----------- | ------ | ---- | --------- |\n| ext_id      | string | 是   | 小程序 ID |\n| uid         | string | 是   | 用户 ID   |\n| pid         | string | 是   | 主播 ID   |\n| game_id     | string | 是   | 品类 ID   |\n| [env](#env) | string | 是   | 环境信息  |\n\n#### env\n\n- 环境信息\n\n| 取值    | 说明     |\n| ------- | -------- |\n| unknown | 未知环境 |\n| online  | 正式环境 |\n| test    | 测试环境 |\n| dev     | 开发环境 |\n\n#### 示例\n\n- 先通过平台获取基础数据\n\n```\nconst basInfo = {\n  ext_id: \"abababa\", // 小程序ID\n  uid: \"202020\", // 用户uid\n  pid: \"202011\", // 主播ID\n  game_id: \"1002\", // 品类ID\n  env: \"online\"\n}\n```\n\n- 实例化\n\n```\nconst extReporter = new YAExtReporter({\n  Debug: true,\n  OpenReport: true,\n  CommonInfo: {\n    uid: basInfo.uid,\n    pid: basInfo.pid,\n    ext_id: basInfo.ext_id,\n    game_id: basInfo.game_id\n    env: basInfo.env\n  },\n  YAInstance: window.ya\n});\n```\n\n### 开始心跳 - extReporter.startHeartBeat(fields);\n\n- 只有一个全局的心跳\n- 默认 30s 一次心跳\n- 心跳用于统计用户在线时长，用户进入即开始心跳即可\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [fields](#fields) | Object | 否   | --   | 自定义上报数据 |\n\n#### 示例\n\n```\nextReporter.startHeartBeat();\n```\n\n### 停止心跳 - extReporter.endHeartBeat()\n\n- 停止全局的心跳\n- 用户退出时调用\n\n#### 示例\n\n```\nextReporter.endHeartBeat();\n```\n\n### 普通上报 - extReporter.reportBusiMetric(info, fields)\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明                         |\n| ----------------- | ------ | ---- | ---- | ---------------------------- |\n| [info](#info)     | Object | 是   | --   | 日志描述，不会被 fields 覆盖 |\n| [fields](#fields) | Object | 否   | --   | 日志自定义数据               |\n\n#### info\n\n- 日志描述信息，不会被 fields 覆盖\n- 系统预制了一些日志描述信息 [LogEvents](#LogEvents) 方便使用\n- 也可定义自己日志描述信息\n\n| 参数 | 类型   | 必填 | 说明       |\n| ---- | ------ | ---- | ---------- |\n| key  | string | 是   | 业务关键词 |\n| desc | string | 是   | 业务描述   |\n\n#### LogEvents\n\n- 预制日志描述信息\n- 均为与 info 同构变量\n- 按需上报即可\n\n| 变量                     | 描述                   |\n| ------------------------ | ---------------------- |\n| LogEvents.USER_ACTIVE    | 用户互动               |\n| LogEvents.USER_SEND_GIFT | 用户送礼               |\n| LogEvents.USER_SEND_WORD | 用户发言               |\n| LogEvents.USER_SUBSCRIBE | 用户订阅               |\n| LogEvents.USER_SHARE     | 用户分享               |\n| LogEvents.GAME_CREATE    | 游戏开局，某轮游戏开始 |\n| LogEvents.GAME_FINISH    | 游戏结束，某轮游戏结束 |\n\n#### fields\n\n- 自定义上报数据\n- 键值不能与以下取值重复，否则会被覆盖\n\n| 敏感键值    | 类型   | 说明           | 数据源      |\n| ----------- | ------ | -------------- | ----------- |\n| key         | string | 业务关键词     | info        |\n| desc        | string | 业务描述       | info        |\n| type        | number | 日志类型       | info/默认值 |\n| client_time | number | 日志创建时间戳 | 系统生成    |\n\n#### 示例\n\n- 自定义上报\n\n```\nextReporter.reportBusiMetric({\n  key: 'ext_diy/my_action'\n  desc: '自定义事件描述'\n}, {\n  data : 'your_data'\n});\n```\n\n- 上报用户交互\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {\n  act: '啥交互？'\n});\n```\n\n- 上报用户送礼\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {\n  gift_id: 2222,\n  gift_count: 1,\n  gift_amount: 100\n});\n```\n\n- 上报用户发言\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {\n  word: '你说啥？'\n});\n```\n\n- 上报订阅主播\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);\n```\n\n- 上报用户分享\n\n```\nextReporter.reportBusiMetric(LogEvents.USER_SHARE, {\n  share_type: 1\n});\n```\n\n- 上报开始游戏\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\n```\n\n- 上报游戏结束\n\n```\nextReporter.reportBusiMetric(LogEvents.GAME_FINISH);\n```\n","readmeFilename":"README.md"}