Skip to content

Commit 30b5cea

Browse files
author
hry
committed
[refactor] 使用ts重构项目,优化整体逻辑
1 parent 8f51496 commit 30b5cea

File tree

149 files changed

+3941
-5253
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

149 files changed

+3941
-5253
lines changed

.babelrc

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
{
2-
"presets": [
3-
[
4-
"es2015",
5-
{
6-
"modules": false
7-
}
8-
]
9-
],
10-
"plugins": [
11-
"external-helpers"
12-
]
2+
"presets": [
3+
[
4+
"es2015",
5+
{
6+
"modules": false
7+
}
8+
]
9+
],
10+
"plugins": [
11+
"external-helpers"
12+
]
1313
}

.env

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
ANS=WX
2+
LIB=WeChat
3+
LibVERSION=5.0.0

.eslintcache

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

.eslintrc.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
const { defineConfig } = require('eslint-define-config');
2+
3+
module.exports = defineConfig({
4+
root: true,
5+
env: {
6+
browser: true,
7+
node: true,
8+
es6: true
9+
},
10+
globals: {
11+
wx: true,
12+
Page: true,
13+
App: true,
14+
Component: true,
15+
getCurrentPages: true
16+
},
17+
extends: [
18+
"eslint:recommended",
19+
"plugin:@typescript-eslint/eslint-recommended",
20+
"plugin:@typescript-eslint/recommended"
21+
],
22+
parserOptions: {
23+
ecmaVersion: 'latest',
24+
sourceType: 'module',
25+
},
26+
rules: {
27+
"@typescript-eslint/no-this-alias": ["error", {
28+
allowedNames: ['_this', 'self']
29+
}],
30+
"@typescript-eslint/no-explicit-any": ["off"]
31+
},
32+
});

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
node_modules/
2-
package-lock.json
2+
package-lock.json
3+
.DS_Store
4+
yarn.lock

README.md

Lines changed: 34 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,54 @@
1-
# [易观方舟](https://www.analysys.cn/) ans-wechat-sdk [![NPM version][npm-image]][npm-url] [![License](https://img.shields.io/github/license/analysys/ans-wechat-sdk.svg)](https://github.com/analysys/ans-wechat-sdk/blob/master/LICENSE) [![GitHub release](https://img.shields.io/github/release/analysys/ans-wechat-sdk.svg)](https://github.com/analysys/ans-wechat-sdk/releases)
1+
# [易观方舟](https://www.analysys.cn/) asd-wechat-sdk [![NPM version][npm-image]][npm-url] [![License](https://img.shields.io/github/license/analysys/ans-wechat-sdk.svg)](https://github.com/analysys/ans-wechat-sdk/blob/master/LICENSE) [![GitHub release](https://img.shields.io/github/release/analysys/ans-wechat-sdk.svg)](https://github.com/analysys/ans-wechat-sdk/releases)
22

33
## 安装
44

5-
$ npm install ans-wechat-sdk --save
5+
```sh
6+
$ npm install asd-wechat-sdk --save
7+
```
68

9+
## 微信小程序 SDK 基础说明
710

8-
## wechat SDK 基础说明
9-
+ 快速集成
11+
#### 快速集成
12+
##### 引入sdk模块并初始化
13+
```js
1014

11-
// 非es6
12-
var AnalysysAgent = require("ans-wechat-sdk");
13-
// 小程序提供了加密模块 根据自己需要引入
14-
var AnalysysEncryption = require('ans-wechat-sdk/sdk/AnalysysAgent_encryption.min.js');
15-
// sdk 与 加密模块关联
16-
AnalysysAgent.encrypt = AnalysysEncryption;
15+
import AnalysysAgent from "asd-wechat-sdk"
1716

18-
// es6
19-
import AnalysysAgent from "ans-wechat-sdk"
20-
import AnalysysEncryption from 'ans-wechat-sdk/sdk/AnalysysAgent_encryption.min.js';
21-
AnalysysAgent.encrypt = AnalysysEncryption;
17+
// 引入加密模块(非必须)
18+
import AnalysysEncryption from 'asd-wechat-sdk/dist/AnalysysAgent_encryption.min.js';
19+
AnalysysAgent.encrypt = AnalysysEncryption;
2220

21+
//初始化
22+
AnalysysAgent.init({
23+
appkey: '',
24+
uploadURL: ''
25+
})
26+
```
2327

24-
// wechat SDK 初始化
25-
AnalysysAgent.appkey = "/*设置为实际APPKEY*/"
26-
AnalysysAgent.uploadURL = "/*设置为实际地址*/"
27-
AnalysysAgent.debugMode = 1
28-
AnalysysAgent.autoProfile = false
29-
AnalysysAgent.encryptType = 1
30-
AnalysysAgent.allowTimeCheck = true
31-
AnalysysAgent.maxDiffTimeInterval = 20
32-
AnalysysAgent.autoTrack = true
28+
##### 初始化参数说明
3329

