From 69e94ed8b4d71bb73d944b9f03603dfa0e819d3f Mon Sep 17 00:00:00 2001 From: husky Date: Thu, 25 Dec 2025 03:32:20 +0000 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=A0=E6=95=99=E5=AD=A6?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=9F=A5=E8=AF=A2API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 5 +- dsxapi/dsxapi.js | 122 +++++++++- farmeworkapi/.env | 8 +- farmeworkapi/farmeworkapi.js | 7 +- farmeworkapi/license/husky.lic | 4 +- farmeworkapi/online_data.json | 2 +- farmeworkapi/server.log | 394 +++++++++++++++++++++++++++++++++ 7 files changed, 530 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index d26c746..da38d05 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -dist/ \ No newline at end of file +dist/ +teaching_data/ +competition_tmp/ +online_data.json \ No newline at end of file diff --git a/dsxapi/dsxapi.js b/dsxapi/dsxapi.js index 5e3b095..d3ec75b 100644 --- a/dsxapi/dsxapi.js +++ b/dsxapi/dsxapi.js @@ -529,7 +529,7 @@ app.post('/api/competition/start', (req, res) => { } // 启动定时备份 - const backupInterval = setInterval(() => { + const backupInterval = setInterval(() => { if (!competitionStatus.isRunning) { clearInterval(backupInterval); return; @@ -541,7 +541,6 @@ app.post('/api/competition/start', (req, res) => { competitionStatus }; - // 编码数据 const dataStr = JSON.stringify(backupData, null, 2); const encodedData = encodeURIComponent(dataStr).split('').reverse().join(''); const finalData = `EST_ENCODED_DATA:${encodedData}`; @@ -550,6 +549,32 @@ app.post('/api/competition/start', (req, res) => { path.join(tmpDirPath, `backup_${timestamp}.est`), finalData ); + try { + const maxAgeMs = 60 * 60 * 1000; + const now = Date.now(); + const files = fs.readdirSync(tmpDirPath).filter(f => f.endsWith('.est')); + for (const f of files) { + const fp = path.join(tmpDirPath, f); + const stat = fs.statSync(fp); + if (now - stat.mtimeMs > maxAgeMs) { + fs.unlinkSync(fp); + } + } + const remaining = fs.readdirSync(tmpDirPath) + .filter(f => f.endsWith('.est')) + .map(f => { + const fp = path.join(tmpDirPath, f); + const stat = fs.statSync(fp); + return { fp, mtimeMs: stat.mtimeMs }; + }) + .sort((a, b) => a.mtimeMs - b.mtimeMs); + if (remaining.length > 60) { + const excess = remaining.length - 60; + for (let i = 0; i < excess; i++) { + fs.unlinkSync(remaining[i].fp); + } + } + } catch (e) {} }, 60000); // 每分钟备份一次 //console.log(`[COMPETITION] 比赛开始 - UUID: ${competitionStatus.UUID}`); @@ -613,6 +638,9 @@ app.get('/api/competition/status', (req, res) => { res.json(response); }); + + + // 比赛数据上传API app.post('/api/competition/data', (req, res) => { const { UUID, fingerprint, timestamp, data } = req.body; @@ -684,6 +712,94 @@ app.get('/api/competition/data', (req, res) => { res.json(competitionStatus.statisticsData); }); + +// -----------------**************--------教学数据-----------***************-------------- + +// 教学数据查询API +const teachingDir = path.join(__dirname, 'teaching_data'); + +app.post('/api/teaching/data', (req, res) => { + const { fingerprint, scenario, timestamp, data } = req.body; + if (!fingerprint || !scenario || !data) { + return res.status(400).json({ error: '缺少必要参数' }); + } + try { + if (!fs.existsSync(teachingDir)) { + fs.mkdirSync(teachingDir); + } + const filePath = path.join(teachingDir, `${scenario}.json`); + let store = {}; + if (fs.existsSync(filePath)) { + try { + const content = fs.readFileSync(filePath, 'utf8'); + store = JSON.parse(content || '{}'); + } catch { + store = {}; + } + } + store[fingerprint] = { ...data, lastUpdate: timestamp }; + fs.writeFileSync(filePath, JSON.stringify(store, null, 2)); + res.json({ success: true }); + } catch (error) { + console.error('保存教学数据失败:', error); + res.status(500).json({ error: '服务器内部错误' }); + } +}); + +app.get('/api/teaching/data', (req, res) => { + const { scenario, fingerprint, org } = req.query; + if (!scenario) { + return res.status(400).json({ error: '缺少scenario参数' }); + } + try { + if (!fs.existsSync(teachingDir)) { + if (fingerprint) { + return res.status(404).json({ error: '未找到指定指纹数据' }); + } + if (!org) { + return res.status(400).json({ error: '缺少org参数' }); + } + return res.json({}); + } + const filePath = path.join(teachingDir, `${scenario}.json`); + if (!fs.existsSync(filePath)) { + if (fingerprint) { + return res.status(404).json({ error: '未找到指定指纹数据' }); + } + if (!org) { + return res.status(400).json({ error: '缺少org参数' }); + } + return res.json({}); + } + const content = fs.readFileSync(filePath, 'utf8'); + const store = JSON.parse(content || '{}'); + if (fingerprint) { + const entry = store[fingerprint] || null; + if (!entry) { + return res.status(404).json({ error: '未找到指定指纹数据' }); + } + if (org && String(entry.org || '').toLowerCase() !== String(org).toLowerCase()) { + return res.status(404).json({ error: '未找到指定指纹数据' }); + } + return res.json(entry); + } + if (!org) { + return res.status(400).json({ error: '缺少org参数' }); + } + const filtered = Object.fromEntries( + Object.entries(store).filter(([_, v]) => String((v && v.org) || '').toLowerCase() === String(org).toLowerCase()) + ); + return res.json(filtered); + } catch (error) { + console.error('读取教学数据失败:', error); + res.status(500).json({ error: '服务器内部错误' }); + } +}); + +// -----------------**************--------------------------***************-------------- + + + // 启动服务器 if (require.main === module) { app.listen(PORT, () => { @@ -696,4 +812,4 @@ if (require.main === module) { }); } -module.exports = app; \ No newline at end of file +module.exports = app; diff --git a/farmeworkapi/.env b/farmeworkapi/.env index e3513f5..1a039d5 100644 --- a/farmeworkapi/.env +++ b/farmeworkapi/.env @@ -1,14 +1,14 @@ # Database configuration -# DB_HOST=192.168.5.131 -DB_HOST=est_mysql +DB_HOST=192.168.5.131 +# DB_HOST=est_mysql DB_PORT=3306 DB_USER=root DB_PASSWORD=MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDQMYcjqnrMnr9G DB_NAME=login # SurveyKing_DB_NAME -# SurveyKing_DB_HOST=192.168.5.131 -SurveyKing_DB_HOST=est_mysql +SurveyKing_DB_HOST=192.168.5.131 +# SurveyKing_DB_HOST=est_mysql SurveyKing_DB_PORT=3306 SurveyKing_DB_USER=root SurveyKing_DB_PASSWORD=MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDQMYcjqnrMnr9G diff --git a/farmeworkapi/farmeworkapi.js b/farmeworkapi/farmeworkapi.js index 4fa4242..62bce97 100644 --- a/farmeworkapi/farmeworkapi.js +++ b/farmeworkapi/farmeworkapi.js @@ -214,7 +214,12 @@ app.get('/check-auth', authenticateToken, async (req, res) => { if (rows.length === 0 || new Date() > new Date(rows[0].expiration_date)) { return res.status(403).json({ error: '账户已过期或无效' }); } - res.json({ isAuthenticated: true, username: req.user.username, level: req.user.level }); + res.json({ + isAuthenticated: true, + username: req.user.username, + level: req.user.level, + organization: req.user.organization, + }); } catch (error) { log(`检查认证状态失败: ${error}`); res.status(500).json({ error: '检查认证状态失败' }); diff --git a/farmeworkapi/license/husky.lic b/farmeworkapi/license/husky.lic index b140c2c..9ad0ca2 100644 --- a/farmeworkapi/license/husky.lic +++ b/farmeworkapi/license/husky.lic @@ -1,4 +1,4 @@ { - "payload": "eyJtb2RlbCI6IkVTVC0xMDBEIiwidXNlciI6Iuemj+W7uuaKgOW4iOWtpumZoiIsImhhcmR3YXJlX2lkIjoiaHVza3kiLCJzZXJpYWwiOiJTTi1TSkZCVTZOSy02NTMwNjkiLCJhY3RpdmF0aW9uX2NvZGUiOiJBQ1QtTThBRTY2LVdONzgiLCJhY3RpdmF0ZWRfYXQiOiIyMDI1LTEyLTExVDA5OjAwOjU0Ljg1M1oiLCJleHBpcmVzX2F0IjoiMjI5OS0wOS0yNVQwOTowMDo1NC44NTNaIiwiZ29sZF9zZXJ2aWNlX2V4cGlyZXNfYXQiOiIyMDI2LTEyLTExVDA5OjAwOjU0Ljg1NFoiLCJpc3N1ZWRfYXQiOiIyMDI1LTEyLTExVDA5OjAwOjU0Ljg1NFoiLCJpc3N1ZXIiOiLkuIrmtbfmnJflnaTkv6Hmga/ns7vnu5/mnInpmZDlhazlj7gifQ==", - "signature": "PuQHV90aRuJ58o1+drSkBZy/yWbh3jhVuJIrxGbK0nfCH+FEZLTd4KUyrHUQ+EnHyWn3lxHJXKNkVvZ/f20cTPz57nITFf7uTD9BItFgMAaSgR6OVvM6K0hHtA1yjyYWJuqODM8ENATI/KZ7XAsfcqMI2dOochtUq1fJiEAmoGHp3B1APA5jp6/+Hjjx+HOaeEg5P74iYlkaJijfbtTSma+IWx+iz7FN5Uw6GnY3bt9MWFGCQMoXe295gV2bu00qmPo5G0tylm7oOe5A6TvkXj1D9FlZi8ZXkoV0ygvCAeswCiRqx5V0Yt08k4L93HO58Y3T6/NV5W/Jr4AB1To0Kg==" + "payload": "eyJtb2RlbCI6IkVTVC0xMDBFIiwidXNlciI6Imh1c2t5IiwiaGFyZHdhcmVfaWQiOiJodXNreSIsInNlcmlhbCI6Imh1c2t5IiwiYWN0aXZhdGlvbl9jb2RlIjoiaHVza3kiLCJhY3RpdmF0ZWRfYXQiOiIyMDI1LTEyLTE2VDAzOjE2OjQ2LjQyNFoiLCJleHBpcmVzX2F0IjoiMjI5OS0wOS0zMFQwMzoxNjo0Ni40MjRaIiwiZ29sZF9zZXJ2aWNlX2V4cGlyZXNfYXQiOiIyMDMwLTEyLTE1VDAzOjE2OjQ2LjQyNFoiLCJpc3N1ZWRfYXQiOiIyMDI1LTEyLTE2VDAzOjE2OjQ2LjQyNFoiLCJpc3N1ZXIiOiLkuIrmtbfmnJflnaTkv6Hmga/ns7vnu5/mnInpmZDlhazlj7gifQ==", + "signature": "ouduGot27udHqDP+MeTAgGvF+Tv4UYA4aVWj5W4In+jvMrCWTQtADOG7J+FkqJ3HWLtQrr5GcE1a6YvVWtaw+XkqNabLMez6o5OwETnSJ6BQw6t+6CLJ9IG8iKeM9SlB4oRAabTjAMtBE/PDUHbdVursO/cFhlQhE1gY+8fkf51v65Zos1vnXTmqwu4mo/pla9Mt0aMlvEOMtA5V6gV9Zr18mv9jL2oUkIQBZna6wnh3V3M+xMoPb1TvXiysrJBVCU0Ta/dIE9tDBcwRimJESBm4IPXnwVc52iNAKeWWeUgCkV2N50Yhv0DgiIXT8QWXRDw9PMITbVGcUYEcX+wZ6A==" } \ No newline at end of file diff --git a/farmeworkapi/online_data.json b/farmeworkapi/online_data.json index 3d4aa75..ee0cdfc 100644 --- a/farmeworkapi/online_data.json +++ b/farmeworkapi/online_data.json @@ -1 +1 @@ -{"history":[{"time":"2025-12-15T06:23:06.510Z","count":0,"users":[]},{"time":"2025-12-15T06:23:16.515Z","count":0,"users":[]},{"time":"2025-12-15T06:23:26.515Z","count":0,"users":[]},{"time":"2025-12-15T06:23:36.525Z","count":0,"users":[]},{"time":"2025-12-15T06:23:46.535Z","count":0,"users":[]},{"time":"2025-12-15T06:23:56.535Z","count":0,"users":[]},{"time":"2025-12-15T06:24:06.545Z","count":0,"users":[]},{"time":"2025-12-15T06:24:16.556Z","count":0,"users":[]},{"time":"2025-12-15T06:24:26.556Z","count":0,"users":[]},{"time":"2025-12-15T06:24:36.556Z","count":0,"users":[]},{"time":"2025-12-15T06:24:46.562Z","count":0,"users":[]},{"time":"2025-12-15T06:24:56.562Z","count":0,"users":[]},{"time":"2025-12-15T06:25:06.572Z","count":0,"users":[]},{"time":"2025-12-15T06:25:16.581Z","count":0,"users":[]},{"time":"2025-12-15T06:25:26.581Z","count":0,"users":[]},{"time":"2025-12-15T06:25:36.592Z","count":0,"users":[]},{"time":"2025-12-15T06:25:46.602Z","count":0,"users":[]},{"time":"2025-12-15T06:25:56.602Z","count":0,"users":[]},{"time":"2025-12-15T06:26:06.612Z","count":0,"users":[]},{"time":"2025-12-15T06:26:16.623Z","count":0,"users":[]},{"time":"2025-12-15T06:26:26.624Z","count":0,"users":[]},{"time":"2025-12-15T06:26:36.634Z","count":0,"users":[]},{"time":"2025-12-15T06:26:46.635Z","count":0,"users":[]},{"time":"2025-12-15T06:26:56.635Z","count":0,"users":[]},{"time":"2025-12-15T06:27:06.646Z","count":0,"users":[]},{"time":"2025-12-15T06:27:16.656Z","count":0,"users":[]},{"time":"2025-12-15T06:27:26.656Z","count":0,"users":[]},{"time":"2025-12-15T06:27:36.663Z","count":0,"users":[]},{"time":"2025-12-15T06:27:46.673Z","count":0,"users":[]},{"time":"2025-12-15T06:27:56.673Z","count":0,"users":[]},{"time":"2025-12-15T06:28:06.683Z","count":0,"users":[]},{"time":"2025-12-15T06:28:16.693Z","count":0,"users":[]},{"time":"2025-12-15T06:28:26.693Z","count":0,"users":[]},{"time":"2025-12-15T06:28:36.704Z","count":0,"users":[]},{"time":"2025-12-15T06:28:46.715Z","count":0,"users":[]},{"time":"2025-12-15T06:28:56.714Z","count":0,"users":[]},{"time":"2025-12-15T06:29:06.724Z","count":0,"users":[]},{"time":"2025-12-15T06:29:16.734Z","count":0,"users":[]},{"time":"2025-12-15T06:29:26.734Z","count":0,"users":[]},{"time":"2025-12-15T06:29:36.734Z","count":0,"users":[]},{"time":"2025-12-15T06:29:46.741Z","count":0,"users":[]},{"time":"2025-12-15T06:29:56.742Z","count":0,"users":[]},{"time":"2025-12-15T06:30:06.752Z","count":0,"users":[]},{"time":"2025-12-15T06:30:16.757Z","count":0,"users":[]},{"time":"2025-12-15T06:30:26.757Z","count":0,"users":[]},{"time":"2025-12-15T06:30:36.767Z","count":0,"users":[]},{"time":"2025-12-15T06:30:46.777Z","count":0,"users":[]},{"time":"2025-12-15T06:30:56.777Z","count":0,"users":[]},{"time":"2025-12-15T06:31:06.787Z","count":0,"users":[]},{"time":"2025-12-15T06:31:16.797Z","count":0,"users":[]},{"time":"2025-12-15T06:31:26.797Z","count":0,"users":[]},{"time":"2025-12-15T06:31:36.807Z","count":0,"users":[]},{"time":"2025-12-15T06:31:46.817Z","count":0,"users":[]},{"time":"2025-12-15T06:31:56.817Z","count":0,"users":[]},{"time":"2025-12-15T06:32:06.822Z","count":0,"users":[]},{"time":"2025-12-15T06:32:16.832Z","count":0,"users":[]},{"time":"2025-12-15T06:32:26.832Z","count":0,"users":[]},{"time":"2025-12-15T06:32:36.842Z","count":0,"users":[]},{"time":"2025-12-15T06:32:46.852Z","count":0,"users":[]},{"time":"2025-12-15T06:32:56.852Z","count":0,"users":[]},{"time":"2025-12-15T06:33:06.862Z","count":0,"users":[]},{"time":"2025-12-15T06:33:16.872Z","count":0,"users":[]},{"time":"2025-12-15T06:33:26.872Z","count":0,"users":[]},{"time":"2025-12-15T06:33:36.882Z","count":0,"users":[]},{"time":"2025-12-15T06:33:46.889Z","count":0,"users":[]},{"time":"2025-12-15T06:33:56.889Z","count":0,"users":[]},{"time":"2025-12-15T06:34:06.899Z","count":0,"users":[]},{"time":"2025-12-15T06:34:16.905Z","count":0,"users":[]},{"time":"2025-12-15T06:34:26.905Z","count":0,"users":[]},{"time":"2025-12-15T06:34:36.915Z","count":0,"users":[]},{"time":"2025-12-15T06:34:46.920Z","count":0,"users":[]},{"time":"2025-12-15T06:34:56.920Z","count":0,"users":[]},{"time":"2025-12-15T06:35:06.930Z","count":0,"users":[]},{"time":"2025-12-15T06:35:16.940Z","count":0,"users":[]},{"time":"2025-12-15T06:35:26.941Z","count":0,"users":[]},{"time":"2025-12-15T06:35:36.949Z","count":0,"users":[]},{"time":"2025-12-15T06:35:46.957Z","count":0,"users":[]},{"time":"2025-12-15T06:35:56.957Z","count":0,"users":[]},{"time":"2025-12-15T06:36:06.965Z","count":0,"users":[]},{"time":"2025-12-15T06:36:16.975Z","count":0,"users":[]},{"time":"2025-12-15T06:36:26.975Z","count":0,"users":[]},{"time":"2025-12-15T06:36:36.981Z","count":0,"users":[]},{"time":"2025-12-15T06:36:46.990Z","count":0,"users":[]},{"time":"2025-12-15T06:36:56.990Z","count":0,"users":[]},{"time":"2025-12-15T06:37:06.997Z","count":0,"users":[]},{"time":"2025-12-15T06:37:17.007Z","count":0,"users":[]},{"time":"2025-12-15T06:37:27.008Z","count":0,"users":[]},{"time":"2025-12-15T06:37:37.013Z","count":0,"users":[]},{"time":"2025-12-15T06:37:47.014Z","count":0,"users":[]},{"time":"2025-12-15T06:37:57.014Z","count":0,"users":[]},{"time":"2025-12-15T06:38:07.014Z","count":0,"users":[]},{"time":"2025-12-15T06:38:17.024Z","count":0,"users":[]},{"time":"2025-12-15T06:38:27.025Z","count":0,"users":[]},{"time":"2025-12-15T06:38:37.031Z","count":0,"users":[]},{"time":"2025-12-15T06:38:47.041Z","count":0,"users":[]},{"time":"2025-12-15T06:38:57.041Z","count":0,"users":[]},{"time":"2025-12-15T06:39:07.051Z","count":0,"users":[]},{"time":"2025-12-15T06:39:17.062Z","count":0,"users":[]},{"time":"2025-12-15T06:39:27.063Z","count":0,"users":[]},{"time":"2025-12-15T06:39:37.063Z","count":0,"users":[]},{"time":"2025-12-15T06:39:47.073Z","count":0,"users":[]},{"time":"2025-12-15T06:39:57.073Z","count":0,"users":[]},{"time":"2025-12-15T06:40:07.083Z","count":0,"users":[]},{"time":"2025-12-15T06:40:17.093Z","count":0,"users":[]},{"time":"2025-12-15T06:40:27.094Z","count":0,"users":[]},{"time":"2025-12-15T06:40:37.104Z","count":0,"users":[]},{"time":"2025-12-15T06:40:47.114Z","count":0,"users":[]},{"time":"2025-12-15T06:40:57.115Z","count":0,"users":[]},{"time":"2025-12-15T06:41:07.125Z","count":0,"users":[]},{"time":"2025-12-15T06:41:17.131Z","count":0,"users":[]},{"time":"2025-12-15T06:41:27.131Z","count":0,"users":[]},{"time":"2025-12-15T06:41:37.141Z","count":0,"users":[]},{"time":"2025-12-15T06:41:47.142Z","count":0,"users":[]},{"time":"2025-12-15T06:41:57.143Z","count":0,"users":[]},{"time":"2025-12-15T06:42:07.153Z","count":0,"users":[]},{"time":"2025-12-15T06:42:17.153Z","count":0,"users":[]},{"time":"2025-12-15T06:42:27.154Z","count":0,"users":[]},{"time":"2025-12-15T06:42:37.164Z","count":0,"users":[]},{"time":"2025-12-15T06:42:47.174Z","count":0,"users":[]},{"time":"2025-12-15T06:42:57.174Z","count":0,"users":[]},{"time":"2025-12-15T06:43:07.184Z","count":0,"users":[]},{"time":"2025-12-15T06:43:17.194Z","count":0,"users":[]},{"time":"2025-12-15T06:43:27.195Z","count":0,"users":[]},{"time":"2025-12-15T06:43:37.204Z","count":0,"users":[]},{"time":"2025-12-15T06:43:47.214Z","count":0,"users":[]},{"time":"2025-12-15T06:43:57.214Z","count":0,"users":[]},{"time":"2025-12-15T06:44:07.221Z","count":0,"users":[]},{"time":"2025-12-15T06:44:17.222Z","count":0,"users":[]},{"time":"2025-12-15T06:44:27.222Z","count":0,"users":[]},{"time":"2025-12-15T06:44:37.222Z","count":0,"users":[]},{"time":"2025-12-15T06:44:47.232Z","count":0,"users":[]},{"time":"2025-12-15T06:44:57.233Z","count":0,"users":[]},{"time":"2025-12-15T06:45:07.243Z","count":0,"users":[]},{"time":"2025-12-15T06:45:17.253Z","count":0,"users":[]},{"time":"2025-12-15T06:45:27.254Z","count":0,"users":[]},{"time":"2025-12-15T06:45:37.264Z","count":0,"users":[]},{"time":"2025-12-15T06:45:47.274Z","count":0,"users":[]},{"time":"2025-12-15T06:45:57.274Z","count":0,"users":[]},{"time":"2025-12-15T06:46:07.280Z","count":0,"users":[]},{"time":"2025-12-15T06:46:17.290Z","count":0,"users":[]},{"time":"2025-12-15T06:46:27.291Z","count":0,"users":[]},{"time":"2025-12-15T06:46:37.291Z","count":0,"users":[]},{"time":"2025-12-15T06:46:47.301Z","count":0,"users":[]},{"time":"2025-12-15T06:46:57.302Z","count":0,"users":[]},{"time":"2025-12-15T06:47:07.313Z","count":0,"users":[]},{"time":"2025-12-15T06:47:17.323Z","count":0,"users":[]},{"time":"2025-12-15T06:47:27.323Z","count":0,"users":[]},{"time":"2025-12-15T06:47:37.333Z","count":0,"users":[]},{"time":"2025-12-15T06:47:47.342Z","count":0,"users":[]},{"time":"2025-12-15T06:47:57.342Z","count":0,"users":[]},{"time":"2025-12-15T06:48:07.349Z","count":0,"users":[]},{"time":"2025-12-15T06:48:17.359Z","count":0,"users":[]},{"time":"2025-12-15T06:48:27.359Z","count":0,"users":[]},{"time":"2025-12-15T06:48:37.369Z","count":0,"users":[]},{"time":"2025-12-15T06:48:47.369Z","count":0,"users":[]},{"time":"2025-12-15T06:48:57.369Z","count":0,"users":[]},{"time":"2025-12-15T06:49:07.379Z","count":0,"users":[]},{"time":"2025-12-15T06:49:17.389Z","count":0,"users":[]},{"time":"2025-12-15T06:49:27.390Z","count":0,"users":[]},{"time":"2025-12-15T06:49:37.400Z","count":0,"users":[]},{"time":"2025-12-15T06:49:47.411Z","count":0,"users":[]},{"time":"2025-12-15T06:49:57.412Z","count":0,"users":[]},{"time":"2025-12-15T06:50:07.413Z","count":0,"users":[]},{"time":"2025-12-15T06:50:17.423Z","count":0,"users":[]},{"time":"2025-12-15T06:50:27.424Z","count":0,"users":[]},{"time":"2025-12-15T06:50:37.431Z","count":0,"users":[]},{"time":"2025-12-15T06:50:47.436Z","count":0,"users":[]},{"time":"2025-12-15T06:50:57.436Z","count":0,"users":[]},{"time":"2025-12-15T06:51:07.445Z","count":0,"users":[]},{"time":"2025-12-15T06:51:17.450Z","count":0,"users":[]},{"time":"2025-12-15T06:51:27.451Z","count":0,"users":[]},{"time":"2025-12-15T06:51:37.452Z","count":0,"users":[]},{"time":"2025-12-15T06:51:47.462Z","count":0,"users":[]},{"time":"2025-12-15T06:51:57.462Z","count":0,"users":[]},{"time":"2025-12-15T06:52:07.466Z","count":0,"users":[]},{"time":"2025-12-15T06:52:17.477Z","count":0,"users":[]},{"time":"2025-12-15T06:52:27.478Z","count":0,"users":[]},{"time":"2025-12-15T06:52:37.478Z","count":0,"users":[]},{"time":"2025-12-15T06:52:47.485Z","count":0,"users":[]},{"time":"2025-12-15T06:52:57.485Z","count":0,"users":[]},{"time":"2025-12-15T06:53:07.495Z","count":0,"users":[]},{"time":"2025-12-15T06:53:17.505Z","count":0,"users":[]},{"time":"2025-12-15T06:53:27.505Z","count":0,"users":[]},{"time":"2025-12-15T06:53:37.515Z","count":0,"users":[]},{"time":"2025-12-15T06:53:47.525Z","count":0,"users":[]},{"time":"2025-12-15T06:53:57.526Z","count":0,"users":[]},{"time":"2025-12-15T06:54:07.536Z","count":0,"users":[]},{"time":"2025-12-15T06:54:17.545Z","count":0,"users":[]},{"time":"2025-12-15T06:54:27.546Z","count":0,"users":[]},{"time":"2025-12-15T06:54:37.556Z","count":0,"users":[]},{"time":"2025-12-15T06:54:47.557Z","count":0,"users":[]},{"time":"2025-12-15T06:54:57.558Z","count":0,"users":[]},{"time":"2025-12-15T06:55:07.563Z","count":0,"users":[]},{"time":"2025-12-15T06:55:17.564Z","count":0,"users":[]},{"time":"2025-12-15T06:55:27.565Z","count":0,"users":[]},{"time":"2025-12-15T06:55:37.566Z","count":0,"users":[]},{"time":"2025-12-15T06:55:47.576Z","count":0,"users":[]},{"time":"2025-12-15T06:55:57.577Z","count":0,"users":[]},{"time":"2025-12-15T06:56:07.586Z","count":0,"users":[]},{"time":"2025-12-15T06:56:17.589Z","count":0,"users":[]},{"time":"2025-12-15T06:56:27.589Z","count":0,"users":[]},{"time":"2025-12-15T06:56:37.599Z","count":0,"users":[]},{"time":"2025-12-15T06:56:47.609Z","count":0,"users":[]},{"time":"2025-12-15T06:56:57.610Z","count":0,"users":[]},{"time":"2025-12-15T06:57:07.610Z","count":0,"users":[]},{"time":"2025-12-15T06:57:17.618Z","count":0,"users":[]},{"time":"2025-12-15T06:57:27.618Z","count":0,"users":[]},{"time":"2025-12-15T06:57:37.628Z","count":0,"users":[]},{"time":"2025-12-15T06:57:47.638Z","count":0,"users":[]},{"time":"2025-12-15T06:57:57.638Z","count":0,"users":[]},{"time":"2025-12-15T06:58:07.648Z","count":0,"users":[]},{"time":"2025-12-15T06:58:17.648Z","count":0,"users":[]},{"time":"2025-12-15T06:58:27.649Z","count":0,"users":[]},{"time":"2025-12-15T06:58:37.659Z","count":0,"users":[]},{"time":"2025-12-15T06:58:47.669Z","count":0,"users":[]},{"time":"2025-12-15T06:58:57.670Z","count":0,"users":[]},{"time":"2025-12-15T06:59:07.680Z","count":0,"users":[]},{"time":"2025-12-15T06:59:17.690Z","count":0,"users":[]},{"time":"2025-12-15T06:59:27.691Z","count":0,"users":[]},{"time":"2025-12-15T06:59:37.692Z","count":0,"users":[]},{"time":"2025-12-15T06:59:47.702Z","count":0,"users":[]},{"time":"2025-12-15T06:59:57.703Z","count":0,"users":[]},{"time":"2025-12-15T07:00:07.713Z","count":0,"users":[]},{"time":"2025-12-15T07:00:17.723Z","count":0,"users":[]},{"time":"2025-12-15T07:00:27.724Z","count":0,"users":[]},{"time":"2025-12-15T07:00:37.734Z","count":0,"users":[]},{"time":"2025-12-15T07:00:47.745Z","count":0,"users":[]},{"time":"2025-12-15T07:00:57.746Z","count":0,"users":[]},{"time":"2025-12-15T07:01:07.748Z","count":0,"users":[]},{"time":"2025-12-15T07:01:17.754Z","count":0,"users":[]},{"time":"2025-12-15T07:01:27.754Z","count":0,"users":[]},{"time":"2025-12-15T07:01:37.757Z","count":0,"users":[]},{"time":"2025-12-15T07:01:47.768Z","count":0,"users":[]},{"time":"2025-12-15T07:01:57.769Z","count":0,"users":[]},{"time":"2025-12-15T07:02:07.771Z","count":0,"users":[]},{"time":"2025-12-15T07:02:17.781Z","count":0,"users":[]},{"time":"2025-12-15T07:02:27.781Z","count":0,"users":[]},{"time":"2025-12-15T07:02:37.791Z","count":0,"users":[]},{"time":"2025-12-15T07:02:47.791Z","count":0,"users":[]},{"time":"2025-12-15T07:02:57.791Z","count":0,"users":[]},{"time":"2025-12-15T07:03:07.801Z","count":0,"users":[]},{"time":"2025-12-15T07:03:17.811Z","count":0,"users":[]},{"time":"2025-12-15T07:03:27.812Z","count":0,"users":[]},{"time":"2025-12-15T07:03:37.822Z","count":0,"users":[]},{"time":"2025-12-15T07:03:47.829Z","count":0,"users":[]},{"time":"2025-12-15T07:03:57.830Z","count":0,"users":[]},{"time":"2025-12-15T07:04:07.840Z","count":0,"users":[]},{"time":"2025-12-15T07:04:17.848Z","count":0,"users":[]},{"time":"2025-12-15T07:04:27.848Z","count":0,"users":[]},{"time":"2025-12-15T07:04:37.854Z","count":0,"users":[]},{"time":"2025-12-15T07:04:47.865Z","count":0,"users":[]},{"time":"2025-12-15T07:04:57.865Z","count":0,"users":[]},{"time":"2025-12-15T07:05:07.875Z","count":0,"users":[]},{"time":"2025-12-15T07:05:17.885Z","count":0,"users":[]},{"time":"2025-12-15T07:05:27.886Z","count":0,"users":[]},{"time":"2025-12-15T07:05:37.896Z","count":0,"users":[]},{"time":"2025-12-15T07:05:47.899Z","count":0,"users":[]},{"time":"2025-12-15T07:05:57.900Z","count":0,"users":[]},{"time":"2025-12-15T07:06:07.903Z","count":0,"users":[]},{"time":"2025-12-15T07:06:17.909Z","count":0,"users":[]},{"time":"2025-12-15T07:06:27.910Z","count":0,"users":[]},{"time":"2025-12-15T07:06:37.920Z","count":0,"users":[]},{"time":"2025-12-15T07:06:47.925Z","count":0,"users":[]},{"time":"2025-12-15T07:06:57.925Z","count":0,"users":[]},{"time":"2025-12-15T07:07:07.935Z","count":0,"users":[]},{"time":"2025-12-15T07:07:17.945Z","count":0,"users":[]},{"time":"2025-12-15T07:07:27.945Z","count":0,"users":[]},{"time":"2025-12-15T07:07:37.955Z","count":0,"users":[]},{"time":"2025-12-15T07:07:47.965Z","count":0,"users":[]},{"time":"2025-12-15T07:07:57.966Z","count":0,"users":[]},{"time":"2025-12-15T07:08:07.976Z","count":0,"users":[]},{"time":"2025-12-15T07:08:17.986Z","count":0,"users":[]},{"time":"2025-12-15T07:08:27.986Z","count":0,"users":[]},{"time":"2025-12-15T07:08:37.996Z","count":0,"users":[]},{"time":"2025-12-15T07:08:48.006Z","count":0,"users":[]},{"time":"2025-12-15T07:08:58.006Z","count":0,"users":[]},{"time":"2025-12-15T07:09:08.016Z","count":0,"users":[]},{"time":"2025-12-15T07:09:18.021Z","count":0,"users":[]},{"time":"2025-12-15T07:09:28.022Z","count":0,"users":[]},{"time":"2025-12-15T07:09:38.032Z","count":0,"users":[]},{"time":"2025-12-15T07:09:48.032Z","count":0,"users":[]},{"time":"2025-12-15T07:09:58.033Z","count":0,"users":[]},{"time":"2025-12-15T07:10:08.043Z","count":0,"users":[]},{"time":"2025-12-15T07:10:18.044Z","count":0,"users":[]},{"time":"2025-12-15T07:10:28.044Z","count":0,"users":[]},{"time":"2025-12-15T07:10:38.055Z","count":0,"users":[]},{"time":"2025-12-15T07:10:48.056Z","count":0,"users":[]},{"time":"2025-12-15T07:10:58.057Z","count":0,"users":[]},{"time":"2025-12-15T07:11:08.066Z","count":0,"users":[]},{"time":"2025-12-15T07:11:18.075Z","count":0,"users":[]},{"time":"2025-12-15T07:11:28.076Z","count":0,"users":[]},{"time":"2025-12-15T07:11:38.086Z","count":0,"users":[]},{"time":"2025-12-15T07:11:48.096Z","count":0,"users":[]},{"time":"2025-12-15T07:11:58.097Z","count":0,"users":[]},{"time":"2025-12-15T07:12:08.103Z","count":0,"users":[]},{"time":"2025-12-15T07:12:18.113Z","count":0,"users":[]},{"time":"2025-12-15T07:12:28.113Z","count":0,"users":[]},{"time":"2025-12-15T07:12:38.118Z","count":0,"users":[]},{"time":"2025-12-15T07:12:48.128Z","count":0,"users":[]},{"time":"2025-12-15T07:12:58.128Z","count":0,"users":[]},{"time":"2025-12-15T07:13:08.138Z","count":0,"users":[]},{"time":"2025-12-15T07:13:18.148Z","count":0,"users":[]},{"time":"2025-12-15T07:13:28.149Z","count":0,"users":[]},{"time":"2025-12-15T07:13:38.154Z","count":0,"users":[]},{"time":"2025-12-15T07:13:48.163Z","count":0,"users":[]},{"time":"2025-12-15T07:13:58.164Z","count":0,"users":[]},{"time":"2025-12-15T07:14:08.174Z","count":0,"users":[]},{"time":"2025-12-15T07:14:18.184Z","count":0,"users":[]},{"time":"2025-12-15T07:14:28.185Z","count":0,"users":[]},{"time":"2025-12-15T07:14:38.195Z","count":0,"users":[]},{"time":"2025-12-15T07:14:48.205Z","count":0,"users":[]},{"time":"2025-12-15T07:14:58.206Z","count":0,"users":[]},{"time":"2025-12-15T07:15:08.216Z","count":0,"users":[]},{"time":"2025-12-15T07:15:18.226Z","count":0,"users":[]},{"time":"2025-12-15T07:15:28.227Z","count":0,"users":[]},{"time":"2025-12-15T07:15:38.238Z","count":0,"users":[]},{"time":"2025-12-15T07:15:48.245Z","count":0,"users":[]},{"time":"2025-12-15T07:15:58.246Z","count":0,"users":[]},{"time":"2025-12-15T07:16:08.256Z","count":0,"users":[]},{"time":"2025-12-15T07:16:18.266Z","count":0,"users":[]},{"time":"2025-12-15T07:16:28.266Z","count":0,"users":[]},{"time":"2025-12-15T07:16:38.276Z","count":0,"users":[]},{"time":"2025-12-15T07:16:48.286Z","count":0,"users":[]},{"time":"2025-12-15T07:16:58.287Z","count":0,"users":[]},{"time":"2025-12-15T07:17:08.296Z","count":0,"users":[]},{"time":"2025-12-15T07:17:18.306Z","count":0,"users":[]},{"time":"2025-12-15T07:17:28.306Z","count":0,"users":[]},{"time":"2025-12-15T07:17:38.316Z","count":0,"users":[]},{"time":"2025-12-15T07:17:48.318Z","count":0,"users":[]},{"time":"2025-12-15T07:17:58.319Z","count":0,"users":[]},{"time":"2025-12-15T07:18:08.328Z","count":0,"users":[]},{"time":"2025-12-15T07:18:18.338Z","count":0,"users":[]},{"time":"2025-12-15T07:18:28.338Z","count":0,"users":[]},{"time":"2025-12-15T07:18:38.338Z","count":0,"users":[]},{"time":"2025-12-15T07:18:48.348Z","count":0,"users":[]},{"time":"2025-12-15T07:18:58.349Z","count":0,"users":[]},{"time":"2025-12-15T07:19:08.350Z","count":0,"users":[]},{"time":"2025-12-15T07:19:18.352Z","count":0,"users":[]},{"time":"2025-12-15T07:19:28.353Z","count":0,"users":[]},{"time":"2025-12-15T07:19:38.356Z","count":0,"users":[]},{"time":"2025-12-15T07:19:48.366Z","count":0,"users":[]},{"time":"2025-12-15T07:19:58.368Z","count":0,"users":[]},{"time":"2025-12-15T07:20:08.379Z","count":0,"users":[]},{"time":"2025-12-15T07:20:18.387Z","count":0,"users":[]},{"time":"2025-12-15T07:20:28.388Z","count":0,"users":[]},{"time":"2025-12-15T07:20:38.398Z","count":0,"users":[]},{"time":"2025-12-15T07:20:48.408Z","count":0,"users":[]},{"time":"2025-12-15T07:20:58.409Z","count":0,"users":[]},{"time":"2025-12-15T07:21:08.419Z","count":0,"users":[]},{"time":"2025-12-15T07:21:18.426Z","count":0,"users":[]},{"time":"2025-12-15T07:21:28.427Z","count":0,"users":[]},{"time":"2025-12-15T07:21:38.437Z","count":0,"users":[]},{"time":"2025-12-15T07:21:48.447Z","count":0,"users":[]},{"time":"2025-12-15T07:21:58.448Z","count":0,"users":[]},{"time":"2025-12-15T07:22:08.449Z","count":0,"users":[]},{"time":"2025-12-15T07:22:18.453Z","count":0,"users":[]},{"time":"2025-12-15T07:22:28.454Z","count":0,"users":[]},{"time":"2025-12-15T07:22:38.464Z","count":0,"users":[]},{"time":"2025-12-15T07:22:48.474Z","count":0,"users":[]},{"time":"2025-12-15T07:22:58.475Z","count":0,"users":[]},{"time":"2025-12-15T07:23:08.476Z","count":0,"users":[]},{"time":"2025-12-15T07:23:18.486Z","count":0,"users":[]},{"time":"2025-12-15T07:23:28.487Z","count":0,"users":[]},{"time":"2025-12-15T07:23:38.493Z","count":0,"users":[]},{"time":"2025-12-15T07:23:48.493Z","count":0,"users":[]},{"time":"2025-12-15T07:23:58.494Z","count":0,"users":[]},{"time":"2025-12-15T07:24:08.504Z","count":0,"users":[]},{"time":"2025-12-15T07:24:18.505Z","count":0,"users":[]},{"time":"2025-12-15T07:24:28.506Z","count":0,"users":[]},{"time":"2025-12-15T07:24:38.514Z","count":0,"users":[]},{"time":"2025-12-15T07:24:48.524Z","count":0,"users":[]},{"time":"2025-12-15T07:24:58.526Z","count":0,"users":[]},{"time":"2025-12-15T07:25:08.530Z","count":0,"users":[]},{"time":"2025-12-15T07:25:18.533Z","count":0,"users":[]},{"time":"2025-12-15T07:25:28.533Z","count":0,"users":[]},{"time":"2025-12-15T07:25:38.543Z","count":0,"users":[]},{"time":"2025-12-15T07:25:48.553Z","count":0,"users":[]},{"time":"2025-12-15T07:25:58.554Z","count":0,"users":[]},{"time":"2025-12-15T07:26:08.564Z","count":0,"users":[]},{"time":"2025-12-15T07:26:18.575Z","count":0,"users":[]},{"time":"2025-12-15T07:26:28.576Z","count":0,"users":[]},{"time":"2025-12-15T07:26:38.586Z","count":0,"users":[]},{"time":"2025-12-15T07:26:48.596Z","count":0,"users":[]},{"time":"2025-12-15T07:26:58.597Z","count":0,"users":[]},{"time":"2025-12-15T07:27:08.597Z","count":0,"users":[]},{"time":"2025-12-15T07:27:18.602Z","count":0,"users":[]},{"time":"2025-12-15T07:27:28.604Z","count":0,"users":[]},{"time":"2025-12-15T07:27:38.614Z","count":0,"users":[]},{"time":"2025-12-15T07:27:48.624Z","count":0,"users":[]},{"time":"2025-12-15T07:27:58.625Z","count":0,"users":[]},{"time":"2025-12-15T07:28:08.635Z","count":0,"users":[]},{"time":"2025-12-15T07:28:18.645Z","count":0,"users":[]},{"time":"2025-12-15T07:28:28.645Z","count":0,"users":[]},{"time":"2025-12-15T07:28:38.647Z","count":0,"users":[]},{"time":"2025-12-15T07:28:48.656Z","count":0,"users":[]},{"time":"2025-12-15T07:28:58.656Z","count":0,"users":[]},{"time":"2025-12-15T07:29:08.666Z","count":0,"users":[]},{"time":"2025-12-15T07:29:18.676Z","count":0,"users":[]},{"time":"2025-12-15T07:29:28.677Z","count":0,"users":[]},{"time":"2025-12-15T07:29:38.688Z","count":0,"users":[]},{"time":"2025-12-15T07:29:48.698Z","count":0,"users":[]},{"time":"2025-12-15T07:29:58.700Z","count":0,"users":[]},{"time":"2025-12-15T07:30:08.710Z","count":0,"users":[]},{"time":"2025-12-15T07:30:18.720Z","count":0,"users":[]},{"time":"2025-12-15T07:30:28.721Z","count":0,"users":[]},{"time":"2025-12-15T07:30:38.731Z","count":0,"users":[]},{"time":"2025-12-15T07:30:48.741Z","count":0,"users":[]},{"time":"2025-12-15T07:30:58.742Z","count":0,"users":[]},{"time":"2025-12-15T07:31:08.742Z","count":0,"users":[]},{"time":"2025-12-15T07:31:18.752Z","count":0,"users":[]},{"time":"2025-12-15T07:31:28.753Z","count":0,"users":[]},{"time":"2025-12-15T07:31:38.764Z","count":0,"users":[]},{"time":"2025-12-15T07:31:48.774Z","count":0,"users":[]},{"time":"2025-12-15T07:31:58.775Z","count":0,"users":[]},{"time":"2025-12-15T07:32:08.781Z","count":0,"users":[]},{"time":"2025-12-15T07:32:18.791Z","count":0,"users":[]},{"time":"2025-12-15T07:32:28.793Z","count":0,"users":[]},{"time":"2025-12-15T07:32:38.797Z","count":0,"users":[]},{"time":"2025-12-15T07:32:48.800Z","count":0,"users":[]},{"time":"2025-12-15T07:32:58.802Z","count":0,"users":[]},{"time":"2025-12-15T07:33:08.802Z","count":0,"users":[]},{"time":"2025-12-15T07:33:18.811Z","count":0,"users":[]},{"time":"2025-12-15T07:33:28.812Z","count":0,"users":[]},{"time":"2025-12-15T07:33:38.822Z","count":0,"users":[]},{"time":"2025-12-15T07:33:48.822Z","count":0,"users":[]},{"time":"2025-12-15T07:33:58.823Z","count":0,"users":[]},{"time":"2025-12-15T07:34:08.826Z","count":0,"users":[]},{"time":"2025-12-15T07:34:18.826Z","count":0,"users":[]},{"time":"2025-12-15T07:34:28.827Z","count":0,"users":[]},{"time":"2025-12-15T07:34:38.831Z","count":0,"users":[]},{"time":"2025-12-15T07:34:48.835Z","count":0,"users":[]},{"time":"2025-12-15T07:34:58.836Z","count":0,"users":[]},{"time":"2025-12-15T07:35:08.836Z","count":0,"users":[]},{"time":"2025-12-15T07:35:18.837Z","count":0,"users":[]},{"time":"2025-12-15T07:35:28.837Z","count":0,"users":[]},{"time":"2025-12-15T07:35:38.843Z","count":0,"users":[]},{"time":"2025-12-15T07:35:48.845Z","count":0,"users":[]},{"time":"2025-12-15T07:35:58.846Z","count":0,"users":[]},{"time":"2025-12-15T07:36:08.855Z","count":0,"users":[]},{"time":"2025-12-15T07:36:18.863Z","count":0,"users":[]},{"time":"2025-12-15T07:36:28.864Z","count":0,"users":[]},{"time":"2025-12-15T07:36:38.869Z","count":0,"users":[]},{"time":"2025-12-15T07:36:48.877Z","count":0,"users":[]},{"time":"2025-12-15T07:36:58.879Z","count":0,"users":[]},{"time":"2025-12-15T07:37:08.889Z","count":0,"users":[]},{"time":"2025-12-15T07:37:18.899Z","count":0,"users":[]},{"time":"2025-12-15T07:37:28.900Z","count":0,"users":[]},{"time":"2025-12-15T07:37:38.909Z","count":0,"users":[]},{"time":"2025-12-15T07:37:48.915Z","count":0,"users":[]},{"time":"2025-12-15T07:37:58.917Z","count":0,"users":[]},{"time":"2025-12-15T07:38:08.927Z","count":0,"users":[]},{"time":"2025-12-15T07:38:18.938Z","count":0,"users":[]},{"time":"2025-12-15T07:38:28.938Z","count":0,"users":[]},{"time":"2025-12-15T07:38:38.939Z","count":0,"users":[]},{"time":"2025-12-15T07:38:48.949Z","count":0,"users":[]},{"time":"2025-12-15T07:38:58.951Z","count":0,"users":[]},{"time":"2025-12-15T07:39:08.961Z","count":0,"users":[]},{"time":"2025-12-15T07:39:18.971Z","count":0,"users":[]},{"time":"2025-12-15T07:39:28.972Z","count":0,"users":[]},{"time":"2025-12-15T07:39:38.984Z","count":0,"users":[]},{"time":"2025-12-15T07:39:48.994Z","count":0,"users":[]},{"time":"2025-12-15T07:39:58.995Z","count":0,"users":[]},{"time":"2025-12-15T07:40:09.005Z","count":0,"users":[]},{"time":"2025-12-15T07:40:19.016Z","count":0,"users":[]},{"time":"2025-12-15T07:40:29.018Z","count":0,"users":[]},{"time":"2025-12-15T07:40:39.028Z","count":0,"users":[]},{"time":"2025-12-15T07:40:49.036Z","count":0,"users":[]},{"time":"2025-12-15T07:40:59.038Z","count":0,"users":[]},{"time":"2025-12-15T07:41:09.045Z","count":0,"users":[]},{"time":"2025-12-15T07:41:19.055Z","count":0,"users":[]},{"time":"2025-12-15T07:41:29.056Z","count":0,"users":[]},{"time":"2025-12-15T07:41:39.061Z","count":0,"users":[]},{"time":"2025-12-15T07:41:49.071Z","count":0,"users":[]},{"time":"2025-12-15T07:41:59.072Z","count":0,"users":[]},{"time":"2025-12-15T07:42:09.082Z","count":0,"users":[]},{"time":"2025-12-15T07:42:19.091Z","count":0,"users":[]},{"time":"2025-12-15T07:42:29.091Z","count":0,"users":[]},{"time":"2025-12-15T07:42:39.093Z","count":0,"users":[]},{"time":"2025-12-15T07:42:49.103Z","count":0,"users":[]},{"time":"2025-12-15T07:42:59.105Z","count":0,"users":[]},{"time":"2025-12-15T07:43:09.109Z","count":0,"users":[]},{"time":"2025-12-15T07:43:19.119Z","count":0,"users":[]},{"time":"2025-12-15T07:43:29.120Z","count":0,"users":[]},{"time":"2025-12-15T07:43:39.130Z","count":0,"users":[]},{"time":"2025-12-15T07:43:49.140Z","count":0,"users":[]},{"time":"2025-12-15T07:43:59.141Z","count":0,"users":[]},{"time":"2025-12-15T07:44:09.151Z","count":0,"users":[]},{"time":"2025-12-15T07:44:19.161Z","count":0,"users":[]},{"time":"2025-12-15T07:44:29.162Z","count":0,"users":[]},{"time":"2025-12-15T07:44:39.172Z","count":0,"users":[]},{"time":"2025-12-15T07:44:49.182Z","count":0,"users":[]},{"time":"2025-12-15T07:44:59.184Z","count":0,"users":[]},{"time":"2025-12-15T07:45:09.194Z","count":0,"users":[]},{"time":"2025-12-15T07:45:19.204Z","count":0,"users":[]},{"time":"2025-12-15T07:45:29.205Z","count":0,"users":[]},{"time":"2025-12-15T07:45:39.215Z","count":0,"users":[]},{"time":"2025-12-15T07:45:49.216Z","count":0,"users":[]},{"time":"2025-12-15T07:45:59.218Z","count":0,"users":[]},{"time":"2025-12-15T07:46:09.225Z","count":0,"users":[]},{"time":"2025-12-15T07:46:19.233Z","count":0,"users":[]},{"time":"2025-12-15T07:46:29.235Z","count":0,"users":[]},{"time":"2025-12-15T07:46:39.239Z","count":0,"users":[]},{"time":"2025-12-15T07:46:49.249Z","count":0,"users":[]},{"time":"2025-12-15T07:46:59.250Z","count":0,"users":[]},{"time":"2025-12-15T07:47:09.255Z","count":0,"users":[]},{"time":"2025-12-15T07:47:19.255Z","count":0,"users":[]},{"time":"2025-12-15T07:47:29.256Z","count":0,"users":[]},{"time":"2025-12-15T07:47:39.267Z","count":0,"users":[]},{"time":"2025-12-15T07:47:49.277Z","count":0,"users":[]},{"time":"2025-12-15T07:47:59.279Z","count":0,"users":[]},{"time":"2025-12-15T07:48:09.289Z","count":0,"users":[]},{"time":"2025-12-15T07:48:19.299Z","count":0,"users":[]},{"time":"2025-12-15T07:48:29.300Z","count":0,"users":[]},{"time":"2025-12-15T07:48:39.311Z","count":0,"users":[]},{"time":"2025-12-15T07:48:49.311Z","count":0,"users":[]},{"time":"2025-12-15T07:48:59.312Z","count":0,"users":[]},{"time":"2025-12-15T07:49:09.317Z","count":0,"users":[]},{"time":"2025-12-15T07:49:19.320Z","count":0,"users":[]},{"time":"2025-12-15T07:49:29.322Z","count":0,"users":[]},{"time":"2025-12-15T07:49:39.332Z","count":0,"users":[]},{"time":"2025-12-15T07:49:49.332Z","count":0,"users":[]},{"time":"2025-12-15T07:49:59.334Z","count":0,"users":[]},{"time":"2025-12-15T07:50:09.338Z","count":0,"users":[]},{"time":"2025-12-15T07:50:19.348Z","count":0,"users":[]},{"time":"2025-12-15T07:50:29.350Z","count":0,"users":[]},{"time":"2025-12-15T07:50:39.354Z","count":0,"users":[]},{"time":"2025-12-15T07:50:49.364Z","count":0,"users":[]},{"time":"2025-12-15T07:50:59.365Z","count":0,"users":[]},{"time":"2025-12-15T07:51:09.375Z","count":0,"users":[]},{"time":"2025-12-15T07:51:19.385Z","count":0,"users":[]},{"time":"2025-12-15T07:51:29.386Z","count":0,"users":[]},{"time":"2025-12-15T07:51:39.389Z","count":0,"users":[]},{"time":"2025-12-15T07:51:49.389Z","count":0,"users":[]},{"time":"2025-12-15T07:51:59.391Z","count":0,"users":[]},{"time":"2025-12-15T07:52:09.401Z","count":0,"users":[]},{"time":"2025-12-15T07:52:19.411Z","count":0,"users":[]},{"time":"2025-12-15T07:52:29.413Z","count":0,"users":[]},{"time":"2025-12-15T07:52:39.414Z","count":0,"users":[]},{"time":"2025-12-15T07:52:49.424Z","count":0,"users":[]},{"time":"2025-12-15T07:52:59.425Z","count":0,"users":[]},{"time":"2025-12-15T07:53:09.431Z","count":0,"users":[]},{"time":"2025-12-15T07:53:19.442Z","count":0,"users":[]},{"time":"2025-12-15T07:53:29.444Z","count":0,"users":[]},{"time":"2025-12-15T07:53:39.454Z","count":0,"users":[]},{"time":"2025-12-15T07:53:49.464Z","count":0,"users":[]},{"time":"2025-12-15T07:53:59.466Z","count":0,"users":[]},{"time":"2025-12-15T07:54:09.466Z","count":0,"users":[]},{"time":"2025-12-15T07:54:19.471Z","count":0,"users":[]},{"time":"2025-12-15T07:54:29.472Z","count":0,"users":[]},{"time":"2025-12-15T07:54:39.482Z","count":0,"users":[]},{"time":"2025-12-15T07:54:49.492Z","count":0,"users":[]},{"time":"2025-12-15T07:54:59.493Z","count":0,"users":[]},{"time":"2025-12-15T07:55:09.503Z","count":0,"users":[]},{"time":"2025-12-15T07:55:19.514Z","count":0,"users":[]},{"time":"2025-12-15T07:55:29.515Z","count":0,"users":[]}],"users":[]} \ No newline at end of file +{"history":[{"time":"2025-12-25T03:27:56.330Z","count":0,"users":[]},{"time":"2025-12-25T03:28:06.330Z","count":0,"users":[]},{"time":"2025-12-25T03:28:16.334Z","count":0,"users":[]},{"time":"2025-12-25T03:28:26.334Z","count":0,"users":[]},{"time":"2025-12-25T03:28:36.334Z","count":0,"users":[]},{"time":"2025-12-25T03:28:46.341Z","count":0,"users":[]},{"time":"2025-12-25T03:28:56.343Z","count":0,"users":[]},{"time":"2025-12-25T03:29:06.351Z","count":0,"users":[]},{"time":"2025-12-25T03:29:16.351Z","count":0,"users":[]},{"time":"2025-12-25T03:29:26.352Z","count":0,"users":[]},{"time":"2025-12-25T03:29:36.355Z","count":0,"users":[]},{"time":"2025-12-25T03:29:46.355Z","count":0,"users":[]},{"time":"2025-12-25T03:29:56.355Z","count":0,"users":[]},{"time":"2025-12-25T03:30:06.357Z","count":0,"users":[]},{"time":"2025-12-25T03:30:16.362Z","count":0,"users":[]},{"time":"2025-12-25T03:30:26.362Z","count":0,"users":[]},{"time":"2025-12-25T03:30:36.372Z","count":0,"users":[]},{"time":"2025-12-25T03:30:46.372Z","count":0,"users":[]},{"time":"2025-12-25T03:30:56.374Z","count":0,"users":[]},{"time":"2025-12-25T03:31:06.379Z","count":0,"users":[]},{"time":"2025-12-25T03:31:16.380Z","count":0,"users":[]},{"time":"2025-12-25T03:31:26.380Z","count":0,"users":[]},{"time":"2025-12-25T03:31:36.389Z","count":0,"users":[]},{"time":"2025-12-25T03:31:46.389Z","count":0,"users":[]},{"time":"2025-12-25T03:31:56.389Z","count":0,"users":[]},{"time":"2025-12-25T03:32:06.389Z","count":0,"users":[]},{"time":"2025-12-25T03:32:16.389Z","count":0,"users":[]}],"users":[]} \ No newline at end of file diff --git a/farmeworkapi/server.log b/farmeworkapi/server.log index 7a40e60..2559393 100644 --- a/farmeworkapi/server.log +++ b/farmeworkapi/server.log @@ -3584,3 +3584,397 @@ "issuer": "上海朗坤信息系统有限公司" } 2025-12-15T06:22:56.524Z - License 验证完成 +2025-12-16T01:33:21.862Z - 正在验证 License 文件... +2025-12-16T01:33:21.868Z - 验证最新的 License 文件: husky.lic +2025-12-16T01:33:21.872Z - Error connecting to the database: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-16T01:33:21.873Z - Error connecting to the SurveyKing database: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-16T01:33:21.877Z - 成功读取公钥文件 pub.pem +2025-12-16T01:33:21.880Z - License 验证成功: husky.lic +2025-12-16T01:33:21.880Z - License 信息: { + "model": "EST-100D", + "user": "福建技师学院", + "hardware_id": "husky", + "serial": "SN-SJFBU6NK-653069", + "activation_code": "ACT-M8AE66-WN78", + "activated_at": "2025-12-11T09:00:54.853Z", + "expires_at": "2299-09-25T09:00:54.853Z", + "gold_service_expires_at": "2026-12-11T09:00:54.854Z", + "issued_at": "2025-12-11T09:00:54.854Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-16T01:33:21.880Z - License 验证完成 +2025-12-16T03:15:11.024Z - 正在验证 License 文件... +2025-12-16T03:15:11.028Z - 验证最新的 License 文件: husky.lic +2025-12-16T03:15:11.031Z - Error connecting to the database: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-16T03:15:11.031Z - Error connecting to the SurveyKing database: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-16T03:15:11.033Z - 成功读取公钥文件 pub.pem +2025-12-16T03:15:11.038Z - License 验证成功: husky.lic +2025-12-16T03:15:11.038Z - License 信息: { + "model": "EST-100D", + "user": "福建技师学院", + "hardware_id": "husky", + "serial": "SN-SJFBU6NK-653069", + "activation_code": "ACT-M8AE66-WN78", + "activated_at": "2025-12-11T09:00:54.853Z", + "expires_at": "2299-09-25T09:00:54.853Z", + "gold_service_expires_at": "2026-12-11T09:00:54.854Z", + "issued_at": "2025-12-11T09:00:54.854Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-16T03:15:11.038Z - License 验证完成 +2025-12-16T03:17:02.956Z - 检测到 license 目录变化: rename - husky.lic +2025-12-16T03:17:02.956Z - 未找到任何 License 文件 +2025-12-16T03:17:04.768Z - 检测到 license 目录变化: rename - husky.lic +2025-12-16T03:17:04.768Z - 验证最新的 License 文件: husky.lic +2025-12-16T03:17:04.769Z - 成功读取公钥文件 pub.pem +2025-12-16T03:17:04.770Z - 验证 License 文件失败 (husky.lic): Unexpected end of JSON input +2025-12-16T03:17:04.770Z - License 验证失败: husky.lic +2025-12-16T03:17:04.770Z - 签名验证失败 +2025-12-16T03:17:04.770Z - 硬件码不匹配 +2025-12-16T03:17:04.770Z - 错误信息: Unexpected end of JSON input +2025-12-16T03:17:04.781Z - 检测到 license 目录变化: change - husky.lic +2025-12-16T03:17:04.782Z - 验证最新的 License 文件: husky.lic +2025-12-16T03:17:04.782Z - 成功读取公钥文件 pub.pem +2025-12-16T03:17:04.783Z - License 验证成功: husky.lic +2025-12-16T03:17:04.783Z - License 信息: { + "model": "EST-100E", + "user": "husky", + "hardware_id": "husky", + "serial": "husky", + "activation_code": "husky", + "activated_at": "2025-12-16T03:16:46.424Z", + "expires_at": "2299-09-30T03:16:46.424Z", + "gold_service_expires_at": "2030-12-15T03:16:46.424Z", + "issued_at": "2025-12-16T03:16:46.424Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-16T03:17:13.188Z - 正在验证 License 文件... +2025-12-16T03:17:13.192Z - 验证最新的 License 文件: husky.lic +2025-12-16T03:17:13.195Z - Error connecting to the database: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-16T03:17:13.196Z - Error connecting to the SurveyKing database: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-16T03:17:13.197Z - 成功读取公钥文件 pub.pem +2025-12-16T03:17:13.201Z - License 验证成功: husky.lic +2025-12-16T03:17:13.201Z - License 信息: { + "model": "EST-100E", + "user": "husky", + "hardware_id": "husky", + "serial": "husky", + "activation_code": "husky", + "activated_at": "2025-12-16T03:16:46.424Z", + "expires_at": "2299-09-30T03:16:46.424Z", + "gold_service_expires_at": "2030-12-15T03:16:46.424Z", + "issued_at": "2025-12-16T03:16:46.424Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-16T03:17:13.201Z - License 验证完成 +2025-12-16T05:31:30.236Z - 正在验证 License 文件... +2025-12-16T05:31:30.241Z - 验证最新的 License 文件: husky.lic +2025-12-16T05:31:30.243Z - Error connecting to the database: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-16T05:31:30.244Z - Error connecting to the SurveyKing database: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-16T05:31:30.245Z - 成功读取公钥文件 pub.pem +2025-12-16T05:31:30.249Z - License 验证成功: husky.lic +2025-12-16T05:31:30.250Z - License 信息: { + "model": "EST-100E", + "user": "husky", + "hardware_id": "husky", + "serial": "husky", + "activation_code": "husky", + "activated_at": "2025-12-16T03:16:46.424Z", + "expires_at": "2299-09-30T03:16:46.424Z", + "gold_service_expires_at": "2030-12-15T03:16:46.424Z", + "issued_at": "2025-12-16T03:16:46.424Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-16T05:31:30.250Z - License 验证完成 +2025-12-16T05:54:55.556Z - 正在验证 License 文件... +2025-12-16T05:54:55.560Z - 验证最新的 License 文件: husky.lic +2025-12-16T05:54:55.563Z - Error connecting to the database: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-16T05:54:55.563Z - Error connecting to the SurveyKing database: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-16T05:54:55.566Z - 成功读取公钥文件 pub.pem +2025-12-16T05:54:55.570Z - License 验证成功: husky.lic +2025-12-16T05:54:55.570Z - License 信息: { + "model": "EST-100E", + "user": "husky", + "hardware_id": "husky", + "serial": "husky", + "activation_code": "husky", + "activated_at": "2025-12-16T03:16:46.424Z", + "expires_at": "2299-09-30T03:16:46.424Z", + "gold_service_expires_at": "2030-12-15T03:16:46.424Z", + "issued_at": "2025-12-16T03:16:46.424Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-16T05:54:55.570Z - License 验证完成 +2025-12-16T06:27:43.636Z - 正在验证 License 文件... +2025-12-16T06:27:43.640Z - 验证最新的 License 文件: husky.lic +2025-12-16T06:27:43.643Z - Error connecting to the database: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-16T06:27:43.643Z - Error connecting to the SurveyKing database: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-16T06:27:43.645Z - 成功读取公钥文件 pub.pem +2025-12-16T06:27:43.651Z - License 验证成功: husky.lic +2025-12-16T06:27:43.651Z - License 信息: { + "model": "EST-100E", + "user": "husky", + "hardware_id": "husky", + "serial": "husky", + "activation_code": "husky", + "activated_at": "2025-12-16T03:16:46.424Z", + "expires_at": "2299-09-30T03:16:46.424Z", + "gold_service_expires_at": "2030-12-15T03:16:46.424Z", + "issued_at": "2025-12-16T03:16:46.424Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-16T06:27:43.651Z - License 验证完成 +2025-12-16T07:29:50.484Z - 正在验证 License 文件... +2025-12-16T07:29:50.489Z - 验证最新的 License 文件: husky.lic +2025-12-16T07:29:50.491Z - Error connecting to the database: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-16T07:29:50.492Z - Error connecting to the SurveyKing database: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-16T07:29:50.494Z - 成功读取公钥文件 pub.pem +2025-12-16T07:29:50.497Z - License 验证成功: husky.lic +2025-12-16T07:29:50.497Z - License 信息: { + "model": "EST-100E", + "user": "husky", + "hardware_id": "husky", + "serial": "husky", + "activation_code": "husky", + "activated_at": "2025-12-16T03:16:46.424Z", + "expires_at": "2299-09-30T03:16:46.424Z", + "gold_service_expires_at": "2030-12-15T03:16:46.424Z", + "issued_at": "2025-12-16T03:16:46.424Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-16T07:29:50.497Z - License 验证完成 +2025-12-22T03:03:12.172Z - 正在验证 License 文件... +2025-12-22T03:03:12.177Z - 验证最新的 License 文件: husky.lic +2025-12-22T03:03:12.179Z - Error connecting to the database: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-22T03:03:12.180Z - Error connecting to the SurveyKing database: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-22T03:03:12.182Z - 成功读取公钥文件 pub.pem +2025-12-22T03:03:12.186Z - License 验证成功: husky.lic +2025-12-22T03:03:12.186Z - License 信息: { + "model": "EST-100E", + "user": "husky", + "hardware_id": "husky", + "serial": "husky", + "activation_code": "husky", + "activated_at": "2025-12-16T03:16:46.424Z", + "expires_at": "2299-09-30T03:16:46.424Z", + "gold_service_expires_at": "2030-12-15T03:16:46.424Z", + "issued_at": "2025-12-16T03:16:46.424Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-22T03:03:12.187Z - License 验证完成 +2025-12-22T05:20:18.444Z - Login attempt for: admin +2025-12-22T05:20:18.446Z - 登录失败: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-22T05:20:21.066Z - Login attempt for: admin +2025-12-22T05:20:21.068Z - 登录失败: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-22T05:20:24.434Z - Login attempt for: admin +2025-12-22T05:20:24.435Z - 登录失败: Error: connect ECONNREFUSED 192.168.5.129:3306 +2025-12-22T05:21:18.449Z - 正在验证 License 文件... +2025-12-22T05:21:18.454Z - 验证最新的 License 文件: husky.lic +2025-12-22T05:21:18.455Z - 成功读取公钥文件 pub.pem +2025-12-22T05:21:18.459Z - License 验证成功: husky.lic +2025-12-22T05:21:18.460Z - License 信息: { + "model": "EST-100E", + "user": "husky", + "hardware_id": "husky", + "serial": "husky", + "activation_code": "husky", + "activated_at": "2025-12-16T03:16:46.424Z", + "expires_at": "2299-09-30T03:16:46.424Z", + "gold_service_expires_at": "2030-12-15T03:16:46.424Z", + "issued_at": "2025-12-16T03:16:46.424Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-22T05:21:18.460Z - License 验证完成 +2025-12-22T05:21:28.426Z - Error connecting to the database: Error: connect ETIMEDOUT +2025-12-22T05:21:28.427Z - Error connecting to the SurveyKing database: Error: connect ETIMEDOUT +2025-12-22T05:21:46.236Z - 正在验证 License 文件... +2025-12-22T05:21:46.240Z - 验证最新的 License 文件: husky.lic +2025-12-22T05:21:46.243Z - 成功读取公钥文件 pub.pem +2025-12-22T05:21:46.247Z - License 验证成功: husky.lic +2025-12-22T05:21:46.247Z - License 信息: { + "model": "EST-100E", + "user": "husky", + "hardware_id": "husky", + "serial": "husky", + "activation_code": "husky", + "activated_at": "2025-12-16T03:16:46.424Z", + "expires_at": "2299-09-30T03:16:46.424Z", + "gold_service_expires_at": "2030-12-15T03:16:46.424Z", + "issued_at": "2025-12-16T03:16:46.424Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-22T05:21:46.247Z - License 验证完成 +2025-12-22T05:21:47.603Z - Successfully connected to the SurveyKing database. +2025-12-22T05:21:47.603Z - Successfully connected to the database. +2025-12-22T05:21:52.692Z - 正在验证 License 文件... +2025-12-22T05:21:52.697Z - 验证最新的 License 文件: husky.lic +2025-12-22T05:21:52.707Z - Successfully connected to the database. +2025-12-22T05:21:52.710Z - Successfully connected to the SurveyKing database. +2025-12-22T05:21:52.710Z - 成功读取公钥文件 pub.pem +2025-12-22T05:21:52.714Z - License 验证成功: husky.lic +2025-12-22T05:21:52.714Z - License 信息: { + "model": "EST-100E", + "user": "husky", + "hardware_id": "husky", + "serial": "husky", + "activation_code": "husky", + "activated_at": "2025-12-16T03:16:46.424Z", + "expires_at": "2299-09-30T03:16:46.424Z", + "gold_service_expires_at": "2030-12-15T03:16:46.424Z", + "issued_at": "2025-12-16T03:16:46.424Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-22T05:21:52.714Z - License 验证完成 +2025-12-22T05:21:58.243Z - Login attempt for: admin +2025-12-22T05:21:58.254Z - Database query result: [object Object] +2025-12-22T05:21:58.330Z - Password validation result: true +2025-12-22T05:21:58.337Z - Login successful for user: admin +2025-12-22T05:22:32.473Z - Login attempt for: admin +2025-12-22T05:22:32.475Z - Database query result: [object Object] +2025-12-22T05:22:32.542Z - Password validation result: true +2025-12-22T05:22:32.547Z - Login successful for user: admin +2025-12-22T07:01:51.328Z - 正在验证 License 文件... +2025-12-22T07:01:51.333Z - 验证最新的 License 文件: husky.lic +2025-12-22T07:01:51.347Z - Successfully connected to the database. +2025-12-22T07:01:51.348Z - Successfully connected to the SurveyKing database. +2025-12-22T07:01:51.348Z - 成功读取公钥文件 pub.pem +2025-12-22T07:01:51.350Z - License 验证成功: husky.lic +2025-12-22T07:01:51.350Z - License 信息: { + "model": "EST-100E", + "user": "husky", + "hardware_id": "husky", + "serial": "husky", + "activation_code": "husky", + "activated_at": "2025-12-16T03:16:46.424Z", + "expires_at": "2299-09-30T03:16:46.424Z", + "gold_service_expires_at": "2030-12-15T03:16:46.424Z", + "issued_at": "2025-12-16T03:16:46.424Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-22T07:01:51.350Z - License 验证完成 +2025-12-22T07:02:08.684Z - Login attempt for: admin +2025-12-22T07:02:08.686Z - Database query result: [object Object] +2025-12-22T07:02:08.764Z - Password validation result: true +2025-12-22T07:02:08.769Z - Login successful for user: admin +2025-12-23T02:10:22.581Z - 正在验证 License 文件... +2025-12-23T02:10:22.585Z - 验证最新的 License 文件: husky.lic +2025-12-23T02:10:22.660Z - Successfully connected to the database. +2025-12-23T02:10:22.660Z - Successfully connected to the SurveyKing database. +2025-12-23T02:10:22.660Z - 成功读取公钥文件 pub.pem +2025-12-23T02:10:22.662Z - License 验证成功: husky.lic +2025-12-23T02:10:22.662Z - License 信息: { + "model": "EST-100E", + "user": "husky", + "hardware_id": "husky", + "serial": "husky", + "activation_code": "husky", + "activated_at": "2025-12-16T03:16:46.424Z", + "expires_at": "2299-09-30T03:16:46.424Z", + "gold_service_expires_at": "2030-12-15T03:16:46.424Z", + "issued_at": "2025-12-16T03:16:46.424Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-23T02:10:22.662Z - License 验证完成 +2025-12-23T02:11:42.467Z - Login attempt for: admin +2025-12-23T02:11:42.472Z - Database query result: [object Object] +2025-12-23T02:11:42.545Z - Password validation result: true +2025-12-23T02:11:42.551Z - Login successful for user: admin +2025-12-23T02:12:44.588Z - Login attempt for: admin +2025-12-23T02:12:44.590Z - Database query result: [object Object] +2025-12-23T02:12:44.655Z - Password validation result: true +2025-12-23T02:12:44.660Z - Login successful for user: admin +2025-12-23T03:39:53.446Z - 正在验证 License 文件... +2025-12-23T03:39:53.451Z - 验证最新的 License 文件: husky.lic +2025-12-23T03:39:53.470Z - Successfully connected to the database. +2025-12-23T03:39:53.471Z - 成功读取公钥文件 pub.pem +2025-12-23T03:39:53.471Z - Successfully connected to the SurveyKing database. +2025-12-23T03:39:53.474Z - License 验证成功: husky.lic +2025-12-23T03:39:53.475Z - License 信息: { + "model": "EST-100E", + "user": "husky", + "hardware_id": "husky", + "serial": "husky", + "activation_code": "husky", + "activated_at": "2025-12-16T03:16:46.424Z", + "expires_at": "2299-09-30T03:16:46.424Z", + "gold_service_expires_at": "2030-12-15T03:16:46.424Z", + "issued_at": "2025-12-16T03:16:46.424Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-23T03:39:53.475Z - License 验证完成 +2025-12-23T03:41:07.619Z - 正在验证 License 文件... +2025-12-23T03:41:07.624Z - 验证最新的 License 文件: husky.lic +2025-12-23T03:41:07.636Z - 成功读取公钥文件 pub.pem +2025-12-23T03:41:07.637Z - Successfully connected to the database. +2025-12-23T03:41:07.637Z - Successfully connected to the SurveyKing database. +2025-12-23T03:41:07.641Z - License 验证成功: husky.lic +2025-12-23T03:41:07.641Z - License 信息: { + "model": "EST-100E", + "user": "husky", + "hardware_id": "husky", + "serial": "husky", + "activation_code": "husky", + "activated_at": "2025-12-16T03:16:46.424Z", + "expires_at": "2299-09-30T03:16:46.424Z", + "gold_service_expires_at": "2030-12-15T03:16:46.424Z", + "issued_at": "2025-12-16T03:16:46.424Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-23T03:41:07.641Z - License 验证完成 +2025-12-23T03:42:11.399Z - 正在验证 License 文件... +2025-12-23T03:42:11.403Z - 验证最新的 License 文件: husky.lic +2025-12-23T03:42:11.415Z - 成功读取公钥文件 pub.pem +2025-12-23T03:42:11.416Z - Successfully connected to the database. +2025-12-23T03:42:11.417Z - Successfully connected to the SurveyKing database. +2025-12-23T03:42:11.421Z - License 验证成功: husky.lic +2025-12-23T03:42:11.421Z - License 信息: { + "model": "EST-100E", + "user": "husky", + "hardware_id": "husky", + "serial": "husky", + "activation_code": "husky", + "activated_at": "2025-12-16T03:16:46.424Z", + "expires_at": "2299-09-30T03:16:46.424Z", + "gold_service_expires_at": "2030-12-15T03:16:46.424Z", + "issued_at": "2025-12-16T03:16:46.424Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-23T03:42:11.421Z - License 验证完成 +2025-12-23T05:51:43.029Z - 正在验证 License 文件... +2025-12-23T05:51:43.034Z - 验证最新的 License 文件: husky.lic +2025-12-23T05:51:43.047Z - Successfully connected to the database. +2025-12-23T05:51:43.050Z - Successfully connected to the SurveyKing database. +2025-12-23T05:51:43.051Z - 成功读取公钥文件 pub.pem +2025-12-23T05:51:43.056Z - License 验证成功: husky.lic +2025-12-23T05:51:43.056Z - License 信息: { + "model": "EST-100E", + "user": "husky", + "hardware_id": "husky", + "serial": "husky", + "activation_code": "husky", + "activated_at": "2025-12-16T03:16:46.424Z", + "expires_at": "2299-09-30T03:16:46.424Z", + "gold_service_expires_at": "2030-12-15T03:16:46.424Z", + "issued_at": "2025-12-16T03:16:46.424Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-23T05:51:43.056Z - License 验证完成 +2025-12-25T03:27:46.331Z - 正在验证 License 文件... +2025-12-25T03:27:46.335Z - 验证最新的 License 文件: husky.lic +2025-12-25T03:27:46.348Z - Successfully connected to the database. +2025-12-25T03:27:46.349Z - Successfully connected to the SurveyKing database. +2025-12-25T03:27:46.349Z - 成功读取公钥文件 pub.pem +2025-12-25T03:27:46.351Z - License 验证成功: husky.lic +2025-12-25T03:27:46.351Z - License 信息: { + "model": "EST-100E", + "user": "husky", + "hardware_id": "husky", + "serial": "husky", + "activation_code": "husky", + "activated_at": "2025-12-16T03:16:46.424Z", + "expires_at": "2299-09-30T03:16:46.424Z", + "gold_service_expires_at": "2030-12-15T03:16:46.424Z", + "issued_at": "2025-12-16T03:16:46.424Z", + "issuer": "上海朗坤信息系统有限公司" +} +2025-12-25T03:27:46.351Z - License 验证完成