56 lines
1.4 KiB
TypeScript
56 lines
1.4 KiB
TypeScript
import {AppConfig} from "../../../src/config";
|
|
import {memoryInfo, platformArch, platformName, platformUUID, platformVersion} from "../../lib/env";
|
|
import {post} from "../../lib/api";
|
|
|
|
let tickDataList = [];
|
|
|
|
let tickSendTimer = null;
|
|
|
|
const tickSendAsync = () => {
|
|
if (tickSendTimer) {
|
|
clearTimeout(tickSendTimer);
|
|
tickSendTimer = null;
|
|
}
|
|
if (!AppConfig.statisticsUrl) {
|
|
tickDataList = [];
|
|
return;
|
|
}
|
|
tickSendTimer = setTimeout(async () => {
|
|
tickSendTimer = null;
|
|
if (!tickDataList.length) {
|
|
return;
|
|
}
|
|
// console.log('tickSend', JSON.stringify(tickDataList))
|
|
post(AppConfig.statisticsUrl, {
|
|
data: tickDataList,
|
|
version: AppConfig.version,
|
|
uuid: platformUUID(),
|
|
platform: {
|
|
name: platformName(),
|
|
version: platformVersion(),
|
|
arch: platformArch(),
|
|
mem: memoryInfo(),
|
|
},
|
|
})
|
|
.then(res => {
|
|
// console.log('tickSend', tickDataList, res)
|
|
})
|
|
.catch(err => {
|
|
// console.error('tickSend', tickDataList, err)
|
|
});
|
|
tickDataList = [];
|
|
}, 2000);
|
|
};
|
|
|
|
const tick = (name: string, data: any) => {
|
|
tickDataList.push({
|
|
name,
|
|
data,
|
|
});
|
|
tickSendAsync();
|
|
};
|
|
|
|
export default {
|
|
tick,
|
|
};
|