0.0.6 • Published 2 years ago
@120yibao/legend-data v0.0.6
Legend Data
本项目主要存放埋点对象的数据结构、属性键,以及埋点的数据常量、初始化参数等。
背景
埋点SDK的需要支持多平台(Web、小程序、App等),由于每一个平台的底层API不太相同,所以针对每个平台都需要有一些单独的代码去实现。
所以,每个平台都会对应一个SDK,一个npm module
。但是,埋点最后给服务端的数据其实是不尽相同的。
最终,我们决定将这些可复用的数据结构、类型定义都给抽离出来, 放在一个单独的npm module
中去维护。
所有的SDK都将依赖于本项目。
极简加密
初期考虑过对称加密和非对称加密,也做了一些DEMO。最终,从开发时间以及后续维护的便利性,以及当前的产品需求决定,使用最简单的加密:混淆。
在 src/properties.ts
中,每个属性的键名都对应一个混淆值。规则也简单,从a-z
,从0-n
。
服务端读取日志的时候,会根据这个Map
,映射到原始的属性名称。
其他
项目相关的文档可以在 语雀 中查看以及维护。
0.0.6
2 years ago