mirror of
https://github.com/analyticsjs/vue-baidu-analytics.git
synced 2025-04-05 07:52:44 +08:00
128 lines
2.5 KiB
JavaScript
128 lines
2.5 KiB
JavaScript
/**
|
|
* 导入需要用到的组件
|
|
*/
|
|
const { createRouter, createWebHashHistory } = VueRouter;
|
|
const { createApp, getCurrentInstance, ref } = Vue;
|
|
const { usePush } = baiduAnalytics;
|
|
|
|
|
|
/**
|
|
* 初始化路由
|
|
* routes是来自 js/routes.js 里面的配置
|
|
*/
|
|
const router = createRouter({
|
|
history: createWebHashHistory(),
|
|
routes,
|
|
linkActiveClass: 'cur',
|
|
linkExactActiveClass: 'cur'
|
|
});
|
|
|
|
|
|
/**
|
|
* 创建实例
|
|
*/
|
|
const app = {
|
|
setup () {
|
|
/**
|
|
* 新的推荐方式
|
|
* @description 创建一个钩子变量去使用,更适合于 TypeScript 项目
|
|
*/
|
|
const baidu = usePush();
|
|
|
|
/**
|
|
* 原来的方式
|
|
* @description 从当前实例里,导入代理组件去操作,对 TS 项目不够友好
|
|
*/
|
|
// const instance = getCurrentInstance();
|
|
// const { proxy } = instance;
|
|
|
|
|
|
// 初始化要用到的数据
|
|
const pageUrl = ref('');
|
|
const category = ref('');
|
|
const action = ref('');
|
|
const label = ref('');
|
|
const value = ref('');
|
|
|
|
/**
|
|
* 提交 pv
|
|
* @description 支持两种推送方式
|
|
*/
|
|
const pv = () => {
|
|
// 通过钩子去操作
|
|
baidu.pv(pageUrl.value);
|
|
|
|
// 也可以通过全局属性去操作
|
|
// instance.appContext.config.globalProperties.$pushBAIDU.pv(pageUrl.value);
|
|
|
|
// 也可以通过代理组件去操作
|
|
// proxy.$pushBAIDU.pv(pageUrl.value);
|
|
}
|
|
|
|
/**
|
|
* 提交事件
|
|
* @description 支持两种推送方式
|
|
*/
|
|
const event = () => {
|
|
// 通过钩子去操作
|
|
baidu.event(
|
|
category.value,
|
|
action.value,
|
|
label.value,
|
|
value.value
|
|
);
|
|
|
|
// 也可以通过全局属性去操作
|
|
// instance.appContext.config.globalProperties.$pushBAIDU.event(
|
|
// category.value,
|
|
// action.value,
|
|
// label.value,
|
|
// value.value
|
|
// );
|
|
|
|
// 也可以通过代理组件去操作
|
|
// proxy.$pushBAIDU.event(
|
|
// category.value,
|
|
// action.value,
|
|
// label.value,
|
|
// value.value
|
|
// );
|
|
}
|
|
|
|
// Vue 3.0 需要把模板要用到的东西 return 出去
|
|
return {
|
|
// 数据
|
|
pageUrl,
|
|
category,
|
|
action,
|
|
label,
|
|
value,
|
|
|
|
// 方法
|
|
pv,
|
|
event
|
|
}
|
|
}
|
|
};
|
|
|
|
|
|
/**
|
|
* 初始化Vue
|
|
*/
|
|
createApp(app)
|
|
// 启动路由
|
|
.use(router)
|
|
|
|
// 启动插件
|
|
.use(baiduAnalytics.default, {
|
|
router: router,
|
|
siteIdList: [
|
|
'aaaaaaaaaaaaaaaaaaa',
|
|
'bbbbbbbbbbbbbbbbbbb'
|
|
],
|
|
isDebug: true
|
|
})
|
|
|
|
// 挂载到节点上
|
|
.mount('#app');
|