埋点官方对接文档 https://www.yuque.com/sisialing/bcg47r/ywfbnk
稳定性监控和通用采集SDK写在页面首页就行,只需加载一次
<!-- 稳定性监控 -->
<script src='https://wpkgate-emas.ding.zj.gov.cn/static/wpk-jssdk.1.0.2/wpkReporter.js' crossorigin='true'></script>
<script>
try {
const config = {
bid: '*************',
signkey: '1234567890abcdef',
gateway: 'https://wpkgate-emas.ding.zj.gov.cn'
}
const wpk = new wpkReporter(config)
wpk.installAll()
window._wpk = wpk
} catch (err) {
console.error('WpkReporter init fail', err)
}
</script>
<!-- 通用采集 SDK -->
<script>
(function(w, d, s, q, i) {
w[q] = w[q] || []
var f = d.getElementsByTagName(s)[0],j = d.createElement(s)
j.async = true
j.id = 'beacon-aplus'
j.src = 'https://alidt.alicdn.com/alilog/mlog/aplus_cloud.js'
f.parentNode.insertBefore(j, f)
})(window, document, 'script', 'aplus_queue')
aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['aplus-rhost-v', 'alog-api.ding.zj.gov.cn']
})
aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['aplus-rhost-g', 'alog-api.ding.zj.gov.cn']
})
const u = navigator.userAgent
const isAndroid = u.indexOf('Android') > -1
const isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)
aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['appId', isAndroid ? '28302650' : isIOS ? '28328447' : '47130293']
})
</script>
基础埋点和用户信息埋点需要每一个页面都添加,可在路由变化的时候添加
router.beforeEach((to, from, next) => {
// 埋点
addBuryPoint(to)
next()
})
getLoginUser () {
dd.getLoginUser().then(res => {
window.sessionStorage.setItem('loginUserInfo', JSON.stringify(res))
})
}
// 基础埋点和用户信息埋点
export function addBuryPoint (pageInfo) {
// 基础埋点
aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['aplus-waiting', 'MAN']
})
aplus_queue.push({
'action':'aplus.sendPV',
'arguments':[{
is_auto: false
}, {
// 当前你的应用信息,此两行请勿修改
sapp_id: '*********',
sapp_name: '***********',
// 自定义PV参数key-value键值对(只能是这种平铺的json,不能做多层嵌套),如:
page_id: pageInfo.name,
page_name: pageInfo.meta.title,
page_url: 'https://www.yuming.com/xxx/xxx/xxx' // 必须完整地址 有#需要转义%23
}]
})
// 用户信息埋点
const loginUserInfo = JSON.parse(window.sessionStorage.getItem('loginUserInfo'))
if (loginUserInfo) {
aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['_hold', 'BLOCK']
})
aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['_user_nick', loginUserInfo.name]
})
aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['_user_id', loginUserInfo.accountId]
})
// aplus_queue.push({
// action: 'aplus.setMetaInfo',
// arguments: ['_dev_id', 'yourDeviceId']
// })
// 如采集用户信息是异步行为,需要先设置完用户信息后再执行这个START埋点
// 此时被block住的日志会携带上用户信息逐条发出
aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['_hold', 'START']
})
}
}