2021-04-04 17:55:49 +08:00
2021-04-04 17:55:49 +08:00
2021-04-04 17:53:36 +08:00
2021-04-04 17:53:36 +08:00
2021-04-04 17:53:36 +08:00
2020-09-06 18:31:00 +08:00
2019-12-20 00:13:14 +08:00
2021-04-04 17:53:36 +08:00
2021-01-07 23:16:07 +08:00
2021-04-04 17:53:36 +08:00
2021-04-04 17:53:36 +08:00
2021-04-04 17:53:36 +08:00
2021-04-04 17:53:36 +08:00
2021-04-04 17:53:36 +08:00

vue-baidu-analytics 使用说明

基于 Vue 开发的百度统计插件,可以在 Vue-CLI 脚手架项目 或者 引入了 Vue 相关 CDN 的普通页面,以及 VuePress 项目上使用,使用本插件的项目需要引入 Vue Router

v2.0 版本更新:
最新版支持 Vue 3.x同时兼容 Vue 2.x 使用具体使用方法请看下方说明及demo。
对 Vue 3.0 感兴趣,但还在观望的同学,欢迎阅读我踩坑总结的:Vue 3.0 学习教程 持续更新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

Vue 3.0 版本:vue-baidu-analytics demo for Vue 3.x

安装

方式一:通过 NPM 安装

npm install vue-baidu-analytics --save-dev

方式二:通过 CDN 安装

<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
只有一个站点需要上报就保留一个 item 即可
isDebug boolean 是否开启 debug 模式,默认 false
开启后会在控制台打印上报信息,上线前记得关闭

使用

通过 NPM 安装的项目,需要先在 main.js 里引入插件(通过 CDN 则无需该步骤)。

import baiduAnalytics from 'vue-baidu-analytics'

安装插件后,在 main.js 引入以下代码(注意区分 Vue 2.0 和 Vue 3.0 的用法区别),即可开启自动上报功能,首次访问页面会部署统计代码并提交第一次访问数据上报。

后续在路由切换过程中也会根据路由的切换提交相应的url信息到百度统计。

在 Vue 2.0 里使用

可参考demomain.js - Vue 2.0 demo

Vue.use(baiduAnalytics, {
  router: router,
  siteIdList: [
    'aaaaaaaaaaaaaaaaaaa',
    'bbbbbbbbbbbbbbbbbbb',
    'ccccccccccccccccccc'
  ],
  isDebug: false
});

在 Vue 3.0 里使用

可参考demomain.js - Vue 3.0 demo

/** 
 * 初始化Vue
 */
createApp(app)
  // 启动路由
  .use(router)

  // 启动插件
  .use(baiduAnalytics, {
    router: router,
    siteIdList: [
      'aaaaaaaaaaaaaaaaaaa',
      'bbbbbbbbbbbbbbbbbbb',
      'ccccccccccccccccccc'
    ],
    isDebug: false
  })
  
  // 挂载到节点上
  .mount('#app');

在 VuePress 里使用

插件也支持在Vue的静态文档 VuePress 项目里使用。

在项目下的 /docs/.vuepress 文件夹下,创建一个 enhanceApp.js,按照下面的方式引入即可启动数据上报功能。

官方文档传送门:应用级别的配置 - VuePress

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必须是以 / 开头的相对路径
如果不填,则会默认提交为域名根目录

使用示范

在 Vue 2.0 里使用

this.$pushBAIDU.pv(this.pageUrl);

在 Vue 3.0 里使用

(使用 3.0 的生命周期,需要遵循 Vue3 的规范,引入一个 Vue 自带的代理组件,并写在 setup 里执行)

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 里使用

this.$pushBAIDU.event(
  this.category,
  this.action,
  this.label,
  this.value
);

在 Vue 3.0 里使用

(使用 3.0 的生命周期,需要遵循 Vue3 的规范,引入一个 Vue 自带的代理组件,并写在 setup 里执行)

const { proxy } = getCurrentInstance();

proxy.$pushBAIDU.event(
  category.value,
  action.value,
  label.value,
  value.value
);
Description
A data collection tool that supports reporting of single-page application data built by Vue 3.0 & 2.0 & VuePress, based on baidu statistics.
Readme MIT 20 MiB
Languages
TypeScript 88.9%
JavaScript 11.1%