{"_id":"@120yibao/legend-data","name":"@120yibao/legend-data","dist-tags":{"latest":"0.0.6"},"versions":{"0.0.6":{"name":"@120yibao/legend-data","version":"0.0.6","description":"legend core data module","main":"src/index.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"yibao"},"license":"MIT","husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.ts":["eslint --fix"]},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.31.2","@typescript-eslint/parser":"^4.31.2","eslint":"^7.32.0","eslint-config-standard":"^16.0.3","eslint-config-standard-with-typescript":"^21.0.1","eslint-plugin-import":"^2.24.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^5.1.0","husky":"^4.2.5","lint-staged":"^10.5.4","typescript":"^4.4.3"},"publishConfig":{"access":"public"},"gitHead":"1cb762c520aa927f607521385c56603a2b3101aa","_id":"@120yibao/legend-data@0.0.6","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-rliAtipPcSFHHXUKCU/XLXr/4hQsBNNJaqwftZe7n/bioeeHoSIFnxdtFBiIhxurp/PLrkI/jjuVNj5j2Tr+Qw==","shasum":"67323e0ae6e8276cab469144ce5e72aba24d0c3b","tarball":"https://registry.npmjs.org/@120yibao/legend-data/-/legend-data-0.0.6.tgz","fileCount":9,"unpackedSize":9671,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGuz+yt6YUiMHUD8/7wPhyvxQ2ymtFrBbfUej0qwf4MwAiEAqzHKsVCcK9OQYiSK33Upbwl8zPfx6hss9T6z+yC1Cf0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJidl2zACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoKPg//ZHlJyPnfOSvh+uMyWQxzDI2/1fUTMHUFoGni1L5bJD2M0Zc6\r\nkNct22taMOoLMtKLKz9STVcEsA42JMZZI966cF9cJoHzrRfzU+y2XHKlD2e3\r\nbK2ZgzGPm2x6FXUEwNbVRDkjFO5VTZNq8i/J8YCdKaX4kNCu3kt79yOaocXc\r\n3yGnW3CHx6CFmT0RPFUCIKCq8EBPY5EBOxJRwOCtvjCVaPuHqvfnai87JC2i\r\nNlpicsJehKIjhXR9Gr2vp+uuV7hZhOZWge8ijm7bF1jyS9o4thshOuXYDuCs\r\nGjJwakbN7zfBjfeUynP19Yq3z8essjzY6UYQs6vsjGFJIEPdueH9QMRoIovr\r\n37eTbBnshWQxE+kFn9ZsdisJ+ipskNPIt7CXy5lYOJvB9y/zdpqGy63NAMTf\r\nH7IB9S7IwvrPhgXr4ieScDh0imuuy3H5pVVZsEIH54MkdGkzeF3vX8XYzlum\r\nK6g2r/ysd6IVnK3ToT/iEzMmOHisFAGZQeEBJPBFo1gFs+w6Lz98BahIxKBc\r\nQ68xEZBSJI7xNq7IfmvV4m1xNfAodKKkClvxh/TGc6f14AJ4a+NtDBwCcQi2\r\n2E2P1ziz/YEvm8n1AhW8y3vCYFSD9IZ8GPBdPUwx7KQV8wZdV/aVizVqHwJ7\r\n+T8ebuyBnsCWTDiR+InWFEsx5zpGU8K0YHY=\r\n=0zAY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"120yibao","email":"openid@120yibao.com"},"directories":{},"maintainers":[{"name":"120yibao","email":"openid@120yibao.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/legend-data_0.0.6_1651924403415_0.5122995367880239"},"_hasShrinkwrap":false}},"time":{"created":"2022-05-07T11:53:23.364Z","0.0.6":"2022-05-07T11:53:23.587Z","modified":"2022-05-07T11:53:23.711Z"},"maintainers":[{"name":"120yibao","email":"openid@120yibao.com"}],"description":"legend core data module","author":{"name":"yibao"},"license":"MIT","readme":"## Legend Data\n\n本项目主要存放埋点对象的数据结构、属性键，以及埋点的数据常量、初始化参数等。\n\n### 背景\n\n  埋点SDK的需要支持多平台（Web、小程序、App等），由于每一个平台的底层API不太相同，所以针对每个平台都需要有一些单独的代码去实现。\n\n  所以，每个平台都会对应一个SDK，一个`npm module`。但是，埋点最后给服务端的数据其实是不尽相同的。\n    最终，我们决定将这些可复用的数据结构、类型定义都给抽离出来， 放在一个单独的`npm module`中去维护。\n\n  所有的SDK都将依赖于本项目。\n\n\n### 极简加密\n\n初期考虑过对称加密和非对称加密，也做了一些DEMO。最终，从开发时间以及后续维护的便利性，以及当前的产品需求决定，使用最简单的加密：混淆。\n\n在 `src/properties.ts` 中，每个属性的键名都对应一个混淆值。规则也简单，从`a-z`，从`0-n`。\n\n服务端读取日志的时候，会根据这个`Map`，映射到原始的属性名称。\n\n\n### 其他\n\n项目相关的文档可以在 [语雀](https://yibao-tech.yuque.com/health-fe/legend) 中查看以及维护。\n","readmeFilename":"README.md"}