-
Notifications
You must be signed in to change notification settings - Fork 38
/
report.js
59 lines (57 loc) · 1.5 KB
/
report.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
'use strict'
const querystring = require('querystring')
// anonymous-tracking, do no harm to your computer and privacy
module.exports = function (options) {
try {
const pkg = require('../../package.json')
const version = pkg.version
const uuid = require('uuid')
const now = new Date().getTime()
const Config = require('node-cli-config')
const platform = process.platform
const https = require('https')
const config = Config({
dir: '.vuxrc',
file: 'config'
})
let user = config.get('uuid')
if (!user) {
user = uuid.v1()
config.set('uuid', user)
}
let firstTime = config.get('start')
if (!firstTime) {
firstTime = now
config.set('start', firstTime)
}
let count = config.get('count')
if (!count) {
count = 1
} else {
count = count * 1 + 1
}
config.set('count', count)
const report = function () {
const data = {
vux_version: options.vuxVersion,
vue_version: options.vueVersion,
version: version,
platform: platform,
uuid: user,
start: firstTime,
count: count
}
const query = querystring.stringify(data)
try {
const url = `/vux-loader-anonymous-tracking.html?${query}`
const res = https.get({
hostname: 'vux.li',
path: url
})
res.on('error', function (err) {})
} catch (e) {}
}
report()
global.reportInterval = setInterval(report, 1200000)
} catch (e) {}
}