mirror of
https://github.com/PaiGramTeam/PaiGramDocs.git
synced 2024-11-30 03:15:35 +00:00
50 lines
1.1 KiB
TypeScript
50 lines
1.1 KiB
TypeScript
|
import { inBrowser } from 'vitepress'
|
||
|
|
||
|
/**
|
||
|
* 统计站点的 ID 列表
|
||
|
*/
|
||
|
export const siteIds = 'eb1ef90b1e9476b8d3d43088d3ac9c49'
|
||
|
|
||
|
declare global {
|
||
|
interface Window {
|
||
|
_hmt: any
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 注册统计
|
||
|
*/
|
||
|
export function registerAnalytics(siteId: string) {
|
||
|
if (!inBrowser)
|
||
|
return
|
||
|
if (document.querySelector(`#analytics-plugin-${siteId}`))
|
||
|
return
|
||
|
window._hmt = window._hmt ? window._hmt : []
|
||
|
const script = document.createElement('script')
|
||
|
script.id = `analytics-${siteId}`
|
||
|
script.async = true
|
||
|
script.src = `https://hm.baidu.com/hm.js?${siteId}`
|
||
|
document.querySelector('head')?.appendChild(script)
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 上报 PV 数据
|
||
|
* @param siteId - 站点 ID
|
||
|
* @param pageUrl - 页面 URL
|
||
|
*/
|
||
|
export function trackPageview(siteId: string, pageUrl: string) {
|
||
|
if (!inBrowser)
|
||
|
return
|
||
|
if (!pageUrl || typeof pageUrl !== 'string')
|
||
|
pageUrl = '/'
|
||
|
|
||
|
if (pageUrl.startsWith('http')) {
|
||
|
const urlFragment = pageUrl.split('/')
|
||
|
const origin = `${urlFragment[0]}//${urlFragment[2]}`
|
||
|
pageUrl = pageUrl.replace(origin, '')
|
||
|
}
|
||
|
|
||
|
window._hmt.push(['_setAccount', siteId])
|
||
|
window._hmt.push(['_trackPageview', pageUrl])
|
||
|
}
|