- Клиентская часть Vue 3 + Vite - Серверная часть Node.js + WebSocket - Система авторизации и смен - Управление игровыми портами - Поддержка тем (светлая/темная) - Адаптивный дизайн 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
60 lines
1.9 KiB
JavaScript
60 lines
1.9 KiB
JavaScript
// отправка ошибки на сервер!!!
|
||
|
||
const fs = require('node:fs/promises');
|
||
|
||
const util = require('util');
|
||
const runCommand = util.promisify(require('child_process').exec);
|
||
|
||
|
||
|
||
let connectws= async () => {
|
||
|
||
global.serialcpu = (await runCommand("cat /proc/cpuinfo | grep Serial")).stdout.split(": ")[1];
|
||
if (serialcpu.length>5) serialcpu=serialcpu.substring(0, serialcpu.length - 2);
|
||
|
||
// прочитать файл
|
||
let err,errp;
|
||
try {
|
||
err = await fs.readFile('./log/err.txt', "utf8");
|
||
errp = await fs.readFile('./log/errp.txt', "utf8");
|
||
if (err.length > 0 && err!=errp) {
|
||
console.log("send start");
|
||
} else { console.log("not new err"); process.exit();}
|
||
|
||
} catch (err) { console.log("err", err); process.exit(); }
|
||
|
||
|
||
global.socket_to_server = new WebSocket("ws://ws.tirpriz.ru/ws");
|
||
|
||
socket_to_server.onopen = async (e) => {
|
||
console.log("Соединение с сервером установлено");
|
||
socket_to_server.send(JSON.stringify({do:"log-err", tip:"pult", serialcpu, err}));
|
||
};
|
||
|
||
socket_to_server.onmessage = async (event) => {
|
||
console.log('[message] Данные получены с сервера:'+event.data);
|
||
let postData=JSON.parse(event.data);
|
||
if (postData.do="log-err") {
|
||
await runCommand("cp ./log/err.txt ./log/errp.txt");
|
||
console.log("send ok");
|
||
}
|
||
|
||
process.exit();
|
||
};
|
||
|
||
socket_to_server.onclose = (e)=> {console.log("closed"); process.exit(); };
|
||
|
||
|
||
|
||
socket_to_server.onerror = (err)=> {console.log("onerr"); process.exit(); };
|
||
}
|
||
|
||
connectws();
|
||
|
||
|
||
setTimeout(()=>{ process.exit(); }, 5000);
|
||
|
||
process.on("SIGINT", () => { // прослушиваем прерывание работы программы (ctrl-c)
|
||
process.exit();
|
||
});
|