Files
2026-06-19 18:45:55 +08:00

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,
};