2021-01-11 11:42:43 +08:00

210 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

vue-baidu-analytics 使用说明
===
基于Vue开发的百度统计插件可以在 `Vue-CLI脚手架项目` 或者 `引入了Vue相关CDN的普通页面`,以及 `VuePress` 项目上使用,使用本插件的项目需要引入 `Vue Router`
> @v2.0版本更新:<br>最新版支持 Vue 3.x同时兼容 Vue 2.x 使用具体使用方法请看下方说明及demo。<br>对Vue 3.0感兴趣,但还在观望的同学,欢迎阅读我踩坑总结的:[Vue 3.0 学习教程](https://vue3.chengpeiquan.com/) 持续更新ing
## 功能
* 异步载入百度统计脚本无需修改入口html
* 支持部署多个站点id并对应进行数据上报
* 支持自动上报路由切换产生的pv数据支持 `hash模式``history模式` 的地址)
* 支持手动提交pv上报
* 支持手动提交事件分析上报
* 自动识别Vue版本自动适配Vue 2.0/3.0使用插件2.0版本新增)
## 预览
demo已开启debug模式可开启控制台查看上报情况。
Vue 2.0 版本:[vue-baidu-analytics demo for Vue 2.x](https://chengpeiquan.github.io/vue-baidu-analytics/demo/vue2.html "vue-baidu-analytics demo for Vue 2.x")
Vue 3.0 版本:[vue-baidu-analytics demo for Vue 3.x](https://chengpeiquan.github.io/vue-baidu-analytics/demo/vue3.html "vue-baidu-analytics demo for Vue 3.x")
## 安装
方式一通过npm安装
```
npm install vue-baidu-analytics --save-dev
```
方式二通过cdn安装
```html
<script src="https://cdn.jsdelivr.net/npm/vue-baidu-analytics/dist/vue-baidu-analytics.min.js"></script>
```
## 参数
参数|是否必填|参数类型|参数说明
:-:|:-:|:-:|-
router|是|object|Vue Router本插件基于路由使用
siteIdList|是|string[]|百度统计的站点id列表item为站点id<br>只有一个站点需要上报就保留一个item即可
isDebug|否|boolean|是否开启debug模式默认 `false`<br>开启后会在控制台打印上报信息,**上线前记得关闭**
## 使用
通过npm安装的项目需要先在 `main.js` 里引入插件通过cdn则无需该步骤
```js
import baiduAnalytics from 'vue-baidu-analytics'
```
安装插件后,在 `main.js` 引入以下代码注意区分Vue2.0和Vue3.0的用法区别),即可开启自动上报功能,首次访问页面会部署统计代码并提交第一次访问数据上报。
后续在路由切换过程中也会根据路由的切换提交相应的url信息到友盟统计。
### 在 Vue 2.0 里使用
可参考demo[main.js - Vue 2.0 demo](https://chengpeiquan.github.io/vue-baidu-analytics/demo/js/main-for-vue2.js)
```js
Vue.use(baiduAnalytics, {
router: router,
siteIdList: [
'aaaaaaaaaaaaaaaaaaa',
'bbbbbbbbbbbbbbbbbbb',
'ccccccccccccccccccc'
],
isDebug: false
});
```
### 在 Vue 3.0 里使用
可参考demo[main.js - Vue 3.0 demo](https://chengpeiquan.github.io/vue-baidu-analytics/demo/js/main-for-vue3.js)
```js
/**
* 初始化Vue
*/
createApp(app)
// 启动路由
.use(router)
// 启动插件
.use(baiduAnalytics, {
router: router,
siteIdList: [
'aaaaaaaaaaaaaaaaaaa',
'bbbbbbbbbbbbbbbbbbb',
'ccccccccccccccccccc'
],
isDebug: false
})
// 挂载到节点上
.mount('#app');
```
### 在 VuePress 里使用
插件也支持在Vue的静态文档 [VuePress](https://vuepress.vuejs.org/zh/) 项目里使用。
在项目下的 `/docs/.vuepress` 文件夹下,创建一个 `enhanceApp.js`,按照下面的方式引入即可启动数据上报功能。
官方文档传送门:[应用级别的配置 - VuePress](https://vuepress.vuejs.org/zh/guide/basic-config.html#%E5%BA%94%E7%94%A8%E7%BA%A7%E5%88%AB%E7%9A%84%E9%85%8D%E7%BD%AE)
```js
import baiduAnalytics from 'vue-baidu-analytics'
export default ({ Vue, router }) => {
Vue.use(baiduAnalytics, {
router: router,
siteIdList: [
'aaaaaaaaaaaaaaaaaaa',
'bbbbbbbbbbbbbbbbbbb',
'ccccccccccccccccccc'
],
isDebug: false
});
};
```
可在开发环境打开debug模式了解相关的上报情况上线前记得关闭debug
## 方法
插件目前封装了两个常用的api统一挂载到Vue实例上的 `$pushBAIDU` 去调用。
如果配置了多个站点id会同时上报给所有站点。
### 手动上报页面PV
api名称|功能说明
:-:|-
pv|手动执行PV数据上报
**api参数**
参数|是否必填|参数类型|参数说明
:-:|:-:|:-:|-
pageUrl|否|String|提交上报的url必须是以 `/` 开头的相对路径<br>如果不填,则会默认提交为域名根目录
**使用示范**
在 Vue 2.0 里使用
```js
this.$pushBAIDU.pv(this.pageUrl);
```
在 Vue 3.0 里使用
使用3.0的生命周期需要遵循Vue3的规范引入一个Vue自带的代理组件并写在 `setup` 里执行)
```js
const { proxy } = getCurrentInstance();
proxy.$pushBAIDU.pv(pageUrl.value);
```
### 手动上报事件分析
api名称|功能说明
:-:|-
event|手动执行事件分析数据上报
**api参数**
参数|是否必填|参数类型|参数说明
:-:|:-:|:-:|-
category|是|string|产生该事件的位置名称,比如 `首页banner`
action|是|string|产生该事件的行为描述,比如 `点击`
label|否|string|产生该事件的标签名称可以用来记录事件子id比如 `bannerId_123`,默认为空
value|否|number|该事件的分值默认0
**使用示范**
在 Vue 2.0 里使用
```js
this.$pushBAIDU.event(
this.category,
this.action,
this.label,
this.value
);
```
在 Vue 3.0 里使用
使用3.0的生命周期需要遵循Vue3的规范引入一个Vue自带的代理组件并写在 `setup` 里执行)
```js
const { proxy } = getCurrentInstance();
proxy.$pushBAIDU.event(
category.value,
action.value,
label.value,
value.value
);
```