加入api.crawlab.cn数据追踪

This commit is contained in:
marvzhang
2020-01-10 14:37:50 +08:00
parent aa5ae87eeb
commit d124c6c96f
8 changed files with 54 additions and 2 deletions

View File

@@ -1,2 +1,3 @@
NODE_ENV='development'
VUE_APP_BASE_URL=http://localhost:8000
VUE_APP_CRAWLAB_BASE_URL=http://api.crawlab.cn

View File

@@ -1,2 +1,3 @@
NODE_ENV='production'
VUE_APP_BASE_URL='http://localhost:8000'
VUE_APP_CRAWLAB_BASE_URL=http://api.crawlab.cn

View File

@@ -1,2 +1,3 @@
NODE_ENV='test'
VUE_APP_BASE_URL='http://114.67.75.98:8000/api'
VUE_APP_BASE_URL='http://localhost:8000'
VUE_APP_CRAWLAB_BASE_URL=http://api.crawlab.cn

View File

@@ -25,6 +25,12 @@ export default {
...mapState('setting', ['setting']),
useStats () {
return localStorage.getItem('useStats')
},
uid () {
return localStorage.getItem('uid')
},
sid () {
return sessionStorage.getItem('sid')
}
},
methods: {},
@@ -58,6 +64,16 @@ export default {
'</div>'
})
}
// set uid if first visit
if (this.uid === undefined || this.uid === null) {
localStorage.setItem('uid', this.$utils.encrypt.UUID())
}
// set session id if starting a session
if (this.sid === undefined || this.sid === null) {
sessionStorage.setItem('sid', this.$utils.encrypt.UUID())
}
}
}
</script>

View File

@@ -0,0 +1,13 @@
export default {
UUID: () => {
let s = []
let hexDigits = '0123456789abcdef'
for (let i = 0; i < 36; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)
}
s[14] = '4' // bits 12-15 of the time_hi_and_version field to 0010
s[8] = s[13] = s[18] = s[23] = '-'
return s.join('')
}
}

View File

@@ -1,5 +1,7 @@
import stats from './stats'
import encrypt from './encrypt'
export default {
stats
stats,
encrypt
}

View File

@@ -1,12 +1,29 @@
import axios from 'axios'
const sendEvCrawlab = async (eventCategory, eventAction, eventLabel) => {
await axios.get(process.env.VUE_APP_CRAWLAB_BASE_URL + '/track', {
params: {
uid: localStorage.getItem('uid'),
sid: sessionStorage.getItem('sid'),
ec: eventCategory,
ea: eventAction,
el: eventLabel,
v: sessionStorage.getItem('v')
}
})
}
export default {
sendPv (page) {
if (localStorage.getItem('useStats') !== '0') {
window._hmt.push(['_trackPageview', page])
sendEvCrawlab('访问页面', page, '')
}
},
sendEv (category, eventName, optLabel, optValue) {
if (localStorage.getItem('useStats') !== '0') {
window._hmt.push(['_trackEvent', category, eventName, optLabel, optValue])
sendEvCrawlab(category, eventName, optLabel)
}
}
}

View File

@@ -57,6 +57,7 @@ export default {
async created () {
const res = await this.$request.get('/version')
this.version = res.data.data
sessionStorage.setItem('v', this.version)
}
}
</script>