34-
35-
36-
+ appkey(必须) 在网站获取的 AppKey
37-
+ debugMode 设置调试模式:0 - 关闭调试模式(默认);1 - 开启调试模式,数据不入库;2 - 开启调试模式,数据入库
38-
+ uploadURL(必须) 自定义上传地址
39-
+ autoProfile 设置是否追踪新用户的首次属性:false - 不追踪新用户的首次属性;true - 追踪新用户的首次属性(默认)
40-
+ encryptType 设置是否对上传数据加密:0 - 对上传数据不加密(默认);1 - 对上传数据进行AES 128位ECB加密;2 对上传数据进行AES 128位CBC加密
41-
+ allowTimeCheck 设置是否开启时间校准:false(默认) - 关闭时间校准;true - 开启时间校准
42-
+ maxDiffTimeInterval 设置最大时间校准分为:30s(默认) ,当设置的时间差值小于他,将不开启校准。否则将会进行时间校准。假如设置成为负值,将默认为 30s。
43-
+ autoTrack 设置是否开启全埋点,false - 不开启全埋点\(默认\);true - 开启全埋点;开启全埋点将会上报所有绑定(支持tab、longtab、longpress)事件,并上报$user_click 事件,设置data-content为采集的 $element_content、data-type为采集的 $element_type、data-name为采集的$element_name、id为采集的$element_id。不设置采集不到。不支持系统方法包括生命周期事件的上报,如果要采集tabbar切换,务必在注册Page的时候注册OnTabItemTap方法,否则采集不到。
44-
45-
>微信小程序要手动上报启动事件。
46-
47-
App({
48-
onShow : function( options ){
49-
//设置微信小程序启动事件,并传输UTM等参数
50-
AnalysysAgent.appStart(options)
51-
}
52-
});
53-
54-
// 注,各个页面调用API 要加上这个定义,直接引用
55-
let AnalysysAgent = wx.AnalysysAgent
30+
参数 | 是否必须| 类型 | 默认值 | 说明
31+
--- | :--- | :--- | :--- | :---
32+
appkey | 是 | string | - | 在网站获取的AppKey
33+
uploadURL | 是 | string | - | 自定义上传地址
34+
debugMode | 否 | number | 0 | 0: 关闭调试模式;1 - 开启调试模式,数据不入库;2 - 开启调试模式,数据入库
35+
autoProfile | 否 | boolean | true | 设置是否追踪新用户的首次属性
36+
encryptType | 否 | number | 0 | 设置是否对上传数据加密:0 - 对上传数据不加密(默认);1 - 对上传数据进行AES 128位ECB加密;2 对上传数据进行AES 128位CBC加密
37+
allowTimeCheck | 否 | boolean | false | 设置是否开启时间校准
38+
maxDiffTimeInterval | 否 | number | 30 | 设置最大时间校准分为:30s(默认) ,当设置的时间差值小于他,将不开启校准。否则将会进行时间校准。假如设置成为负值,将默认为 30s。
39+
autoTrack | 否 | boolean | false | 设置是否开启全埋点,开启全埋点将会上报所有绑定(支持tab、longtab、longpress)事件,并上报$user_click 事件,设置data-content为采集的 $element_content、data-type为采集的 $element_type、data-name为采集的$element_name、id为采集的$element_id。不设置采集不到。不支持系统方法包括生命周期事件的上报,如果要采集tabbar切换,务必在注册Page的时候注册OnTabItemTap方法,否则采集不到。
40+
autoCompleteURL | 否 | boolean | true | 设置是否采集完整URL,true - 采集URL包括参数;false - 采集URL不包括参数
41+
autoPageViewDuration | 否 | boolean | false | 是否采集页面离开事件
5642

5743
> 通过以上步骤您即可验证SDK是否已经集成成功,更多Api使用方法参考:[易观方舟 wechat SDK 文档](https://docs.analysys.cn/ark/integration/sdk/wx/wxsdkcustom)
5844
5945
> 注意 SDK 可能不完全向前兼容,请查看版本更新说明 [Release及版本升级记录](https://github.com/analysys/ans-wechat-sdk/releases)。如果有说明不兼容的话,需要升级易观方舟对应的版本。 请根据需要前往 [Release](https://github.com/analysys/ans-wechat-sdk/releases) 里下载对应的文件
6046
61-
> npm 安装适用于框架版小程序,基础版和插件版原生开发的小程序使用详见:[易观方舟 wechat SDK 文档](https://docs.analysys.cn/ark/integration/sdk/wx)
6247

6348
## 版本升级记录
6449
请参见 [Release及版本升级记录](https://github.com/analysys/ans-wechat-sdk/releases)
6550

6651

67-
68-
69-
## 讨论
70-
+ 微信号:nlfxwz
71-
+ 钉钉群:30099866
72-
+ 邮箱:nielifeng@analysys.com.cn
7352

7453

7554
**禁止一切基于易观方舟 wechat 开源 SDK 的所有商业活动!**
@@ -82,7 +61,7 @@
8261

8362

8463
[homepage]: https://github.com/analysys/ans-wechat-sdk
85-
[npm-url]: https://www.npmjs.com/package/ans-wechat-sdk
86-
[npm-image]: https://img.shields.io/npm/v/ans-wechat-sdk.svg?style=flat
87-
[npm-downloads]: https://img.shields.io/npm/dm/ans-wechat-sdk.svg?style=flat
64+
[npm-url]: https://www.npmjs.com/package/asd-wechat-sdk
65+
[npm-image]: https://img.shields.io/npm/v/asd-wechat-sdk.svg?style=flat
66+
[npm-downloads]: https://img.shields.io/npm/dm/asd-wechat-sdk.svg?style=flat
8867

SDK/AnalysysAgent_WX_SDK.custom.es6.min.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

SDK/AnalysysAgent_WX_SDK.custom.min.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

SDK/AnalysysAgent_WX_SDK.es6.min.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

SDK/AnalysysAgent_WX_SDK.min.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)