# snail-log

> 蜗牛统计打点组件

Latest version **1.10.1** (published 2019-09-02) · ISC license · 0 weekly downloads

## Install

```sh
npm install snail-log
pnpm add snail-log
yarn add snail-log
bun add snail-log
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.10.1 |
| Published | 2019-09-02 |
| First published | 2018-07-23 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 5 |
| Unpacked size | 25.6 KB |
| Known vulnerabilities | 0 (+24 in 1 direct dependencies) |
| Install scripts | no |
| Author | hzliushichuan@corp.netease.com |
| Maintainers | liushichuan |

## Links

- npm: https://www.npmjs.com/package/snail-log
- npm.io page: https://npm.io/package/snail-log

## Dependencies (5)

- [axios](https://npm.io/package/axios.md) ^0.18.0
- [core-js](https://npm.io/package/core-js.md) ^2.6.3
- [snail-env](https://npm.io/package/snail-env.md) ^1.4.0
- [lodash.clone](https://npm.io/package/lodash.clone.md) ^4.5.0
- [promise-polyfill](https://npm.io/package/promise-polyfill.md) ^8.1.0

## Recent versions

- 1.10.1 (latest) — 2019-09-02
- 1.10.0 — 2019-09-02
- 1.9.2 — 2019-08-23
- 1.9.1 — 2019-08-01
- 1.9.0 — 2019-08-01
- 1.8.0 — 2019-07-03
- 1.7.8 — 2019-05-07
- 1.7.7 — 2019-04-29
- 1.7.6 — 2019-04-29
- 1.7.5 — 2019-04-29
- 1.7.4 — 2019-04-29
- 1.7.3 — 2019-04-29
- 1.7.2 — 2019-04-29
- 1.7.1 — 2019-04-29
- 1.7.0 — 2019-04-29
- … 31 more at https://npm.io/package/snail-log/versions

## README

#蜗牛统计打点组件(哈勃)

##用法

###安装
```bash
npm i snail-log --save
```
或者
```bash
yarn add snail-log
```
###使用
#### 获取全局唯一实例
主要用于多组件之间共享如同一个Log示例，防止被多次实例化，节省资源

```javascript
import {getLogInstance} from 'snail-log'
const log = getLogInstance(); //通过该方法获取的Log的实例全局唯一
```

####常规用法
```javascript
import Log from 'snail-log'
//使用前需实例化
const log = new Log('h5/web/mp', true, 1234);
//数组类型的logParams
log.sendLog('a1-1', ['category', 'action', 'label']);
//or 对象类型的logParams
log.sendLog('a1-1', {
  category: 'a',
  label: 'b'
})
//or 不传logParams
log.sendLog('a1-1');
//登录状态的上报
log.login(11086);
```

###注意
- 不要在一个页面或一个SPA页面中**重复实例化多次Log类**，会加载和发送不必要的数据，可能会影响统计
- 在同步登录完成或者匿名转登陆后，**请务必调用login方法**，传入userId，从而提高数据分析和用户研究的精确度

###Change Log
- 1.2.2 新增小程序平台打点支持

###参数说明
- Log 构造方法,接收参数被实例化时自动注册哈勃sdk
  - platform  **String**  统计到哈勃的目标应用类型，目前有h5、web、mp，非必须，默认为h5，
  - enableABtest  **Boolean**  是否需要开启abtest，哈勃abtest相关文档见[ABtest](https://hubble.netease.com/help/_book/kai-fa-wen-dang/js-sdk-new.html#abtest)，非必须，默认为false
  - userId **Number** 当前登录用户的userId，非必须
- sendLog 打点方法，区分当前页面的环境，如果是线上环境，（即域名为*du.163.com*或*m.du.163.com*），统计信息将被上报到哈勃平台，否则将上报到统计验证平台
  - pointId **String** 必须 统计点的唯一ID
  - logParams **Array|Object|undefined** 非必须 统计点的附加信息，若为数组项则依次代表 *category*、*action*、*label*,若为对象则完全对应于统计点定义的各字段,若无附加数据可不传
- login 登陆方法，如果实例化Log组件的时候用户还未登陆或者还未获取到用户的具体信息，此方法用于在能够获取到用户信息的时刻调用通知哈勃sdk标识当前用户
  - userId **String/Number** 当前页面登陆用户的userId 必须

---
_Source: https://npm.io/package/snail-log · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
