{"_id":"@hyext/hyext-reporter-ext","_rev":"72-63c1fa85851905e11ac2a4d51b109414","name":"@hyext/hyext-reporter-ext","dist-tags":{"beta":"1.2.3-beta.1","latest":"1.2.3"},"versions":{"0.1.1-beta.1":{"name":"@hyext/hyext-reporter-ext","version":"0.1.1-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"55ec17ed419f10a7e01cb4d8db583e063e866780","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-0.1.1-beta.1.tgz","fileCount":8,"integrity":"sha512-mahmJfhw0clHuYToDuHFV337Agg0O8jz6XpAF+ZnzyL8jEf1AADnzNGNCNAobyyktXTldSZ7/RKc7dZ71AIs7A==","signatures":[{"sig":"MEUCIGJnndd58xL2D44lfn70y1ihzQmVzxwLMSnZ6SE3JkQhAiEAsStMmslaKjMEa3RTDHfXFaWGJrdCovyEy5DFxcDB9wU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33659,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9YRcCRA9TVsSAnZWagAA7MgP/3/kj/gJAUZVnypO/dV0\n/vj3V1rLCXyfUur4/jqkp8KMpiLXpwAwmAmx2b9JJUHGWZF3sB9R9y5gGhLk\nMn4wMSjzIcHR+1L95ejRWcxDF56xzeetRuukr5+1nu6pgaAu/WeSOshWgGVL\nwbWFz6nHbOSyPegUL/UKVLQZ9ENer8oI+2wIhG6P+VYxHfwVTcxdh6GPJBH+\n9sO7K4lFC/n1q+8JPs1UPITy+xtlHBvXdeWus0lMQhhErmh3I4uQVi9qz5vs\nm1Ah6pt9f6fngpGLLIUKjZVQrAZF3MbsvO6zQ04Y7227MDKxnd0O3dle/aKG\nQFCMhi/1wShk4HLcWlimjoyhppV0fqs0JZfRXrjyGCACE6ngpV3xuMPrc/mG\nd+KZOyttqPBRjCR0/gsovaiSbqLMxd9VIt1JIUhrBSE6zcg+iy1cz4gdvMjD\n9EACtP3aW5mJe1cVvR5K3JekVr5FQrbqE1+MAqplbe5fhoPzWaSr7DOH8i6C\nzgszcsHBiX0ym0r27a4OkLpNtjoO689v6FbULjIGWYbNYA68EsDvRx6cpHzK\nEtNhG7YwSLrInKzfsSJv8tqJqOGsDT4sILq+IRc5vksky8HvZBqp2ay65Tfd\nm/XUSWhgUz/5QbPu7ev3vJKOJTpMAiZA2TGb6Gj424Ij1EpMhzo0BjwgR9hR\np36u\r\n=nVdx\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":"小程序上报日志统一小程序版本","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-ext_0.1.1-beta.1_1626702939951_0.9999163425689466","host":"s3://npm-registry-packages"}},"0.1.3-beta.0":{"name":"@hyext/hyext-reporter-ext","version":"0.1.3-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"f01ce6a36fac9ac9b9b32ae93bd6419ec43ff94b","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-0.1.3-beta.0.tgz","fileCount":8,"integrity":"sha512-3uLWuJ2AajCIPg2XcxyHRDVLQPq9YagnGtw+25OFiTJr41e4VMqnnJQkQHf6lUNeWGcX//JHHywcY6HveVI2lw==","signatures":[{"sig":"MEQCIB66sEaPl3gIGNpin6nli7MNVN7Fiis4Ig++tqxaAGj7AiAJUM6znKDl0JW89Q7r6+YR0nGGCLteavhmx/ZLYfQ0eA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9YXTCRA9TVsSAnZWagAAqisQAKFb0/29cwKhW7ENuYg1\nXcj7pucIZQ7FGPhEJD+zqtuWFKtPF1mA9EAyUi2JIjImU8KnSU2i80v15749\nKOzHrqHmnvLhrFKOExkBtF9+0mLaIesNbftT4MROoJ553Zo0C6gYWIAApfgg\nDLv5UUQDos6ODkkW8iI4xODiCxT/aXdc0wZ3fvhn0gQ8ahjKfM9sky9VRsZp\nNJV/LPPiTHUXJuA2cp+4VwtYip5qSpMg3c6JGZn+AjAo00kW/6fRzVJKeNwX\n5g9oFbAuOMGh01QIAvQZD2UOYZJyEu/zIWiOlG3DS4Bg7NpMpZBiOErPOoww\nJHX72JkabIxF4DRa8/ocn35SbnU4lJ1Y7iDgEH7ybBHPLYObN6blJZScWsmi\nFQQIQPUHmNcnMRsPEEpliP/4CVqLn84jdqzTXCMzKkYZ6ItH3kOV11gaSb9t\nNusc9rXAjBroulvEiSIDYPZlQHzgmQ6x125m/3YSkBzpkLk0DH2n+bQCuTEc\n3goWgCg8icVVUt6b2AbK5YSwfePPgPQwtgBdJ4EECeg2sORKOscXQIgs2096\n+fb0biuFF0aw668rzvRaZs6Cj2hFlTzB55mWcJV7PAaplEYMCWgyYlwzr3jS\njGFGlbsN04E2nYCZghCUXLWzjCvgX1nUvSt8XV4dc4xgo11lASVlY2holEWv\n0Ub3\r\n=PTTA\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 2 秒上报，会收集延迟时间内的所有日志；\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext --registry=https://nexus.huya.com/repository/npm-public/\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter(config)\n\n#### 配置 config\n\n| 参数       | 类型    | 必填 | 默认  | 说明           |\n| ---------- | ------- | ---- | ----- | -------------- |\n| CommonInfo | Object  | 否   | --    | 日志公用信息   |\n| OpenReport | boolean | 否   | true  | 是否开启上报   |\n| Debug      | boolean | 否   | false | 是否开启 debug |\n\n#### 日志公用信息 CommonInfo\n\n| 参数    | 类型   | 必填 | 说明                                                                  |\n| ------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id  | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid     | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid     | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| env     | string | 否   | 环境信息，不传默认构建环境，test-测试环境, production-正式环境        |\n\n#### 示例\n\n- 实例化\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true,\n  OpenReport: true\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#### 预制事件 LogEvents\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":"小程序上报日志统一小程序版本","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-ext_0.1.3-beta.0_1626703315525_0.08359722736583941","host":"s3://npm-registry-packages"}},"0.1.6-beta.0":{"name":"@hyext/hyext-reporter-ext","version":"0.1.6-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"d7347dad5c6491f6b96c9fe72bddba58023ff86e","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-0.1.6-beta.0.tgz","fileCount":8,"integrity":"sha512-VRzC55cqjaUeNInCYIOaVu/L5upEE+jNXWHh0B+dV8RNiQaggw7OhQVIdm4Uuh7IVSrJd5Ih4XwJ5WohTbZhIg==","signatures":[{"sig":"MEYCIQCHbUAl1cy75OghAbVNUD/Bwy4aOoWuSSHmeQlsFcc8vgIhANmWTOnZTcq/k3ZZXBfKVXbSBqYrUZMprN6eM1qduM3D","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9YdLCRA9TVsSAnZWagAAhTIP/2kaI+LkVTW5mbxc0JvL\n7qQWesg1nEXPUHVn16jRoPik6ibtXhN0qjreU2AykoXarAbWUFp6/xvnC3Fl\nIRVBktG8tV+k1KnVo45g4aDFFH/aeCKguLoSMvcXn+OOdwhKj9DTGewhsM7K\nJPEZEFVf5Odv0DeWeiVovnBaSfqyqroLA7oLVbiSP0ORfa/uH4gBRGxsinae\nfWn/2kL5nldUoebCDuhc6Opnnel1uXYCkabV/SpqspJQAidVVZ1aqJpvD4HF\nxnF5h1aj5BqvBgIwYpf+JgfHWgs5KDyV1FF5z09AewkTyspNC7z/a2OwF5ag\nf4zBnGYcrRd+4KpLTahvp82nhHI0ywiOaMACZm/fmp989huchOMAYOWxfT8r\n4KSIcGCWM+3Vuyvq6xOcjSvqvX8Vv58Pwg//BqtCmelGvjMa7hwqKTY1scYi\ntERh9gtIkCuODmD1/Se7A0XIk06AsOvxbJgcYNdS1+vQRyV0WpxXBLo4xmkp\nOFBXhjqWV9g28X1QgxgfsgRqMEAkTF4IRi7S8Mzp2mT9Gv2z0ks18O6y0H2S\nVjnsDgxRqCvPsQ8GIU2Be5DmREec8ibeSsUGwudoFGRpK9k12va17RnG8vxy\nf4Y69VLX0eW/o9PKsYH2a/xPmxgAQIAScmccY+N/qToKKsGMnnulqb2tn62l\nA1WN\r\n=P+OY\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 2 秒上报，会收集延迟时间内的所有日志；\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext --registry=https://nexus.huya.com/repository/npm-public/\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter(config)\n\n#### 配置 config\n\n| 参数       | 类型    | 必填 | 默认  | 说明           |\n| ---------- | ------- | ---- | ----- | -------------- |\n| CommonInfo | Object  | 否   | --    | 日志公用信息   |\n| OpenReport | boolean | 否   | true  | 是否开启上报   |\n| Debug      | boolean | 否   | false | 是否开启 debug |\n\n#### 日志公用信息 CommonInfo\n\n| 参数    | 类型   | 必填 | 说明                                                                  |\n| ------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id  | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid     | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid     | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| env     | string | 否   | 环境信息，不传默认构建环境，test-测试环境, production-正式环境        |\n\n#### 示例\n\n- 实例化\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true,\n  OpenReport: true\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#### 预制事件 LogEvents\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":"小程序上报日志统一小程序版本","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-ext_0.1.6-beta.0_1626703691250_0.041754096101043636","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@hyext/hyext-reporter-ext","version":"1.0.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"6bcbdec6fc621093bab03f14b2bb01cc0b42e19c","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.0.tgz","fileCount":8,"integrity":"sha512-MmM/wvTiJn9cvP/0RTepqyy15knjIorQcQTN0TAheiZCPEVG2QO1II7GztfLUgqNXdn+uJrZHetPLcy/qwvSSQ==","signatures":[{"sig":"MEYCIQDl//HXO6LLETERWVBn839SMJmlGTAY2o6swRafftl6+wIhAJxTgOJNAq2W+QWQmlPxFhjCqJbmAjXZv4DVVqNvonnd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33702,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9YhxCRA9TVsSAnZWagAAJzgP/j+ZQHAYeADBUkFsG80X\nfpos857la8Z9klEcrtu4J39Z4mMGRW8+N+2dHB1dzr9vOitmA/vHqQi2TXGP\n590wUwpSTYVgN6c5zCnd66bIHspL9JwnwRbR17PGo/fe6/OJ8dPs1Frm/r5z\nmQv6pdHuUG6Kk45+G6QaY0otTHhKCbHvd3vvTrtu46T4SusTZ7eHC9OQVR9M\ndUv45vx3ZSk4oY5V95JMsLKGg+ZyVDY/7ghLXMQvIgXmK5ShxoGXVvb+xNNg\nBhSWUB3FA/QsRSEX69RKBvKzfEcLUdqOdHgXkV4CIYYc6qMhIBHVO/5Idl0z\nJ8KIVRQaIUb+RzSgtE72TQKoB8kvGWqj531fFaPV6/oCfVk/Vbryy3hzOn0u\npBDw0t9XXa09cJCeMxSiJFvXF2vrTSpN06kXmSboKSu/hQseYOQJ6uXCGoGN\nMfe/ZCgEJ89ho07V2yCGN1RhJ/c2zcIcUaet0vx0IEb3ws2JCQjb1TdQC1Ua\naIX2XfH9XbI46roHq2d9aWQwz8GfYPi63Ksbc4OzQyw2eIRbjqw5OePzMdmb\nAMPMq17UPPpa4Ycq/Y4+W0zhSbJExDsP8V2NE96d2TrFeLgLEoC2sZbRy3m/\nm4eBveKSnkQnhvIbaJ7KqU5sb1XX92ULQF6ldr23MIIIBCPycsZjZfSuPJui\n1E96\r\n=E9px\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":"小程序上报日志统一小程序版本","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-ext_1.0.0_1626703985799_0.91020933189439","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@hyext/hyext-reporter-ext","version":"1.0.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"e6cea1c90fdc6f917f23e55bfc6c1fb62106d817","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.1.tgz","fileCount":8,"integrity":"sha512-DEtlRaA2iEXDGWVplNRq++BuqVPCkgdP9aleGAkU9wEVbH/Y4r7vLfFX9ZhwRmjnsP43vMh6PJSMNVKgGFSdtg==","signatures":[{"sig":"MEUCIDJAUwhHfMowSfCe1YFyQgRgtPlXBPovIul541h/1+h9AiEAm0xDEvKOKxWtuqwfMTx/8ZmYXdUyMdwaKqqiAEOKm04=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33645,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9YkJCRA9TVsSAnZWagAApBwP/1RJ/tChv7k0EZRK3STK\n2gvyX7XqqKmiEA46Ep/npyqNjJLq2SYXhC0UX8Jnv5JMdopTm917PNH/Nkcg\nOgZxOL9FHeSy9DAfgJKe8UzpXDiU90gsBSoWDsuVLti0+F8Cgl5zn3N/RXF1\nk8bAeJuhMxawKfKjuCaOuL0/0kcKkKyqSQCoG9kVOCcZDeKsSrBm1niY3IJP\nC8QtPiGNrY622nWugwFGv4kT4tKsGpDLuzpHv3tj9fRPCi92xkpo7ILdzG3w\nw0aBU/JqfSTIDl6si1mt8BXtpHMcu7bwUPvAKYST4ma3BSo4xBHBsvNtwjJQ\n+1QVdct/B33cbED45VT4oekeiyI18s/0pHyj8aeTers0x7SsTwSupCZoNxQv\nUdGJuUc07BIhtD1BeOpIKJxGtqtmZp+oMgvnS+tTNzguJSbuNE4BnRjCLAt0\nHTDYr07DLb6WcI6IU6FxFKlfKTNixlla/vz0z5pvLvpPAOTrJLR41uKt0RHV\nlUOOmOVlEUcgsCy2qVyw4OXP99JQgCRcUeqIWz+9Ff+p0gNaNZj6cD/pwSd3\nYWx72stG7bcdIvLJU67XnOCeejwFbrD41F6aRXjzmD0C50CuMbS+XgEEce8r\nC5aFM4XRDKg6FunD1hoIODcIFO42/nbW7ihoPb4PFbcmj19jFgEy4pUdYZkS\nm/ad\r\n=Em4m\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":"小程序上报日志统一小程序版本","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-ext_1.0.1_1626704137681_0.9297155005893663","host":"s3://npm-registry-packages"}},"1.0.2-beta.0":{"name":"@hyext/hyext-reporter-ext","version":"1.0.2-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"9ce455f5dbf939945ee7cf301e68c45b57c9a2e2","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.2-beta.0.tgz","fileCount":8,"integrity":"sha512-C6rThFXenMzIb424BCWGx9RqgIXaHvgz3nQkDUmRoilpVWZwG4qMzjIC/PKXLyolvYzzeep7BmopAL8qbeP3sw==","signatures":[{"sig":"MEUCIQCfsrD0rxNXNz0ugOS14qfqeOI9o8d4usXYvF7RP9LgzgIgCzi/dTHPJ3lCN1jSOagJxcGuOwyOffyyV6n0IoXNlDY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33838,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9ujZCRA9TVsSAnZWagAAcuQP+QDeLbKl7fOmwM63E215\nEXSk2V8m77b0c4hRbrL/ey/SrMz/p9xOezW6HPmR4oOy3722vlkPrDBjJmqR\nDj7j/ccGn8ZWI60z1rqKYl4qI0chSlUJnmbwtYmPp/UOXH3M37Dw4OQna3L8\nyT2OKC87yqS6vu3zNtw3D/SuzzkX9ou8zrJktZOmcRUf6LTCrju8XXK1Wnb9\nNFYWOhFKttwWsjWs5RNmc49djGdyenl/tZCqj7Acg0LncPp21u4W7m13307C\nM5ZgvuEGlW+kLgi8VurEe2w4K5owRu5BI5sK/WSRE3CYealrLSQZlyrIjJW1\nqhW4yBCiOQgZz+zDqHGif7DvYvOE54RVt2+tU7RekakosGtmEeC1YMabye0C\nDN8D9HyBXRU5ERap50aY+h1nfch5iAb7wsIb+8vFK2dwG0e2MTLSGJZ1qx+S\nymvtfFXfXkPOYa3/fmZBg5xhj4QaGAb4px56uDTLXQI84wbrO4B2H/RWQ1h/\nZ6+Tb7K8OkmG/EDQPZyWDKBnA6w/9T8zbxHUdU924e2O/tiDP4AlQexBel43\nFbFhC0IAHEHrKJ0rnUUo3sR3/LfALHA0g670LdcAu0sV1K90F2YM2CUXdeeo\nnQnFhJjHSVw6dtuZsFKzJQTPAtrT6NhB4V9gibaysNpdJySOnHbBpIPalvz0\nlO3f\r\n=JpNQ\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 2 秒上报，会收集延迟时间内的所有日志；\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认  | 说明           |\n| ------------------------- | ------- | ---- | ----- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报   |\n| Debug                     | boolean | 否   | false | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共信息\n\n| 参数    | 类型   | 必填 | 说明                                                                  |\n| ------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id  | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid     | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid     | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| env     | string | 否   | 环境信息，不传默认构建环境，test-测试环境, production-正式环境        |\n\n#### 示例\n\n- 实例化\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true,\n  OpenReport: true\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":"小程序上报日志统一小程序版本","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-ext_1.0.2-beta.0_1626794201207_0.9036064122136906","host":"s3://npm-registry-packages"}},"1.0.2-beta.1":{"name":"@hyext/hyext-reporter-ext","version":"1.0.2-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"a4a1a833d20b0a899964aeb511d5ffbd202ee958","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.2-beta.1.tgz","fileCount":8,"integrity":"sha512-L81OIlWq82VNs+p3gIJKno7hJYX2GwIymkiGZztwEzgYhQpjjjxNw/ojZOBmaZfcS+KeF8esQDc0z82SYho7uA==","signatures":[{"sig":"MEUCIA+4h+hDyWKbK2AWDd9No2QOgajFZUI7dp95QQ/0XOPvAiEAy+nleZjApMR9qzFigD034fBBA7ygslkaUMjdHoojYfE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33851,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+TVkCRA9TVsSAnZWagAAkKgQAI6lbOpe8OH2SjxPA5F6\nigRx658XudzMrjP7UfulrnQrFFPng+P9U5HjyfSulpD+cOxrV9l/z61q5onW\nmJryaAY31pdkYKkLdIAdBwM5j9uFGFaFpHJN0xTCZHEZUKB/r7L3LJv8m2Fk\nIPNmiTZV6v1oxw4GbZQr05S5rnEH4cRLZNxiJDbJ9aTKJHXjoyD0QG3oU373\nyFw508C9RocgQA+uIIlfOWV3pBJR0WGeBCOaj+69qXJPYiEbzE2U4W1PLcW/\nsBUPG242kb12z3tKfOUa7t3BQtaiw9YkawnyZ2L1FoEacK1GYwS4dTqufYm7\no6KvnQCMGNX/v+O3AJVK0janRqTxJJFOPZms8mn8Q8BjrdeZ+Pas89mwSM+n\n3OXRgc2AvxEqlyfkAZ5+7FY4RPrfrc3+Z1FexsDmiwN0lfhywB+vfj4CmGXM\nef+MH5lvAnLgixbSHrZcxCpHHelV1UohgnBxCa4+jbLcpBV/aVcaPzdIxYDy\nMrh2nFoVBMbhys9/f+sjtZaiMBF2y4ObmM/Mw+jx8fQhkGV9pApiNm23XFu9\nleIYRKToixAps9HZ1MtaPqbXocPMab3+OZbTDw2dCbLlji7FWw6mGJBzfauO\naFqeNAtntyPuHuRGYKZv7Ooe7QzSTRHvMBciEX3w9WSJLdJB+vM3cVDsOkwo\nRGap\r\n=AgOS\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 2 秒上报，会收集延迟时间内的所有日志；\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认  | 说明           |\n| ------------------------- | ------- | ---- | ----- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报   |\n| Debug                     | boolean | 否   | false | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共信息\n\n| 参数    | 类型   | 必填 | 说明                                                                  |\n| ------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id  | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid     | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid     | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| env     | string | 否   | 环境信息，不传默认构建环境，test-测试环境, production-正式环境        |\n\n#### 示例\n\n- 实例化\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true,\n  OpenReport: true\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":"小程序上报日志统一小程序版本","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-ext_1.0.2-beta.1_1626944868098_0.6401278928149359","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@hyext/hyext-reporter-ext","version":"1.0.2","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"6edfcbfbb05846eda12e5c0cf808b145fc0ec7fb","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.2.tgz","fileCount":8,"integrity":"sha512-3UK3hphOpndGGkfbbka/dn+/H8DB+IHtuc7CkTo7yYHNQo/lAsz43XaDGBkhS/vAsF4+vayLZJqULnYnZzGjiA==","signatures":[{"sig":"MEQCIC+D53GEKOWsWrFAuZoQ+1fabH1qlVXnJTQq6ZdN6llEAiAmzsHYReY3miVNX2cTxsDoVLGXz7FwHnVNVa1Lrcw+Ng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+UWUCRA9TVsSAnZWagAA+SQP/i1DgnJukd2ynDpyIpcv\nEfN4l/P1t+S+aiRJbWjTtoCherLhV/C1fiFmv9g7Ym/nSrl21L0r7DxCgpmH\n1qOMOuzD4c94xQq9qeEz+yhxAohwMfkDl1yHUuYKqqU8JIdYWRl8/1dWnGZ2\nHu7N5tD2iozdIBHm53P2TWNZ/29T1RnnpN870QokCaxY2UenrtgWbU8zfLD2\ngzJBtnwSOnB5Ko+fc9zIPjqroisUTExHsCpKohKSURRJ+477n5bLUlCzRJLL\nsLHEkWKeh3w97dgvmK5SWdAweUycUdCBaY/ux0Q1nNkj8SfFRmvuMuIUw2Wp\nFTadbbsmsxUcIdMDWvwruhvYfi9qonG5o+HwePzUH75yp2oCDZdNyUxqrm/K\npW+UNWK3aAlTZZkKCrmgKORvxYEn+g1SGKf8UZ7QBEE4hJbTKRqbCzlPEuIC\nvw0LCNBRjoflw8AfmjHwIRF+n/HDYuFk9HG5GJjvugpo8J7UCTUZprV5xZR8\nrL6O+PuOgwKZPEKL1XebAMP2ZMBKCD1DWCLy3j9mhrkPy3DZf6G/kZG7YMpT\nhbHudB4vOHVlV8JtDUHe8bKvb0eAtW0nLwy/4w7lmxGqT+pBgut0ckMiXWAM\nYoMfZ7JlYuMSfzuLIWq+8iS7w6VoPpFgvPOsdsy2HvYhR61iGK9jiX5boEwY\n1eqW\r\n=IyVG\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":"小程序上报日志统一小程序版本","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-ext_1.0.2_1626949012829_0.08753522263305746","host":"s3://npm-registry-packages"}},"1.0.3-beta.0":{"name":"@hyext/hyext-reporter-ext","version":"1.0.3-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"2f03467d6007fee6566486220111baae01a833d0","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.3-beta.0.tgz","fileCount":8,"integrity":"sha512-gJckvWKxMm86UhICLT82lfo4wBE1TecXVYRsT2h25yvYwn8+5j9nt7s11+44tVH36RFibiakuCfW+GWtAKFzkw==","signatures":[{"sig":"MEQCIDb1kCm4OuMnuEHKYYjD4KIBipBVxmhuabIPXHMYjpULAiBn30M5KSmtSUqNlxp7ef7p34jKBngRftHB5Vsfb4tWmQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33831,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/nw2CRA9TVsSAnZWagAAzm0QAJKiJREx1ki2gMdyij84\nyzJ5PESOJcyY11DW0dn5LWqj7lUGywWlkpSmwumjSDC6wVegmw/NcqtqUblX\nTD2XLwvnTteHRbnqMuT4ICG+iWFr2msPuB9ZWH676zeqIVailO8wEG+NRlqo\nfHBZk66wxkl6ktLFesW28qEMrF/JMuBu+KPlXIBOp9gPW3Z49IZQM5TExxUD\n+UdYXrFIZQgOx+r5bVp2d7n+abGyEuur8nYIYrkg30JOFnHxazZswp7SYW58\nWvT4371JAmOSJTL1ABp9jq1vbb/l5gMMmaKRc/Y9SBlWshjWCd8td0TS6WSE\nH6GTkvIGl0jFPBoq8sALj9jS1Wwn1oHIagUYPH5PgeNUgaL6B7ySMx7saCjI\n7/vqaAmXHEAYXwWgdmjck4a8NsYKFB7FxxQYmiqhkwGXmsad+D4KoA6Fvefl\nizCseTjPnSvyn+/cCLbjLzYNejI2JPemeG/bCiuZgNW7rzx2Qk8SSY65jRDs\na1tShHj+b4MshWsCNE3YTGcYEzWfDVfMbrerE7JTC3wn1kKNb8715SMpIG/3\n3GlAVOt3lOcSru4VKWxOo1rwYiq0OjusmfoYDBfLb17RDFFdRr0GCsL/LFCf\nAHk04RqtDzOHsJe/53cfnf7rkmTDd9PHvzCmogJSC2jTMPYPZ3on0loJaCmA\nYwEg\r\n=7/Hl\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 1 秒上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认  | 说明           |\n| ------------------------- | ------- | ---- | ----- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报   |\n| Debug                     | boolean | 否   | false | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共信息\n\n| 参数    | 类型   | 必填 | 说明                                                                  |\n| ------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id  | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid     | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid     | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| env     | string | 否   | 环境信息，不传默认构建环境，test-测试环境, production-正式环境        |\n\n#### 示例\n\n- 实例化\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true,\n  OpenReport: true\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":"992fb0a6dfbb0920a292b7d7a894730c34ecbc14","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.2"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ext_1.0.3-beta.0_1627290678381_0.23444435959961796","host":"s3://npm-registry-packages"}},"1.0.3-beta.1":{"name":"@hyext/hyext-reporter-ext","version":"1.0.3-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.0.3-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":"7c4fda6bc46fb14b5fc66dc379b0c79a56f2896d","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.3-beta.1.tgz","fileCount":8,"integrity":"sha512-MWYNofuDCxmP9zpGbqN9JcxDxzV/DMXfO3u5z1iJ6QIgPEtJaUs9i4AeDhMQvbXcBq+OR054rqBewKTd7reH0g==","signatures":[{"sig":"MEUCIAhh/7MEwC3/TmQ1O5HpM9rJDYpRma9jGtoLxqjxer6OAiEAmq1ILIo6m+JrHRJ62irsEf1rn5iG74JudAlJTc4jn2A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/oGUCRA9TVsSAnZWagAA/f8P/04Lfd8NFfFvmUy547Cd\nzZ2hbYAon7ueyJkfxkbIRylKHK6QcEGmbmTi5ZsG2aNsKJ83ANt6XxQA0kQY\n9fF9YwyKi6POUwoxgh+rQ2975ryRV58ynsbMz2+pEv5O/yokygi5nzjtlh+H\nwQP6zQ4YyOg+I0YCwVxgPBXlW4cuUdKjRbSGbL3l+TiYnX6g9Mzpe2MNXqqj\n1Ybkkq96fm1fVEPqiDKvYzX3BsvlRL7Wgu/OoER10SrgOyBanbMwzGnheC0V\nIwEKUxzgktUtm/ngZpObXMv5kj5Vv4V8RNfWtUdDIU8fMpYDu8/FJw4ldERA\n+y/qDXuVbyQi5z0OtKMZMME/tUtl6k4cSfs9awiMaBk7ycVbov8WhrQH3Ij6\nf+smn170CK3+odgTmEi+vQX56M8bbjvtYs5QRAeDYD4uOqk4folj1pTw0QTN\ngMGVqGznScMwuT6SphyMN0Ms2S97i3EbnfAropLgrbSZTXHf893N/Twfl2Wj\nwLhloUlxaEl0nb5DURGZXoSsYZHNGbDgq7KvmaAEW8s0ltD9qNg1r7in3mG+\nNB8rH/csB5M5cgHjKFFQD1JekB4lf1RqYLhbAjCPEb0RIVr7hKTc/9hZO/jM\nwTckQW+1Ju/dKLeqBkWURR69iacTnw9QRel/KQ2EIqlwn2ueIo8kzjCPi1n1\nhInd\r\n=l+jd\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 1 秒上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认  | 说明           |\n| ------------------------- | ------- | ---- | ----- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报   |\n| Debug                     | boolean | 否   | false | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共信息\n\n| 参数    | 类型   | 必填 | 说明                                                                  |\n| ------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id  | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid     | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid     | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| env     | string | 否   | 环境信息，不传默认构建环境，test-测试环境, production-正式环境        |\n\n#### 示例\n\n- 实例化\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true,\n  OpenReport: true\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":"7738ad4ac019217f3253a35367f124f61d8244c5","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.2"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ext_1.0.3-beta.1_1627292052064_0.47199504576497486","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@hyext/hyext-reporter-ext","version":"1.0.3","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.0.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":"4b3a5bae22a08d97c98abe7d1c98fc4f716c61ca","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.3.tgz","fileCount":8,"integrity":"sha512-a1N3X4rpqVEQNVV0ze8cyVx34iYGq3kgXJgF0NbLW2VRp14POklCNRQlgugNLOlrYGVJ8PaYI79tXhqOOqMW8g==","signatures":[{"sig":"MEYCIQDCJ9fOq/TuLNz5BDekGHQ9PhLSt7vvVtyHKgwtOU95JgIhAO9PXa5TvATq0nizPA1O8SyPsJcaPHmb2C8kQbJSgMJJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32232,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/obuCRA9TVsSAnZWagAAzO8P/2MaHD6xhNt/VSQpLYl+\nksRmvWcNG8kiSH5gcoXMyYvk/gZoSYpnPTimaG+jSI7kVfhZgYWOphMw+2ph\nNEwtz0gUNgpXjdbV7NzQBL7ITvShW+lCAd6Q+ze+3iPQJGMspA8dujfiXyo7\n72emSB3cEtIHBedXS0KvaOStMjVfiP55zFIGRK3G5qsgtitDZxw6Vun8IE7D\nlkSQrYGFxzHQyps4tC6Fa+GCXtNp839EYL6duCF7PiDuAzbtuod+0cltjjMG\nJEvfNUw3rb0/klD1r31aj7q+Tt5Dt8K/zcKfMSQQCyKIDA34Qh3aiy3ZscWX\nCOmXpLMhYHKJNNPM4syU6tv7f9KYybpQ/+wZyCa24dk8K8Cr4/xq+p0N0EEJ\nOXpio/MHlQfx5KGRCeoRl1QGuEVIjzsM9rNMxKeb0EHdFAwlbT6zq5Y2vMjF\nBBOufZC/4rDoXY1Gb62Uy9ybv3G6SSvVvvzX2N89SPPR65yRoak8+a4Lp2tm\nVbulpDG8O/ydeoPzN3rbawS8rl5SSsbwMMqRqQSiEL4Ag9xVqDn/pHbhnq7P\n6rhKuPiePA8bqc82dsmsTxSyBGXgWPNQDVwWva0XTcGX9h8cO+Yg/GaPZyOJ\npTFJz62CbIRR2bLO155UU5Mq8CdmtABpO0irvdJfCquMjqSyHb3UJH3AFri4\ng3eO\r\n=5iBc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"82bbba3087a3cd169ccb9c1a5a34dcc8c43a6f3a","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","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-ext_1.0.3_1627293422504_0.9369806574243984","host":"s3://npm-registry-packages"}},"1.0.4-beta.0":{"name":"@hyext/hyext-reporter-ext","version":"1.0.4-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.0.4-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":"6d08abafa61142be0ec2b8b9bb87a6925f8ae5ec","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.4-beta.0.tgz","fileCount":8,"integrity":"sha512-KSnydJo44dlCD9pIiMw1kYI5MMFVLVc3EdYs6Tgq6apZH5M2Q0IlmN159DUjKnGIRf/6KryIovuW8dtynV6Tcg==","signatures":[{"sig":"MEUCIHjvolwYNBrKj7tRGKDSKRXG0O0tlZHmiieQSQ7T+bSbAiEAxD/mXz/q1LVh8W2BdK4PsFHPLk76n/g654l/49iAdQc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33187,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhANpoCRA9TVsSAnZWagAAGNMP/1YHZi0UEnmFmEmuOz+w\n8zqsrf6QusjUlRHyhnvWtC0ln2LWnEdWgCvRiiOkmKsU2/MaxQEtSNceHiRG\n+axhg76KqwLzc2lgTX3iDFkgeWRPi9jx+vJTq/pLQB3y7OpQ5Bj35Q9g3YE4\n3BLQbhX+jbMfitV0kpT+iQ8XKt6T7dH0HLJM+3Z02kIexRTfG7B+u2pDGnFJ\nLQ9d/XpdCX5Bm3/G66KI45Iz1UeRNuPOh62ATB9F5sUB7B0iDYsc0+Gr309P\nRXsMHrwAIjxFHJbPH+/xRdPMM/BgGPfrUmQwtPV9VrYG2TJ9RG+S33PqNZDA\nBUo/51rwPFdrwPsbV5rWl/UMyts+GajVGcLc8LGoLWt8CY+lkt8g+ubluXwh\nyzF3KtX3Boo9LnxGwgeXV4PNqhW7LOv6BIVs2Ev6ovsKje4URBbU/SfPSHSn\neuvzcJIUBLkGo5Td7Df5QbFKx+N+iyA0Hgc1kO//VCNxfW6eQahQWiSK2Dru\nr/XLdu82CFHSAf2SHWxtGy5V22CtpmwkE1QDypiOpuuGQxLGJz9OghMzM4U9\n8Nwgs7UGDZTGbSiNsv+nGaMPQ0lB8BJeQhSrhWj6pwqF0aphnKoITds3za6s\nLuUY+sL/CiOBl2KO5OJii1FkGcPtZmz0F52wXHvxaCSpkmUZ3h1+iED2NEGG\nv5H1\r\n=GPf5\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 1 秒上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认  | 说明           |\n| ------------------------- | ------- | ---- | ----- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报   |\n| Debug                     | boolean | 否   | false | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共信息\n\n| 参数    | 类型   | 必填 | 说明                                                                  |\n| ------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id  | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid     | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid     | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| env     | string | 否   | 环境信息，不传默认构建环境，test-测试环境, production-正式环境        |\n\n#### 示例\n\n- 实例化\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true,\n  OpenReport: true\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":"小程序上报日志统一小程序版本","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-ext_1.0.4-beta.0_1627445864617_0.8406689672877767","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@hyext/hyext-reporter-ext","version":"1.0.5","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"2469013e7ca363af0106ee7a90b6a4c350ef1866","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.5.tgz","fileCount":8,"integrity":"sha512-84ajqwUFaW2ELu+OGvjTFrhSXsfnX4m+6jneXea3FJgzOPyPHROBOUM9qg8mhVJc3SXpnJO2GiF3xSuTDxqu4Q==","signatures":[{"sig":"MEYCIQD35Y2Hf2r/QKwGGrrRTGPHIB3zivdW+0TISFnLmArgTAIhAOjAWh7lKV/SK7F1I0fojSj0i5e0pY3TwD+ZwsFlWWmT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33969,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAN8eCRA9TVsSAnZWagAAf5cP+gLyHkrmA4yrSbPBsFbi\ngXkFDmPwytDcPQBq6FVmOZrkJsM1Uf34p8Da3b1DcvE9V0NriHVe4GB75Pqh\nk/avFvWb80FRZAablVDFWAvIHYbWe7FSFVx1W34je9AK1cRu8lhK+Aucs2y4\ni0mXxVJcZBTEo3Ycgy2aNasrSipTofhMz4P9T41gDl0z3RZIyXmMKIaK1eXO\nQHVTq/y8EUD2JN/EF3XsBTvl1Ivb2NH0dZSO8kNQ9IR5arWveiFmbr3iJqlQ\nHmd/deGcyNi4mYP1YVo3Dox94rY+x/+t9UVEXny5w7EtUx2YGhIX8U5c6Kgp\n7jKoQ/khEU/Q82xbEj3ACGofkkhjiskeFpYzjK/a2KVlpuF+UWwQQmRRDelv\nUN7FLn0QV1MUkFApKLaHgKhydzzO/JKuIxcQ9DGblH2W03z2xmg2FX6P3Boe\neeIpkE51hX/dWYwzslastX1NpdOv2xdLXbkjz7nhFvvqMjecPjI9OCx6ksM7\n6wn35dPxoI93O4jN+ohEJjMog6ZsnL+B7kQfSxtjLUs/sHcIr6pjIMAHZVkH\nRWwRDoX8L9PKmWihSQWqYx4ynoMt/JjvH0fM1ez9js7/eoVQTXzKmnh1zMmX\nknJla3ZXFkWQzvZMcBJqW86tIyhCIEMuGu4lscV5i3DdmFVE9CUG0qnbJljj\nK7Fp\r\n=4eEL\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":"小程序上报日志统一小程序版本","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-ext_1.0.5_1627447070278_0.7269114315568834","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@hyext/hyext-reporter-ext","version":"1.0.6","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"89189dd4a1c9dcd0476e21a1214cbffee9e9501d","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.6.tgz","fileCount":8,"integrity":"sha512-M7h3F6tJBq9VJCfDHw64Oy5S+zyhUkjMlKaL39suhoWq0egJoruEKu7bCsNtvHL4DBzNuigl9zrkf7AMiHOCng==","signatures":[{"sig":"MEQCIFecZYfMAdD2fmz5W2nvc/CplnI78+RPn6OqRnQ9q4IkAiAKoqrp7Ry/vU6dP/eDn5whF2+/n9P6dDOZ5J6Dn0qHIg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33970,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhASN6CRA9TVsSAnZWagAAcFYP/2TWYYppY9Md96d8L9tY\nlyQ4q5Iy0hsErynWU7MsbRHehOS8kBE2t9VhYqHOc+Iz5XaAXTld+3WYoEqp\nkvgbYLkwX4Z+B6oSekuNO4nIxuLdWLlvjtxIWT1xCv70JTg5FJtMTfEhWfKY\nBbPgb3T6y2uQ04pzx+PXlw0SG/tGgN3Y8vmHH66b11MO3TvLVMq678KL+9FU\nqZtA9SD+sYnv7rHVBxVrBpWs8GZ8pjIrioCNWSUuSlJd7Yuul7N+23CmW6eI\nkC8L7/QM8q61kuZOP7dfK408RDgLd/U0TrS+icD0E11sVDAnWKQp4UVLuhZL\nqn9n36ObRWpT88MKn9XytKkmSxaqLYBizT/nozBgm19kiyJaAvpFvVJBeAdM\n82Og21ZSUcSiHN9uXOqlGk1Gg+EBv1ldtKDmgIsZvP6dUwq+1O8ZoZ6+gf3e\n4Z72XG4Nwe4vn3ZBEAiBIA+YjUYR8E/Uu0hdTwMLKTPAGnQNtxbwmmSyAJPN\nuSAIRp5cXguQMIYfe50X2nEtMPZcv64J02D9h8oq+6ifpSbDysxepRvCuVFs\nn6Lw4JwaerSavgU6gjZ+gFqfpTO0e4bVRIQFEySxSqwocfZ9eeiyg4xcnLv+\nOD2gZiiBhYrmnYRNV6Xv4uXO6mMaQh/G1HLF0H3JvY2fgZjQCwOPUTpYTiUB\nt7iE\r\n=Aben\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":"小程序上报日志统一小程序版本","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-ext_1.0.6_1627464570184_0.7741680376505011","host":"s3://npm-registry-packages"}},"1.0.7-beta.0":{"name":"@hyext/hyext-reporter-ext","version":"1.0.7-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"860d8bf14c87814aef19da20ea91bc0edb785fe3","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.7-beta.0.tgz","fileCount":8,"integrity":"sha512-8yMBZSrfO8bTjzzguodxivYFrpltYZvriWjvrMZAbjMwrgfHwWHppieqPaKUYHskVRXPlfXnUwJNKIoJxOv99A==","signatures":[{"sig":"MEYCIQCfPafsC4pKLN9fwnanZDvdKy3dmWyDtM5ZcORZB9fYEgIhAILfLe9jYVW/FS7YiWqZM92CIM0wOgwoQKMXHpV7x9i0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34044,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAWagCRA9TVsSAnZWagAAIXwP/2I573LO1R8vLxrQCksh\nWlWJOWNE5pvs25GASMzoPb+NaH2WhYBteT2LdxZsYVlmFDwjG/BEFumud+CE\nNZYROsfv4gNNWzROMMgeNB8jiuOR5bIAG6Wa5xrlwTy4ijV/qiUy5vgoZr0a\nA/mOyNHjK9d1w7GxBD9uR9UFhrbNaoeqHMbmejU3ZW0cX5NUxUlenjbAe7yk\n2oKpFsfrs8qsJ0rP3FgGNTrJ9sY7Q5qax98SYPPvo76Ql7VP0ACYp1GL/Ib4\nLJtlkXxh3H8XghC+yjEy4BEyQ+bqgQONJcG3Bd7+mUUR6JNyF1wJUm5+oQiy\n2hxJSdz/BD8NO2ulepwnnYJ6Ku6Tth6MwziBjcjw4Ec9/Vx94QwPo00207SG\nRFed6304Em9JjE7CRELTVKB8cLKOZKDc4tJ9Eih78s8mXbN759uEv0Q478Wf\n5wRC03yL/AKIP9eUtXf6gkkL44dwRWMkBQu1BjQkBxPVI6FE76CLs96mEEfd\n7BwzxG1WyveRS+KNmDsRsnBVXb1/20gsO9Cl8tMbhwHNbdLEx1MQkVMKIpoE\nq+LU4RkSWcrwE3np/HYZDHL29diFbGB7NueeMSWay41qCP8/3pyzuQzqjTL5\nhDzqoXJQxuXc0Z0LDt9x/LP/YPZQDFbrbwvGpZxYG9kh7DOfrmg+TRAw+qD1\nMZih\r\n=lJvN\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 1 秒上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认  | 说明           |\n| ------------------------- | ------- | ---- | ----- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报   |\n| Debug                     | boolean | 否   | false | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共信息\n\n| 参数    | 类型   | 必填 | 说明                                                                  |\n| ------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id  | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid     | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid     | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| env     | string | 否   | 环境信息，不传默认构建环境，test-测试环境, production-正式环境        |\n\n#### 示例\n\n- 实例化\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true,\n  OpenReport: true\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 | 日志类型       | 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\n### 高级上报 - reporter.report(base, info, fields)\n\n- 非统一日志上报\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [base](#base)     | Object | 是   | --   | 基础信息       |\n| [info](#info)     | Object | 否   | --   | 上报日志信息   |\n| [fields](#fields) | Object | 否   | --   | 自定义日志数据 |\n\n#### base\n\n- 对应后统计台业务上报信息\n\n| 参数     | 类型   | 必填 | 说明     |\n| -------- | ------ | ---- | -------- |\n| eid      | string | 是   | 事件 id  |\n| eid_desc | string | 是   | 事件名称 |\n\n#### 示例\n\n```\nextReporter.report({\n  eid: 'usr/diy/eid',\n  eid_desc: '非统一上报日志'\n}, {\n  data: '上报数据',\n})\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":"小程序上报日志统一小程序版本","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-ext_1.0.7-beta.0_1627481759997_0.7268004580917409","host":"s3://npm-registry-packages"}},"1.0.7-beta.1":{"name":"@hyext/hyext-reporter-ext","version":"1.0.7-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"2cad6be8c2f0b166c8664ea5a52153b77bf01636","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.7-beta.1.tgz","fileCount":8,"integrity":"sha512-g6/LoXQ/CHxEe45B7sgg5E9/Ebhh+nu37wObA1qKb12WFMuoE2OdHoNmx4LBJ/hEhk4vhHWjNSXmYz4O0sQ07g==","signatures":[{"sig":"MEYCIQC0bUuJOSG9iZtXGxPRKhriS61B4A46UjPl3RZlsdB5QAIhAKKYQtxNIA846AA1vUfjytFToFuhUVTl8jjjOzoMxIjl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38106,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAWhhCRA9TVsSAnZWagAAVpIP/0q05yfqdVWrDkFcRGTm\n82NdxdVLD90RHhqCaQYjnU/ZQddVuDLdfwdHR1Xczxabe5ZhU9vWLU9+FxLf\nLT2a8CdRmzhlcjqKLJYa7vc4jvJqTQntcfzRuRRejfw6iTkcGlhUfxRaR8hU\nxwgR0ixVHkK7Iy+hI+M0YLIAfBuJjfZWjL7bHofCl3c6hzg7tI3mcoxR3clj\n5C4TbVjwzABzmPjMfRJS2dJpWj7uoXoRDwvmFHmTE5kEwcDMHho4kTmv8l5f\n47feH2AqtJbSSH2n8kWKaUsEabX2QWxKtNB/MFLGqD0QOfp6p80ZLNSMIv7p\ns387xVeQiujl2eE+cOHiE8kEs8NKLjl/V1RKFtEvjKhPWJfIDDalbtediYVp\n3bJWCRaPnBcMwYNFv7b62RM+O6BqoZigThSU4UiGnTlVmu8AZWxDMqPmsa+p\njPkg8eDJTzSTQf/fIH8HXy5/pxllty4Q6QH2TJub+56D33SQ37lldV3kulKW\nvW9s50E6bB/kTa7cwwNP/u6/5TnIYY+ZSfxcSJm61GngQLnaHXwzmX2ngiEY\nhvR9KazGDjX0wpHMFHSe2jIxqicrCllfC80hgO6A3MGtikGNTB8bubSHhv2a\nHX+vVdVwDhT95vUzLc2NIUvfuamGo96KdN46IRA0isQi5qqHeA3CA8DFSREd\nM+JV\r\n=9qD2\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 1 秒上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认  | 说明           |\n| ------------------------- | ------- | ---- | ----- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报   |\n| Debug                     | boolean | 否   | false | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共信息\n\n| 参数    | 类型   | 必填 | 说明                                                                  |\n| ------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id  | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid     | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid     | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| env     | string | 否   | 环境信息，不传默认构建环境，test-测试环境, production-正式环境        |\n\n#### 示例\n\n- 实例化\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true,\n  OpenReport: true\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 | 日志类型       | 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\n### 高级上报 - reporter.report(base, info, fields)\n\n- 非统一日志上报\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [base](#base)     | Object | 是   | --   | 基础信息       |\n| [info](#info)     | Object | 否   | --   | 上报日志信息   |\n| [fields](#fields) | Object | 否   | --   | 自定义日志数据 |\n\n#### base\n\n- 对应后统计台业务上报信息\n\n| 参数     | 类型   | 必填 | 说明     |\n| -------- | ------ | ---- | -------- |\n| eid      | string | 是   | 事件 id  |\n| eid_desc | string | 是   | 事件名称 |\n\n#### 示例\n\n```\nextReporter.report({\n  eid: 'usr/diy/eid',\n  eid_desc: '非统一上报日志'\n}, {\n  data: '上报数据',\n})\n```\n","gitHead":"bde3261693e89893cccacc68ceadd5635a350602","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","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-ext_1.0.7-beta.1_1627482209443_0.6734508362372604","host":"s3://npm-registry-packages"}},"1.0.7-beta.2":{"name":"@hyext/hyext-reporter-ext","version":"1.0.7-beta.2","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.0.7-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":"3c5164f14b87b6a619201eaed2f013f963a2e874","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.7-beta.2.tgz","fileCount":8,"integrity":"sha512-m09DrFY5/ojBpLAh4oSVOXLvh92t0j+1IWjsyh3cvOIvExKwL9m1kqyFr5mpQBph4tv7aDVAt+1EYtna5fgUsg==","signatures":[{"sig":"MEUCIEBZbeKohmaYu+1IjHYFpi46YfLCZxEU4m39wYBArXL5AiEA1OgYkNHrKwX/wR4wZx0g8RKgVCEQqbyw+QncoBFxV30=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAXClCRA9TVsSAnZWagAANAMP/jiDsX8XM7f30/gZG7RF\nVF4zq7lp3+e9L38v6hU/QUx2BjZI0xiwgaFr8cJjo4Trluh8lLGFF4uICcRs\nW5tqLCb3auB8qZljpJ+eBtg9z75Iu11qZIHZGMvuz/fga7gmEEAQsxLmZbgF\nGtjMTmnS2PvOrc0LiRfGE27SQK3p+1VttI2FYTjd4pit2LnO7fkOafl1oMHG\nyjJZK+y+wyNVdzyV8vm+gBiu2cU7TuwBFClkaheNpLG+TjFPZoPpXXabiRm5\nEh77sOFATZLt07lzge9m3jZPFharermKJoXWq7oaJeqUyCB53yk4Z/3G0txe\nGcJ7RJJlw9aiimSdNnTkkk3OJF4SK7bgq7oKPyCx7NoaCn6LurzoOv5yDXDN\nzq9rDcUpkHC+zD/+b2803DpuRqkt8DPCyasulvK34F6f+KwAjUR+eD87kJAe\nVMWUG9FBht1R9vtcfWtWwEeuIfwCyiNMUBkSHeC6RFOnFH8PRwBw5JMGhIDf\nY4JzG0seUJbZqyT63XCuHeuc5YG+6riC31hN1W1VNRHNZKNiaKYUgw2Jgtf0\ngROUYU+SxqgXTF4VKB2IxduSgCUsuqpfkEQQ0ogQ9KTm/E+3vzR9IDZCBngU\nsfseWA5XILXKaHqXupiHepnfgF4xJuumtugGdYLTgmF+owILYrem2VtKd6vD\nz9bx\r\n=V7jv\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 1 秒上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter(config)\n\n#### 配置 config\n\n| 参数                      | 类型    | 必填 | 默认  | 说明           |\n| ------------------------- | ------- | ---- | ----- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报   |\n| Debug                     | boolean | 否   | false | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共信息\n\n| 参数    | 类型   | 必填 | 说明                                                                  |\n| ------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id  | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid     | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid     | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| env     | string | 否   | 环境信息，不传默认构建环境，test-测试环境, production-正式环境        |\n\n#### 示例\n\n- 实例化\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true,\n  OpenReport: true\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 | 日志类型       | 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\n### 高级上报 - reporter.report(base, info, fields)\n\n- 非统一日志上报\n\n#### 参数\n\n| 参数              | 类型   | 必填 | 默认 | 说明           |\n| ----------------- | ------ | ---- | ---- | -------------- |\n| [base](#base)     | Object | 是   | --   | 基础信息       |\n| [info](#info)     | Object | 否   | --   | 上报日志信息   |\n| [fields](#fields) | Object | 否   | --   | 自定义日志数据 |\n\n#### base\n\n- 对应后统计台业务上报信息\n\n| 参数     | 类型   | 必填 | 说明     |\n| -------- | ------ | ---- | -------- |\n| eid      | string | 是   | 事件 id  |\n| eid_desc | string | 是   | 事件名称 |\n\n#### 示例\n\n```\nextReporter.report({\n  eid: 'usr/diy/eid',\n  eid_desc: '非统一上报日志'\n}, {\n  data: '上报数据',\n})\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":"小程序上报日志统一小程序版本","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-ext_1.0.7-beta.2_1627484324950_0.05696063062976364","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"@hyext/hyext-reporter-ext","version":"1.0.7","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"ed82b8cad6b7797b175041746660a8a90a01eeda","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.7.tgz","fileCount":8,"integrity":"sha512-beYPH/fidQ1NowLCKSiDeDMaIH+bSwO7+qF/eNQjS4UwcsvV4Hso0us3mXEwdTbl641Q2PxEqBbuHx6cqXgtQA==","signatures":[{"sig":"MEYCIQDEVOacTF92waBXETnP2ExB1w66xxoDCEVBymwNxlF9qwIhAIs81CDqhs1Tu3GbpkFNmvUlu7w/uZDvoEm6Mw6yD4dd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38146,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAXZUCRA9TVsSAnZWagAAIiwP/0mn/1qdI+T3YksUI0tr\n1IPoahB/Q+G3ew4/yiqdII4P8JLZ6M7H1QTrjcSpgCsnyaDZzXMSHOxOy5m/\nAbsuspLFsJsgWZ3lacjn4QhGqikG07nuazXbvARiotcBp6kIHl5k6cqYCNQE\nUu6SyrMve+t/06g5XNW0Q1ZdwoWpuHyLZD2gIoyzQPGB84A6EDx4z8sr79aY\newq76RssvMPlGh4uF1OVRSKejBPvP9o3HjBDUeE6aa2AysKB+nKYzWBtt4bW\nyJ6Y9iwJfVptMwu8lMdFWpZ8424lF2HNIswT/IJ2oEFX7LUrw3d9wteckClA\nviAw9qnpO/JrsInEGYgQZm2uAU4LfdStAHypEt3jidshFuXfT5M4v5hNRggn\nUhsCWkmOx92zRQql+DGFQ5vAbK6pzuVxpNIMVla4ACdv4cECZT+9njMbIdcT\nQCBf4CRcxz9k8P/W9ONQ9gLigXpohffW13ppcIpIEKRFDMYssbN4YrrI4eqJ\n3RMOZHR+ujleaRkYHzTGeuvw6CGamlKjBYskCVBh1rJ4MWFEa6Q5x8znk+4U\nzSvamGXcGbsl9ulFgWnys9HFizZ+6TmEVmVI0BPhR8b5hSi91Lltw3dNsdPL\njVPgj9jAbYyzIbOLueMuGwM+g9p5L29NhOhS+kGdjI4mp9K0YHJfbYrYdtPf\nS5Gz\r\n=LPWJ\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":"小程序上报日志统一小程序版本","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-ext_1.0.7_1627485779871_0.25013669026500285","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"@hyext/hyext-reporter-ext","version":"1.0.8","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.0.8","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":"aca359927b693994b1e2ed7aa6a9ee25b527d4fb","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.8.tgz","fileCount":8,"integrity":"sha512-5NeZ2qC0WPuUm4ottyKlQaAlhoM4Vhvq2C0iSdzA4qICzwnJlyk1G2YKlj/egTcAFFB1VJH3+1IEEuIOfIIziQ==","signatures":[{"sig":"MEYCIQCxXwhcl9FI7I4Qbpx4nCu9YOR2q5FXZuYIB+0MzjN2XwIhAI//Ovzz8RO8OTG19hfGdGcwYmnnAyAvizdT/g4AYFo3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38206,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAXfHCRA9TVsSAnZWagAAM9sP/RiSi7Mxp6w/w3UlYTy6\nadEKz3nLXfsFv33SOQcBMwtFUs4M7k2BOaExqi/4/2NCwL2NG4aYN6WUxHd4\n5KqZkp7CGV3urgtz2QOVZFxt39I1byxp4DUwIfz4i8dcxmYbQTI63PILxqM2\nF+t89iRqhoxYK+uo+r5QyOYy1gaT42bnd/31yK9zqLNYFL4HELYFpLfQh+DN\nVhFOPMBOrwalKNoB3xPKwrq2rO7T5/QhbmKN7vfrdnZcuHX+KH3fkBSddj53\nKIvoGqRYIOlakohKGB41rPnRlzH2xBzNGesk+4seaI5Ckq1pTz48BHsCGV4M\nu+2/eZUMDKaBiOreUQQYSBFF38dIbYO8L6KQmxnKcfgK4KeCobU4K7xdOqFk\nQvW0eJeC/dmlBm3dvAhthjxNZJhjf9kbr/8IoW7ah78g7YN1HvBnH9LLSkyj\nhXdt/NGCdlUVucXhkrTx1C/sGPjTPHKKTFZw6anwCvwW3egRKNBbukXUXFB6\nucRE9sHRmJSUhWG+CqHdO1fJqkhNBcogIiwlhFBXlHsh2lb1ybk9vfml8aPR\nNzzcp1ikJEG9L30dtse1sPbDRt1n0AMYtMLw7TW30nedTZqs6KyCKP/BIA9v\nROGL+iLVnL7b2STzXVlYde9Njwi1tjSuEJKCJPjStymbENTBYD3G70hCQU7b\n52Pg\r\n=J1Wk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"2bc0d374dace3b3364aa485d596477f9a5323ff9","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","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-ext_1.0.8_1627486151397_0.8259638365806907","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"@hyext/hyext-reporter-ext","version":"1.0.9","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"39877307d7f282dfca75adbaba99768c66b40e7d","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.9.tgz","fileCount":8,"integrity":"sha512-zGGmw3kl3x+MfIKkuSLEeA0XKK0nLrcnfnVbgh/k3UAZF4MgZOYgbdNkE9N0prj6VvHOiEZXUJDD7GtvyeE5Og==","signatures":[{"sig":"MEUCIHP9ZBqLgz/A8kiNftxRIXVl75JT7zqTzixU3ezGrjp6AiEAuV4evGN7v1Tsluuh+oGzcS/w1fVLN+F7yLqPfOwvJKc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33444,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAitjCRA9TVsSAnZWagAA5z8P/RLXp7o62iU75fl6Aofu\n43jkHc3PiqeoZXXzAhi0988VPwYT4Qya/24Ty04GBxfFdP2e12s1Vfh9nUuf\nhWMPJekwweUdJknlnXEE+WJF/oEjuNDSCwq5F+iMJX5a3KsChgSTmwO5Qi89\nWkPaam5kDLZ1VfSvD5jUNLXonB9l7bZ2F8TMgyArn8iTRoKmdwXak6dXlQzA\nqRYh55CGMKm60kvqP2KhaqFWcJ4VU8KLs21FLuWl/Q/UGDWAZV4S/TSP5pHz\na+YXWbgKnft8i0JgyayqgmGoWecg8IHL6ONoU+pkyY05l9TjykgCx0X9WsaF\nXx4EB2wzGA/+uuFvE7R5dHE7dTEBm2C1NBuWHVEt2n81IHZDIB6o5ewbRlqi\nesJTv04tJA/EpMK0QU6NfuNiKvz3W8c551PSHhypLQb0vakz2ZrC3wQqBhFX\nxs+UUdg3WGbEtAuR2AgMqu7nZTUQRgVfyZCmp7jCTEIHCXPp+ZAo+cCLHn7n\niB3YJ9pesh+z6usahPRcX0edASVoW7mAQR8tNqi0dH1grs9dDBaJ167SgGa+\noVYEk7d0T9BJZlIPIsIqckv3RmOQFqLlWffIej+IGPdWpq6lyLR5VezE/tVY\nuDgrnN/QU9o/CEuiAdw5z5WKPa3BhTeyHSRhbm7BKVcMX3VLjfgoeQSyTGCE\nvtAF\r\n=1Osf\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":"小程序上报日志统一小程序版本","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-ext_1.0.9_1627532131007_0.007428823663742756","host":"s3://npm-registry-packages"}},"1.0.10-beta.0":{"name":"@hyext/hyext-reporter-ext","version":"1.0.10-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"dbcdea5c8c37c5cd1d1a9cb452ba17516a6cf9d5","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.10-beta.0.tgz","fileCount":13,"integrity":"sha512-BMbukHEKw51ssbmdwyc+oUJFhfJIV8uWXJ4wyf3oahbYFphaYddXbXHihW1u54UZW/VcDKPnLZKO40KMXIiTUA==","signatures":[{"sig":"MEYCIQDIIUlNyXC8j3q+y6JavnX+RZFRnJ4UYen+QUOtiFd0PwIhAJhXCI9xJ85WXYQ76SGTfwPjAm0XYFlOXTTQHgNUzH7D","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76351,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC7RACRA9TVsSAnZWagAASSQP/iAsn/XAR9AMXR52GKsL\nnqcjMSYd0UDaCVSfttJcN51cnjvRyjWvk8Q3h7v2tihsxnGC+YLgN09eMq0M\nmhiIR/n5tc9t61Tj7x+ZVLNBwSLX4adjSwiS+bAwmHHfEGkjfybgh64cW/8G\n9kieSMehkWA4QeLR9ZHUuLb2JD73hopQb8EiMTp+0tigXyvHs9JDTpgGIa+B\nyg8kxej0t2azAUEGHsAJtPjgq7TlwMwGVeS88u//P1fOLZw+4TCb00qPsVNm\nFvrCZJFlcOMGuVUB5qMGRABTklFxF+j9+yjxKQYUqW92nccbW0aKRB45ehZW\nOHKJnQLjZFrw0+3wifbWGp8/QbPbQRMkgT8Pgr2KNJ8MztEasq1VlYLxenAJ\nPhEv/Wa8RfCbSGDuYLA8PTihz5NzhjoKhKmm3rXpS69+MuxyTKZcMD6ThXED\nx2VYX4ax4FeAQbBLSpl1Lr4rtZ8GGx4z+fw+g+hHnEhGUsOC41cSzx0tlqwn\nfDFNC0LF8xdk+L4xVaVPmZIuD14sZEvk5cCt1cWnZq8flYD2dbCOypedZX90\nPw8gm8vVyWX6KcH3AQy3yERrBqBw8knX/r2tQhCTxdRHeBGKShRmb57AwTfT\nqaJPz2wtQGYWvFmcET8cuTpYHP9lOluLis3z0gmZuskkd7uVQOm9prY6diTn\n0+ta\r\n=VB+N\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 1 秒上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明           |\n| ------------------------- | ------- | ---- | ----- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报   |\n| Debug                     | boolean | 否   | false | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"0a5e5f2ebc017a7338a30bbf0b5b7bcefcdbd99e","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"blueimp-md5":"^2.18.0","@huyafed/ya-report":"^1.2.1","@hyext/hyext-reporter":"^1.0.9"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ext_1.0.10-beta.0_1628156992589_0.7109220884016367","host":"s3://npm-registry-packages"}},"1.0.10-beta.1":{"name":"@hyext/hyext-reporter-ext","version":"1.0.10-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.0.10-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":"8c62b5003cbcb15bec9a79d127d454638d153bcf","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.10-beta.1.tgz","fileCount":13,"integrity":"sha512-/4nXdAViYRfWJqglf0N6NH8bu8vl7TNw45oxhlDt8Gc3SLH3CdNkqrGaWO9gmO7iX6S+kKK8ge/U5+bkz2KtMA==","signatures":[{"sig":"MEUCIHwz8RLdujszisiDlp/e6RO+lfzcQRzwW/lfeMbCXSE8AiEA7l4UPi5dbBuGAlbdjF6Oy5ZXEEmG1VfdDNuMJYMyTls=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76315,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC7V9CRA9TVsSAnZWagAAI2IP/2tq7bj6sCl/6qC2Z8dc\nZN5kkdgrirhctym0eErhlsBr71cFKeF/G4WOEsmccyCf7KkpcpDAIELMwqMI\nMr5a6XnVvGQE2DFGy8lcH1xU6F9SicjhqrGuN+E4ggjKUQPiI0mlK8oHD+LK\njA5mYDBQHHPuvUbYUeLHdxNJc7rcV3ul20DW/DznO/oK4lh3rk6gyC6pwWJX\n87fht/BlcTVmFXJv6Tn5+MOXs52utIkR+NoCgi/juQ95HnyHv5YZ0SZo8F0W\nWH1ZkNin7cILN7yl2ungQH+H2TsH3qkSRCB254MzkqNup5SOVLDIjaKV0pza\nW9UetiyUMgiT43k3dOOd9FBiJrasSK46v9D3GqhBNnkUzwjbMH2SJy7k1S8K\nhArhJfJjKghA+RJtNzeOGkAmcgzbmDUPAvEiwZhZhTeDSvY687sn2br/Dida\nCyXwUrowgkOIurB89QCNhnT9jtgYmk/hI6E6IEStJtKiVKgVnaGBfsj13eMm\nlvxlvScxB0f35M5ZTcDaKCKHif0tH7WaRGalcPy9zK3yY0p/+FIAYvBwMJNU\nRrHll62S8Tib7cp9IBpZ3hC4bvI8S0Ojtbs/q6PERJFYajcm73SwtJDz/b7R\nJBV3gkB4bMtK8IAc43PGh38eSTqeuFpjknmG4Bpto0r9/pYtlodjK3y9myM1\nNYO6\r\n=yfT/\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 1 秒上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明           |\n| ------------------------- | ------- | ---- | ----- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报   |\n| Debug                     | boolean | 否   | false | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"28c0e707f36a0f5e3ae68ba0facff3a1779b1fca","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"blueimp-md5":"^2.18.0","@hyext/hyext-reporter":"^1.0.9"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ext_1.0.10-beta.1_1628157309572_0.41742185600047566","host":"s3://npm-registry-packages"}},"1.0.10-beta.2":{"name":"@hyext/hyext-reporter-ext","version":"1.0.10-beta.2","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.0.10-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":"f912f4a6589c8724d8b693af4f78c142c8ba016f","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.10-beta.2.tgz","fileCount":13,"integrity":"sha512-oOMzC3RJyl0fvtLXnQWYt3Gm7evDleAZg4ths76ponhW8ITB4SMR2gp+LVKSlNlBfaGnmQjFWJ9zw2se0IkLfQ==","signatures":[{"sig":"MEUCIQCnJCeRwZ5jMKDNszaFSpmfkWYjZjByh5AW0HHJA/nPsAIgU5HWh70qrPe5zS9S98zwJbJrcux4J61r1cb020s64TQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":195206,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC9H3CRA9TVsSAnZWagAAEE0P/2tsmLZ3cY8Jk4xm/hk0\ny5Omd95yWVEXWrLv9v2CP+Lh86/nbRpAdyFm4AoMTgfRTqHCXaKEmOKAWDQO\nwfZN6wp5WTGPdUdYdbOQ/lpqk3yXbgERj7tEGyrEUOWFc9CxbymAQe8cpcs/\naJw5i22+fa0PjHR59ZJugTCyvt7OCMy8UeYBh+rB2GX5gIw2UMWScBYCgBoY\nTjmrjLuyvJiqOHqcgVDxOjK0zpiw5X06mdlbeegD0L5Ec3rt4SFaHESVbNJQ\n8jk2hxGmIwe79e7RKfGOxLdlVW3QD57scZ7ThIrDaJ2/p61RlIBLzJE2TZry\nLKsUNN1YQi7D4RQCx6dOrGXhyyBhsqNxyxKjAuTGlUgXk1ujNKzHFEDfqxm/\nO2WOvFzfnffirNs/O//uf7BEH61mHw6esCnbvk85+qq7vZP2xwN7EHVeMEXG\nPg8YNVroPwjwRowbjMBqZ7wD9AM8c/IZTEWvR+YyzLUKXFpJ7C9f0n5fvcxD\nNUl4vIoijokbABA3WHcSxFJetFTRDQai1woSxvrH5JO+HHFj/o8YYAV8h2S/\nd8Wn7T3on+XF4BWsgTmDuxMshFRFfp0gzEcrPZgQkeNH8Y9pefObjV4UnHzz\n2wI88PSSt47LbaUTYssWbatuBY/YDPemnQaQSlmTnnpFx7LR19iaGUCZHVA/\n8qSu\r\n=Urjs\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 1 秒上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明           |\n| ------------------------- | ------- | ---- | ----- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报   |\n| Debug                     | boolean | 否   | false | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"6dab25354c067d6dd839fd3bb5e6d30bc8386679","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"blueimp-md5":"^2.18.0","@hyext/hyext-reporter":"^1.0.9"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ext_1.0.10-beta.2_1628164599305_0.20462122447343378","host":"s3://npm-registry-packages"}},"1.0.10-beta.3":{"name":"@hyext/hyext-reporter-ext","version":"1.0.10-beta.3","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.0.10-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":"18190440b00f524e3e203f594e79e8723a88b7d5","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.10-beta.3.tgz","fileCount":13,"integrity":"sha512-kKzl1vfD5JmWd1kQRUshoQ5PP02SPrBjQbXAPAZyOR6g85EzmvhYU98wVVPj/ElI79l1BDljzAqPNkfsCeeepg==","signatures":[{"sig":"MEQCICOWFz0OhSmQp2Y9FitlkhExHFskNqLfggxY8XMsjU3BAiAuM0M1i6J5DE9jWMdfdZX1pPHTgzZdtYlMk6Sv4m0CAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":195419,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC+FMCRA9TVsSAnZWagAA9eoP/2NLafsn9BZO1ysE9bFG\nyEKZEtlv6p5uQImo4zklAFRsmaty8hGZ9+63TYGnMm6oyFVUe8piXkfZ517v\nJJalAiwgvDoFA5Gq6/mlELjR6ty2NBEavMvlFdt2DDa3dJBbagrRGyjr5mzl\nLlM/4j7/D1U4yT8IVg1gGwmyR3tZ7AWHnD/eq1sWH+v2xWC3OS5o595tjb1f\n+ryX91CO6xcxeEM14oP+8uEH/Pz63Y5r8TACvL3IroGBmT/2scDKVeBcfVOa\nzfExAWsRhYDqu4vlYLcgtYXZnaPsmsUrBoc76NjR2FGqdyZl2xQAfo/MhDZT\nXlRYj8sVQe2ukHf3AuZx1swo+sLly3b6UJ4PBpswvAh0368VrlR55/TP/6+D\nsdZ/agg9XTmmnXA5BkimOuT+WMKb4lcHY8+UjhP8OK/n9JP1tVut7hj9DXIX\nkhLLdeUGBrhcBdZJXcNxJh+Tc+r2aPLDaWBMxBQ3FRMPpdyBPD2+y5IkFVhM\nIPQTMF+6pfjHhlO5O+wRoR2F1T/LH5PPpIgyRcZxLHzS1vfIbgZFlda1gULN\nhP8qsLd1zZZ4RFuxyGZOLV8R1rJ3jRYaMH6aoSdikkTOsdkTgLFruMWrv1nL\nHq56Cxy0o8OKRWjrSrMgnclBc18nbShKQUTfR90RBiRN+IH/vrx34h+A+epA\nSxND\r\n=mUh9\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 1 秒上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明           |\n| ------------------------- | ------- | ---- | ----- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报   |\n| Debug                     | boolean | 否   | false | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"小程序上报日志统一小程序版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"blueimp-md5":"^2.18.0","@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-ext_1.0.10-beta.3_1628168524326_0.7006501166062027","host":"s3://npm-registry-packages"}},"1.0.10":{"name":"@hyext/hyext-reporter-ext","version":"1.0.10","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"f9a4929ba2f25d8d10dba615a92533d79c6b78e1","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.10.tgz","fileCount":13,"integrity":"sha512-pdhmAyyh0zlUDd4f2CDyObUS5N6OzJrIZ8LSHGabe0RUDLGLFVUmaMhG73KNyZI5cQMNMePiCrS/PQ/957ajCA==","signatures":[{"sig":"MEYCIQDYSAQaVQzycGzxZ5NRIzHcq8shyMOrnnCgaSXPqVJbLwIhAIxPaX3ZEapY2FP1OrBzjkiYLe39kHhgoLBCclBRt/Ia","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":195552,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC+j3CRA9TVsSAnZWagAAY34P/1U3zuYLLN8LGMemJtr+\n8tpTzn8zm/W9AUCszY0c4tGlns837IysxHWJskx6vglUfXKymwyOmw4mQPfY\nsx6UA6SFfwy1tt197uDdULNbqnt+r3rSl7iKYBB7I0CXaurFcoQJIaeDIXGc\n6Wbg2kvGg/ldfiHZlM/EUi647uXTin3BwNv3jz2UtW9w28kLZPjN5aU9hLM9\niVnTtWz7Y47UL5mnoswoInBhhKNsG6uvGtt7V4DCrCPR/90if53Ol6N/OIRz\nTqvVM2leSLYNWWieOWBNdRgusKgE+53zCfq8UGWk1F1JInbZLsgx4HhAGhR/\n4TtnjS0idXlJ5Ge6BSZyPx/4uDquaCTRLPUeqYvaJAnwLHYswDSKli82Aihx\noD2XX1QOq9plPcJqlp9YFBlqwKwVTK8tWCCBDUf4/epV9xJ7NRNncPQNwKSd\n84BAFl9fqk681OwoSGNaWS5t1q+eJWXv6yH/zZ1h76nf9GcqxYaJlIHsVFdM\nvScTCij1rK3gGAxNwzdJf7sjQ64UMHB3VEMtr1CSGcOJSeOApZ+u2Cxeud4D\nXzVw1hkHgmX9MX1KBYpFzNYc1cCeBpuv1K2DgQXWBVZkVUPsVql30RvPkpOz\nakxC5ce6YbA5SQnnW6r9CUPkbk/Wu4zpLUQszLcZP78L/IFioQKdITtVvxWZ\njwx2\r\n=jipX\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":"小程序上报日志统一小程序版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"blueimp-md5":"^2.18.0","@hyext/hyext-reporter":"^1.0.10"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ext_1.0.10_1628170487374_0.746480230668984","host":"s3://npm-registry-packages"}},"1.0.11-beta.0":{"name":"@hyext/hyext-reporter-ext","version":"1.0.11-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"13c9d2d576a5415db1d304b7a6bfcb64e8cb568a","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.11-beta.0.tgz","fileCount":13,"integrity":"sha512-bhatTQ2tR7/SqTN1UtVybQS5i2tmxwEIoGCRb0t0/tZ0CMWAE+KF4B+SUbdqUJ4jCVAzlpXrzMoJk4nPHu8Shg==","signatures":[{"sig":"MEQCIBNq0/SBbcOGlGB5sBpxQ5y6FEVSzR7QO30TOt0JbRVhAiBBZMN1CRgQNH7av5F/DrVKUf6wP/y6u1yyhy+XNc3k7w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":228757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC/4kCRA9TVsSAnZWagAAMycQAIaWhOS2cVzcuq1op2qj\n5yhLwMtuHVCIGIZ5X5qCszXb9dfYZFRDL0/HdxxVx9urRsiGKtiTctbIWdSt\nHhYGgdZojOGn1G2juMJaZE8Xo6PKW5N/iHSXHwy937xOR4fST7xgCXv2iQyD\ngxTtQ7LKNlvby2jAoAZbanhWJrMn19IDlH/4smzASoYs/ZAE1r6l+wDcRo4X\nbR0YGGnFxgxtbGzVf+niVfW+k9gj5ZZ8O4I1s9F3RHjbDUX0ZyyekscV+2/O\ne2lmdpCh/2J4sKba8akSp0DWzi0Bi56JZlo5OS2DLsdvjNJ584RVUyKv1XyG\nMRbrvIoVSWCmAE0G0V7eXI5rZkKzKZIogzkxWB1paKYnULNfQMFd/JNw9ouu\nJUJwhokP3SmILu20x4JRe941Hsstg22iJ15cDlrivdmyXpLubVcmcTMQhX6G\nzLyaGHBo8n50rBMFB+XgMYcJNHgR3QPksRSqtnT+VCaTgUrrZfgzgA8np24M\nnA73J9hsEtHeJDoXGTsbp/sPFUT/jRiiTYdma1E6Cv6ykFrQ1nFQwmFLw7Fd\n5Ioj7GIOQUc7vkCd2BwREyQeGvnqA4qFHFFBGTSIXhLyQ+ze+i3WKxwmZBqh\ndZvw5PybAdFZwl0oyctN2LZmaR4lDr+fHr7imwFZvb/FWP9kjwa2T+/b0qJb\n2QJf\r\n=ptf3\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明                       |\n| ------------------------- | ------- | ---- | ----- | -------------------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息               |\n| OpenReport                | boolean | 否   | true  | 是否开启上报               |\n| Debug                     | boolean | 否   | false | 是否开启 debug             |\n| ReportDelay               | number  | 否   | 500   | 延迟上报时差，0 不延迟     |\n| ReportLogLimit            | number  | 否   | 100   | 每次上报条数上限，0 不限制 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"小程序上报日志统一小程序版本","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-ext_1.0.11-beta.0_1628175908515_0.3575601987204342","host":"s3://npm-registry-packages"}},"1.0.11-beta.1":{"name":"@hyext/hyext-reporter-ext","version":"1.0.11-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"af5570c20d96a2c24fef31b2661a76484b00129c","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.11-beta.1.tgz","fileCount":13,"integrity":"sha512-TQ30HqsJhhBLyE+yYpyZiwKgk31fryr/R8mRhXSGOPgjx1QFZkQyW0JHdutnCDC5zP6vUDXUytYqLNxgyd4WVA==","signatures":[{"sig":"MEYCIQCkfBNhvv83JEe2NMl58Ac7yZaqCG5HukfZgZi3E0H74AIhAINNE/Q32/rBOTTyTN9CkYd1lw3vPNGLTstr/r1OtQTC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":228599,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDALhCRA9TVsSAnZWagAAgOwP/RYdg42jo85qpETSzS4Q\nkf4YBT27/Xr17mT69ffwyrkefhurf00zUKdS9KqYWHwmxRIQQBOBb5Qh0tRH\n2RMZgqCKJHhVp3aqQLxnhIZsoR9yjU99ajWeSkA1Fi1yzsVu2NMBYvZT87vv\nswqwgwPi1y9gJPaPNGoLvML3C0uP2pZEvhiPy8/yhIcPQ237QFIg9d9vg3sr\nBBmcqAAKCyoKF6kIJX4GIQFNssxZIsiaLeK/5QxVBuQ25zxXfGo1f10fZSex\nVgnqlWJc7QZx2/q10sAxCD5/cyJLT/4jC4XBSql99HnABldZ60J3W2iwiK0M\n4FVrObrp/sOm5dfB9pRh0lsn0qxkeMLctv30dQW9m+8X+oFo4phMPNv2dSvq\nz8txZObb+J0WmCEbSkJFfs6kVHszeRLBWazLtkZEHZCFix/UUQM0bg3GjGX+\nSrkLRsUvnFP7sM3K0PtyUAKdPgscFS4nXOeQ7czrdva90CYTxndY2dArZcXl\nehf80viQW88WvR1mncu1I931GsF2nc2RyILNE5nNrI48fEfysTBt6uOO/Owb\nu340eVdottvhZeC+NL45JiQtKMS1LenxNIw5ROJ1ejp/hycS3h7KclFhLL++\naBbWl8S2TNKym8X7ltbEPJrG7yPwSWzBS3e6EyFm7V6llY3S/zKI0/uv4e4C\nwHjd\r\n=6vij\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明                       |\n| ------------------------- | ------- | ---- | ----- | -------------------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息               |\n| OpenReport                | boolean | 否   | true  | 是否开启上报               |\n| Debug                     | boolean | 否   | false | 是否开启 debug             |\n| ReportDelay               | number  | 否   | 500   | 延迟上报时差，0 不延迟     |\n| ReportLogLimit            | number  | 否   | 100   | 每次上报条数上限，0 不限制 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"2a6a31b262509153460b47e744ef9a7267a5de5d","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","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-ext_1.0.11-beta.1_1628177121102_0.6293689139614196","host":"s3://npm-registry-packages"}},"1.0.11-beta.2":{"name":"@hyext/hyext-reporter-ext","version":"1.0.11-beta.2","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"21827bab7c0f0fb2b1f5a9ab8a64be5411017c85","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.11-beta.2.tgz","fileCount":13,"integrity":"sha512-51oZvrhRjkOc+bZ+8iwgSvuYAz5G3vDnyOwdEPoUbYggNBY1VdIZEhoBclwoKfPqje5t/W0f8ZPpWofSgtLn/A==","signatures":[{"sig":"MEUCIQDeizmmwQHYt/rGyX+Zthi0mzNoNfZS8VFQXRfv8aZ4QQIgbzxXi2gOmucMFUDTyBeNU03g5vjDjOIWXQ0JnvlqqXg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":228606,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDNZeCRA9TVsSAnZWagAAkycP/3ZkoRdz7pBir6evqbXh\na13Caro8LV/W0LwYnt5q4y9Be63jN23F6qo945XkVVIJfTWbh1KJzMHm8YOP\nvyv0xCOEyd8QbHTGcOwwskLM9F3OLksgtKciGrC6gDSnRnFFb+nfk5jwh/ZL\nGDGmE1gcz6+UNq6JkfUz6JT9bSASNWfmuuHMvfWX+MhboGBKQbI0qhgBeN8g\nMxeGa2YjVhzMXqFSiK5vXB4uOOkE4R2bc1iXoCAwzJC+LTY7Ve6nc3KrbuNz\nSKEM52dKVIEBS/ZkyYgnVBZMxFOtguyY2DVvWnvYF/1NcyYzGeOPw4/lXVh5\nSpnMXE3zZ36RiFDVbfNgvfiSBITg7UHPgjY92WAa8mhyKqPl0qbffZQo/YM4\n43j0T3e2S2Hv6DhuBAh7Pp06UwNz6RxSSThFP1CuH3XpAhipRasu+mfMxOdX\nZ4Tp/qDjVjN+66kUGYF7pMJhtUBFPSIsZ9P/aVYyJ6uyMt+f0NN9qgO7pzwv\nAtsGLTWwvdY6TxjDMnCZwtUULr1DhvGO+fsbhiTw0zdto9Abq328Te87jG9m\n1LzM+5h3Fsy6Y3mM4lSaI5DCcvshpZgI1j+rsNjcpMq93Pet8BbMDeAw3fGJ\nKbvpg+3lPgMzxo4ybojLXZ3yAgoEvDXSqGbHdAB9TLw0Nyoi7b//DLhQ9qIz\nxnoM\r\n=tW0W\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明                       |\n| ------------------------- | ------- | ---- | ----- | -------------------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息               |\n| OpenReport                | boolean | 否   | true  | 是否开启上报               |\n| Debug                     | boolean | 否   | false | 是否开启 debug             |\n| ReportDelay               | number  | 否   | 500   | 延迟上报时差，0 不延迟     |\n| ReportLogLimit            | number  | 否   | 100   | 每次上报条数上限，0 不限制 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"小程序上报日志统一小程序版本","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-ext_1.0.11-beta.2_1628231261758_0.7155821744777997","host":"s3://npm-registry-packages"}},"1.0.11-beta.3":{"name":"@hyext/hyext-reporter-ext","version":"1.0.11-beta.3","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.0.11-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":"61374f167d3872fa5abc4a0ce5471715e5914505","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.11-beta.3.tgz","fileCount":13,"integrity":"sha512-y9lEgcZuInZGiPFBNCWqLluuukpUoFuIyfJPibiMO4mqhNNApd9/0G2mNekQnPMrbxal9ExKpZsqIBQNNwu7Ow==","signatures":[{"sig":"MEUCIDfoyohmi8XocArcH3Eg9v2j+tA+BjlL623APzIH1DmMAiEA0kCMkp1SmmEkllsRzpAgNq7PhUhHKhX6PPCVrRAbA7U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":228606,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDObbCRA9TVsSAnZWagAAMdUP/1yy9LlcYVXHho+spiE3\ngFDRmek1hIeGwtAZzAus/W1YflYL7+3/xjg5qT7GYwLI+C6mnuTcpDs0bnBB\n7PSA0dOlSbAWkY8FUX4gKucGf6oMAMLOjpFwW4iwx00SyRoUWRxJZT7VWdPA\n0Zj5tOp46ESdxvnv7G9702iV5W518xm9Hd36JRWrIBWELxeTw0nl3pRkM9OY\n5p3hhCJsAwXwYbjo1q7nQ0O5/piHu1KX9LJ7Vjaj6vlXNFRDFkndqFrG/1/Q\nhFbkIYC++3ZMTr3e9tH3/pXvIR5OkcewZlXLv0Sai5BqZPn9FuiySbTR4pj+\n8R4wLhxHagDVBKdivIiDfwUR6LTgh2WhKfKZcPRjpFgzrR7z+98cOiSK0/j4\n23EjDpWRDfZIAIGj1XJgV+jUbsuTaGym+NPa6SBXJSmmkDI06pxFop39BwAW\n7s5/MmgUw+6h8zZQBj6eIX+NekhCYF0u1ZeoIY2ga3TlY2z2Ac9PCK3qbbGH\nJa9k2LnquVOlLaJXIf/DMa5+sICJG657hPEb0ZbjvVJiZ9xv3j7mHje2P43L\n60QL1moTbKZyJ7H6Z7yUmaylhYIsdunr6KUbqTHj8F/O+d8koV1TK97IWRgf\nkR/kWi+3qPrtRzd8Ye1uzc7eA5WGkrXqbURULBNxr9DTKlPKj9T/rRQB7yXH\n/8On\r\n=Took\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，每次上报最多 100 条；\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明                       |\n| ------------------------- | ------- | ---- | ----- | -------------------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息               |\n| OpenReport                | boolean | 否   | true  | 是否开启上报               |\n| Debug                     | boolean | 否   | false | 是否开启 debug             |\n| ReportDelay               | number  | 否   | 500   | 延迟上报时差，0 不延迟     |\n| ReportLogLimit            | number  | 否   | 100   | 每次上报条数上限，0 不限制 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"小程序上报日志统一小程序版本","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-ext_1.0.11-beta.3_1628235483849_0.5126022913220116","host":"s3://npm-registry-packages"}},"1.0.11":{"name":"@hyext/hyext-reporter-ext","version":"1.0.11","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"69d51ed0a8d9f10e1aab276f81a4627b0b835818","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.11.tgz","fileCount":13,"integrity":"sha512-bwg1zyedljiip1h1c0tZcp2aw0/gvRllaS4zn3I6BzdU3AyJIOk44BUUPrl/tpPksEB24k2L2+YantSfQpd1Aw==","signatures":[{"sig":"MEYCIQC/XfNQtXt9IbfsKzvFICP1Ut6N+iUNqIjJrGQQ/m5D/QIhAKO3vVwZyMG9zIGces4D1v48dtZQJE9Uz9dZeT7529Qe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":229143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDO4QCRA9TVsSAnZWagAAO1oQAI4TH68BLzBjtmBSs1OM\nmo/26cOCOu3vD5dniN+1YHn2yN9uiHMUq7djtvWzSjL+IeiM75u/Hsk+iItL\n5Dx4CjO/UDbQhTJp/x5ZKQItn9I6YxpOlFnIN+meaA3Y4dLQqppfdoCk1HPL\nW8BceR6BCTbryG1flXrPGzAe23hbT8CcqmZMWqyGJNdY/M2a5RTxJNv6ft8l\nw3sH53vyJZaEYRfzmTN9UkZcpBhTUYmWtZzga8cuFfVszNs11VU054t339WK\njS4qkSDbwYG6M811Yhn7dWncIef2zjU+YmX/efBWh91/CZontgKbzr/X6aRZ\nGgOhVrW7TEjQrQ3mEBZEGhgTy1Y2FsYXJ281nE4vcptM0pPARba6pbZJkEf6\nh/8Bfq1xZVp0sDcohHBOIQxiFQWZZ18rwV+rN+CjcjKV+Btr7BBElVb+E+6Q\nVPeSClw+a/AjHLb+LRqtdDrXwHtVmuVS5EPu1ut2SpZ561f1KNBlKdET8M5P\nmwCVvFJWFe/i1TGWAODNUe6CULLVLJ2olVjGOmljNWjWdavlIE6zbvJ2INOg\nM9hdgkcKYniNNTTZiSe1jK54sGdSCjaIalZTZQiOe3j9blqa1cyPHBoDz+w0\nn1tdtQbc0DV5GPS3B/cgKuewYMKHNLVnsPKwiz0BUt7PxTBqYx88lwlGaeNT\nfTmf\r\n=OZOT\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":"小程序上报日志统一小程序版本","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-ext_1.0.11_1628237328064_0.48812753462184566","host":"s3://npm-registry-packages"}},"1.0.12-beta.0":{"name":"@hyext/hyext-reporter-ext","version":"1.0.12-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"963037a247f9241e381a2fb7dfc6640e6c7db3cd","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.12-beta.0.tgz","fileCount":13,"integrity":"sha512-VEtzXKSo4ccnmZt2/i0kruFnmhW+j76yZJ55r+IlANBzvzesRatlE+MQyfJlhDBEBS5Izc9bgkXSw/J86AjpxQ==","signatures":[{"sig":"MEYCIQDvy+cL03xiprU/cV5K4aHJt08Z2xfI9ZUsUfZT+esEbgIhAIO2gJefY0nmsSH6zOsnYqt9SnPoZsPv0uMLviiPoYbM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63808,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDPUhCRA9TVsSAnZWagAAREIP/0anx6frGFkk8J5A7dXz\nSFrXe65JcJDgOZsndVTcyqqYFeOSNtQNo5o3e05UsQV7QUeacI3n7G1yQCX1\nKkFUYUJFi5iUDWMHuDoZhzJVylAmE3kyVkLoz7nHyyc/hSp5hXvJCAQB1Ysh\naetOKpfl3y8FwwQ2mNG+/kc5MqUTZ0yZ7kn1EV/TjXHraFElSHFkfRzg52JU\nliFTyHkRdT5jTciKdwqBXnhw7wuaQbZQ/pk7upA5fvClufLRzoRIcXuWgP1J\nsMHlrefhGN9k0dnpARiggCU3+8Mt9W04oQZ/mDiFmqcJq06qaxK3O80gNPEG\nZ3id1gFPd4XiB9ZyHSv2gfXrsoGz9YyDqiYqhaEIiWnMco81L67r5D/re+T7\nZl9mHbJ5Kh7rWMOKp8kGlHl8u86C1cjzLgSQ0Rw85NHulKx2avi/k0MrrNdE\njhxTkRVmQaUfj5NXYpyy4gRAzcdz4Fmibye2LrVOfP0C9BmQ6NnNvaknh0Xp\nyzV8JYuR2RWSi3P895wTuJqYHlxKntZRAEdIK6Yqk5vww6Fgz2tbh0E6LiuV\njiz/zmSj76K7gtLVsv+vWAKAcIW3S5FGby/mLFStuDYkGUYKAHRLpjcjBJBp\njCbKAxhcMpZPmoLIFWOcrMqA5AI8r8m7/JtbPlJwjWoQmwVUBIiwLux65Dtc\nZcfE\r\n=LONV\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明                           |\n| ------------------------- | ------- | ---- | ----- | ------------------------------ |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息                   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报                   |\n| Debug                     | boolean | 否   | false | 是否开启 debug                 |\n| ReportDelay               | number  | 否   | 500   | 延迟上报时差(ms)，0 不延迟     |\n| ReportSizeLimit           | number  | 否   | 25    | 每次上报大小上限(KB)，0 不限制 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"b3e6c7129484b4c26b9cfef22a46e384d1629002","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@huyafed/ya-report":"^1.2.1","@hyext/hyext-reporter":"^1.0.11"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ext_1.0.12-beta.0_1628239136908_0.5161582638173787","host":"s3://npm-registry-packages"}},"1.0.12-beta.1":{"name":"@hyext/hyext-reporter-ext","version":"1.0.12-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"06b574cecce216e54b86eca2f28016faa4ccdb68","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.12-beta.1.tgz","fileCount":13,"integrity":"sha512-cCO8MkPGxYmlmvh1qCFMqVsoQ7YUuSuNDjHOddKBeZ2psPaSEf+BJIVDK3MAZubgAoI2CNsNjYfR2ITBR0c8gQ==","signatures":[{"sig":"MEQCIBPZjVdqq2TXlUCgMmsF32rqR8eL3UIQ4ZxxkPrmYhDqAiBntDIijQgenssxVorSQPDth65rB1lg80A/4rYRb7fqYA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":233483,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDP1FCRA9TVsSAnZWagAA7AcP/0ACe9BGolq4Wh3Cfuwp\ndKeGAsKIfor6TGS2LBeUk4U36T2T4hA4IKh6CIBP4tVYg1xzNS9RqCPcuBve\nQTjG9WtYh5wabIo59QNdqhmhkNNHZcL211/sC2woYJk4rn5oq+qfIEo+Wc5g\nciJRs99I1cdLZdJiep9r7RsDUJ6NatkixvtbSHagnkRwWVUhVuoVM8oo1kfj\n4DSRjjZvuXn8HuHzKGtrKrl3pcIObES2zJKANpce4d15AA91NG91r0tEHpZe\np5Wjni0qtGvBr9ms44XC50nQlB09Z5zW8gtq7E+lUNQU2H6+naelNEf7A2M3\n+LmbVW+T0wNHy6C4nsTWajM0H2zZ+yX16A4GF+aHvniI3xxa4Ww2GYW5qtDS\n517jqjU1FsYdoTuaztnPjSWDgF30uw8d+C7L+pySJ6ifKcFr8QHPO+l3YDoK\nk8dByjMUdgubDPgwRXSugbPwCbX22Vuvk9mkI8ITj7ZuY5OK5ycbF4i5JQHx\nHipz7csu27bm9Y9e+V3ebq3cwuSOnRfpAqeAyEJtzcsF0GcM0LbKMqdErxDq\nO/MPmwaeycsGnIJ0BNQnuq9ISE+PRocmMqPFHBjfSCWCIkpZCgbzZdB6FtCh\nwTbMZz7OrJpZGNmSM2gqu123ImTE3DraLM3+i6yzwn6Vq4zyOkH98i0IPMPz\n0MJK\r\n=erh0\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明                           |\n| ------------------------- | ------- | ---- | ----- | ------------------------------ |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息                   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报                   |\n| Debug                     | boolean | 否   | false | 是否开启 debug                 |\n| ReportDelay               | number  | 否   | 500   | 延迟上报时差(ms)，0 不延迟     |\n| ReportSizeLimit           | number  | 否   | 25    | 每次上报大小上限(KB)，0 不限制 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"90d748df2b8b53f1d97417edcea162962a9975d1","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@huyafed/ya-report":"^1.2.1","@hyext/hyext-reporter":"^1.0.11"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ext_1.0.12-beta.1_1628241221130_0.5878362057430218","host":"s3://npm-registry-packages"}},"1.0.12-beta.2":{"name":"@hyext/hyext-reporter-ext","version":"1.0.12-beta.2","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"582b38e89c4b12aa6b88d7f993d42dbae24f48c3","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.12-beta.2.tgz","fileCount":13,"integrity":"sha512-lhxMWnbTVVpGKxQceh34BaLhgp6VwXWo4ZwH1CzaEDi3T3gthY7Jdwg9C5XRZsryMeD4W1vehpXIxhvuCl5VSw==","signatures":[{"sig":"MEQCIDT0KHZsOfL5JooRNUjej0ImP9FTiZeEHRkUxaW0QwjtAiB8MdQp3qL+RZh/9AaxZkp5cG9HIXtPWPh/+7xu9R8dIg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":233304,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDQdPCRA9TVsSAnZWagAArYQP/jLqPGwXH8/UPGy/R1+h\ndNf5k2KnpQdgetN7hPOR09MPUCRAnLCwEmIYDnqxFuuwhYMRRXAGRWUCsrJz\now6hMoPeQPtu36AbrmvkYATKvJr5rfD6PWcUQoSm6/91BXoaALdwLUf1ARC8\nE/fFM90gXEMfirCAaffL83GF11x6XK16iMipKcKXGVF5cmEN/NjDt5eO5sQy\ntpk3amVvhjKnE+XLjJ0F9tBPMhPFq3iQxBOqhAIHmLs++PL84e71ms3vUKs1\nJwxIK6kFuIHAp0B+36el2eykPeZ6gOnyeuxPMyhJvcQnlMZejxrYY5qaIkks\nxy1hiT2p4ALveZkvikwF9N2vVmOujAYc+GckPcXU89WG1FBh2niQW/RMaPjM\nPkpXczdqpRB0x2vFM/WU2CYseGknF6hr96QQaGlIahfhB/l9X1a3d1fz1IzV\nqFsihnQwPQBZiALbZZJqY4FhamFB05rW1fMvGo/kFkXy9kp61PnMDO8Ib+Cb\nfAubXxShRqr/k1gzHz9xTtFewE09+X4r8z/w9dCsNGtAOv3uayZjthy31kd3\n73C71470u5INOA/+J6dCwZrPQN5xKTGhocRyoDF5s3h1BDUnK12waf9E6/gC\ntp1HFU0oHSpVTho2qqAe8FeGujnOxw8FcgFaLQF+by2oyRRZ35cQWwRCXvgo\njqZr\r\n=8mQc\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明                           |\n| ------------------------- | ------- | ---- | ----- | ------------------------------ |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息                   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报                   |\n| Debug                     | boolean | 否   | false | 是否开启 debug                 |\n| ReportDelay               | number  | 否   | 500   | 延迟上报时差(ms)，0 不延迟     |\n| ReportSizeLimit           | number  | 否   | 25    | 每次上报大小上限(KB)，0 不限制 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"edb1112ef91a0536d1d389d1ffcf941641b7c440","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.11"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ext_1.0.12-beta.2_1628243791846_0.3647634758318974","host":"s3://npm-registry-packages"}},"1.0.12":{"name":"@hyext/hyext-reporter-ext","version":"1.0.12","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"1472df935af7e7c1bcb89fdf8abb939abf86613f","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.12.tgz","fileCount":13,"integrity":"sha512-mWO3HWTHP/9S8XLJNGCb7caUj4UjZDelII2vN7baHqjgjeNRRtSsmIaGTsV3K3uOMZHKFnn8Aj6eplDqj2lfbQ==","signatures":[{"sig":"MEUCIH8jOm3tSQQQlp7O+a3tOimKgCZKExvMV+1KYbdiwrmzAiEApAqDpBi5sOmfyY4pGfnXECYe3n88CzfGIhb0goHyJQ4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":233233,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDQx7CRA9TVsSAnZWagAAIb8P/36vrfYC1ChK1QqWgfTN\nq4wANhYpIZUiXESAjDsCKHxBJrdOSDNEqJKsFX0AOBCWS1JGqN0e8OmsXbjj\n6jTjsFQp7iakOjnhk3k9mUQEKiXp1v0YGcskXSRd5re+xWp8Vf9dNWTg3l8F\nQ1ykcwHqwQRyLP5zg6xrqi5UFmfL21n23pCHUnTa36Wy0R8td3AFzvLYLVGC\n172pCNEHGl4PRusTPTRQ4M7X9KwAFKo4cfiQjlKm3qKyYr6kSATzuOtzjE0f\nvPsfHFOYSdpylyf5dNBci3oewdx6Bajw7+yJ6iLWOqjod4nTgJtqZP3c2Xbi\nrnHTEJCiJj6c7/QA0ujgoIhGZP9pA1Jz/1BzAhW37afR0htBvS6WEs8vGkD5\nWn0He8bp6ywoz/WVb66GsP3dqLnYcdGofXnCaDjoDBmGDUhZfsg9XEGwHDQe\nL9ue/0H/Etwo/9v8SlawFbvwTUQa+KhM6DDjVYjH0kdrqZMWks4j2TYsCjDY\nnGmfd2kpx9q6MwEhWUaZ+E88u07Vz3ZBBbtkQU0wZfuU195YnC2EARt5qyWD\nNXTgEjo9cT0KgTiXdDxNfbqkrWqbdwWVpl11LbPTiARePedsPuMJI8UBVwJG\nW4KnkE6VSmrqcdzDc9tQMxhvYhVOKbW/xzPVolScS/WyendZ7GpyJ0+CbeLl\nvGba\r\n=/tDC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"8dc6f7fb55c745069a20ef0200b80a6840fcf7a7","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","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-ext_1.0.12_1628245115270_0.499651634839531","host":"s3://npm-registry-packages"}},"1.0.13-beta.0":{"name":"@hyext/hyext-reporter-ext","version":"1.0.13-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.0.13-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":"89eb5c85d332b6a1e171e58fc93d65c3caf6df71","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.13-beta.0.tgz","fileCount":13,"integrity":"sha512-/TCIcZSuLx7Uwl+6q0T2bej/4oPI+DW2OIQ2Fese+e+8qyDu5WCX9Jjlk8GOCYl+lrWol5JzFZEA8pTa0UUZ5Q==","signatures":[{"sig":"MEYCIQDRW+XpcIHODhmo2GKcu5PYlv8V1op/bak6rR4CMmulGwIhAKeBhnSF69d6ZhmI+RqKYCFAKfWUNWfldgceXtsbBEJM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":233247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDRUHCRA9TVsSAnZWagAAMtEQAJZuyexv1eDPMRQ1XVEL\n68r0OkAbuOFHA7cHAu0MhY1XZH+xMQ841IgVeJlrtO2W/cZan/IkD/Cmjctq\nu8S+I1XnWNxVGr5meYYYRe7Nzlol8XFa3dvnJ2bdRx/zCd3PVl6BNNruE5yJ\nAYYDITI3wNPXhQqqVn7eztXjGs8LGrcLygVlWmHomF3qESik9kFB1r2ah7II\nZ3ZxsbsmyIhd8scbxVd8Mf4PBQDgXQ7zlwwtpG9MuzP0dXbgMDN8Lngg21b8\nbAw8PW0gMlvUj7+XZrNoGHo+O2n6PYgdnDAebZRhobSv1UeXy6yhYpbWtwDH\nI4tzNFry1vO6HAInYXeTmVs5hxZNBIz5OFTZaMLs3OZM9TDdBla9Ig5VqjCA\ne0/zK5w35yLHo22LDu9czGLGJreunhkETxqHH0E7S9NGWZbpav3SjNW4pGu8\nV4sEM+ZwmH+X4q3jSY1EB215nG7DZu94NeX+u2dIivxfdC0Y2pvlgu53GBbj\nqZLch7j7Snee0omj4yu7Gp+u29wE6SfsrpsNy+3bzfJMUSxw6Z7qgKlk8T81\nrTBuNJKTTTLv3vELMY4QlNKh63Imf180IPsDTFiVxtobMABT1w4iKMRTCeVU\nd3MLN/7+NapeM76ryq4LQq0OILLmL1kvJRlcy3HrOuTIo5V/Mz59Bpx67dcY\n12mX\r\n=7ckg\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### PC 主播端大数据量日志上报引入\n\n- 如果 PC 主播端上报量太大端时候可通过特殊的上报入口\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext/build/pc.cjs'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明           |\n| ------------------------- | ------- | ---- | ----- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报   |\n| Debug                     | boolean | 否   | false | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"小程序上报日志统一小程序版本","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-ext_1.0.13-beta.0_1628247303769_0.9270117978939059","host":"s3://npm-registry-packages"}},"1.0.13-beta.1":{"name":"@hyext/hyext-reporter-ext","version":"1.0.13-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.0.13-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":"71a84e06609d196f21340e53ab457b796cc7d0c4","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.13-beta.1.tgz","fileCount":13,"integrity":"sha512-7Gl10R1zcubMHlxJ9FbrM9gbQsPv4PPMyfbevn6I2pKfFEjgee+mnnZkh8nNNTIV53QTDNi559IZedHaqCGv5g==","signatures":[{"sig":"MEUCIQD2wzsboITgQhaZ4wNhbY+Wzx0X8vrZhAAu9CYstMiONAIgaNl7q42fM+HMy62LyC5gVhktzlCGrVT+HLBPUixXy5c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232973,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDR7kCRA9TVsSAnZWagAAoywP/jb4ASSneDfqMny+fJ2l\noBSHhMisG1ZqASwouWDCGfzQurVtOJrzMOHV34IxXRrGTFDVGubfnbkp38ny\nXGBWjUDIANcBcj9LkxzIovAXgbR5xbseHBGsmx6fVaYBRQ48R5M94ZN0BXTK\nrD2ynAAmzGPNkXjN1iQW2uR7H1au4tk9t94ZklyPjbH9GqOAQMzmuyPcgQ21\nMCy4ysUtK9fwrJuOZbh8SYxFxTvHRA4NWcTUUfzMkjKibBYec3UGZcRZaLDG\nA1CV1C+NtOloQ/Ar1hEL1f//Ylfn9/OxO9yvOszZfHiJOAqsvL9phgL6vNI/\nqQ2LTVqoyWslHwnrEbI0W4/CHlL5rKQewTAIylbPT5buThcPlsdLfjNDv9lA\nRk7C9KiVMTmSewALMBgerOVfWfphVu3F6Jt+xeNg+oLg1dymX21qauIdJvoR\nlji29s999okf8P8w7yMe5aJE7Tye/9IxwX8signnSZzHcoJUDYSZOzcWaBOK\nvl5WjNfY6ogK0DHpTehzgAnA/zt9Ut1YmPFF8lytHuiv8ZTgd1DdTga9YVZl\nV2stSlrr/x95Si8RlKKCTC7FTytTJDi0zJyK6GTDuz99y73iieqwlJQZkqHY\nDX952OKhMYgs8ayT6LNUzmgRy+7K1e9oaoyg5FB+ovQcu6SnxflierpJSjAK\nzSW0\r\n=1Mmt\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### PC 主播端大数据量日志上报引入\n\n- 如果 PC 主播端上报量太大端时候可通过特殊的上报入口\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext/build/pc.cjs'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明           |\n| ------------------------- | ------- | ---- | ----- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报   |\n| Debug                     | boolean | 否   | false | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"6ab101b12b81aca94a77c8e3708f6f412be8a44e","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","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-ext_1.0.13-beta.1_1628249827999_0.16468592538665483","host":"s3://npm-registry-packages"}},"1.0.13-beta.2":{"name":"@hyext/hyext-reporter-ext","version":"1.0.13-beta.2","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.0.13-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":"b81b9ffb8ffe24e4fc094db1be0dc35ad7af3bc7","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.13-beta.2.tgz","fileCount":9,"integrity":"sha512-hjNMisH/8t3BSNN3Cq5FXsw59dLHljHR36OB86JZ931SLhIpureKyVY9AtYwQCZO08ZPMEag8XlnxEzYWvyqPQ==","signatures":[{"sig":"MEUCIQDYzsQIFP63xabi3TISKW8/d6esmhPSbLxFgV4wHSlpxQIgGhhEu1z9P0MlGZ1N4bkrIWPcL4DCC5T2SdTOyFg9ePk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":208846,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDSs4CRA9TVsSAnZWagAAdOwP/12ZJxPNOE792oeqgQOo\n49XJOqu1J5Zpi/V2iRUDlAQVyt4iHinqJMkknXWY5pwNpxUZFqxJfurWPU6c\nnZPDPafpvmp/9bC29VxeLo52p86xqjWmFWfMZwG1Gj9LGamp2cnFpi93lngM\nHVkvQghZ+gMDj9FDsR+9NHjDcEQz8vgELVE8Mt7G/MNHS5GyITREnAH2p71T\n+mAgYO2XpDfBZvq6qzoEbHwlVVqfqW2oEyqen0vNqCGt+qiXvgRlfAavR7tt\n/saV8qJ0FSakC8WG5QTfJej70iABg5ToSGdVE5KONK1UYn+WNrgfA38j2UC5\n+QIgBfhJ9ASYtg3KckFu6F5pgvH6vR5BjsrBJiU7yIxbD8dIGpbQ32Ts7bzV\nOW48VUlvVgHMMdcJgzSrsKaJohKiASoRg3etCCuZRdYuj5h2KIO5ZSbW3Rxl\nGMG5wfT+pjLFUUziaWVxInKlJ3XCc5sAuizSCmL5vxkQmssLycTVy4K7Imic\nGjYlllpWv1mc4z1dXRszePs5chDZvsLAqL/ZSskAOqF8UvzySs0Awa+3iZ0K\nefwcMZFbzjyeZa/AhC6YsQ/xCDNobmLjvJXq1JOwEQ1XTU2gW8th5aop1bqG\nOsSg8CxutimLKa8Oh85j4U0z03HgznAM9eHcKc+B1iX0Se4Z3t667J1NVVjH\nfSER\r\n=PbuW\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### PC 主播端大数据量日志上报引入\n\n- 如果 PC 主播端上报量太大端时候可通过特殊的上报入口\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext/build/pc.cjs'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明           |\n| ------------------------- | ------- | ---- | ----- | -------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报   |\n| Debug                     | boolean | 否   | false | 是否开启 debug |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"7c4934069bd589d2ef0f5a0c9653ef31d3f627bc","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","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-ext_1.0.13-beta.2_1628252984221_0.7536837559576344","host":"s3://npm-registry-packages"}},"1.0.13":{"name":"@hyext/hyext-reporter-ext","version":"1.0.13","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"64b8c463bbda882d7d8fa7ae151d05ad97e56883","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.0.13.tgz","fileCount":9,"integrity":"sha512-ZqegNxl6P87lpAUIChWiZT5rWGCRMi+XaSz8p8oGMEXmLC0efpTtqqRIvoM7LIklqWbax2WxwEO2sjEWiNQO7w==","signatures":[{"sig":"MEUCICp5UlBRQK2REf7JFKlVin7tzMebYVWebMsKpwQNopztAiEAzAC96MSEzHxJGtepQnQzgDi3mi/Rm4MxuW3YWS4XnDo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":208556,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDTEYCRA9TVsSAnZWagAATaQP/1+Pybg1i/zXcZCQRKoP\nB9HG/kXtjs+JSCIvTGGVq43qWdKeCYZeGvqTL3S7SXJz0OgSPbT7qojKyF70\nlpv/2k8gT4TUG7e7GOk4QZxrdpLQfsUDfZrTY6OcxImjrh56WNOY07hfBT7A\nHF3FCbrwj9ROtvlL2f/vgM8oVaab+XtEVkj6weu4/D4cESQ1F/kqJRj6ss9G\noVvJiGvrdOA/eULadra7EDjWXvVQOevq3gJm71pQvJgePpgCFeGmvGappX4Q\nhD7jQZ8V9KqqQSMAaioB2ltHnb7VKFF8hHYPwV4L2CffivTuvhABI5Q2g5f+\nbafs3W7bx0tcUnKM+HoIEFAyHGU16LhT5iD2gOI04T7meSS4/fllIlr156eK\nCFNKKnYKOt6nm2Ayshh0ToiBdYcKnEkzgOSB8TppkGfNlpFulvvV4v2m99M1\nWunL8b/2JvTn1qPDFKFEVKHLcd747114NHbyOINKlBvL2EUo2HC9tBkFP9Wn\njVSavABy6soGK5qaTNNq1lGW8jO7N0sxLviDAx7mjTp7tnZzWnGMlUjYXnWo\nSSI3k1DQ6x7oWuPzY9+i8lMCYSZ2/QKC5iktVylLhiKZUg47CE79mzeFov+y\nrzFqut9QeH+tlFp/3HoFqrE9BgIrYuRPwyBgUCHDjNQbPnHgBwExbqlQBHYv\ngzsz\r\n=tEi1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"8e6d3385fa0d3bf67c5e558e28ab34d295367821","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","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,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ext_1.0.13_1628254488820_0.5689195429127234","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@hyext/hyext-reporter-ext","version":"1.1.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.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":"d082fa91618497da89ac6a81339be0b566cbc8dc","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.0.tgz","fileCount":9,"integrity":"sha512-zSbu4orN07B7XmNok3XvHt1zwFwQ/9yYFs21WWUMrzTLneMmS8QaDnVcc8poaVRTEmL9k3xUjMxJlOcpWrfCLw==","signatures":[{"sig":"MEYCIQC/WDdFUecM4R2mO1KgLCqvHVwyE0zPxdS3rA9GyafGIQIhAJfZAOQn4eGR1iYwNtDU6eXdQ6bUUd5Z4QSuTAblCUsJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":208523,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDTJsCRA9TVsSAnZWagAAHiwP/2GjSKkQhp7F1HnpESg4\n8b8ivYuaYhdtMpeFeDZSziYYboO4oM/14uniYPbbo4ix+hfBXmzzEft2tpL6\nBTjKTDKAz+zLPOQLi1GkoKUQM1NdWAfCL/lKK7jrjN3Vxx7EUXt5pMFXhJM4\n0kZnjBTj89ZWvLW+zjN/UsFgHs/kdJ86RmAYRstcaN3zjirNrj4hi5y1Vm/R\nZQSgBVJXbyxIP8lmWg+NJmldG8HnpwsKCx3Xs2oYobGeq5/zJ9vEXJ8z34ig\nFMb4IFKt0YFCc0mKg0DS/7W5J+zm2jCUX9hB7S3E7/bqTAdKjnpvNDBBtlzP\ne8KhXToBarA4LduK2Ojf0oqMivXpKSPyGzzhCV0SJfxcsuB2/iCXu+/D3dSh\ng6VkP1BXLGYFoZVXiK2F9A/rxdxC7uy2ek93oQQfJ7325s3upXzPHYWUi0An\nmUZo2MDv+ogSarYTaKEhlAW1S8gHHNB2ARVHOvy/3yDXoW4FsXQQqr2at1xe\nuIWtjCBvZezT1nniI/ZETmvf+lRKqFUB18E4sUysv8PGCI8bXQ3UsLFdNpE7\nW4tvIWsVx6ExrPBdQgxwxFDT5SKFfz99gvCQwLcz6spjL4kguo3HccJhN5rk\nRStsf/EgQIPD56vN9UOiox1jj56EfPYGYoWvc3jTRoaeaMQZYmuYDNWCpxdE\nxjMb\r\n=Md2i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"00cc6f443e768ad16d6b289be5a5246e6d9303ea","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","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,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ext_1.1.0_1628254828865_0.7477903029637916","host":"s3://npm-registry-packages"}},"1.1.1-beta.0":{"name":"@hyext/hyext-reporter-ext","version":"1.1.1-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.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":"01183ce0fcbfe8a653637ec3cd1e2d22c4a2cfd4","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.1-beta.0.tgz","fileCount":9,"integrity":"sha512-pFrDrqHxLagWH2EVXzKXu4ahpJDTC5nSXLbztpnsHJIzfFDATErdrTUJRhuww+4x+fxDz3wmdFpoM32QOvp+5w==","signatures":[{"sig":"MEQCIFMLIGU/uNt5Ei57aYGElgL77LDWZErvo6le/k2SbrKuAiBhyRSThpyPbpS6CnCpPI2WRdH5cQKTB/uM6on8tX1M4w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":204562,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhD9iGCRA9TVsSAnZWagAAAMEQAJUV1AryOg5SzNEFqAoj\nPwUyLAlFTDl+32N4fOgxPU9OZ++Ta1pzxILXhQ8IO26kotbWjg35K2GnWjhw\n2IqUvtI4ObgoTisV9nt5WSewvkJ0aVPxPafw6F5Asa3pVAlOQkkpAbdVZJbO\nPM/4Lg6K5KJ9g6KLBzyHPCTP8YVcVrnZr0SU9ymhM4pwt+hPmFjcG698wF/U\nBdH+gkpSFHMksP9UYomVsSWTAVNVoOG1o8mKtC/WRseJMb39oxx/ywivRZcF\nWjK++7WUQ2Lx9BsHePQHog7UcoGqJq+CNyp2Br0V3yLVRToweMJ46WJ2snKn\nJNtApNmVGR3um3/WkenDCsSqX1hCjWvwDkrYDsWFDNF7Vi4wJT2gT8y+IPAH\n4Klle8rg/T35FuvIkbxi5FVo5dKSToFYTl1/DjZ8eNV8fF0mrU91H/6QC+gY\nOHjkZ5u/RfQsGifWtV188mCRKiG7Mq48ABrperLi8nTRyjeVfLztCeX35JeZ\nAzzpTYO9Xi/enamT3NSUxK0qo60pum4CnI/VgQaiJE6yCCa9PDjpGJcD/K6a\nTflzTdf0SM+Sg0Hsc/Jkqqj1KvdAvpvSaCK1GXxwwyqyHOgdvkLaIdrHIeds\nnsCpV/grjl4rl/SzcG+ob+ZzzLi1tmgnd4aamdGHIvwdHfkAw50pIGymsCH8\nQIqh\r\n=/x5b\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明              |\n| ------------------------- | ------- | ---- | ----- | ----------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息      |\n| OpenReport                | boolean | 否   | true  | 是否开启上报      |\n| Debug                     | boolean | 否   | false | 是否开启 debug    |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"d82cc7f90f848e92a990e8de717cee2ce49be24d","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","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-ext_1.1.1-beta.0_1628428422650_0.018051867834261603","host":"s3://npm-registry-packages"}},"1.1.1-beta.1":{"name":"@hyext/hyext-reporter-ext","version":"1.1.1-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.1-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":"0c50e5b57dc5a1da4cd3b0fe954bc9044e705302","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.1-beta.1.tgz","fileCount":9,"integrity":"sha512-UV6psqjfA9m0hDjLsFHeC4igY+P2yyyMw7T9l/F6am5iVPTqk6UrEX+S4y+OcFH82OyXCRAjapmPoh2Wpvb48Q==","signatures":[{"sig":"MEUCIQCpblc+9sh+Mb6UXbAoYUWca3ogortYl7SOED8Wqkh6wAIgLnJjF/TjbR+yAGF2ap9iB6VFTzsFNNjS7F1xHHfz+og=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":207838,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEKIvCRA9TVsSAnZWagAAbiEP/jXiA6h15dI6/pVvDCTi\nCyFpHA8cCGpKDdZ6rn8OfMWEDnXUxz+sr1vrx0rH8wuaZUKx8K+8Lwsrx2Be\nm2nO/626/4O8BEp1fCFPX5cYTOODcJa8dl1JIs3syk/uLe1LutJUZ56LmdQk\no3sgA/FAMZ6CG8aBpaC18OEmTxxiWiiVDnmihdIZjwt16GNFk02gJrT4mHX9\niaMFT016VWjmNR6FbbxDd31jKihQ6VF3iEzx75UlkK59bRIZ9TNuA+ic+2HS\nok+tlYPSPWFF19Ro1CqUZj9zpQJmrV/wKQ7pEDnpmaVPncr5HVZUbhYrhb8q\ndXC89JNNs5TI0Pi+0EruZ3SbHvDrwm8JpWXATvuJzUzRDW1ikA9hA8K+DCv/\nWbXSV0v+2QIxlnfpfTGeoD8pm0f1jZdgqOksL6SULwcIde3SAaTltXC1vZo8\nnRKMgRrI7b9DInI4otGMwzgbiB4JAJUk/9PaL91hxF28/Mnz2JWB1TSLL9YR\n6zuGyTSpdxIABGOuJ/9COveq7hEAo8C6T+fOaMHEcJqAZX7zNJNMi4ZLWX0O\nRGnSWBTUZkx7UD6YtWDN0KW5YYTCpIzxVPyOUVkZNsdbZppW5qIOs8r5XFXe\nf4qc+SDMDUGboVYBLYPhczCI9EQFcNAXRfXu5wu+6CLGX1ohiOrUlBE060E+\n3V9q\r\n=8jOs\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明              |\n| ------------------------- | ------- | ---- | ----- | ----------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息      |\n| OpenReport                | boolean | 否   | true  | 是否开启上报      |\n| Debug                     | boolean | 否   | false | 是否开启 debug    |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"a6da3d8d318d2cd1c32133a46c79d35a632882e0","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","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-ext_1.1.1-beta.1_1628480046918_0.5275247766465294","host":"s3://npm-registry-packages"}},"1.1.1-beta.2":{"name":"@hyext/hyext-reporter-ext","version":"1.1.1-beta.2","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.1-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":"258009696424dcf7d10aba0d358622302c31d994","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.1-beta.2.tgz","fileCount":9,"integrity":"sha512-82EQRkctl4p8XH14RPIR6lfWN5PMU5/9U65GJUtJGLJNe5o9cQ2pG5BsCq91kJgRJTBzZHu1Z91ARH+6CmY2lA==","signatures":[{"sig":"MEQCIHa5KH51w6FdLjlOE25Lva7N+lK9jMWF3StHMWklfofiAiB4jyDLEQzdqt+3zoDhXlaRE5OaRWjblt9bLBBDsiUMIQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":209555,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEKp7CRA9TVsSAnZWagAAtDwP/0/NHgAN/1odc0UxzA4o\n0JCiWWJdIbNH7PrJ5w/sYFrc9eoHZ2CYgPG5d7arDZF0hpJ0dCRQcCkQRzOb\n76C7jsg7ky5GCtIeyFeY9Tw5pWLcu9Nb8vTny4xykfyutaOSZ7Qm+jlWYHf5\n4keMlgPVORNKa1+c2asKPbodAyOuylu6y/1Sq2viJS4Vgy+MDU4ENT6b9RPC\nMFsj+rLXt6BpXEW83bAa1DdjeKn+mu0YCXbyUCyfZbIzHBK8bbr1TkVmeo+e\nbz2oPmgqZKnQGgqd2AAhtLMEZJvkMBLo1yx/cN61KLpKs3w5kR0ixWJ6uxi1\nwClg13owgS38rglAbhJzt2AiGJ3d2VX3XG4Ob+N3h3n8GYtcsLPSyFj5QMYC\nkXrlC29Bd1E7fmmRRq3pF2rjwd4/rL388PWxlDZPtN85Qg0IE5YDlKntJxp4\nefQiUiMZX4Ut79oeBlG8l37cdY9Ukpm1ZBJBcPUS5IJsxrgWqEfrLaZ5wqxt\n/e/jb1hjc+hLmXVUMx6c9bphtsVWCPvTtKY3JNgM8s5X9vE2+eW1tEBSiqM1\nBl5+GKYI2GFlcBgUT/OHFGrvb5bMZqhqLMgIJ21WKCpBaSbjEOkFT8bCsuS0\nmPEPbZ9aFJ5V4ZsmzLBDw8O+1DBZPjOjwdpNheu6Cr/CqZegMGRI31MrVc7H\nMhb8\r\n=Vptd\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明              |\n| ------------------------- | ------- | ---- | ----- | ----------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息      |\n| OpenReport                | boolean | 否   | true  | 是否开启上报      |\n| Debug                     | boolean | 否   | false | 是否开启 debug    |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"小程序上报日志统一小程序版本","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-ext_1.1.1-beta.2_1628482171701_0.5936071719423011","host":"s3://npm-registry-packages"}},"1.1.1-beta.3":{"name":"@hyext/hyext-reporter-ext","version":"1.1.1-beta.3","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.1-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":"fb94942a008e4c7138f89876785186fd46e65996","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.1-beta.3.tgz","fileCount":9,"integrity":"sha512-AI2LV0Ze+a3dixxjHTA3g3kaoVtrpbqBquHuFp194vakQkZ8Ml9rZaXATGjnts/Ng51U9gHamb7l5TDX3J4sQw==","signatures":[{"sig":"MEQCIBO8F4cvAYuLMYFzRjhMyGtCgEpeh7/6dvSMVv1+aHcmAiBk7HBjeSIUKvYfDcUY4OanqcmWlzXEiua1m+4aRnlKGA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":206409,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEMy+CRA9TVsSAnZWagAA3LgQAJX8uNjkJig1WlXatwAl\nMtJD3GxGCDxhBTq4zJJehkeheJKdUIZOrX5CeKCTKNgY113lKcdkD8oamhk6\n4So3NbvXQGX3aOd1WT6lj8p+g3RPiX2FsYHpL24Q6NdX4sam4yQt92vJmIwo\nCdvfk4zE6Hnl8WWSOcAc9/HvgfoAvXUhenSKNPd+Ni8wTN7RokmMf8GJz4kp\nVnLMMNFmF741TRBWFzFaAcSoZl90CGiDU9CEJNuzVnsVK1oM1P9/fnWAAeB7\nyvdAkdpjwsq+tWL/Q6/CWc7lfB23kc8CZ5/92zI/kv7Cbp3Nsw8FXdA0G6ED\nkzDzrQ2Ejs6l/xiTZ1gc44fJOBjL03sNdr5c5t6rhPAO+7pAsCXMUvCGL4WN\nAvnFvUMC5irnaXDrz8YY9R5KGBNIGmLsXAJ8hu907H9mY1ptOeH4KyE5IzcS\n3pR79zhUYULlPCxIdS+ot0y2SPpCXAWE/86nbB0BScnr1ExdZi4tqYKk1nA8\nk/eyykeCURtYOWzAXCY4nsAZn3NR0qMeV//zPzreAyGDDNb+58A6QOt4+ZGm\nsIKxdr/Hc3JFnLukQQgD2S6j1Bkdel1HbSgAo8HaXA6Y4/s3xvgW/Kvl8cVq\n5ul1CRrxy/Q0G+vMeB++KHU14N4576iuBIL1n7c0v2uE9lf2McYP8hNpp2O9\nsF2w\r\n=n8JZ\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明              |\n| ------------------------- | ------- | ---- | ----- | ----------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息      |\n| OpenReport                | boolean | 否   | true  | 是否开启上报      |\n| Debug                     | boolean | 否   | false | 是否开启 debug    |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"小程序上报日志统一小程序版本","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-ext_1.1.1-beta.3_1628490942619_0.3036987249262566","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@hyext/hyext-reporter-ext","version":"1.1.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.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":"184f1f8d31cb067b6a3d7ff601cf74554c4eb806","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.1.tgz","fileCount":9,"integrity":"sha512-F3fJzGD2CS0DCfPWXuDIHcdgwQGyt8q9vBFXUUz1rp4mnsr/MRsxsoJIGt77LdR8Ii706iETQhgxqv8YCwhE7Q==","signatures":[{"sig":"MEUCIQCHrri8ptjxOB3cM5AWwY3qGjIJc1XeDk2ByxV9fP7TvwIgXrr1376vQqUmQkZ5/oxaQkOzLrEmu+la/tXnzlYQ3m4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":206440,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhENyzCRA9TVsSAnZWagAADtwP/2VRyQvxofZkAyj/qaMu\ncQfsNk+edqD4eYQpbLrKgBZnOnIgr9SEZ3gDV5syZYoTQ6Hznp3L4RldDYCJ\njDTcooKF2RLG2Ps/zumooH60YMTyXHKwX9/exrg1A8QBkONsp8rKbbEnU37J\ns0a7XJTmm8C4s2w7aP/WKQeZDOvH3PyLW2HRV2lvlex/sKnj349ZfJ/Pj9TD\npSK18Aa1tpsE1rAbzccL7HQ0H1N6vJcD3LWe+JNuGQnjgdAVU0RszRnDGMJx\ngX6fFaxjqfiNfRIzN+egvl0zRILUFMjSF54JMvElH/m8JHmVMNVTIMkU9Mgz\nkAEGPiV2Rci2SE7zJ/dIfvaP7p6eUNFDO+wFeq3PgyZCKA04BG+ECFhIa7Ga\n6TXeXGgt4nuSPJAqwav7zqWHbD7NzKUU/2svqF8NpUwrdIkwHcnAOBSsF62p\noqqKNYHrUiSkZielOLLMcMhp+Kvu0KvRRCipedQhdwFU/eLOxulx4bsFSrnx\nNbiiQgY/Y5g+Y2Qr6e3fH616E60CVmVK3cfx/KitE0X+DWrSKgvDcv1qUrqr\nMuYGHJgdXS6gdQqfotxdDQlFkqDiLdZ6wnqc4ZoZJfWTli2uja9Ut4tUH3PQ\nYmUbUCe14EDqVbeaxPAPiTKKhHIISel4rZiKDA8stUy7Up58kbmbNgMo2FnI\n98Ze\r\n=nOLS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"f71dc723ea2128b4ac3791eab238d474f8c2ab43","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","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,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ext_1.1.1_1628495027638_0.09960883477302462","host":"s3://npm-registry-packages"}},"1.1.2-beta.0":{"name":"@hyext/hyext-reporter-ext","version":"1.1.2-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.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":"c7584ea4ac676f10266362c0f5a88864d6b169d9","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.2-beta.0.tgz","fileCount":9,"integrity":"sha512-9oUEU6NtdFP4z33D2L5oew7YNY0Es73g7KkjoGnq+kLk2ttd9BLP3xlP0ChbEFZsgEHv/86UjEWKLFj9hfTyRg==","signatures":[{"sig":"MEUCIQDPYJmp5iTmEU1xJH2kA/usboBylpO1srMXYN79sX2nMQIgaJN58BBVLaAxfdlbfJuaN7EBQ3EUn+Hu/2VIuh9IWP0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":176228,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEOeECRA9TVsSAnZWagAAJbMQAKRdqx8SGjc0FtGjo+ED\nZQqxy/26YEndqHhEUcxoc5SWlX/Il8NQnu5OdKQqcYohcFPq51LrvkqNWQXM\nY+w9DcQtHNdJGiGR3/2pNLuuvK3K0p+O3Ros5Hkr2vx5VadY7UGE3DHr5dee\nKE0TcdPtK10h1QsUU2rkyiL7tp+TELDxx20ZBMM75MH+R8YRhVp5GE3ux8lX\n9FxX11zJhFDsUE+h2EVcpag5SGBR0MC14kK4YzKZDmFYBv2FdZISRnIa9JP5\nZbEulOaIrkv60fiDPoEklsVjdmFCBkpW0rbu7OPxE8e9LFjr8z067aI3U1Dh\n6ZB39f42fRoY98ruDNBOPhZQY7VXAg9fmC1wVQxhigalvRTg1HOSBmpdewTb\njK6mRtU01zIlQDdihAtzlnUCrWfj6Pfio7lTAmwyBZxMhvb8OMi5CMOrvzcZ\naW3l6Bh63s0jcnraSbb+0cTBb3l6Ec4BwCYBKuBu7wjLyvL4tSspo1rm0yDB\nvsyPcb7o3pzGJJlZu/KcHvak4yu4o0RMsCHkcmjIymwcNt5Xxesgluhuz3Xf\nRS/4LAC38YD9SuIvbUY/4Q00QLcefl8dSWizyXs0IfIe0cTxuV4/ojqO48kk\nbH85WWRIk2W/mIS/ZmR8WAgVPvFER5k3KTsQzhUPE86TOLWOZmy35fPbVphu\n8Zh5\r\n=sbX3\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明              |\n| ------------------------- | ------- | ---- | ----- | ----------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息      |\n| OpenReport                | boolean | 否   | true  | 是否开启上报      |\n| Debug                     | boolean | 否   | false | 是否开启 debug    |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"0cc9fdba3f60bfe967af2fbf2b0772ff0e6bb42b","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","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-ext_1.1.2-beta.0_1628497796432_0.22551343513540623","host":"s3://npm-registry-packages"}},"1.1.2-beta.1":{"name":"@hyext/hyext-reporter-ext","version":"1.1.2-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.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":"0be5885c5f561358489a9e347a3d79055d3d2ed5","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.2-beta.1.tgz","fileCount":9,"integrity":"sha512-b0gGJCrBnGWR6dNlj8AEov84A1e5fdwN2RDdQFSHHNxjvCyqcSRJveBFbK2zOftlC5FULaGZXojThDTTmu20Tg==","signatures":[{"sig":"MEQCIArQkQPCLeChBw3b6mk/ui/ELq03cwllXMcOyXx7OIGMAiAQawE4kKlYVwuphEdD2gI7RV7wumugu7GMu21pNXoDWQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":175902,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEPe1CRA9TVsSAnZWagAACD8P/j1a1O0omAF7GsCeuzNd\n7aoerUVAm0T8/UKoReMgB/lbKPn7WCeBjpHWbTk5pIPaszC+uMo8BB5TNajz\nwM5TsnTFOPymtFjXGd89tRP3mckvt4XHgKZC8c9KKbp/UpM+uO5eG3FS1IDa\n52Tncoewb3D3fGsAptg8jqzIx144E0+HeKrWdJU0tghLIlntrx6dOglISij7\n3+Z9BJ+jjZHKbkQj86ryJj1jm0UCEylQRzltgIDrKDFbkyUNa9OZQkHSiSRv\nAzx0FNASNN2KMet2P6/TO6zcatsB71TC8Q0LMQ+2n1efbwr1EkZuWDStPA9p\nEPAu+kmN3kxBae7T/qaqj99JfmhkdNc+q7SBxwvl9Gl4FLrQo6AXB6QeSLUA\nL1Q2sfGwv+96c+V2KIgv9hkG2TnHh7HUEgFyfcswSVpmThs7rCrXptduTx7k\noonRdf595usvfpBgbmnxyD+8DeaJuokxvcdsItDxl0rlCoyrXK/u6IN0Fqjg\n/ZRJiyjfO7wE2pCUEX+oiueNYTtbC2y2XAMon9iwfBa1AjXX25APazkieEVl\n/iBYSk1GClsq8OJGQoVfycvtlZJa0oOc+VXo9jpWWT3k8kx+/kwm8NVNM+bv\nhJ4K5l8dg/vbq7F/BHdN8P6Jtvq3+FIqmukS+zePpZWd8qLhuM2zYcEKv2ar\nuQZw\r\n=a1Rv\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明              |\n| ------------------------- | ------- | ---- | ----- | ----------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息      |\n| OpenReport                | boolean | 否   | true  | 是否开启上报      |\n| Debug                     | boolean | 否   | false | 是否开启 debug    |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"小程序上报日志统一小程序版本","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-ext_1.1.2-beta.1_1628501941376_0.44738133871517416","host":"s3://npm-registry-packages"}},"1.1.2-beta.2":{"name":"@hyext/hyext-reporter-ext","version":"1.1.2-beta.2","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.2-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":"f3a4216d851330e57a51712ede01a16232823961","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.2-beta.2.tgz","fileCount":9,"integrity":"sha512-Om2rruh6fUGrCmN/Wh7xLzH3su6BUW1ufOtghI8Ux4CFHBsC2moA829xDJVwl6zg8a5gv/jRhh1YijmjIc6iCA==","signatures":[{"sig":"MEUCIQD30g4TUX0ngD/3A7O6hLBcK3ND92CftiIr9E1cqll5nwIgFTO3fDAh9qo2uhqK5dC6JMrQTAGRpvhfMRBmM7lHuSI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47760,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEQBXCRA9TVsSAnZWagAAIFIP/jq/nnClBKW6vNC2QAUP\n6VZkB0qIQNgcyjxUqS3IvAdmITFWZXzssSivNfsWxdWBAdP7l8RuoNzcBxIH\nR1VJuZDY2ZrYPz8sa7PN6Fs58TxYHcjV4uA3JI3Z/+5HzIBt3pkeIhT4Bp4V\n3a6qNJsUu5oV1nCyiExqvvaRJ5nciyWISWoe7Fx6hf7hMbrKz5rPzysprO/C\nK8jSnxA4S951ndCkBoNFRiwQAvxUnczVF3sYXMjTD1tc/gzCr8j8E/OkrUMe\nYRtElhHTgvnX0GPsl+LL8WohTRCX4gwXoIzTFJXEh59QjqjOkG9Ay0ZOXpDt\nmcniXsxZRpWjSOZlGMpOD5qBhOVJsHJKz3hTjzHmv6Yx2v34qPWS/xCeH/lK\nvdtWzyRw2NjtVTQDYQpvDH8uRpIuikvJkd+qRhHgN5ud/kkDdaMKqH2O669z\nSyLYRPRLgrouXp/6CDzL4Tn/KXs2dEk1oYMHC+1Os5NcfRPhSQgTqwByGBXF\nHyzXx7fFA2VPwO2sgxRU8k7h01vdXPKv0qp3C5311+X6Xmbku65B+Ku2Fx/H\naq8W5UZFf8W7rt7f07jgBX6PmKx4h9rj9rQUJF2ppEMbuhv45oRS3Ppv4YJO\nnzi7bEV+iMn4grdBtPqJzEWoBpgO57zvOtBF2OQ7LdeI8pDccgGRiVBF/Jpp\ntj0u\r\n=kmiw\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明              |\n| ------------------------- | ------- | ---- | ----- | ----------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息      |\n| OpenReport                | boolean | 否   | true  | 是否开启上报      |\n| Debug                     | boolean | 否   | false | 是否开启 debug    |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"4f15b66be91cdb546c1af696fd93997819624bc3","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","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-ext_1.1.2-beta.2_1628504151376_0.787636365235848","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"@hyext/hyext-reporter-ext","version":"1.1.2","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.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":"346768aa2bfecdddfce2daa4dc054e15ed365e38","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.2.tgz","fileCount":9,"integrity":"sha512-0z5Fx3pw7HQ7u+KqrLV4bkpOpJqvyH1i2sXYsNwgtTmATfxaA1fUAThu3WwiuSIeDQRwLZnDkDsC9L9KMcbBTw==","signatures":[{"sig":"MEUCIQDoHraSKLSPSQB/R1HSIKtwz1GbkHinIIoCk1Z7T+GAogIgLDUUdPKFLVcY9CEycc3YMIN3ZQikx6AZvIOa/J+6Ptk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEQjtCRA9TVsSAnZWagAAbKMP/1QRX/7sW5rY3nBqYZZJ\ndv6rAiIUsSEHkfhZ/qiGbPr4veq8KW8y641PzaqXcNNk/kxCrylkCsrMjesi\nS/68j7Az3vCacc3YyTbdQHWiH0YLHrCHyS8H842cBzcixRGs60OOQN62Z8Up\n/wAwIITJ7C8J8vzwh+6GS6C3e89EboKNuQhGvJ7yagtMCPoLDVNaFPYpQ4O/\nNx2XiMwlY5GZrMIi01ALWa1Z+dFan0LbtHZeb0f+Xe+sAhnGGX75sLpYV4Pf\nTp1rZtoS/Xm5WaK05Bm0/7wHAasqe1uA0HPvkX468v7dFQ+QvhTiTFyAmZN0\nHj1WG6nCA19Vqe+76AvZJXj9W9+vVpcY0qmSbT1rzlc7vF7/RWov3qzUMsB2\nTvBBmG/kE9a9fV/9SYqRxr6ZhZw3DqQDPsLeNDNl4Ye2Wk0Uv6Pn2SfG9s5R\nke5CF38x+H9OEMmuKOnZxTIDuWAT/4RFyVt9jwNk2yOuOB3G0EMTPRJl+qpZ\nGwa+CffhxQM+Nje9juHoHJS7SF20Kwjd/AI9JOQ+kj5VIbYdDnzA0d3HJRNA\nqn+D0e4mojHATTDrpr5EhriuBZd+NXBj0e9IlYDrPZ8wy0PD2RrYmOOmFb6J\nsn1m8ejoVy9L0dUavL0/X+D1sQHdMxOdbj7IfpTIckLmIoJrcMubxYcJihum\nXqS8\r\n=lFoh\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":"小程序上报日志统一小程序版本","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-ext_1.1.2_1628506349000_0.21642752998353454","host":"s3://npm-registry-packages"}},"1.1.3-beta.0":{"name":"@hyext/hyext-reporter-ext","version":"1.1.3-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.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":"61dd867f46e61051f5e5f36cb46a656b5c341411","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.3-beta.0.tgz","fileCount":9,"integrity":"sha512-+2/n+noixs8z9tAdTelSrxMyB3CmeAu0kApD1xDgFKh3qqS91o0+O+jZtf4KCdGo84U0DdfjN+7PwE16Pvx9YA==","signatures":[{"sig":"MEUCIQDzuO8CJ3oZ/INzcOT0IUeqDrh2xmycsNWXszRnk6prTAIgcBLQ6ioyq8V3UT1D2b+0PJf61JPFsIq4Kg/nu7kBFd4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52661,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFPvzCRA9TVsSAnZWagAAzIwP/jErx9M/z/fCvyToqb1Q\nSZ0099p0e0bqDoRng3bWnrt1BUBj1VJHc3rSEVoVOZ9vJkuoVgEPfsz/Y7W2\ny/9gsmu9yL1N9lXIfvhz+drc6hAs111CBaDDcFkTfCswFBC1irV6oitYmb++\nAsuO9qc/0sZll3Tv5I7v1WbAvNggewbavITge2ffiWN73uP8Z6tlnmFyaSRK\nOnC3dJ1HsE0pG0/s93N3b/pWGaA/Td8aWdvUnmTi+TFPpzDcgi/9nIFZEC42\nd1maj9Ul8xWLvKJmEc1PSuVkThGmjY0Yzd4XvfV7hShHoJ8/lV8j/Z5uS5M7\nO3LATWN02eLANcbneJQmpbCd94SmGSqw/uA1V3KLtDLV5J/UMXSZYBJ++9St\nUWdLpCqf1x0MMZWmThY5DMksCS007Gj7Qf1qBn6sgzmoN2k4jwab+neWknPg\ntwAl5ZpXS2Tko8+HmfPMwq6lEZQJa0RJKDQs/bSCZIjZr4+eIi2TQtpCesHH\nJpcqdbURjQhPNZhcuZPG4mDWKw14EghlsiGs3kt7bTfKN9tcpTCqmRoJbUe2\n8ibVsIFQYoD3M9uLsEGgkVYsLSuCXJQ8d8XkEfr/ug5XO3VhAziMH8ZlZ9mb\nE78JriTo3r0cBg/qEWmdsvUUA8eylU5plSvY0pqvOBmnTuKnxMRJEVGbB8gR\nls0h\r\n=GwIi\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明              |\n| ------------------------- | ------- | ---- | ----- | ----------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息      |\n| OpenReport                | boolean | 否   | true  | 是否开启上报      |\n| Debug                     | boolean | 否   | false | 是否开启 debug    |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"2a3d609dadf630f361dc65bd98780d506748c6ae","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.12"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ext_1.1.3-beta.0_1628765171457_0.07144385677509657","host":"s3://npm-registry-packages"}},"1.1.3-beta.1":{"name":"@hyext/hyext-reporter-ext","version":"1.1.3-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.3-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":"77c49b9cd035da2a6028c7a0a51024cedb53fb19","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.3-beta.1.tgz","fileCount":9,"integrity":"sha512-2H5TFbRrhI+k3gw296P60AHdRNjOZ3Hra/O7LwdXTDyUsnDeewb+vVICKvQluwUOfANlJj/BZy2g89LJzZW9aw==","signatures":[{"sig":"MEUCIGSY6E3DK80pp6CcQ7nUfoUMZw++yEnyxvMuXsJbpMSxAiEA+/yzNEQ8/fE/dwAWlt8Hdnf1yT2O1d1AnuHaRdMs+YY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFd8JCRA9TVsSAnZWagAABFcP+wb1jBp5YQiGz23vAWNq\nX/s5BgWLGiQlJoLKQ4zr20R56oPWX0iYLdywJoVwnfIGblxhgTqHGUq80iJA\nkHDOIFwVlaKz1Y9ARFT8urQH17SfvGEyYxwXKcaM0xw+IH9e2oXpyzJ7OPAx\nBne2bQlIt26BDEBKwjgNpmGr/p4E9Fs6XEpGEWfzaV7ObA/BErPdi6ceA2sm\ncWFQkRMwL5T6QvvwPZc9Ul2ZytnqroUwoAz4lSfkxx5uAdIO1waEUgiG+yv1\nzruTTAvu9VTZGqOOCBIzzfB1DskshEZaOnGDj/0755gHmR4tB1JwRS98CD2D\n1MlgUhDC/jp3Ze2vCuHfguwPApZTDOy1HsckTtdai4u7uh0ZdWMouNZOmfyJ\n42tBd1KJY0pP9BX6qXujFtDRsZuRURZwZpvIFjLQdhxOrHAQ7IdaUXQlJPmq\nInFk8XdIpHjBSPStyxfHwQwXAmZN0bmhpfEHr75aim7WIXvpvI1+5MeF8ken\n1FjCqqQQeC752pj3WTAa2Yd4/bUNA5itpIsKTNDfcK01YB330WUKYHbHI86K\n0TAVL08Fm7u1VUvkDi9CiTFb/IV6Uq47/1AysRO5Oen6OBkDsI26fpxfn9lS\ntuS5H+4h3OY3Hf12hmAaUYMuMhuzyFCryiLpo6hYT7CDIFmmhEDhrCj+auMZ\nIOOT\r\n=ISE2\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-ext\n- 负责统一小程序日志数据及上报\n- 自动获取基础数据，需确保开通以下接口权限\n  - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 60 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明              |\n| ------------------------- | ------- | ---- | ----- | ----------------- |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息      |\n| OpenReport                | boolean | 否   | true  | 是否开启上报      |\n| Debug                     | boolean | 否   | false | 是否开启 debug    |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数       | 类型   | 必填 | 说明                                                                  |\n| ---------- | ------ | ---- | --------------------------------------------------------------------- |\n| ext_id     | string | 否   | 小程序 ID，不传默认获取，但需`hyExt.env.getExtInfo`接口权限           |\n| uid        | string | 否   | 用户 ID，不传默认获取，但需`hyExt.advance.getCurrentUserInfo`接口权限 |\n| pid        | string | 否   | 主播 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\n| game_id    | string | 否   | 品类 ID，不传默认获取，但需`hyExt.advance.currentChannelInfo`接口权限 |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"3baf007d2ed71b7eb6be331b78f7224aa13c9d14","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.12"},"publishConfig":{"@hyext:registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ext_1.1.3-beta.1_1628823304919_0.13636347918573333","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"@hyext/hyext-reporter-ext","version":"1.1.3","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.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":"60b9e3b1a47cc91d2f30eef7697a04b47802cdd6","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.3.tgz","fileCount":9,"integrity":"sha512-mq1scF1FHc59Zv8a7kX4hjhRVEbzxaT94ZyBBzzBkl20ZZnu8ZkX75gdVSsdMdvhV83w/c9DrRe9W8bf4AY/Vw==","signatures":[{"sig":"MEUCIQCitvxYt6iHkUXcDljN8ewjd6ywUBO95aA4DCfVXYXUQwIgWAwV9grBTSzlFnfXr6BL9Zj1zgXAR5JrjTQT5xwZiv4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52956,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFeIlCRA9TVsSAnZWagAAXlIP/2gjqOhAgueiU23gN8bX\nHUIu+m6tYC4HIyoVI8fOGZZ4s9R5V899TwztCLq/BGk0i+X7tCSNi/GHWwBF\n0p7NWSZDl8hK16Yhmp0K+iGGYTowBFZrZkGiEnJMlVDjn94Z8+AGkugaO3F1\nm9DV0pjiNcISYstQkys6GO+ujoT5iHXVv8m1dt+qd/HQUJnznrHanKVvQB6l\nzFuiF/V5rZ9bzMArKAIbKmk0Ane780Z791dCy+ryCwkNE20F79Gfk7ZObUVH\nXP5bZFUDX26DXKbtHCbUIDaunc+oZBBuVu5+83yft9pAwtnepc5iaZhVtFaA\n5uujZv8XmLz1MBKGS8wraIOnf5WE+igkEKg8qqdeMJuaOguNG6kCFuLj9VPU\nVOYXAx2M/V9RBO0k8fUJnFKzFCz3IguloJEM7l/lxCo8z0YTs7YnkymFcmDe\nl3Sse4NwtC0TGanOs2LBWUFsHGz4A5QsH/k5QNlZe1rnzUCZYRAmFBGh3BFq\ns0p4vJAIyC8CAoTd+IfAfTtHAu5llZir1HCvz/Rk68dGBAkXpkLInc6f2tjN\nKTEgoezUr+IOu0/GDCv+UEBKoCHlsYzxE5pRluzrgRSrrNoZg4IPFdJqnYgF\nRJId8HzU7a/QcR6aksKw6bV7JvHvBTlvuVynRpfz5NJpfGSLCKvysIdVUmJp\naweD\r\n=Cozu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"405b569fbc1f712e6f2d001659f3fc5be669eb36","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","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-ext_1.1.3_1628824101754_0.8725293911708498","host":"s3://npm-registry-packages"}},"1.1.4":{"name":"@hyext/hyext-reporter-ext","version":"1.1.4","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.4","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":"3727585e08611d7a9ad495e489d4c067d7eb6dda","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.4.tgz","fileCount":9,"integrity":"sha512-On2T0UeOvl/SXea5Bufzp2EF8iBPjoqREzhQ4Y4nzIzLJR2N7hvsdK9AxrCr0MpO7NWslZGwbGWMApmg6tizuA==","signatures":[{"sig":"MEYCIQD5AaOQCyuc0NqM7+PhochNYfg6CpUivYqJN2VmVV39wQIhALYq1FqttJPT+Gt7vIgZ7NJxzWiJ2nxtGipMwmLYptq2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52956},"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":"小程序上报日志统一小程序版本","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-ext_1.1.4_1632821520616_0.9940060087277194","host":"s3://npm-registry-packages"}},"1.1.6":{"name":"@hyext/hyext-reporter-ext","version":"1.1.6","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.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":"860e8866713542b94a776db62eb67d7f76d18031","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.6.tgz","fileCount":9,"integrity":"sha512-ZjvxdW38ZnfUKmgPmxKHIJd88J6BZtmtostI4HHUKnBzFsfrVXcINtbge9Z0CK3bDIZrytSBTIMONPqcfRBlZQ==","signatures":[{"sig":"MEUCIQDi7kYLHHJowi2NgQSamOFIBNZJbJWq/CJTXgvP4s2AqQIgBMZWQDZQM2Y0rIz3CAjLb/8oQffVYjXLQsYhH+3Xbrs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53005},"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":"小程序上报日志统一小程序版本","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-ext_1.1.6_1634628153886_0.3931893050839923","host":"s3://npm-registry-packages"}},"1.1.7-beta.0":{"name":"@hyext/hyext-reporter-ext","version":"1.1.7-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.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":"e0cc6c2557085156412eacc383f7bc0719c4f500","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.7-beta.0.tgz","fileCount":9,"integrity":"sha512-FRQGU39qyUDmnyz8MskOA1+gLLhDHKamI0J9BDAORKOXrKkhLccr0/zQCNk7hUJCVkWQgkOYRqiPxCPY138ANw==","signatures":[{"sig":"MEYCIQDNz06eBjH9jYTJa6yUVS0bC1/1fgL0JUGwXZOxGTyQ/wIhAPdVk7/9L5PW74/jn7/wH6nr3cBBBQxkBTPb2JpW9VnY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhn1ltCRA9TVsSAnZWagAAzXUP/2ETqQZtUTwcnCYnhrPm\nLAtUxQuff9ZaIW2xgvWuvA4rsvfPeqFHpWfHRoNr2UUvc0HuUdLmHDutIvq3\niHVHgVKNnr0A3r7Kfmm2VkBR7zV9jpbCtCSaufoIS0gdh3xLTHxfNvgiz5QK\n9MW5mTiEW0VooatRa7f11P9Ofn+RaMTFwSOTlDf89/2jQHwbECKP/XnFD4pK\ntd+H+pxwFD8m7BkunwB+s+B7Plm0bALEawd0CfArXmRrIznQbVEov/hFTJX9\n4MjbIxAQIPwfLQl2MvIv8//+AqMAPIoFlUcRgSfsaU3IKlMoXnjy+2uNagSY\n8MRim+hOdfb0Njqu0s506d+WkXIuBQoHt6a9uDqabw0SQ3bIQriQiWsUWcCi\n2phV9Ws/5Wr67N65ZVpO7IG399FqAfp3UyTd+o4zobst/tEeo9WkfQWVYdt5\n0WNRHFTOfpb4J3+s5IzSL1vmoX2ari7nYdd7QqWjg1C7yOGsGStuqd6Ib9ob\n8nDuetqfwj/PDagQbvnSre2JxFHngHClabrbqN5TiYO1gqmL2+RdBafKp03q\n/ODkOEuBqqfMdkZZUy2OpJTW33PS0847v+Q2O+l7Mm9DScuKkyH+MkoQojQN\nHcslCoj2GoqIkaSSdZbfwa1WzSU5PzpGk2Dw0LO35Q8hXltw1hxNEIyq6P34\nlzPP\r\n=A7N2\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-ext\n- 负责统一小程序日志数据及上报\n- 可自动获取部分基础数据，需申请【自定义统计上报 】权限\n  <!-- - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo -->\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 30 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明                           |\n| ------------------------- | ------- | ---- | ----- | ------------------------------ |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息                   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报                   |\n| Debug                     | boolean | 否   | false | 是否开启 debug                 |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报              |\n| ReportDelay               | number  | 否   | 500   | 延迟上报时差(ms)，0 不延迟     |\n| ReportSizeLimit           | number  | 否   | 25    | 每次上报大小上限(KB)，0 不限制 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明                                                                      |\n| ----------- | ------ | ---- | ------------------------------------------------------------------------- |\n| ext_id      | string | 否   | 小程序 ID，默认获取 <!-- 需`hyExt.env.getExtInfo`接口权限 -->             |\n| uid         | string | 否   | 用户 ID，授权后获取 <!-- 需`hyExt.advance.getCurrentUserInfo`接口权限 --> |\n| pid         | string | 否   | 主播 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\n| game_id     | string | 否   | 品类 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"小程序上报日志统一小程序版本","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-ext_1.1.7-beta.0_1637833069069_0.28382614656585226","host":"s3://npm-registry-packages"}},"1.1.7":{"name":"@hyext/hyext-reporter-ext","version":"1.1.7","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.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":"5d065ec5f19fbca9130fb3575e91ade7b808c971","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.7.tgz","fileCount":9,"integrity":"sha512-9L588n+ChkhD661gqVMS8kV5c4AfF5EyhS8YTBTX19HRwd+I8tp6b1l4/DTrolFnp4R0T0HUIA2nLWU1yS0FAQ==","signatures":[{"sig":"MEUCIQDjKAIr/1NV1UXBolQFuC3UFORi+GMpDhHAUUOmQTY5rgIgSLSYzT8I7eIQF6D4nwg/2uMjJZ33hVOCo2C+ki0ZU6c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53160,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhoK+UCRA9TVsSAnZWagAAchYP/07zcExK04b9bqndykkz\nq4U8xuJUUCbSQy56jwgNslwVl3DNuJMWSwqSlsDmWX8YMRbbX8zDEEWXIoVE\n1gQ3ZviJIezgbGP6iftoGBL6OfTCiZhC9Nk/HBDFLZ9qS16A0tgbardltNHw\ncxItR1mvdDj1Ke/QwiI8KJFbfeCwn2ytr7RmridxY2RO+pNU2BWx6wXwa47d\nJKLKQ7+v9Ve5jozdYYKKLZkWzx58NywLIGJymONj4PdLEs5pImFrRpx+txov\nUW7TSqNRVn+EMH1Nc+B8G8fu3Q2Ooy77/sVscC5Ppbn/bhIUjje0D8IYsNd0\nZSP1AUL8F0I87IOR9dsUyG3VYR0G3MuIiTRXC/m8pL7ULz/vS3+FYMjlEqOI\n9aFluci3esZJioEyMdjz803BEVFHkZ6gSWbaToUh1v0sCseLgcu64V1JKybQ\nyQ2UcIUakh848CMelmFEX8hMJ791O2/+r3RJEskbEusQY/SYWBCvBLYw+sUP\nCZsAbRzocs1251OGXaWt64GpVNCIgDQ35kO35vFJT7s0L/N8CYn4xvTIobIQ\nokyo8pIGHpyAFGaacKEhFo965FZcl6o/0pCHjW6D+e7EI5S2yzmiTFLtI1Q7\nzqkkO4GD5jhoHUplkfnyc+d31aAsWruocMrDsjnqtoN+4zgMNj0f1Fb/uJE9\niGz8\r\n=bOrH\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":"小程序上报日志统一小程序版本","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-ext_1.1.7_1637920660023_0.07332238684998038","host":"s3://npm-registry-packages"}},"1.1.8-beta.0":{"name":"@hyext/hyext-reporter-ext","version":"1.1.8-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.8-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":"dd40e5f564b73bd474ba3d87a14f17eefd627264","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.8-beta.0.tgz","fileCount":9,"integrity":"sha512-c6FSXFYhExfHaXC6R4wEutLBvX5ONzTkKpxUL5+9tU1o5lfD80m8LDwkFGUMdokQWpDKRWsCDNsn4qApEAGXOA==","signatures":[{"sig":"MEUCIGhOZADLglEHzTg06PaA0zfeUnW8yQifyDCJGSE4pw9yAiEA7E4se4cshvJn9x3Or9OPsP6YEEpaQQJxZMfHJN+Lg8Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53167,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqfuhCRA9TVsSAnZWagAABgcP/3WLQmw2sE3L2xAeICFe\nvMKwu8VtJj9m7KySa3CLPcoBzlIVQtqMs7TpMx2nDdANJjX07OGlY7yig57n\nmFnEhCCMnVGUQB1iecvq+ILZ5WF4NeNXnGn4I3Jxgm+FcRGMbJ874a8vm1dU\nncjLWij0njqvAFuaYk1PlgXYoW2cSRA2s5TL8pYpfQyK1FLgm8hZf+wZ0Lzr\nBjnECawNGNRj+dHQGd0Q5W0bRss8Iz+m3r/Tow8ul2qhgJHz8biahcgDAK9d\nJ+bHR77pagp6suad0bML1Eu/Y4szhKN9ZIYVf+X+hBrVkDznDPRe9Sx/CGPo\n+nBX+9Jx6boxTHO9RB1vFJ4cgUpMuqIfqH7jmcsQpL5Mz09vjD/A3LOgxhpu\nOdC+haJ6wJ/Qd7ZEQucKlhYl0A7k+s70xOgE1FqdCIeWqjsGOkmbHohD53Aa\nsfJKK1AvDP+uRWLRwufVrDTBpp88juXF/HEPGZlxuB6KfRriqcyCrerWBjDv\n7BidhfkoWPcc8hjWSGT4b5IxSdk87co8Xi1ne9vhUEPNhayfeD8UUMf2FqBm\nB5jQ/kp+7ltRy8EaTOnEr6cyOJZhpxvevpCUmdgH/a5QORu3sf/TPTmMCRYs\nfMHoolzG9vvD4/28grnQUgO26UFHD/qxxu+Tp8VAJDiy0jgepA6z6UD7M1LS\napED\r\n=GX3q\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-ext\n- 负责统一小程序日志数据及上报\n- 可自动获取部分基础数据，需申请【自定义统计上报 】权限\n  <!-- - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo -->\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 30 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明                           |\n| ------------------------- | ------- | ---- | ----- | ------------------------------ |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息                   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报                   |\n| Debug                     | boolean | 否   | false | 是否开启 debug                 |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报              |\n| ReportDelay               | number  | 否   | 500   | 延迟上报时差(ms)，0 不延迟     |\n| ReportSizeLimit           | number  | 否   | 25    | 每次上报大小上限(KB)，0 不限制 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明                                                                      |\n| ----------- | ------ | ---- | ------------------------------------------------------------------------- |\n| ext_id      | string | 否   | 小程序 ID，默认获取 <!-- 需`hyExt.env.getExtInfo`接口权限 -->             |\n| uid         | string | 否   | 用户 ID，授权后获取 <!-- 需`hyExt.advance.getCurrentUserInfo`接口权限 --> |\n| pid         | string | 否   | 主播 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\n| game_id     | string | 否   | 品类 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"c079ecee431ad0f28d7f5e6ac4d70a19b0821479","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.16"},"publishConfig":{"@hyext:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ext_1.1.8-beta.0_1638529953477_0.5045298047736442","host":"s3://npm-registry-packages"}},"1.1.8-beta.1":{"name":"@hyext/hyext-reporter-ext","version":"1.1.8-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.8-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":"ba2dc538559126dc19f1b03a21e48dc1f9dc4f7a","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.8-beta.1.tgz","fileCount":9,"integrity":"sha512-0IKayR+T0a/1G2wHWzV2k+xoU5zGmOG8qyb0MWrj8whnXTqDi/6Etlg60I0+giVHiL+6rn0iItTTzPPQs86ubA==","signatures":[{"sig":"MEUCIQDe9298K2ey9yMZgrk0EvoPt89H39xhV4J+5MAbiPEtKgIgMeKxyvTiIEy77yIy2jpF6jVfgo6/oUOGCh4Fbv7oQpY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53663,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqfxZCRA9TVsSAnZWagAAqzgQAIM1lchHCKuwViV+rU1/\n9iBDlcmAcF/2FvVusV6GN47MFmiqvdAo1qvHgt3s+aCilIHCA2eocyC1xNP2\n5Cy8SeRRyqJMXOJuLR3vZTBe3frCNbuhldgN6a4rQKryIfTb8mcl+pnufOIM\ne5RMR+1SLDZjc1ioW4Ybj1wpKBKzfF3YxJhIh+ew0swiXm6DC0842mOM4otm\nrWAcCOHrt0/dJQh1va1ptbelEbps7GFiatwLvdXOiRgODfQ6BZwDMTiCCRCv\n4t14DRaMoDrvntltTDNDwkDm5RbQ1uAiurZxhGvIktOvR5Rgb4/YDloOR5sw\n3C3JcsL0Aclhh1Om0yWpbMdMOM2TSy7DBal3AIZw5dtSSH2PtlSuiyiO4E7x\nvKt866sko8zQtcOjqveudn9YdT2Lj52RgFBHIxCypTT26z28z7COVVcup09S\n7AnXgrWGa/6q0Qqs4KwgMcjJuqo5g5afcr+jDVvjSqogKQ9Gzp8wxkYh94Jv\npkdrJwi20eANlwOsVAWRX8c7/VO+NWybf10nFwTaGtLsFZ6p09pcT5Mh1s7P\nu0WWiUdok6Oi2S4d1i/oxtPFV2Be8iFVD0jZmokr6YuB3peUyy8NG9dVzUUL\n2bN4xYJfOfwVAp+Ys1bxN2LH+LfQYSLVahjRbdQx9Q7x/cIVj9avibYoIu1m\nTJTk\r\n=I+su\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-ext\n- 负责统一小程序日志数据及上报\n- 可自动获取部分基础数据，需申请【自定义统计上报 】权限\n  <!-- - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo -->\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 30 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明                           |\n| ------------------------- | ------- | ---- | ----- | ------------------------------ |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息                   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报                   |\n| Debug                     | boolean | 否   | false | 是否开启 debug                 |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报              |\n| ReportDelay               | number  | 否   | 500   | 延迟上报时差(ms)，0 不延迟     |\n| ReportSizeLimit           | number  | 否   | 25    | 每次上报大小上限(KB)，0 不限制 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明                                                                      |\n| ----------- | ------ | ---- | ------------------------------------------------------------------------- |\n| ext_id      | string | 否   | 小程序 ID，默认获取 <!-- 需`hyExt.env.getExtInfo`接口权限 -->             |\n| uid         | string | 否   | 用户 ID，授权后获取 <!-- 需`hyExt.advance.getCurrentUserInfo`接口权限 --> |\n| pid         | string | 否   | 主播 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\n| game_id     | string | 否   | 品类 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\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 extReporter = new HYExtReporter({\n  Debug: true\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":"0dcb7a0e91fb067c633a10d804f974bc7f4c3796","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","description":"小程序上报日志统一小程序版本","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"@hyext/hyext-reporter":"^1.0.16"},"publishConfig":{"@hyext:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ext_1.1.8-beta.1_1638530136919_0.03448040991072898","host":"s3://npm-registry-packages"}},"1.1.8-beta.2":{"name":"@hyext/hyext-reporter-ext","version":"1.1.8-beta.2","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.8-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":"40a7e96525797159da756dc07ba8f7075b4722e6","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.8-beta.2.tgz","fileCount":9,"integrity":"sha512-XEM1NbRZdJUXZ9jjM5/UpFFyNYs8nfVCFL0OD+U/WTZDD19IfZ27oiGbS1yNnlEyje1BGKsWB4L7lG8X7X2m7g==","signatures":[{"sig":"MEYCIQDwPb/gPGPrF0a0Foa1/43KZ3TwF3di1Rz3PmYg08bNzQIhAOn21Uic+cNFQxvLO4Fbo7RU36YcHyG0lYDvc6SZtieR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53453,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuriBCRA9TVsSAnZWagAAuooP/1KTI8RbmkC/yBD33uDy\n1EZ38SZJfWRLY8ywNht6h+cptLS9pbDoMXeGtaeoENdQsZZAb9Y+mRg0wh2z\nuMfgOvG+a6No6dci4Q8ngZ5m6E0pi+GOwXMoBrDuv/WaqjfUBEkWMQOh/XNg\naTMe1Vr8RkKaU0zjhdn5OMeIXC52UyP1E7C9YRLArvSlj2VmemJdZ43CWmLO\n6ew5ew6fxHvEhNDygo5S64uwjA+XTHhwU2nTJd+GtKm/L7vrYiIv4q08KD2g\nqL1ZGqCqIt9mD8JsHtLw08OVUwFZlMwVGFWIfrfuKAJ0lZAjIFJQ3xYvwH8u\nsVbm4UDWMI+F+xM39/zt+YWIU+U1tMKnO1inrNU3QG33Zc+aCQLA8oUE/oOA\npF/XlA8BQDvmrRsTemsXBsWt80OeRlZ15mE7eb4saF3pXQYnPA4W8T5IH5Ku\nfXaza5Jmyiftxn6soelacrCujDgfTNboEiBK5NMQEW731Fwgs7KmEeJ8etOw\nmaxWi9eiI575AYQjAu1OFnyBurf1LtR1eF9qbD5YskTFfO1gLQduwsDUCJ6l\nahFam3l1h393IYreiQs8d3F6K8Yhfzb3XOHulC8qimwrXU3HSnnNNgjYY43N\nZV7Ns0a5IJgUsQYQPAAUZ28eEEtkUe0BHqGX0/CNww6vM8ZqpHfo12UzKa6Y\nvqXU\r\n=wFn+\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-ext\n- 负责统一小程序日志数据及上报\n- 可自动获取部分基础数据，需申请【自定义统计上报 】权限\n  <!-- - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo -->\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 30 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明                           |\n| ------------------------- | ------- | ---- | ----- | ------------------------------ |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息                   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报                   |\n| Debug                     | boolean | 否   | false | 是否开启 debug                 |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报              |\n| ReportDelay               | number  | 否   | 500   | 延迟上报时差(ms)，0 不延迟     |\n| ReportSizeLimit           | number  | 否   | 25    | 每次上报大小上限(KB)，0 不限制 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明                                                                      |\n| ----------- | ------ | ---- | ------------------------------------------------------------------------- |\n| ext_id      | string | 否   | 小程序 ID，默认获取 <!-- 需`hyExt.env.getExtInfo`接口权限 -->             |\n| uid         | string | 否   | 用户 ID，授权后获取 <!-- 需`hyExt.advance.getCurrentUserInfo`接口权限 --> |\n| pid         | string | 否   | 主播 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\n| game_id     | string | 否   | 品类 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\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 extReporter = new HYExtReporter({\n  Debug: true\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  total_pay: 0,\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":"小程序上报日志统一小程序版本","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-ext_1.1.8-beta.2_1639626881041_0.2763811409521695","host":"s3://npm-registry-packages"}},"1.1.8":{"name":"@hyext/hyext-reporter-ext","version":"1.1.8","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.1.8","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":"5b0c1641bf2e1145c8f912def91ce5fbd59c9d65","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.1.8.tgz","fileCount":9,"integrity":"sha512-mZk0IGtFIRXPMbCpCqNTakPkjk93dnIt1KSzVImv1S0IMvtD7uDxceY4HIOy2Qm+ygzXxxMeQ50/fbntOrlh4Q==","signatures":[{"sig":"MEYCIQDH6DQKbg4fKrbkLX2ZxyMKA2oAyBPSc10tlmGep5JNgQIhALnFc6LdyNlV2DCi11CRmPFk5W/UCrSZ1TFnlM2oBd/6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhut6cCRA9TVsSAnZWagAAO+UQAJ/FzQtVjYWHsn/OgTvD\nulAFYClRo6/7XthgWAiPBtEmwmeEAjQMuie3t0pcVymxXEbUgBelPlVKQXKI\n+KcdWbUnXdNcaiRWKiRo/5oVNDwi/irr2JlCRJWeynjmxinNTMWTbN8iDAI9\ncdyD02DvLU+6V2wvhebeWd+iz+4fHz83kmmBcxKCrpwEymFZ2acDSpE1PvpA\nK6hFR55+ReJPsCTRCs9YkayHIKgJZWdDEYqhWL+woZKhTHJ8xUTJgvXgblv2\nN2i8TzSuw1obr4UpVb/2FsztIl0KBSJviDQLlkCrOxMK0biXDb3FAdvni3wq\npvD5bz55LhvSYc4/XuvtGSTFNXFLj1eN2LXvUQyFZm2juazbkLdrYOzVw4Lr\ngEhFvObNnEs47EWrnRd8A71nKdJR999DIv0t08KQxFj0pwF5zeKaZk1kWVTA\nkhTfx0WF5bHPiMrh2wqzlIw1tICICu0nfwgrzcIf2EzWW97W+wlmiIF3i7sZ\nLP3xBVd4hZKeDhivsGIyeFLJah+8fPBaE2arxJSYhOB3Q3v7JEw4cb7jE4lX\nlDWc4WoJ1LXKIoHsu0YChp2DpwTRubyXpI5NELG91Qd0iXiaBI5A4bJ9TL9h\n1IOg/lA3RCLt65l7Ai/G5ACe5j1hJ0lSG3CpWMHMKsc5k1/1J0wrTa0QJfz9\nY330\r\n=L6A4\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":"小程序上报日志统一小程序版本","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-ext_1.1.8_1639636636798_0.9718989817573891","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@hyext/hyext-reporter-ext","version":"1.2.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"4470c90ace07903319f9305a81738fce757c4e67","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.2.0.tgz","fileCount":9,"integrity":"sha512-AurwHltrMW+GjGa078Z/jrub7/2o7VvcxuJQ2+Z8BxEbK9VczdN8q9jkFRNxtCiDkeIX+OgaBpdPToJzLnkkaw==","signatures":[{"sig":"MEUCIQCKZu5z0HMaBN8SkDQqLsmbInkB3GIFzaSZgDuuCyKYEAIgZ/C539H+yQSOLYtenlFEpwjnXc8/0q68/WlnDX3jTyg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53438,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuuI9CRA9TVsSAnZWagAAmJoP/RzHeMk9+ozjgtzlWOi7\n005hpQ/fKLwvcf0/OPxcqjFpgARWHBiKQSYakqEpcR4muQ4aXw3MnNPUECpb\nnbPIIYXSp1voFTqU67zdSJD1T55qLtdJaxHQ5AnmBCN1r+CTdSaq38Vz+Vbf\nM1Xm/stynZGx+wbBx8YDKFrZ3mWlWMmpVCVN8D3B4DJSbI0gBxpY7NrK1SYm\nX5liNvIXkfTalZB/ueHUiboDvv9LwXQyqsgokw5bks2KuHWffBCkwyGGoh20\n8bg5JyRyxCkOXDy8Gj9vu+hgYZQd7KHjHKOjaTZhNp0GMgKXlwgjrznnHs5C\nS4CMu5mLDwv7AtiLEOWYoIOViSYhTf0pUdEm+jfLC3iJrJkk6w124B9+lNFN\nIFrPC2/bEA5CNvMUQIpgAZ5nuuK17TiUusRNbhU7Kk9kXwmV88++OBrA6SwB\nTOzD729P+gi/kD9ROVFM1ro6jWdJwU8D84CVafadRr9mZjZd8DXQILabnGhF\nBpjJ1GvbA/TJsQzQkD/pVBs1dbEg9upnJ0vPd6NTXSJa2k7PJO6nMWsiQQ5P\nv652MjiEQuDmBrRgjGBeVR28YxfypciKtTwQ9sPMcq8G521DqI0TBtZJxQIC\npQibn+FA6bWzU4D4NA5SmjHiTA+VW3cjHOIfMcvA5rZgjUF8MCaysLOt2MzR\na4dn\r\n=aQZ9\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":"小程序上报日志统一小程序版本","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-ext_1.2.0_1639637565346_0.37648953365773985","host":"s3://npm-registry-packages"}},"1.2.1-beta.0":{"name":"@hyext/hyext-reporter-ext","version":"1.2.1-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"3c37887cecec27bd426a51906acab304618796ef","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.2.1-beta.0.tgz","fileCount":9,"integrity":"sha512-mMDx/z2gddx4Zsj1CTPOb2cygvAKXRtqFhK32CWl+ejngqxWEvau4Of+XccBWb6e/+nNJVLqHec2SemFog3fMw==","signatures":[{"sig":"MEYCIQCGLFB7DiKYQ3GJhKnP/sq5UrmGX++QijGD7JXydrgS/AIhAJJNep16HtGA058ONvKaY+jjRzJNCtU+lrXBXv1n7xtE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53452,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvJRYCRA9TVsSAnZWagAA9wcP/jnb/C87YLcoLVAv+RFQ\nbjcmEAoQKv2hrEOC4SfEwfzqmi7cr+f/PHqu/AQDHM7ToaTrgkaf/bvyUh1n\nzPswzgi+Xqmphd3rd2u5GDZ5KTcD3V5CBkq3bz3oWFPbYtrwbiPZ3tYTQuvF\nVRK8waegcXSc8rJqs/NCAJqL52DRcSXC3EQ75tcAEcnMoDCmFdFv3K2C108M\n61O+c46cjkVUwqq4waamlp40M4qGwgdlU1JK7AnFg2TxTHZyfX549cpkKKSa\nIM/OeAZYdWwINBjz2Ab7Y7aQa4Jga1IMDLLZI0/HkDCw27gg0anohZ58QDQ6\nTAUDI2utzrrqIeH5RRCDnH+ivuZgLVn/hMi1y2MOxZHavM3QgyqQgs405waR\no3tb/eFaSqWEfdmjc5nb2Z8U8Ltj7tSol11c+NP+0Bu5eQxF52ZLWhHg/j/9\nUNcoqSkpgdQpCjK5V/q5+Qv30v8ttK/DqSgIdkvDg2QSwwFVO3DYOow+0jnR\n5ppUnYOYkuDh+28pADl1eN+riUyDV2MEJltFGkMdZlxqsZOk2l9bdbgN+67y\nZQBtEA9GIgHXLwDRMUa1f0UCMBLLqcqg0m7YXkxxd3NGdApfPiqxiaTlXfkV\nijOe1cI36vqRA896ko2AoNay6zy4YxKVg3Na1tFSJC194z7Es4TK8e45cSok\nSzVe\r\n=eM7o\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-ext\n- 负责统一小程序日志数据及上报\n- 可自动获取部分基础数据，需申请【自定义统计上报 】权限\n  <!-- - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo -->\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 30 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明                           |\n| ------------------------- | ------- | ---- | ----- | ------------------------------ |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息                   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报                   |\n| Debug                     | boolean | 否   | false | 是否开启 debug                 |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报              |\n| ReportDelay               | number  | 否   | 500   | 延迟上报时差(ms)，0 不延迟     |\n| ReportSizeLimit           | number  | 否   | 25    | 每次上报大小上限(KB)，0 不限制 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明                                                                      |\n| ----------- | ------ | ---- | ------------------------------------------------------------------------- |\n| ext_id      | string | 否   | 小程序 ID，默认获取 <!-- 需`hyExt.env.getExtInfo`接口权限 -->             |\n| uid         | string | 否   | 用户 ID，授权后获取 <!-- 需`hyExt.advance.getCurrentUserInfo`接口权限 --> |\n| pid         | string | 否   | 主播 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\n| game_id     | string | 否   | 品类 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\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 extReporter = new HYExtReporter({\n  Debug: true\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  total_pay: 0,\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":"小程序上报日志统一小程序版本","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-ext_1.2.1-beta.0_1639748696218_0.2751760363134548","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"@hyext/hyext-reporter-ext","version":"1.2.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"0c09db58bda6e1a2c101ef7d381ed2bf0f76f026","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.2.1.tgz","fileCount":9,"integrity":"sha512-7eZp5+pHidpLNEArTtzVER5HUVXPSP0gVoKxiGsVijwNHQfJvcUZ0BKA+mYfZ7iIruMNytyivhlpidCra+E/VA==","signatures":[{"sig":"MEUCIEJxdB08hI3ap1JchN4LmW++kC71eml4vwnWjCfoowsOAiEAlrXlOD9f44coxpegCGqAC9/7OGNs1djANgElf9uIWNk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53438,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwFq0CRA9TVsSAnZWagAA4wsP/1HVA7MnO3bcNeC0dT80\nQXUG8Fbr7JJR8k6wdcJmABlZ7P0O+FtCWGDhNaNuhgxm8XYtMhuQ2F97Cr7U\nOAbNERDPgGjew2MrTPSNhCP+gWRR7CyNIG66/QWJpPx5Z9jr1dfKBId7SKfi\nk6VZNcTxOzHxsrjdoWIHr58NSNnOIb2BNUiSygClPNFfqHHYl/R+EepRxqfP\nqUZeWOU0tWNdCMHGxLCeMh9sfm4uRrOTLSZFAC9/QkGplhSDUmABVS05pqAg\ncqtz8z0CPkD+qbpzR05Lx9CNVlrh4IzAUTQkGp9X/iFzuno16j3hVa2U1lP8\ngkGlzprT9xt3iegf0uAA2xKSZu9/1TEwCye3I7jvcnCy/APG45wVGYE6kBZS\n/TMA82A5BeJLCjDVsvjamGrqQdfrxWUAvwnudTk5o7lhEuf3Wf2EhhxOMQEq\nzllOb3CCi8Q853rAxXfGLnbCtETRKNjhD8QRGrDIQ4/HkVEYzmz55HCsXNXV\nB7MBkS+x8i7N/ssgcX7EfaHePTh1aDAExIUMvXCFdecAdtdY1qubqaKnb8qv\n+rM7MDx+ELZBhCS4oEqhOojhS33swH1qMsR4s7l94Q94cdRDrDDLaq/bUUhw\nJGQYraaDzkcYHTKZ8Y6q6eE8FauNBysIOQRU0v+BfyP7gfm4ucO+CO5c3bmO\nGZBH\r\n=2C+d\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":"小程序上报日志统一小程序版本","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-ext_1.2.1_1639996084094_0.41727867019189313","host":"s3://npm-registry-packages"}},"1.2.2-beta.0":{"name":"@hyext/hyext-reporter-ext","version":"1.2.2-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"09c2625d7642e09d2bc70b50d484e92863b0433b","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.2.2-beta.0.tgz","fileCount":9,"integrity":"sha512-y+u1EckUCduRYrwOK3PrPA7n5Z8t00sK3Eu2KDYJQl8ZVsm9vZVJu5cAQVgiM4a/SBviHNbFaWETHhs2DdyB3g==","signatures":[{"sig":"MEQCIAJi09pVWWBIc+bbs5xBGkUsxYsZobGQwi0kzzCVbgMOAiAehsUVkGGS1LSaaV161PUUrJrJhDFPn8B06Hn07Vl2dA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53452,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3qdACRA9TVsSAnZWagAAhSkP/RHwnqYZ0IReSY8eU2vR\nSr5hp6yTLKuU1MvUBEMwuiY6jw37lTWHzJelZzG/TYBSKdV9ON8hO21jPY+Z\nYZE5v/BUTr0raKeMDbyT4uuV5g1YiHf34XLEQT7OYwCw5OG2C+ariEdlgTl6\nh3qYVmO6PUwAnNojRn//fWaFV/UXt+iz8q9KP+cBygdWlh4S/sRpM9NuRx1R\nic/swK5Zc90LknvK+qq6ZkLL4QeoNTHyqnDA5eYOxj364Lvc0H2KnkoROn07\nesEIsnIjXUJ0DMyPn5ebA0dwbmYwcQcD2RR+XdeGjpZfH8EjDODrMZ74mvJ3\nlUEojoDivkOMQAl/CN6PwuVNo7n/rhPHlFBpTOErWUKab+Vlw0ICXbmy30yN\nLoH0CIUdIujocXJaBch4CW+BzFFRq2Bamz9e1bu7GGTuwADAhpFcsP6scslV\nXRba2mNTsVpI9rADm6ZA8TLS5yWFCP3zqiu0V7YdO0EMZ3s0MYNgGnmbdnot\nDaINzEyc9yMVxxIpAJH4gTeeNiV7dbdQceHA3fr3p5e8Fik3fDNIombMNPut\n1t5pBRINHCZvF6t66iUHN6zpfOrMI2lmkde7fUsJOeZ5TnOOdAv2DHB3cmSB\nwWsG9gHa6Usy/8h9WCm1Kd2u9/n00Si4vmE9RCNskCX2Xh6EdToZtMkP1TIf\npO1p\r\n=epQ0\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-ext\n- 负责统一小程序日志数据及上报\n- 可自动获取部分基础数据，需申请【自定义统计上报 】权限\n  <!-- - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo -->\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 30 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明                           |\n| ------------------------- | ------- | ---- | ----- | ------------------------------ |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息                   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报                   |\n| Debug                     | boolean | 否   | false | 是否开启 debug                 |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报              |\n| ReportDelay               | number  | 否   | 500   | 延迟上报时差(ms)，0 不延迟     |\n| ReportSizeLimit           | number  | 否   | 25    | 每次上报大小上限(KB)，0 不限制 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明                                                                      |\n| ----------- | ------ | ---- | ------------------------------------------------------------------------- |\n| ext_id      | string | 否   | 小程序 ID，默认获取 <!-- 需`hyExt.env.getExtInfo`接口权限 -->             |\n| uid         | string | 否   | 用户 ID，授权后获取 <!-- 需`hyExt.advance.getCurrentUserInfo`接口权限 --> |\n| pid         | string | 否   | 主播 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\n| game_id     | string | 否   | 品类 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\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 extReporter = new HYExtReporter({\n  Debug: true\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  total_pay: 0,\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":"小程序上报日志统一小程序版本","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-ext_1.2.2-beta.0_1641981760393_0.04441869621340078","host":"s3://npm-registry-packages"}},"1.2.2-beta.1":{"name":"@hyext/hyext-reporter-ext","version":"1.2.2-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"8aca5ba8bb1475299da4b25307d512262a2f76ab","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.2.2-beta.1.tgz","fileCount":9,"integrity":"sha512-3UbVF/wI/bpDhz+/S5G2+R3B87XmGWUzyh2fSzENM/tV7chrBnM/vozXUoZqHI8OxGgLylqqvaLITI/GYd/SHg==","signatures":[{"sig":"MEUCIQD5lDzQA/EuYQfj4Q9XPoNnz/Qxk9Xi6Q3SPT+YOlnsvAIgSoVngVrublPjl9L0HWkDoaO0GjqLZaNzd6nzxl9dLYk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":54247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi60daACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYSQ//QX1I97vg49cCDR/Y+rH+KZPmtKj3Ydp9STYCRKa6ftRVM4Lx\r\nla37StmXuE1hR2wtSI/CtebuWd0z1QNAUTg1Pb1zJa1rrYOuO5YglKRMC5jr\r\nkclbxzUGw5tNL2jpABDNwRFpNfpz/EuL8f2OOB4mD5PzhxmoYZ2Ft08fRfsh\r\nMxhK+l/2rudYu9hxbLML9epsnAF8CDJ0VtEgqk+7HNdTvFbH1kB0W3LeAg+k\r\n+c0VSfx8BBqX6NfnRJx9pdeaGiu5WBOX9X8F9mi6N/sfpJw8mLhmQmQjwEw5\r\nOq9mDH4ZEmwkNR/wksHqQ9E5IMQUxdu647uaAQyATgUVBclJXC6ZXtlLuuIf\r\naV/zmES+XfPI1R2gT/wFNO1reZEkpXnBpAuSh9S5e5wvHXOpSxwRoJ0EHlTw\r\n/SezP2ExWDLsFS+04Wy85Hg05leysvYJhGh8JdJIKDZtZXIxh6FbEWas8Twl\r\nzDaUIYrcDR9RIA7BbgdAwwMjvxyykjH6EhLUNi3cNHipZ7XXbk60n1D2/TDl\r\nggv5qyY4dniQwmnZkjRlL3Sxb4v4j9wAFi5VwBly/UyqBkOTZSN42Z7uQKH5\r\nW60bS0JF2oMl+ILEverhFFPeYOiZ2IcZLf8B2QqYAclYQRKLJT6eNaTf3hoC\r\nxsf3vr56hVBJ8ejMde67rifCBpVuwUpAFSU=\r\n=+5QL\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-ext\n- 负责统一小程序日志数据及上报\n- 可自动获取部分基础数据，需申请【自定义统计上报 】权限\n  <!-- - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo -->\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 30 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明                           |\n| ------------------------- | ------- | ---- | ----- | ------------------------------ |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息                   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报                   |\n| Debug                     | boolean | 否   | false | 是否开启 debug                 |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报              |\n| ReportDelay               | number  | 否   | 500   | 延迟上报时差(ms)，0 不延迟     |\n| ReportSizeLimit           | number  | 否   | 25    | 每次上报大小上限(KB)，0 不限制 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明                                                                      |\n| ----------- | ------ | ---- | ------------------------------------------------------------------------- |\n| ext_id      | string | 否   | 小程序 ID，默认获取 <!-- 需`hyExt.env.getExtInfo`接口权限 -->             |\n| uid         | string | 否   | 用户 ID，授权后获取 <!-- 需`hyExt.advance.getCurrentUserInfo`接口权限 --> |\n| pid         | string | 否   | 主播 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\n| game_id     | string | 否   | 品类 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\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 extReporter = new HYExtReporter({\n  Debug: true\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  total_pay: 0,\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":"b9f228c41370d795eff4ede57d62d2a0af1b3cc3","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.22.12+x64 (darwin)","description":"小程序上报日志统一小程序版本","directories":{},"sideEffects":false,"_nodeVersion":"12.22.12","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-ext_1.2.2-beta.1_1659586394246_0.9155392726762817","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"@hyext/hyext-reporter-ext","version":"1.2.2","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.2.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":"574cafd7417d56429c0a693098a5069b35c4a837","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.2.2.tgz","fileCount":9,"integrity":"sha512-GLOVEabhwNZ0Kxdj+u55C8Fp4snlkazrkZFV+CiVqGyjGn6g3ThsQMYB2SnHrQ+eKm+oPYAhZJ/0vRfqKfrHBw==","signatures":[{"sig":"MEUCIQCSZuTTOOc4uGVTvyNek3ubbhBtUbL/UzJAyPOV6RuwnQIgfB2kPlrKGe21+rrhSNrmxxcqiIKQfQ+WKOvpQu1ohks=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":54240,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi64L5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpkjQ/8Df4tAkZm4Gh+VupnPRQ8qCGcjDfYLgqsZcIiwGve4iZdJNaP\r\nq7fRWA7HDAok8fCfJz5qoTKNHAuGhNXFN7g8JsnO3WHW7CyprAR0KgYV8mq+\r\nh1RiiO2pky6Z2m6jvNfzXUePsoB+GyVULo96gaJv3Pxf6YRaWp8Y7XQxyH5j\r\n8DFgQkUxMHHzUFggaTqOVA4+YJH+GYpgO/6BfbzvJmHnTZ+HJe47+lhL7OuW\r\nUQHUiN22JHEph28tvzpuOHjhLe0pq2w9AvKebj+7uKMUzkfJDPM7Gl9AMd/p\r\n98tvu8FOyTddZi70QkiCJWdkjof6AJh6z+f+rTQSqgpNPddPV8R1Hm2fnJwk\r\nU1g/g9IpbUDA0lS5bIkWd68DkSjO+9RDYlfva5Js/q0NA+CNzknqZ8MCPkD0\r\npUK2bOyMicX8GUuXHayoCyBVwq33jQetBPqLGAPdMcDRHbH8zSsI404jrb09\r\nv6kh5QMxUtsoHI4m8rCYJdrwm8cI8WhxcuHzbEBkfAAAXA/JV+LU3kXZ4TRc\r\n9QM/R6Lv1E6lpiIJvD1YuaRzLqArQH8D/GdQd7EVxwVWgNvj+CPp4HD26EsD\r\nxTWvSqeZkr87oTlksCfUCqpBcyqKt3mkrmnkp9n0nr0Sxp0WnLGIA2FhprQF\r\nIJ+4vIVNmC+lScjK0wqyGvZTlsISG8FOiF8=\r\n=yAso\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.cjs.js","type":"module","types":"./build/index.d.ts","module":"./build/index.js","gitHead":"5fd558a96c3db930975259088d9de28392611fc9","_npmUser":{"name":"limingyi_100","email":"limingyi_100@126.com"},"repository":{"type":"gitlab"},"_npmVersion":"lerna/3.22.1/node@v12.22.12+x64 (darwin)","description":"小程序上报日志统一小程序版本","directories":{},"sideEffects":false,"_nodeVersion":"12.22.12","dependencies":{"@hyext/hyext-reporter":"^1.2.2-beta.0"},"publishConfig":{"@hyext:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hyext-reporter-ext_1.2.2_1659601657230_0.6246186083234215","host":"s3://npm-registry-packages"}},"1.2.3-beta.0":{"name":"@hyext/hyext-reporter-ext","version":"1.2.3-beta.0","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.2.3-beta.0","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":"e554b8bdf8c4ad4a408bf905bb9e74a98a4a705d","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.2.3-beta.0.tgz","fileCount":9,"integrity":"sha512-W/ja7BjSxaPEIk2F+04mT3YXot9pYc8OSzTlNLMyR3rVaFmS1y5yQwbEJupGoalgP6qHObUTVVG52zQZ93Zq3A==","signatures":[{"sig":"MEYCIQDzJA75PWWNUA3CBTW1MFtnpoX/d5pRz+/mJ1K03A7bdQIhAMRlz/odNgqvDI9ZvhKyzI6EqySL00O/+gpv32ELGeij","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCIk1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrlgg/9EbbZModw7qRnhAhST1YMfhdplz7rGf8EygHdbRALV6PwZp71\r\nnNEq5OXJmHDf3R+4m9wwuaZfT8c8DFiumQbjEhUIWl8c/3Tst+2ue0krPgcm\r\nAWl2bafgfZF3iDMRnJJ+qFVEtO6BGfPkNEvLs9eURfLtbHsaYOOrVBDyP2GD\r\nRXg625k97FtwJyqoDPXsllt3pYwZLytnirhKe1djFB2TMld0TuXPsUl3xdwn\r\nuYJlR7FH6UMJS90OzDpbrPz11EY74HvqpCefUHB6Ol9PjifST5wdX1ZyTn1D\r\nGhavKZ8k5HYiy8aRuGmz6lV5Pb8dBfxMOL0gzrHBu8yoDRpBXirGn+AHaa2T\r\nkISfllgFQZLK7lNiqgL23CzkOrGDtGXFsC7dQ3P8NsppiGVy6OhLDHDmLV8X\r\nVorAv1TM6I8MuYN+4OLUizl/EoU9onfO+H9rP0DfP9eYjwAcIWQsnGyoVjBm\r\nHt3/GFdqmyy/5T0aIdABHLjl5RQGYssPc9k/9sw72+i9MsyMcOBXJ4X/8pgd\r\n/wt15Qc7rkqJFaspCaYbx3z45pseU6CMgjWpqR4JW6+TMpBernMYT1q3DVr3\r\n7ggSfoBDHMUm+j9eZoxEZInKkyQ1WXj1SUdGveKHrVnF3rV4uv9/6VM05sqB\r\nTDhheA51qb9/X93Qeqbas7aC2qNsi5OWjd8=\r\n=WH+q\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-ext\n- 负责统一小程序日志数据及上报\n- 可自动获取部分基础数据，需申请【自定义统计上报 】权限\n  <!-- - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo -->\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 30 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明                           |\n| ------------------------- | ------- | ---- | ----- | ------------------------------ |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息                   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报                   |\n| Debug                     | boolean | 否   | false | 是否开启 debug                 |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报              |\n| ReportDelay               | number  | 否   | 500   | 延迟上报时差(ms)，0 不延迟     |\n| ReportSizeLimit           | number  | 否   | 25    | 每次上报大小上限(KB)，0 不限制 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明                                                                      |\n| ----------- | ------ | ---- | ------------------------------------------------------------------------- |\n| ext_id      | string | 否   | 小程序 ID，默认获取 <!-- 需`hyExt.env.getExtInfo`接口权限 -->             |\n| uid         | string | 否   | 用户 ID，授权后获取 <!-- 需`hyExt.advance.getCurrentUserInfo`接口权限 --> |\n| pid         | string | 否   | 主播 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\n| game_id     | string | 否   | 品类 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\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 extReporter = new HYExtReporter({\n  Debug: true\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  total_pay: 0,\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":"小程序上报日志统一小程序版本","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-ext_1.2.3-beta.0_1678281013634_0.558516348628268","host":"s3://npm-registry-packages"}},"1.2.3-beta.1":{"name":"@hyext/hyext-reporter-ext","version":"1.2.3-beta.1","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@1.2.3-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":"ba58c46571c92023703acbceba02ccb775bbdc5d","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.2.3-beta.1.tgz","fileCount":9,"integrity":"sha512-1CrxuKK7Id7bv+d0Z80L1cvDJjZi/2SpPHICWGKPGNvoQ/oti5lFD/ikSQIwbQwnNGP7+Kixkqp2eIGMOIHIvg==","signatures":[{"sig":"MEYCIQDD8fehVnX9oQ0H6WQQYAldsg5zxEc9ss4FAYDaoNmUfQIhAKpa6nYZ+9s38vLyipdRNyqNs9H7O48xGvf4vTZE7Dka","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52337},"main":"./build/index.cjs.js","types":"./build/index.d.ts","module":"./build/index.js","readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ext\n- 负责统一小程序日志数据及上报\n- 可自动获取部分基础数据，需申请【自定义统计上报 】权限\n  <!-- - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo -->\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 30 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明                           |\n| ------------------------- | ------- | ---- | ----- | ------------------------------ |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息                   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报                   |\n| Debug                     | boolean | 否   | false | 是否开启 debug                 |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报              |\n| ReportDelay               | number  | 否   | 500   | 延迟上报时差(ms)，0 不延迟     |\n| ReportSizeLimit           | number  | 否   | 25    | 每次上报大小上限(KB)，0 不限制 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明                                                                      |\n| ----------- | ------ | ---- | ------------------------------------------------------------------------- |\n| ext_id      | string | 否   | 小程序 ID，默认获取 <!-- 需`hyExt.env.getExtInfo`接口权限 -->             |\n| uid         | string | 否   | 用户 ID，授权后获取 <!-- 需`hyExt.advance.getCurrentUserInfo`接口权限 --> |\n| pid         | string | 否   | 主播 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\n| game_id     | string | 否   | 品类 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\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 extReporter = new HYExtReporter({\n  Debug: true\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  total_pay: 0,\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":"小程序上报日志统一小程序版本","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-ext_1.2.3-beta.1_1700205477779_0.9448852426170973","host":"s3://npm-registry-packages"}},"1.2.3":{"name":"@hyext/hyext-reporter-ext","version":"1.2.3","author":{"name":"limingyi"},"license":"ISC","_id":"@hyext/hyext-reporter-ext@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":"69338a518cf29a103ca93aaedf4f56f80054c00b","tarball":"https://registry.npmjs.org/@hyext/hyext-reporter-ext/-/hyext-reporter-ext-1.2.3.tgz","fileCount":9,"integrity":"sha512-YEYKcP+2x+7MWORszkkIP395ukYPAC8yHdHgQw3UG0AHhrrRbxK6Vy3ifE8ETFzFWKKtOCXphJtfymCZEo4GqA==","signatures":[{"sig":"MEQCIHhIu3WwzGxoKmPYoYegOBMCz+dHk7cfjg0CsAQho8PiAiBiH12gmmTx87dWSEJkVsHdVsrts0LH/QbTJRLSyrzE5g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52323},"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":"小程序上报日志统一小程序版本","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-ext_1.2.3_1700205757286_0.24825540540008983","host":"s3://npm-registry-packages"}}},"time":{"created":"2021-07-19T13:55:39.655Z","modified":"2025-04-25T02:57:20.999Z","0.1.1-beta.1":"2021-07-19T13:55:40.104Z","0.1.3-beta.0":"2021-07-19T14:01:55.644Z","0.1.6-beta.0":"2021-07-19T14:08:11.389Z","1.0.0":"2021-07-19T14:13:05.928Z","1.0.1":"2021-07-19T14:15:37.817Z","1.0.2-beta.0":"2021-07-20T15:16:41.348Z","1.0.2-beta.1":"2021-07-22T09:07:48.221Z","1.0.2":"2021-07-22T10:16:52.997Z","1.0.3-beta.0":"2021-07-26T09:11:18.517Z","1.0.3-beta.1":"2021-07-26T09:34:12.202Z","1.0.3":"2021-07-26T09:57:02.677Z","1.0.4-beta.0":"2021-07-28T04:17:44.756Z","1.0.5":"2021-07-28T04:37:50.441Z","1.0.6":"2021-07-28T09:29:30.296Z","1.0.7-beta.0":"2021-07-28T14:16:00.148Z","1.0.7-beta.1":"2021-07-28T14:23:29.811Z","1.0.7-beta.2":"2021-07-28T14:58:45.166Z","1.0.7":"2021-07-28T15:23:00.008Z","1.0.8":"2021-07-28T15:29:11.535Z","1.0.9":"2021-07-29T04:15:31.172Z","1.0.10-beta.0":"2021-08-05T09:49:52.747Z","1.0.10-beta.1":"2021-08-05T09:55:09.728Z","1.0.10-beta.2":"2021-08-05T11:56:39.560Z","1.0.10-beta.3":"2021-08-05T13:02:04.486Z","1.0.10":"2021-08-05T13:34:47.487Z","1.0.11-beta.0":"2021-08-05T15:05:08.735Z","1.0.11-beta.1":"2021-08-05T15:25:21.287Z","1.0.11-beta.2":"2021-08-06T06:27:42.130Z","1.0.11-beta.3":"2021-08-06T07:38:03.989Z","1.0.11":"2021-08-06T08:08:48.260Z","1.0.12-beta.0":"2021-08-06T08:38:57.085Z","1.0.12-beta.1":"2021-08-06T09:13:41.307Z","1.0.12-beta.2":"2021-08-06T09:56:31.969Z","1.0.12":"2021-08-06T10:18:35.467Z","1.0.13-beta.0":"2021-08-06T10:55:03.898Z","1.0.13-beta.1":"2021-08-06T11:37:08.124Z","1.0.13-beta.2":"2021-08-06T12:29:44.600Z","1.0.13":"2021-08-06T12:54:48.954Z","1.1.0":"2021-08-06T13:00:28.974Z","1.1.1-beta.0":"2021-08-08T13:13:42.871Z","1.1.1-beta.1":"2021-08-09T03:34:07.076Z","1.1.1-beta.2":"2021-08-09T04:09:31.886Z","1.1.1-beta.3":"2021-08-09T06:35:42.815Z","1.1.1":"2021-08-09T07:43:47.811Z","1.1.2-beta.0":"2021-08-09T08:29:56.567Z","1.1.2-beta.1":"2021-08-09T09:39:01.507Z","1.1.2-beta.2":"2021-08-09T10:15:51.544Z","1.1.2":"2021-08-09T10:52:29.205Z","1.1.3-beta.0":"2021-08-12T10:46:11.598Z","1.1.3-beta.1":"2021-08-13T02:55:05.079Z","1.1.3":"2021-08-13T03:08:21.925Z","1.1.4":"2021-09-28T09:32:00.779Z","1.1.6":"2021-10-19T07:22:34.032Z","1.1.7-beta.0":"2021-11-25T09:37:49.228Z","1.1.7":"2021-11-26T09:57:40.166Z","1.1.8-beta.0":"2021-12-03T11:12:33.608Z","1.1.8-beta.1":"2021-12-03T11:15:37.083Z","1.1.8-beta.2":"2021-12-16T03:54:41.230Z","1.1.8":"2021-12-16T06:37:16.920Z","1.2.0":"2021-12-16T06:52:45.471Z","1.2.1-beta.0":"2021-12-17T13:44:56.346Z","1.2.1":"2021-12-20T10:28:04.252Z","1.2.2-beta.0":"2022-01-12T10:02:40.626Z","1.2.2-beta.1":"2022-08-04T04:13:14.964Z","1.2.2":"2022-08-04T08:27:37.505Z","1.2.3-beta.0":"2023-03-08T13:10:13.831Z","1.2.3-beta.1":"2023-11-17T07:17:57.936Z","1.2.3":"2023-11-17T07:22:37.475Z"},"author":{"name":"limingyi"},"license":"ISC","repository":{"type":"gitlab"},"description":"小程序上报日志统一小程序版本","maintainers":[{"email":"hy-ext@huya.com","name":"hy-ext"},{"email":"zhiying.mai@gmail.com","name":"maizhiying"}],"readme":"## 小程序统一日志上报\n\n- @hyext/hyext-reporter-ext\n- 负责统一小程序日志数据及上报\n- 可自动获取部分基础数据，需申请【自定义统计上报 】权限\n  <!-- - 上报日志：hyExt.advance.addActionEventWithExtraInfo\n  - 主播信息：hyExt.advance.currentChannelInfo\n  - 用户信息：hyExt.advance.getCurrentUserInfo\n  - 小程序信息：hyExt.env.getExtInfo -->\n- 支持主动上报日志，并规定了一些行为的关键词\n- 提供全局心跳，默认 30 秒心跳一次\n- 日志延迟 500ms 上报，前端上报接口有调用频率限制；\n- 单次上报最多 25KB（数据量大会导致数据丢失）\n- 过于频繁或大量的数据上报推荐使用后端上报，前端上报不保险\n\n### 安装\n\n```\nnpm i -save @hyext/hyext-reporter-ext\n```\n\n### 引入\n\n```\nimport { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'\n```\n\n### 示例\n\n```\nconst extReporter = new HYExtReporter({\n  Debug: true\n})\n\nextReporter.reportBusiMetric(LogEvents.GAME_CREATE);\nextReporter.reportBusiMetric(LogEvents.USER_ACTIVE);\nextReporter.startHeartBeat()\n\n```\n\n### 初始化 - new HYExtReporter([config](#config))\n\n#### config\n\n- 实例化配置信息\n\n| 参数                      | 类型    | 必填 | 默认  | 说明                           |\n| ------------------------- | ------- | ---- | ----- | ------------------------------ |\n| [CommonInfo](#CommonInfo) | Object  | 否   | --    | 日志公用信息                   |\n| OpenReport                | boolean | 否   | true  | 是否开启上报                   |\n| Debug                     | boolean | 否   | false | 是否开启 debug                 |\n| UseHighFreqPcReport       | boolean | 否   | false | PC 端开启高频上报              |\n| ReportDelay               | number  | 否   | 500   | 延迟上报时差(ms)，0 不延迟     |\n| ReportSizeLimit           | number  | 否   | 25    | 每次上报大小上限(KB)，0 不限制 |\n\n#### CommonInfo\n\n- 日志公共数据，每条日志的基础信息，可覆盖\n\n| 参数        | 类型   | 必填 | 说明                                                                      |\n| ----------- | ------ | ---- | ------------------------------------------------------------------------- |\n| ext_id      | string | 否   | 小程序 ID，默认获取 <!-- 需`hyExt.env.getExtInfo`接口权限 -->             |\n| uid         | string | 否   | 用户 ID，授权后获取 <!-- 需`hyExt.advance.getCurrentUserInfo`接口权限 --> |\n| pid         | string | 否   | 主播 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\n| game_id     | string | 否   | 品类 ID，授权后获取 <!-- 需`hyExt.advance.currentChannelInfo`接口权限-->  |\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 extReporter = new HYExtReporter({\n  Debug: true\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  total_pay: 0,\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"}