mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-21 17:21:09 +01:00
加入api.crawlab.cn数据追踪
This commit is contained in:
@@ -1,2 +1,3 @@
|
||||
NODE_ENV='development'
|
||||
VUE_APP_BASE_URL=http://localhost:8000
|
||||
VUE_APP_CRAWLAB_BASE_URL=http://api.crawlab.cn
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
NODE_ENV='production'
|
||||
VUE_APP_BASE_URL='http://localhost:8000'
|
||||
VUE_APP_CRAWLAB_BASE_URL=http://api.crawlab.cn
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
13
frontend/src/utils/encrypt.js
Normal file
13
frontend/src/utils/encrypt.js
Normal 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('')
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
import stats from './stats'
|
||||
import encrypt from './encrypt'
|
||||
|
||||
export default {
|
||||
stats
|
||||
stats,
|
||||
encrypt
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user