Skip to content
This repository was archived by the owner on Jun 23, 2023. It is now read-only.

Commit fec4462

Browse files
author
chengpeiquan
committed
Release v1.0.0
1 parent a209933 commit fec4462

File tree

3 files changed

+137
-6
lines changed

3 files changed

+137
-6
lines changed

README.md

Lines changed: 135 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,135 @@
1-
# vue-cnzz-analytics
2-
A data collection tool that supports reporting of single-page application data built by Vue-cli, based on cnzz statistics.
1+
vue-cnzz-analytics 使用说明
2+
===
3+
4+
基于Vue开发的CNZZ统计插件(友盟统计),可以在 `Vue-CLI脚手架项目` 或者 `引入了Vue相关CDN的普通页面` 上使用,使用本插件的项目需要引入 `Vue Router`
5+
6+
## 功能
7+
8+
* 异步载入CNZZ统计脚本,不再因等待加载统计代码而影响页面渲染速度
9+
10+
* 支持部署多个站点id,并对应进行数据上报
11+
12+
* 支持自动上报路由切换产生的pv数据(支持 `hash模式``history模式` 的地址)
13+
14+
* 支持手动提交pv上报
15+
16+
* 支持手动提交事件分析上报
17+
18+
## 预览
19+
20+
demo已开启debug模式,可开启控制台查看上报情况。
21+
22+
点击预览:[vue-cnzz-analytics demo](https://chengpeiquan.github.io/vue-cnzz-analytics/demo/ "vue-cnzz-analytics demo")
23+
24+
## 参数
25+
26+
参数|是否必填|参数类型|参数说明
27+
:-:|:-:|:-:|-
28+
router|是|object|Vue Router,本插件基于路由使用
29+
siteIdList|是|object Array|CNZZ统计的站点id列表,item为站点id<br>只有一个站点需要上报就保留一个item即可
30+
isDebug|否|boolean|是否开启debug模式,默认 `false`<br>开启后会在控制台打印上报信息,**上线前记得关闭**
31+
32+
## 安装
33+
34+
### 通过npm安装
35+
36+
```
37+
npm install vue-cnzz-analytics --save-dev
38+
```
39+
40+
### 通过cdn安装
41+
42+
```html
43+
<script src="https://cdn.jsdelivr.net/npm/vue-cnzz-analytics/dist/vue-cnzz-analytics.min.js"></script>
44+
```
45+
46+
## 使用
47+
48+
通过npm安装的项目,需要先在 `main.js` 里引入插件(通过cdn则无需该步骤)。
49+
50+
```js
51+
import cnzzAnalytics from 'vue-cnzz-analytics'
52+
```
53+
54+
安装插件后,在 `main.js` 引入以下代码,即可开启自动上报功能,首次访问页面会部署统计代码并提交第一次访问数据上报。
55+
56+
后续在路由切换过程中,也会根据路由的切换提交相应的url信息到友盟统计。
57+
58+
```js
59+
Vue.use(cnzzAnalytics, {
60+
router: router,
61+
siteIdList: [
62+
11111,
63+
22222,
64+
33333
65+
],
66+
isDebug: false
67+
});
68+
```
69+
70+
可在开发环境打开debug模式了解相关的上报情况(上线前记得关闭debug)。
71+
72+
## 方法
73+
74+
插件目前封装了两个常用的api,统一挂载到Vue实例上的 `$pushCNZZ` 去调用。
75+
76+
注:如果配置了多个站点id,会同时上报给所有站点。
77+
78+
### 手动上报页面PV
79+
80+
api名称|功能说明
81+
:-:|-
82+
pv|手动执行PV数据上报
83+
84+
**api参数**
85+
86+
参数|是否必填|参数类型|参数说明
87+
:-:|:-:|:-:|-
88+
pageUrl|否|String|提交上报的url,必须是以 `/` 开头的相对路径<br>如果不填,则会默认提交为域名根目录
89+
fromUrl|否|String|来路页面的url,必须是以 `http``https` 开头的绝对地址<br>如果不填,则统计平台会认为访问来源为直接输入地址
90+
91+
**使用示范**
92+
93+
在template里使用(第二个参数不填表示直接输入地址访问)
94+
95+
```html
96+
<button @click="$pushCNZZ.pv('/test')">手动上报PV</button>
97+
```
98+
99+
在method里使用(第二个参数填写,则表示是从该页面跳转过来的)
100+
101+
```js
102+
// this是Vue实例
103+
this.$pushCNZZ.pv('/home', 'https://github.com/chengpeiquan/vue-cnzz-analytics');
104+
```
105+
106+
### 手动上报事件分析
107+
108+
api名称|功能说明
109+
:-:|-
110+
event|手动执行事件分析数据上报
111+
112+
**api参数**
113+
114+
参数|是否必填|参数类型|参数说明
115+
:-:|:-:|:-:|-
116+
category|是|string|产生该事件的位置名称,比如 `首页banner`
117+
action|是|string|产生该事件的行为描述,比如 `点击`
118+
label|否|string|产生该事件的标签名称,可以用来记录事件子id,比如 `bannerId_123`,默认为空
119+
value|否|number|该事件的分值,默认0
120+
nodeId|否|string|产生该事件的元素id,默认为空
121+
122+
**使用示范**
123+
124+
在template里使用(比如:点击了一个id为123的首页banner)
125+
126+
```html
127+
<button @click="$pushCNZZ.event('首页banner', '点击', 'bannerId_123')">手动上报点击事件</button>
128+
```
129+
130+
在method里使用(比如:点击了一个id为123的首页banner,并设置该事件的价值为1)
131+
132+
```js
133+
// this是Vue实例
134+
this.$pushCNZZ.event('首页banner', '点击', 'bannerId_123', 1);
135+
```

demo/js/main.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,8 @@ const app = new Vue({
5858
}
5959
},
6060
mounted () {
61-
this.init();
6261
},
6362
methods: {
64-
init () {
65-
console.log(this.$pushCNZZ);
66-
},
6763
pv () {
6864
this.$pushCNZZ.pv(this.pageUrl, this.fromUrl);
6965
},

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@
1313
"keywords": [
1414
"cnzz",
1515
"vue cnzz",
16+
"vue umeng",
1617
"vue analytics",
1718
"spa analytics",
1819
"cnzz统计",
20+
"umeng统计"
1921
"友盟统计"
2022
],
2123
"author": "chengpeiquan",

0 commit comments

Comments
 (0)