diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml index 059bfc9..2792f30 100644 --- a/.idea/dataSources.xml +++ b/.idea/dataSources.xml @@ -8,5 +8,12 @@ jdbc:mysql://114.55.111.44:3306/test_mao $ProjectFileDir$ + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://114.55.111.44:3306/mao + $ProjectFileDir$ + \ No newline at end of file diff --git a/database.js b/database.js index a069496..e3348b2 100644 --- a/database.js +++ b/database.js @@ -14,19 +14,19 @@ const dbConfig = { dateStrings: true, // 连接池配置 connectionLimit: 20, // 连接池最大连接数 - queueLimit: 10, // 排队等待连接的最大数量,0表示无限制 + // queueLimit: 10, // 排队等待连接的最大数量,0表示无限制 // 连接超时配置 // acquireTimeout: 60000, // 获取连接超时时间 60秒 // timeout: 60000, // 查询超时时间 60秒 // reconnect: true, // 自动重连 // 连接保活配置 - multipleStatements: true, + // multipleStatements: true, // 空闲连接超时配置 - idleTimeout: 300000, // 5分钟空闲超时 + // idleTimeout: 300000, // 5分钟空闲超时 // maxLifetime: 1800000, // 30分钟最大生命周期 // 连接保活设置 - keepAliveInitialDelay: 0, // 开始保活探测前的延迟时间 - enableKeepAlive: true, // 启用TCP保活 + // keepAliveInitialDelay: 0, // 开始保活探测前的延迟时间 + // enableKeepAlive: true, // 启用TCP保活 // 添加类型转换配置 typeCast: function (field, next) { if (field.type === 'TINY' && field.length === 1) { diff --git a/logs/combined.log b/logs/combined.log index 8528041..3700c94 100644 --- a/logs/combined.log +++ b/logs/combined.log @@ -1988,3 +1988,120 @@ {"error":"read ECONNRESET","ip":"::ffff:192.168.1.124","level":"error","message":"代理身份验证失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at agentAuth (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\agentAuth.js:37:36)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-10 16:10:08"} {"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-10 16:19:17"} {"error":"read ECONNRESET","ip":"::ffff:192.168.1.124","level":"error","message":"代理身份验证失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at agentAuth (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\agentAuth.js:37:36)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-10 16:37:37"} +{"agentId":4,"ip":"::ffff:192.168.1.100","level":"info","message":"代理登录成功","phone":"15867461617","service":"integrated-system","timestamp":"2025-09-10 20:29:02"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:29:03","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"duration":"6ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:29:03","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:29:03","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"duration":"7ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:29:03","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"agentId":4,"ip":"::ffff:192.168.0.2","level":"info","message":"代理登录成功","phone":"15867461617","service":"integrated-system","timestamp":"2025-09-10 20:30:33"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:30:35","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Linux; Android 12; ADA-AL00U Build/HUAWEIADA-AL00U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/138.0.7204.180 Mobile Safari/537.36 XWEB/1380159 MMWEBSDK/20250802 MMWEBID/2967 MicroMessenger/8.0.62.2900(0x28003E59) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64"} +{"duration":"3ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:30:35","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Linux; Android 12; ADA-AL00U Build/HUAWEIADA-AL00U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/138.0.7204.180 Mobile Safari/537.36 XWEB/1380159 MMWEBSDK/20250802 MMWEBID/2967 MicroMessenger/8.0.62.2900(0x28003E59) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:30:35","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Linux; Android 12; ADA-AL00U Build/HUAWEIADA-AL00U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/138.0.7204.180 Mobile Safari/537.36 XWEB/1380159 MMWEBSDK/20250802 MMWEBID/2967 MicroMessenger/8.0.62.2900(0x28003E59) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64"} +{"duration":"5ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:30:35","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Linux; Android 12; ADA-AL00U Build/HUAWEIADA-AL00U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/138.0.7204.180 Mobile Safari/537.36 XWEB/1380159 MMWEBSDK/20250802 MMWEBID/2967 MicroMessenger/8.0.62.2900(0x28003E59) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:31:06","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"duration":"2ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:31:06","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:31:06","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"duration":"1ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:31:06","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:31:34","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Linux; Android 12; ADA-AL00U Build/HUAWEIADA-AL00U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/138.0.7204.180 Mobile Safari/537.36 XWEB/1380159 MMWEBSDK/20250802 MMWEBID/2967 MicroMessenger/8.0.62.2900(0x28003E59) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64"} +{"duration":"3ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:31:34","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Linux; Android 12; ADA-AL00U Build/HUAWEIADA-AL00U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/138.0.7204.180 Mobile Safari/537.36 XWEB/1380159 MMWEBSDK/20250802 MMWEBID/2967 MicroMessenger/8.0.62.2900(0x28003E59) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:31:34","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Linux; Android 12; ADA-AL00U Build/HUAWEIADA-AL00U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/138.0.7204.180 Mobile Safari/537.36 XWEB/1380159 MMWEBSDK/20250802 MMWEBID/2967 MicroMessenger/8.0.62.2900(0x28003E59) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64"} +{"duration":"2ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:31:34","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Linux; Android 12; ADA-AL00U Build/HUAWEIADA-AL00U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/138.0.7204.180 Mobile Safari/537.36 XWEB/1380159 MMWEBSDK/20250802 MMWEBID/2967 MicroMessenger/8.0.62.2900(0x28003E59) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64"} +{"agentId":4,"ip":"::ffff:192.168.0.2","level":"info","message":"代理登录成功","phone":"15867461617","service":"integrated-system","timestamp":"2025-09-10 20:32:08"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:32:10","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Linux; Android 12; HarmonyOS; ADA-AL00U; HMSCore 6.15.0.332) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.8.304 Mobile Safari/537.36"} +{"duration":"4ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:32:10","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Linux; Android 12; HarmonyOS; ADA-AL00U; HMSCore 6.15.0.332) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.8.304 Mobile Safari/537.36"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:32:10","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Linux; Android 12; HarmonyOS; ADA-AL00U; HMSCore 6.15.0.332) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.8.304 Mobile Safari/537.36"} +{"duration":"6ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:32:10","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Linux; Android 12; HarmonyOS; ADA-AL00U; HMSCore 6.15.0.332) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.8.304 Mobile Safari/537.36"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:32:16","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Linux; Android 12; HarmonyOS; ADA-AL00U; HMSCore 6.15.0.332) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.8.304 Mobile Safari/537.36"} +{"duration":"4ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:32:16","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Linux; Android 12; HarmonyOS; ADA-AL00U; HMSCore 6.15.0.332) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.8.304 Mobile Safari/537.36"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:32:16","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Linux; Android 12; HarmonyOS; ADA-AL00U; HMSCore 6.15.0.332) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.8.304 Mobile Safari/537.36"} +{"duration":"7ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:32:16","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Linux; Android 12; HarmonyOS; ADA-AL00U; HMSCore 6.15.0.332) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.8.304 Mobile Safari/537.36"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:35:06","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"duration":"1ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:35:06","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:35:06","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"duration":"2ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:35:06","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:39:46","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"duration":"3ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:39:46","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:39:46","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"duration":"4ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:39:46","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"error":"read ECONNRESET","ip":"::ffff:192.168.1.100","level":"error","message":"代理身份验证失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at agentAuth (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\agentAuth.js:37:36)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-10 20:39:54"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:42:16","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"duration":"1ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:42:16","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:42:16","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"duration":"1ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:42:16","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:42:18","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"duration":"2ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:42:18","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:42:18","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"duration":"1ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:42:18","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:43:46","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"duration":"2ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:43:46","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:43:46","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"duration":"1ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 20:43:46","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 21:01:23","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Linux; Android 12; HarmonyOS; ADA-AL00U; HMSCore 6.15.0.332) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.8.304 Mobile Safari/537.36"} +{"duration":"2ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 21:01:23","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Linux; Android 12; HarmonyOS; ADA-AL00U; HMSCore 6.15.0.332) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.8.304 Mobile Safari/537.36"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 21:01:23","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Linux; Android 12; HarmonyOS; ADA-AL00U; HMSCore 6.15.0.332) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.8.304 Mobile Safari/537.36"} +{"duration":"4ms","ip":"::ffff:127.0.0.1","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":404,"timestamp":"2025-09-10 21:01:23","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Linux; Android 12; HarmonyOS; ADA-AL00U; HMSCore 6.15.0.332) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.8.304 Mobile Safari/537.36"} +{"error":"read ECONNRESET","ip":"::ffff:192.168.0.2","level":"error","message":"代理身份验证失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at agentAuth (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\agentAuth.js:37:36)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-10 21:01:32"} +{"error":"read ECONNRESET","ip":"::ffff:192.168.0.2","level":"error","message":"代理身份验证失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at agentAuth (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\agentAuth.js:37:36)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-10 21:01:32"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 10:12:51"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 11:58:02"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 12:08:02"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 12:18:02"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 12:28:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 12:43:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 12:53:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 13:03:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 13:13:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 13:43:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 13:53:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 14:03:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 14:13:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 14:23:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 14:33:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 14:43:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 14:53:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 15:07:50"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 15:12:50"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 15:22:50"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 15:32:56"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 15:42:50"} +{"duration":"11ms","ip":"::ffff:192.168.1.124","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":401,"timestamp":"2025-09-11 16:37:16","url":"/api/agent/user-growth-trend?days=30","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"} +{"duration":"5ms","ip":"::ffff:192.168.1.124","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":401,"timestamp":"2025-09-11 16:37:16","url":"/api/agent/stats","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"} +{"duration":"2ms","ip":"::ffff:192.168.1.124","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":401,"timestamp":"2025-09-11 16:37:16","url":"/api/agent/commission-trend","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"} +{"duration":"2ms","ip":"::ffff:192.168.1.124","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":401,"timestamp":"2025-09-11 16:37:16","url":"/api/agent/commission-distribution","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"} +{"duration":"1ms","ip":"::ffff:192.168.1.124","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":401,"timestamp":"2025-09-11 16:37:16","url":"/api/agent/recent-users","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"} +{"duration":"1ms","ip":"::ffff:192.168.1.124","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":401,"timestamp":"2025-09-11 16:37:16","url":"/api/agent/recent-commissions","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"} +{"agentId":4,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15867461617","service":"integrated-system","timestamp":"2025-09-11 16:37:31"} +{"error":"read ECONNRESET","ip":"::ffff:192.168.1.124","level":"error","message":"代理身份验证失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at agentAuth (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\agentAuth.js:37:36)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 16:42:54"} +{"error":"read ECONNRESET","ip":"::ffff:192.168.1.124","level":"error","message":"代理身份验证失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at agentAuth (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\agentAuth.js:37:36)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 16:42:54"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 16:47:57"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 16:52:57"} +{"duration":"3ms","ip":"::ffff:192.168.1.124","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":401,"timestamp":"2025-09-12 16:40:28","url":"/api/agents/auth/me","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"} +{"duration":"116ms","ip":"::ffff:192.168.1.124","level":"info","message":"HTTP Request","method":"POST","service":"integrated-system","statusCode":401,"timestamp":"2025-09-15 09:09:47","url":"/api/agents/auth/login","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"} +{"agentId":4,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15867461617","service":"integrated-system","timestamp":"2025-09-15 09:10:08"} +{"agentId":4,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15867461617","service":"integrated-system","timestamp":"2025-09-15 09:11:59"} +{"agentId":4,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15867461617","service":"integrated-system","timestamp":"2025-09-15 09:15:12"} +{"agentId":7,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15168182180","service":"integrated-system","timestamp":"2025-09-15 09:45:39"} +{"agentId":4,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15867461617","service":"integrated-system","timestamp":"2025-09-15 09:50:44"} +{"agentId":7,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15168182180","service":"integrated-system","timestamp":"2025-09-15 09:51:17"} +{"agentId":4,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15867461617","service":"integrated-system","timestamp":"2025-09-15 09:56:13"} +{"agentId":7,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15168182180","service":"integrated-system","timestamp":"2025-09-15 09:56:38"} +{"agentId":4,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15867461617","service":"integrated-system","timestamp":"2025-09-15 10:18:27"} +{"agentId":7,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15168182180","service":"integrated-system","timestamp":"2025-09-15 10:19:54"} +{"agentId":4,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15867461617","service":"integrated-system","timestamp":"2025-09-15 10:22:11"} +{"agentId":4,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15867461617","service":"integrated-system","timestamp":"2025-09-15 10:23:39"} +{"agentId":4,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15867461617","service":"integrated-system","timestamp":"2025-09-15 10:25:53"} +{"agentId":4,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15867461617","service":"integrated-system","timestamp":"2025-09-15 10:28:50"} +{"agentId":4,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15867461617","service":"integrated-system","timestamp":"2025-09-15 10:30:23"} +{"agentId":7,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15168182180","service":"integrated-system","timestamp":"2025-09-15 10:30:50"} +{"agentId":4,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15867461617","service":"integrated-system","timestamp":"2025-09-15 10:36:21"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-15 10:51:43"} +{"agentId":4,"error":"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= ?' at line 7","level":"error","message":"获取代理统计数据失败","service":"integrated-system","stack":"Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= ?' at line 7\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\agent.js:17:39\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at agentAuth (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\agentAuth.js:82:5)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2025-09-15 14:16:52"} +{"duration":"58ms","ip":"::ffff:192.168.1.124","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":500,"timestamp":"2025-09-15 14:16:52","url":"/api/agent/stats","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"} +{"agentId":4,"error":"Bind parameters must not contain undefined. To pass SQL NULL specify JS null","level":"error","message":"获取代理统计数据失败","service":"integrated-system","stack":"Error: Bind parameters must not contain undefined. To pass SQL NULL specify JS null\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\agent.js:29:45\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2025-09-15 14:19:04"} +{"duration":"111ms","ip":"::ffff:192.168.1.124","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":500,"timestamp":"2025-09-15 14:19:04","url":"/api/agent/stats","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"} +{"agentId":4,"error":"Bind parameters must not contain undefined. To pass SQL NULL specify JS null","level":"error","message":"获取代理统计数据失败","service":"integrated-system","stack":"Error: Bind parameters must not contain undefined. To pass SQL NULL specify JS null\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\agent.js:29:45\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2025-09-15 14:19:11"} +{"duration":"36ms","ip":"::ffff:192.168.1.124","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":500,"timestamp":"2025-09-15 14:19:11","url":"/api/agent/stats","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"} +{"agentId":4,"error":"userIds is not defined","level":"error","message":"获取代理统计数据失败","service":"integrated-system","stack":"ReferenceError: userIds is not defined\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\agent.js:26:19\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2025-09-15 14:25:55"} +{"duration":"115ms","ip":"::ffff:192.168.1.124","level":"info","message":"HTTP Request","method":"GET","service":"integrated-system","statusCode":500,"timestamp":"2025-09-15 14:25:55","url":"/api/agent/stats","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"} +{"agentId":7,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15168182180","service":"integrated-system","timestamp":"2025-09-15 15:07:04"} +{"agentId":7,"ip":"::ffff:192.168.1.124","level":"info","message":"代理登录成功","phone":"15168182180","service":"integrated-system","timestamp":"2025-09-15 15:08:48"} diff --git a/logs/error.log b/logs/error.log index 3b40639..79544ab 100644 --- a/logs/error.log +++ b/logs/error.log @@ -967,3 +967,61 @@ {"error":"read ECONNRESET","ip":"::ffff:192.168.1.124","level":"error","message":"代理身份验证失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at agentAuth (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\agentAuth.js:37:36)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-10 16:10:08"} {"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-10 16:19:17"} {"error":"read ECONNRESET","ip":"::ffff:192.168.1.124","level":"error","message":"代理身份验证失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at agentAuth (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\agentAuth.js:37:36)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-10 16:37:37"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:29:03","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:29:03","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:30:35","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Linux; Android 12; ADA-AL00U Build/HUAWEIADA-AL00U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/138.0.7204.180 Mobile Safari/537.36 XWEB/1380159 MMWEBSDK/20250802 MMWEBID/2967 MicroMessenger/8.0.62.2900(0x28003E59) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:30:35","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Linux; Android 12; ADA-AL00U Build/HUAWEIADA-AL00U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/138.0.7204.180 Mobile Safari/537.36 XWEB/1380159 MMWEBSDK/20250802 MMWEBID/2967 MicroMessenger/8.0.62.2900(0x28003E59) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:31:06","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:31:06","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:31:34","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Linux; Android 12; ADA-AL00U Build/HUAWEIADA-AL00U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/138.0.7204.180 Mobile Safari/537.36 XWEB/1380159 MMWEBSDK/20250802 MMWEBID/2967 MicroMessenger/8.0.62.2900(0x28003E59) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:31:34","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Linux; Android 12; ADA-AL00U Build/HUAWEIADA-AL00U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/138.0.7204.180 Mobile Safari/537.36 XWEB/1380159 MMWEBSDK/20250802 MMWEBID/2967 MicroMessenger/8.0.62.2900(0x28003E59) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:32:10","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Linux; Android 12; HarmonyOS; ADA-AL00U; HMSCore 6.15.0.332) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.8.304 Mobile Safari/537.36"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:32:10","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Linux; Android 12; HarmonyOS; ADA-AL00U; HMSCore 6.15.0.332) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.8.304 Mobile Safari/537.36"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:32:16","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Linux; Android 12; HarmonyOS; ADA-AL00U; HMSCore 6.15.0.332) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.8.304 Mobile Safari/537.36"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:32:16","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Linux; Android 12; HarmonyOS; ADA-AL00U; HMSCore 6.15.0.332) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.8.304 Mobile Safari/537.36"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:35:06","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:35:06","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:39:46","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:39:46","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"error":"read ECONNRESET","ip":"::ffff:192.168.1.100","level":"error","message":"代理身份验证失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at agentAuth (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\agentAuth.js:37:36)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-10 20:39:54"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:42:16","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:42:16","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:42:18","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:42:18","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:43:46","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 20:43:46","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755587643290_56041837.jpg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 21:01:23","url":"/uploads/documents/1755587643290_56041837.jpg","userAgent":"Mozilla/5.0 (Linux; Android 12; HarmonyOS; ADA-AL00U; HMSCore 6.15.0.332) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.8.304 Mobile Safari/537.36"} +{"ip":"::ffff:127.0.0.1","level":"error","message":"Error occurred: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到","method":"GET","service":"integrated-system","stack":"Error: 路径 /uploads/documents/1755074106968_37210143.jpeg 未找到\n at notFound (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\errorHandler.js:107:17)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at trim_prefix (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:328:13)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:286:9\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\serve-static\\index.js:121:7)\n at SendStream.emit (node:events:519:28)\n at SendStream.error (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:270:17)\n at SendStream.onStatError (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\send\\index.js:417:12)","timestamp":"2025-09-10 21:01:23","url":"/uploads/documents/1755074106968_37210143.jpeg","userAgent":"Mozilla/5.0 (Linux; Android 12; HarmonyOS; ADA-AL00U; HMSCore 6.15.0.332) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/16.0.8.304 Mobile Safari/537.36"} +{"error":"read ECONNRESET","ip":"::ffff:192.168.0.2","level":"error","message":"代理身份验证失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at agentAuth (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\agentAuth.js:37:36)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-10 21:01:32"} +{"error":"read ECONNRESET","ip":"::ffff:192.168.0.2","level":"error","message":"代理身份验证失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at agentAuth (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\agentAuth.js:37:36)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-10 21:01:32"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 10:12:51"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 11:58:02"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 12:08:02"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 12:18:02"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 12:28:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 12:43:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 12:53:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 13:03:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 13:13:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 13:43:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 13:53:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 14:03:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 14:13:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 14:23:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 14:33:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 14:43:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 14:53:03"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 15:07:50"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 15:12:50"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 15:22:50"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 15:32:56"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 15:42:50"} +{"error":"read ECONNRESET","ip":"::ffff:192.168.1.124","level":"error","message":"代理身份验证失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at agentAuth (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\agentAuth.js:37:36)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 16:42:54"} +{"error":"read ECONNRESET","ip":"::ffff:192.168.1.124","level":"error","message":"代理身份验证失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at agentAuth (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\agentAuth.js:37:36)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 16:42:54"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 16:47:57"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-11 16:52:57"} +{"error":"read ECONNRESET","level":"error","message":"获取代理信息失败","service":"integrated-system","stack":"Error: read ECONNRESET\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\auth.js:160:36\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at Route.dispatch (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:119:3)\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:284:15\n at Function.process_params (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:346:12)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:280:10)\n at Function.handle (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\index.js:175:3)","timestamp":"2025-09-15 10:51:43"} +{"agentId":4,"error":"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= ?' at line 7","level":"error","message":"获取代理统计数据失败","service":"integrated-system","stack":"Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= ?' at line 7\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\agent.js:17:39\n at Layer.handle [as handle_request] (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\layer.js:95:5)\n at next (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\express\\lib\\router\\route.js:149:13)\n at agentAuth (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\middleware\\agentAuth.js:82:5)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2025-09-15 14:16:52"} +{"agentId":4,"error":"Bind parameters must not contain undefined. To pass SQL NULL specify JS null","level":"error","message":"获取代理统计数据失败","service":"integrated-system","stack":"Error: Bind parameters must not contain undefined. To pass SQL NULL specify JS null\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\agent.js:29:45\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2025-09-15 14:19:04"} +{"agentId":4,"error":"Bind parameters must not contain undefined. To pass SQL NULL specify JS null","level":"error","message":"获取代理统计数据失败","service":"integrated-system","stack":"Error: Bind parameters must not contain undefined. To pass SQL NULL specify JS null\n at PromisePool.execute (D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\node_modules\\mysql2\\lib\\promise\\pool.js:54:22)\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\agent.js:29:45\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2025-09-15 14:19:11"} +{"agentId":4,"error":"userIds is not defined","level":"error","message":"获取代理统计数据失败","service":"integrated-system","stack":"ReferenceError: userIds is not defined\n at D:\\work\\客户\\毛总\\code\\jurong_circle_agent_backend\\routes\\agent.js:26:19\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2025-09-15 14:25:55"} diff --git a/middleware/agentAuth.js b/middleware/agentAuth.js index 749232e..c45e7fa 100644 --- a/middleware/agentAuth.js +++ b/middleware/agentAuth.js @@ -1,6 +1,6 @@ const jwt = require('jsonwebtoken'); -const { getDB } = require('../database'); -const { logger } = require('../config/logger'); +const {getDB} = require('../database'); +const {logger} = require('../config/logger'); // JWT密钥 const JWT_SECRET = process.env.JWT_SECRET || 'agent_jwt_secret_key_2024'; @@ -10,105 +10,106 @@ const JWT_SECRET = process.env.JWT_SECRET || 'agent_jwt_secret_key_2024'; * 验证JWT token并确保用户是激活的代理 */ const agentAuth = async (req, res, next) => { - try { - const authHeader = req.header('Authorization'); - - const token = authHeader?.replace('Bearer ', ''); - if (!token) { - return res.status(401).json({ - success: false, - message: '未提供认证令牌' - }); + try { + const authHeader = req.header('Authorization'); + + const token = authHeader?.replace('Bearer ', ''); + if (!token) { + return res.status(401).json({ + success: false, + message: '未提供认证令牌' + }); + } + + // 验证JWT token + const decoded = jwt.verify(token, JWT_SECRET); + + + // 检查是否是代理角色 + if (decoded.role !== 'agent') { + return res.status(403).json({ + success: false, + message: '权限不足,需要代理身份' + }); + } + + // 查询代理信息确认状态 + const [agents] = await getDB().execute(` + SELECT ra.id as agent_id, + ra.user_id, + ra.agent_code, + ra.status, + ra.region_id, + u.phone, + u.real_name, + u.user_type + FROM regional_agents ra + LEFT JOIN users u ON ra.user_id = u.id + WHERE ra.id = ? + `, [decoded.agentId]); + if (agents.length === 0) { + return res.status(401).json({ + success: false, + message: '代理账号不存在' + }); + } + + const agent = agents[0]; + + // 检查代理状态 + if (agent.status !== 'active') { + return res.status(403).json({ + success: false, + message: '代理账号已被禁用或未激活' + }); + } + + // 将代理信息添加到请求对象中 + req.agent = { + id: agent.agent_id, + userId: agent.user_id, + agentCode: agent.agent_code, + regionId: agent.region_id, + phone: agent.phone, + realName: agent.real_name, + userType: agent.user_type, + }; + + req.user = { + id: agent.user_id, + role: 'agent' + }; + + next(); + + } catch (error) { + console.log(error, 'regional_agents'); + + if (error.name === 'JsonWebTokenError') { + return res.status(401).json({ + success: false, + message: '无效的认证令牌1' + }); + } + + if (error.name === 'TokenExpiredError') { + return res.status(401).json({ + success: false, + message: '认证令牌已过期,请重新登录' + }); + } + + logger.error('代理身份验证失败', { + error: error.message, + stack: error.stack, + ip: req.ip + }); + + res.status(500).json({ + success: false, + message: '身份验证失败' + }); } - - // 验证JWT token - const decoded = jwt.verify(token, JWT_SECRET); - - - // 检查是否是代理角色 - if (decoded.role !== 'agent') { - return res.status(403).json({ - success: false, - message: '权限不足,需要代理身份' - }); - } - - // 查询代理信息确认状态 - const [agents] = await getDB().execute(` - SELECT - ra.id as agent_id, - ra.user_id, - ra.agent_code, - ra.status, - ra.region_id, - u.phone, - u.real_name - FROM regional_agents ra - LEFT JOIN users u ON ra.user_id = u.id - WHERE ra.id = ? - `, [decoded.agentId]); - if (agents.length === 0) { - return res.status(401).json({ - success: false, - message: '代理账号不存在' - }); - } - - const agent = agents[0]; - - // 检查代理状态 - if (agent.status !== 'active') { - return res.status(403).json({ - success: false, - message: '代理账号已被禁用或未激活' - }); - } - - // 将代理信息添加到请求对象中 - req.agent = { - id: agent.agent_id, - userId: agent.user_id, - agentCode: agent.agent_code, - regionId: agent.region_id, - phone: agent.phone, - realName: agent.real_name - }; - - req.user = { - id: agent.user_id, - role: 'agent' - }; - - next(); - - } catch (error) { - console.log(error,'regional_agents'); - - if (error.name === 'JsonWebTokenError') { - return res.status(401).json({ - success: false, - message: '无效的认证令牌1' - }); - } - - if (error.name === 'TokenExpiredError') { - return res.status(401).json({ - success: false, - message: '认证令牌已过期,请重新登录' - }); - } - - logger.error('代理身份验证失败', { - error: error.message, - stack: error.stack, - ip: req.ip - }); - - res.status(500).json({ - success: false, - message: '身份验证失败' - }); - } }; /** @@ -116,59 +117,59 @@ const agentAuth = async (req, res, next) => { * 如果提供了token则验证,否则继续执行 */ const optionalAgentAuth = async (req, res, next) => { - try { - const token = req.headers.authorization?.replace('Bearer ', ''); - - if (!token) { - return next(); + try { + const token = req.headers.authorization?.replace('Bearer ', ''); + + if (!token) { + return next(); + } + + // 验证JWT token + const decoded = jwt.verify(token, JWT_SECRET); + + if (decoded.role === 'agent') { + // 查询代理信息 + const [agents] = await getDB().execute(` + SELECT ra.id as agent_id, + ra.user_id, + ra.agent_code, + ra.status, + ra.region_id, + u.phone, + u.real_name + FROM regional_agents ra + LEFT JOIN users u ON ra.user_id = u.id + WHERE ra.id = ? + AND ra.status = 'active' + `, [decoded.agentId]); + + if (agents.length > 0) { + const agent = agents[0]; + req.agent = { + id: agent.agent_id, + userId: agent.user_id, + agentCode: agent.agent_code, + regionId: agent.region_id, + phone: agent.phone, + realName: agent.real_name + }; + + req.user = { + id: agent.user_id, + role: 'agent' + }; + } + } + + next(); + + } catch (error) { + // 可选验证失败时不阻止请求继续 + next(); } - - // 验证JWT token - const decoded = jwt.verify(token, JWT_SECRET); - - if (decoded.role === 'agent') { - // 查询代理信息 - const [agents] = await getDB().execute(` - SELECT - ra.id as agent_id, - ra.user_id, - ra.agent_code, - ra.status, - ra.region_id, - u.phone, - u.real_name - FROM regional_agents ra - LEFT JOIN users u ON ra.user_id = u.id - WHERE ra.id = ? AND ra.status = 'active' - `, [decoded.agentId]); - - if (agents.length > 0) { - const agent = agents[0]; - req.agent = { - id: agent.agent_id, - userId: agent.user_id, - agentCode: agent.agent_code, - regionId: agent.region_id, - phone: agent.phone, - realName: agent.real_name - }; - - req.user = { - id: agent.user_id, - role: 'agent' - }; - } - } - - next(); - - } catch (error) { - // 可选验证失败时不阻止请求继续 - next(); - } }; module.exports = { - agentAuth, - optionalAgentAuth + agentAuth, + optionalAgentAuth }; \ No newline at end of file diff --git a/routes/agent.js b/routes/agent.js index fd18765..1333f63 100644 --- a/routes/agent.js +++ b/routes/agent.js @@ -1,8 +1,8 @@ const express = require('express'); const router = express.Router(); -const { getDB } = require('../database'); -const { agentAuth } = require('../middleware/agentAuth'); -const { logger } = require('../config/logger'); +const {getDB} = require('../database'); +const {agentAuth} = require('../middleware/agentAuth'); +const {logger} = require('../config/logger'); const dayjs = require('dayjs'); /** @@ -10,81 +10,203 @@ const dayjs = require('dayjs'); * GET /api/agent/stats */ router.get('/stats', agentAuth, async (req, res) => { - try { - const agentId = req.agent.id; + try { + const {id: agentId, userId} = req.agent; + console.log(req.agent) - // 获取下级用户统计 - const [userStats] = await getDB().execute(` - SELECT - COUNT(*) as total_users, - COUNT(CASE WHEN DATE(created_at) = CURDATE() THEN 1 END) as today_new_users, - COUNT(CASE WHEN updated_at >= DATE_SUB(NOW(), INTERVAL 7 DAY) THEN 1 END) as active_users, - 0 as total_balance - FROM agent_merchants - WHERE agent_id = ? - `, [agentId]); + // 获取下级用户统计 + const [userStats] = await getDB().execute(` + SELECT COUNT(*) as total_users, + COUNT(CASE WHEN DATE(created_at) = CURDATE() THEN 1 END) as today_new_users + FROM users + WHERE inviter = ? + `, [userId]); + //获取直推用户的分销用户数量 + const [userIds] = await getDB().execute(` + SELECT id + FROM users + WHERE inviter = ? + `, [userId]); + let active_users = 0 + for (const id of userIds) { + const [userTotal] = await getDB().execute(` + SELECT COUNT(*) as total_users + FROM users + WHERE inviter = ? + `, [id]) + active_users += userTotal[0].total_users + } + userStats[0].active_users = active_users; + // 获取佣金统计 + const [commissionStats] = await getDB().execute(` + SELECT COALESCE(SUM(amount), 0) AS total_commission, + COALESCE(SUM(CASE + WHEN created_at >= DATE_FORMAT(CURDATE(), '%Y-%m-01') + AND created_at < DATE_ADD(DATE_FORMAT(CURDATE(), '%Y-%m-01'), INTERVAL 1 MONTH) + THEN amount + END), 0) AS monthly_commission + FROM transfers + WHERE to_user_id = ? + AND transfer_type = 'user_to_agent' + `, [userId]); - // 获取佣金统计 - const [commissionStats] = await getDB().execute(` - SELECT - CAST(COALESCE(SUM(commission_amount), 0) AS DECIMAL(10,2)) as total_commission, - CAST(COALESCE(SUM(CASE WHEN DATE(created_at) = CURDATE() THEN commission_amount ELSE 0 END), 0) AS DECIMAL(10,2)) as today_commission, - CAST(COALESCE(SUM(commission_amount), 0) AS DECIMAL(10,2)) as paid_commission, - 0 as pending_commission - FROM agent_commission_records - WHERE agent_id = ? - `, [agentId]); + // 获取转账统计 + const [transferStats] = await getDB().execute(` + SELECT COUNT(*) as total_transfers, + COUNT(CASE WHEN DATE(t.created_at) = CURDATE() THEN 1 END) as today_transfers, + CAST(COALESCE(SUM(t.amount), 0) AS DECIMAL(10, 2)) as total_amount, + CAST(COALESCE(SUM(CASE WHEN DATE(t.created_at) = CURDATE() THEN t.amount ELSE 0 END), + 0) AS DECIMAL(10, 2)) as today_amount + FROM transfers t + INNER JOIN agent_merchants am ON (t.from_user_id = am.merchant_id OR t.to_user_id = am.merchant_id) + WHERE am.agent_id = ? + `, [agentId]); - // 获取转账统计 - const [transferStats] = await getDB().execute(` - SELECT - COUNT(*) as total_transfers, - COUNT(CASE WHEN DATE(t.created_at) = CURDATE() THEN 1 END) as today_transfers, - CAST(COALESCE(SUM(t.amount), 0) AS DECIMAL(10,2)) as total_amount, - CAST(COALESCE(SUM(CASE WHEN DATE(t.created_at) = CURDATE() THEN t.amount ELSE 0 END), 0) AS DECIMAL(10,2)) as today_amount - FROM transfers t - INNER JOIN agent_merchants am ON (t.from_user_id = am.merchant_id OR t.to_user_id = am.merchant_id) - WHERE am.agent_id = ? - `, [agentId]); + const stats = { + users: userStats[0] || { + total_users: 0, + today_new_users: 0, + active_users: 0 + }, + commissions: commissionStats[0] || { + total_commission: '0.00', + today_commission: '0.00', + paid_commission: '0.00', + monthly_commission: '0.00' + }, + transfers: transferStats[0] || { + total_transfers: 0, + today_transfers: 0, + total_amount: '0.00', + today_amount: '0.00' + } + }; - const stats = { - users: userStats[0] || { - total_users: 0, - today_new_users: 0, - active_users: 0, - total_balance: '0.00' - }, - commissions: commissionStats[0] || { - total_commission: '0.00', - today_commission: '0.00', - paid_commission: '0.00', - pending_commission: '0.00' - }, - transfers: transferStats[0] || { - total_transfers: 0, - today_transfers: 0, - total_amount: '0.00', - today_amount: '0.00' - } - }; + res.json({ + success: true, + data: stats + }); - res.json({ - success: true, - data: stats - }); + } catch (error) { + logger.error('获取代理统计数据失败', { + error: error.message, + stack: error.stack, + agentId: req.agent?.id + }); - } catch (error) { - logger.error('获取代理统计数据失败', { - error: error.message, - stack: error.stack, - agentId: req.agent?.id - }); + res.status(500).json({ + success: false, + message: '获取统计数据失败' + }); + } +}); - res.status(500).json({ - success: false, - message: '获取统计数据失败' - }); - } +/** + * 获取代理统计数据-直营代理 + * GET /api/agent/stats + */ +router.get('/stats_agent_directly', agentAuth, async (req, res) => { + try { + const {id: agentId, userId} = req.agent; + + // 获取直营用户统计 + const [userStats] = await getDB().execute(` + SELECT COUNT(*) as total_directly_agents, + COUNT(CASE WHEN DATE(created_at) = CURDATE() THEN 1 END) as today_new_users + FROM users + WHERE inviter = ? + AND user_type = 'directly_operated' + `, [userId]); + //获取直营用户的分销用户数量 + const [userIds] = await getDB().execute(` + SELECT id + FROM users + WHERE inviter = ? + AND user_type = 'directly_operated' + `, [userId]); + //直营商户人数 + let active_users = 0 + for (const id of userIds) { + const [userTotal] = await getDB().execute(` + SELECT COUNT(*) as total_users + FROM users + WHERE inviter = ? + `, [id]) + active_users += userTotal[0].total_users + } + userStats[0].active_users = active_users; + userStats[0].total_operated = userIds.length; + //直销人员分享人数 + let [agent_share_users] = await getDB().execute(` + SELECT id FROM users WHERE inviter=? AND user_type='user' + `) + let total_share_users = 0 + for (const id of agent_share_users) { + + } + // 获取佣金统计 + const [commissionStats] = await getDB().execute(` + SELECT COALESCE(SUM(amount), 0) AS total_commission, + COALESCE(SUM(CASE + WHEN created_at >= DATE_FORMAT(CURDATE(), '%Y-%m-01') + AND created_at < DATE_ADD(DATE_FORMAT(CURDATE(), '%Y-%m-01'), INTERVAL 1 MONTH) + THEN amount + END), 0) AS monthly_commission + FROM transfers + WHERE to_user_id = ? + AND transfer_type = 'user_to_agent' + `, [userId]); + + // 获取转账统计 + const [transferStats] = await getDB().execute(` + SELECT COUNT(*) as total_transfers, + COUNT(CASE WHEN DATE(t.created_at) = CURDATE() THEN 1 END) as today_transfers, + CAST(COALESCE(SUM(t.amount), 0) AS DECIMAL(10, 2)) as total_amount, + CAST(COALESCE(SUM(CASE WHEN DATE(t.created_at) = CURDATE() THEN t.amount ELSE 0 END), + 0) AS DECIMAL(10, 2)) as today_amount + FROM transfers t + INNER JOIN agent_merchants am ON (t.from_user_id = am.merchant_id OR t.to_user_id = am.merchant_id) + WHERE am.agent_id = ? + `, [agentId]); + + const stats = { + users: userStats[0] || { + total_directly_agents: 0, + today_new_users: 0, + active_users: 0, + total_operated: userIds.length + }, + commissions: commissionStats[0] || { + total_commission: '0.00', + today_commission: '0.00', + paid_commission: '0.00', + monthly_commission: '0.00' + }, + transfers: transferStats[0] || { + total_transfers: 0, + today_transfers: 0, + total_amount: '0.00', + today_amount: '0.00' + } + }; + + res.json({ + success: true, + data: stats + }); + + } catch (error) { + logger.error('获取代理统计数据失败', { + error: error.message, + stack: error.stack, + agentId: req.agent?.id + }); + + res.status(500).json({ + success: false, + message: '获取统计数据失败' + }); + } }); /** @@ -92,112 +214,111 @@ router.get('/stats', agentAuth, async (req, res) => { * GET /api/agent/user-growth-trend */ router.get('/user-growth-trend', agentAuth, async (req, res) => { - try { - const agentId = req.agent.id; - const { days = 7 } = req.query; + try { + const {id: agentId, userId} = req.agent; + const {days = 7} = req.query; - const [trendData] = await getDB().execute(` - SELECT - DATE(created_at) as date, - COUNT(*) as count - FROM agent_merchants - WHERE agent_id = ? - AND created_at >= DATE_SUB(CURDATE(), INTERVAL ? DAY) - GROUP BY DATE(created_at) - ORDER BY date ASC - `, [agentId, parseInt(days)]); - // 填充缺失的日期(注册数为0) - const result = []; + const [trendData] = await getDB().execute(` + SELECT DATE(created_at) as date, + COUNT(*) as count + FROM users + WHERE inviter = ? + AND created_at >= DATE_SUB(CURDATE(), INTERVAL ? DAY) + GROUP BY DATE(created_at) + ORDER BY date ASC + `, [userId, parseInt(days)]); + // 填充缺失的日期(注册数为0) + const result = []; - for (let i = days - 1; i >= 0; i--) { - const date = dayjs().subtract(i, 'day'); - const dateStr = date.format('YYYY-MM-DD'); + for (let i = days - 1; i >= 0; i--) { + const date = dayjs().subtract(i, 'day'); + const dateStr = date.format('YYYY-MM-DD'); - // 修复日期比较:将数据库返回的Date对象转换为字符串进行比较 - const existingData = trendData.find(item => { - const itemDateStr = dayjs(item.date).format('YYYY-MM-DD'); - return itemDateStr === dateStr; - }); + // 修复日期比较:将数据库返回的Date对象转换为字符串进行比较 + const existingData = trendData.find(item => { + const itemDateStr = dayjs(item.date).format('YYYY-MM-DD'); + return itemDateStr === dateStr; + }); - result.push({ - date: date.format('MM-DD'), - count: existingData ? existingData.count : 0 - }); + result.push({ + date: date.format('MM-DD'), + count: existingData ? existingData.count : 0 + }); + } + res.json({ + success: true, + data: result + }); + + } catch (error) { + logger.error('获取用户增长趋势失败', { + error: error.message, + stack: error.stack, + agentId: req.agent?.id + }); + + res.status(500).json({ + success: false, + message: '获取趋势数据失败' + }); } - res.json({ - success: true, - data: result - }); - - } catch (error) { - logger.error('获取用户增长趋势失败', { - error: error.message, - stack: error.stack, - agentId: req.agent?.id - }); - - res.status(500).json({ - success: false, - message: '获取趋势数据失败' - }); - } }); /** - * 获取佣金收入趋势数据 + * 获取营收收入趋势数据 * GET /api/agent/commission-trend */ router.get('/commission-trend', agentAuth, async (req, res) => { - try { - const agentId = req.agent.id; - const { days = 7 } = req.query; + try { + const {id: agentId, userId} = req.agent; + const {days = 7} = req.query; - const [trendData] = await getDB().execute(` - SELECT - DATE(created_at) as date, - CAST(COALESCE(SUM(commission_amount), 0) AS DECIMAL(10,2)) as amount - FROM agent_commission_records - WHERE agent_id = ? - AND created_at >= DATE_SUB(CURDATE(), INTERVAL ? DAY) - GROUP BY DATE(created_at) - ORDER BY date ASC - `, [agentId, parseInt(days)]); + const [trendData] = await getDB().execute(` + SELECT DATE(created_at) as date, + CAST(COALESCE(SUM(amount), 0) AS DECIMAL(10, 2)) as amount + FROM transfers + WHERE to_user_id = ? + AND created_at >= DATE_SUB(CURDATE(), INTERVAL ? DAY) + AND source_type = 'user_to_agent' + GROUP BY DATE(created_at) + ORDER BY date ASC + `, [userId, parseInt(days)]); - // 填充缺失的日期(佣金为0) - const result = []; - - for (let i = days - 1; i >= 0; i--) { - const date = dayjs().subtract(i, 'day'); - const dateStr = date.format('YYYY-MM-DD'); - - const existingData = trendData.find(item => { - const itemDateStr = dayjs(item.date).format('YYYY-MM-DD'); - return itemDateStr === dateStr; - }); - - result.push({ - date: date.format('MM-DD'), - amount: existingData ? parseFloat(existingData.amount) : 0 - }); + // 填充缺失的日期(佣金为0) + const result = []; + + for (let i = days - 1; i >= 0; i--) { + const date = dayjs().subtract(i, 'day'); + const dateStr = date.format('YYYY-MM-DD'); + + const existingData = trendData.find(item => { + const itemDateStr = dayjs(item.date).format('YYYY-MM-DD'); + return itemDateStr === dateStr; + }); + + result.push({ + date: date.format('MM-DD'), + amount: existingData ? parseFloat(existingData.amount) : 0 + }); + } + + res.json({ + success: true, + data: result + }); + + } catch (error) { + logger.error('获取佣金趋势失败', { + error: error.message, + stack: error.stack, + agentId: req.agent?.id + }); + + res.status(500).json({ + success: false, + message: '获取趋势数据失败' + }); } - - res.json({ - success: true, - data: result - }); - - } catch (error) { - logger.error('获取佣金趋势失败', { - error: error.message, - stack: error.stack, - agentId: req.agent?.id - }); - - res.status(500).json({ - success: false, - message: '获取趋势数据失败' - }); - } }); /** @@ -205,88 +326,96 @@ router.get('/commission-trend', agentAuth, async (req, res) => { * GET /api/agent/user-activity */ router.get('/user-activity', agentAuth, async (req, res) => { - try { - const agentId = req.agent.id; - const { days = 7 } = req.query; + try { + const agentId = req.agent.id; + const {days = 7} = req.query; - // 获取活跃用户趋势(基于转账活动) - const [activityTrend] = await getDB().execute(` - SELECT - DATE(t.created_at) as date, - COUNT(DISTINCT CASE WHEN t.from_user_id = am.merchant_id THEN t.from_user_id END) as active_senders, - COUNT(DISTINCT CASE WHEN t.to_user_id = am.merchant_id THEN t.to_user_id END) as active_receivers, - COUNT(DISTINCT am.merchant_id) as total_active_users - FROM transfers t - INNER JOIN agent_merchants am ON (t.from_user_id = am.merchant_id OR t.to_user_id = am.merchant_id) - WHERE am.agent_id = ? - AND t.created_at >= DATE_SUB(CURDATE(), INTERVAL ? DAY) - AND t.status = 'completed' - GROUP BY DATE(t.created_at) - ORDER BY date ASC - `, [agentId, parseInt(days)]); + // 获取活跃用户趋势(基于转账活动) + const [activityTrend] = await getDB().execute(` + SELECT DATE(t.created_at) as date, + COUNT(DISTINCT CASE WHEN t.from_user_id = am.merchant_id THEN t.from_user_id END) as active_senders, + COUNT(DISTINCT CASE + WHEN t.to_user_id = am.merchant_id + THEN t.to_user_id END) as active_receivers, + COUNT(DISTINCT am.merchant_id) as total_active_users + FROM transfers t + INNER JOIN agent_merchants am ON (t.from_user_id = am.merchant_id OR t.to_user_id = am.merchant_id) + WHERE am.agent_id = ? + AND t.created_at >= DATE_SUB(CURDATE(), INTERVAL ? DAY) + AND t.status = 'completed' + GROUP BY DATE(t.created_at) + ORDER BY date ASC + `, [agentId, parseInt(days)]); - // 获取用户活跃度统计 - const [activityStats] = await getDB().execute(` - SELECT - COUNT(DISTINCT am.merchant_id) as total_users, - COUNT(DISTINCT CASE WHEN t.created_at >= DATE_SUB(NOW(), INTERVAL 1 DAY) THEN am.merchant_id END) as daily_active_users, - COUNT(DISTINCT CASE WHEN t.created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY) THEN am.merchant_id END) as weekly_active_users, - COUNT(DISTINCT CASE WHEN t.created_at >= DATE_SUB(NOW(), INTERVAL 30 DAY) THEN am.merchant_id END) as monthly_active_users, - ROUND( - COUNT(DISTINCT CASE WHEN t.created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY) THEN am.merchant_id END) * 100.0 / - NULLIF(COUNT(DISTINCT am.merchant_id), 0), 2 - ) as weekly_activity_rate - FROM agent_merchants am - LEFT JOIN transfers t ON (t.from_user_id = am.merchant_id OR t.to_user_id = am.merchant_id) - AND t.status = 'completed' - WHERE am.agent_id = ? - `, [agentId]); + // 获取用户活跃度统计 + const [activityStats] = await getDB().execute(` + SELECT COUNT(DISTINCT am.merchant_id) as total_users, + COUNT(DISTINCT CASE + WHEN t.created_at >= DATE_SUB(NOW(), INTERVAL 1 DAY) + THEN am.merchant_id END) as daily_active_users, + COUNT(DISTINCT CASE + WHEN t.created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY) + THEN am.merchant_id END) as weekly_active_users, + COUNT(DISTINCT CASE + WHEN t.created_at >= DATE_SUB(NOW(), INTERVAL 30 DAY) + THEN am.merchant_id END) as monthly_active_users, + ROUND( + COUNT(DISTINCT + CASE WHEN t.created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY) THEN am.merchant_id END) * + 100.0 / + NULLIF(COUNT(DISTINCT am.merchant_id), 0), 2 + ) as weekly_activity_rate + FROM agent_merchants am + LEFT JOIN transfers t ON (t.from_user_id = am.merchant_id OR t.to_user_id = am.merchant_id) + AND t.status = 'completed' + WHERE am.agent_id = ? + `, [agentId]); - // 填充缺失的日期 - const trendResult = []; - for (let i = days - 1; i >= 0; i--) { - const date = dayjs().subtract(i, 'day'); - const dateStr = date.format('YYYY-MM-DD'); - - const existingData = activityTrend.find(item => { - const itemDateStr = dayjs(item.date).format('YYYY-MM-DD'); - return itemDateStr === dateStr; - }); - - trendResult.push({ - date: date.format('MM-DD'), - active_users: existingData ? existingData.total_active_users : 0, - active_senders: existingData ? existingData.active_senders : 0, - active_receivers: existingData ? existingData.active_receivers : 0 - }); - } + // 填充缺失的日期 + const trendResult = []; + for (let i = days - 1; i >= 0; i--) { + const date = dayjs().subtract(i, 'day'); + const dateStr = date.format('YYYY-MM-DD'); - res.json({ - success: true, - data: { - trend: trendResult, - stats: activityStats[0] || { - total_users: 0, - daily_active_users: 0, - weekly_active_users: 0, - monthly_active_users: 0, - weekly_activity_rate: 0 + const existingData = activityTrend.find(item => { + const itemDateStr = dayjs(item.date).format('YYYY-MM-DD'); + return itemDateStr === dateStr; + }); + + trendResult.push({ + date: date.format('MM-DD'), + active_users: existingData ? existingData.total_active_users : 0, + active_senders: existingData ? existingData.active_senders : 0, + active_receivers: existingData ? existingData.active_receivers : 0 + }); } - } - }); - } catch (error) { - logger.error('获取用户活跃度失败', { - error: error.message, - stack: error.stack, - agentId: req.agent?.id - }); + res.json({ + success: true, + data: { + trend: trendResult, + stats: activityStats[0] || { + total_users: 0, + daily_active_users: 0, + weekly_active_users: 0, + monthly_active_users: 0, + weekly_activity_rate: 0 + } + } + }); - res.status(500).json({ - success: false, - message: '获取用户活跃度数据失败' - }); - } + } catch (error) { + logger.error('获取用户活跃度失败', { + error: error.message, + stack: error.stack, + agentId: req.agent?.id + }); + + res.status(500).json({ + success: false, + message: '获取用户活跃度数据失败' + }); + } }); /** @@ -294,37 +423,36 @@ router.get('/user-activity', agentAuth, async (req, res) => { * GET /api/agent/commission-distribution */ router.get('/commission-distribution', agentAuth, async (req, res) => { - try { - const agentId = req.agent.id; + try { + const agentId = req.agent.id; - const [distributionData] = await getDB().execute(` - SELECT - commission_type as type, - COUNT(*) as count, - CAST(COALESCE(SUM(commission_amount), 0) AS DECIMAL(10,2)) as amount - FROM agent_commission_records - WHERE agent_id = ? - GROUP BY commission_type - ORDER BY amount DESC - `, [agentId]); + const [distributionData] = await getDB().execute(` + SELECT commission_type as type, + COUNT(*) as count, + CAST(COALESCE(SUM(commission_amount), 0) AS DECIMAL(10, 2)) as amount + FROM agent_commission_records + WHERE agent_id = ? + GROUP BY commission_type + ORDER BY amount DESC + `, [agentId]); - res.json({ - success: true, - data: distributionData - }); + res.json({ + success: true, + data: distributionData + }); - } catch (error) { - logger.error('获取佣金分布失败', { - error: error.message, - stack: error.stack, - agentId: req.agent?.id - }); + } catch (error) { + logger.error('获取佣金分布失败', { + error: error.message, + stack: error.stack, + agentId: req.agent?.id + }); - res.status(500).json({ - success: false, - message: '获取分布数据失败' - }); - } + res.status(500).json({ + success: false, + message: '获取分布数据失败' + }); + } }); /** @@ -332,45 +460,43 @@ router.get('/commission-distribution', agentAuth, async (req, res) => { * GET /api/agent/recent-users */ router.get('/recent-users', agentAuth, async (req, res) => { - try { - const agentId = req.agent.id; - const { limit = 10 } = req.query; + try { + const {id: agentId, userId} = req.agent; + const {limit = 10} = req.query; - const limitValue = Math.max(1, Math.min(100, parseInt(limit))); // 限制在1-100之间 - const [recentUsers] = await getDB().execute(` - SELECT - u.id, - u.username, - u.real_name, - u.phone, - u.avatar, - u.balance, - u.created_at, - am.created_at as join_date - FROM agent_merchants am - LEFT JOIN users u ON am.merchant_id = u.id - WHERE am.agent_id = ? - ORDER BY am.created_at DESC - LIMIT ${limitValue} - `, [agentId]); + const limitValue = Math.max(1, Math.min(100, parseInt(limit))); // 限制在1-100之间 + const [recentUsers] = await getDB().execute(` + SELECT u.id, + u.username, + u.real_name, + u.phone, + u.avatar, + u.balance, + u.created_at, + u.created_at as join_date + FROM users u + WHERE u.inviter = ? + ORDER BY u.created_at DESC + LIMIT ${limitValue} + `, [userId]); - res.json({ - success: true, - data: recentUsers - }); + res.json({ + success: true, + data: recentUsers + }); - } catch (error) { - logger.error('获取最新用户失败', { - error: error.message, - stack: error.stack, - agentId: req.agent?.id - }); + } catch (error) { + logger.error('获取最新用户失败', { + error: error.message, + stack: error.stack, + agentId: req.agent?.id + }); - res.status(500).json({ - success: false, - message: '获取最新用户失败' - }); - } + res.status(500).json({ + success: false, + message: '获取最新用户失败' + }); + } }); /** @@ -378,43 +504,42 @@ router.get('/recent-users', agentAuth, async (req, res) => { * GET /api/agent/recent-commissions */ router.get('/recent-commissions', agentAuth, async (req, res) => { - try { - const agentId = req.agent.id; - const { limit = 10 } = req.query; + try { + const {id: agentId, userId} = req.agent; + const {limit = 10} = req.query; - const limitValue = Math.max(1, Math.min(100, parseInt(limit))); // 限制在1-100之间 - const [recentCommissions] = await getDB().execute(` - SELECT - acr.id, - acr.commission_type, - acr.commission_amount, - acr.created_at, - u.username, - u.real_name - FROM agent_commission_records acr - LEFT JOIN users u ON acr.merchant_id = u.id - WHERE acr.agent_id = ? - ORDER BY acr.created_at DESC - LIMIT ${limitValue} - `, [agentId]); + const limitValue = Math.max(1, Math.min(100, parseInt(limit))); // 限制在1-100之间 + const [recentCommissions] = await getDB().execute(` + SELECT acr.id, + acr.amount as commission_amount, + acr.created_at, + u.username, + u.real_name + FROM transfers acr + LEFT JOIN users u ON acr.from_user_id = u.id + WHERE acr.to_user_id = ? + AND source_type = 'user_to_agent' + ORDER BY acr.created_at DESC + LIMIT ${limitValue} + `, [agentId]); - res.json({ - success: true, - data: recentCommissions - }); + res.json({ + success: true, + data: recentCommissions + }); - } catch (error) { - logger.error('获取最新佣金失败', { - error: error.message, - stack: error.stack, - agentId: req.agent?.id - }); + } catch (error) { + logger.error('获取最新佣金失败', { + error: error.message, + stack: error.stack, + agentId: req.agent?.id + }); - res.status(500).json({ - success: false, - message: '获取最新佣金失败' - }); - } + res.status(500).json({ + success: false, + message: '获取最新佣金失败' + }); + } }); module.exports = router; \ No newline at end of file diff --git a/routes/auth.js b/routes/auth.js index 866ea4c..30ad694 100644 --- a/routes/auth.js +++ b/routes/auth.js @@ -88,7 +88,8 @@ router.post('/login', async (req, res) => { userId: agent.user_id, agentId: agent.agent_id, phone: agent.phone, - role: 'agent' + role: 'agent', + userType: agent.user_type, }, JWT_SECRET, { expiresIn: '24h' } diff --git a/routes/users.js b/routes/users.js index f89fe50..449c371 100644 --- a/routes/users.js +++ b/routes/users.js @@ -170,7 +170,8 @@ router.get('/directly_operated', agentAuth, async (req, res) => { // 构建查询条件 let whereConditions = ['u.inviter = ?']; let queryParams = [agentId]; - + whereConditions.push('u.user_type = ?') + queryParams.push('directly_operated'); // 添加搜索条件 if (search) { whereConditions.push('(u.username LIKE ? OR u.real_name LIKE ? OR u.phone LIKE ?)'); @@ -324,7 +325,7 @@ router.post('/withdraw', agentAuth, async (req, res) => { WHERE id = ?`, [amount, userId]) await db.execute( 'INSERT INTO transfers (from_user_id, to_user_id, transfer_type,status,amount,description,source_type) VALUES (?, ?, ?,?,?,?,?)', - [agentId, userId, 'agent_to_operated', 'received', amount, '直营商户提现', 'agent'] + [agentId, userId, 'agent_to_operated', 'received', amount, '直营商户提现', 'withdraw'] ); // 提交事务 await db.query('COMMIT'); diff --git a/server.js b/server.js index 2c3b766..ef52a8d 100644 --- a/server.js +++ b/server.js @@ -7,9 +7,9 @@ const bodyParser = require('body-parser'); const path = require('path'); const rateLimit = require('express-rate-limit'); const helmet = require('helmet'); -const { initDB, getDB, dbConfig } = require('./database'); -const { logger } = require('./config/logger'); -const { errorHandler, notFound } = require('./middleware/errorHandler'); +const {initDB, getDB, dbConfig} = require('./database'); +const {logger} = require('./config/logger'); +const {errorHandler, notFound} = require('./middleware/errorHandler'); const fs = require('fs'); const app = express(); @@ -18,80 +18,81 @@ const PORT = process.env.AGENT_PORT || 3002; // 确保日志目录存在 const logDir = path.join(__dirname, 'logs'); if (!fs.existsSync(logDir)) { - fs.mkdirSync(logDir, { recursive: true }); + fs.mkdirSync(logDir, {recursive: true}); } // 安全中间件 app.use(helmet({ - contentSecurityPolicy: false, // 为了支持前端应用 - crossOriginEmbedderPolicy: false, - crossOriginOpenerPolicy: false, // 禁用 COOP 头部以避免非 HTTPS 环境的警告 - originAgentCluster: false // 禁用Origin-Agent-Cluster头部 + contentSecurityPolicy: false, // 为了支持前端应用 + crossOriginEmbedderPolicy: false, + crossOriginOpenerPolicy: false, // 禁用 COOP 头部以避免非 HTTPS 环境的警告 + originAgentCluster: false // 禁用Origin-Agent-Cluster头部 })); // 中间件配置 // CORS配置 - 允许代理前端访问 app.use(cors({ - origin: [ - 'http://localhost:5173', - 'http://localhost:5176', - 'http://localhost:5175', - 'http://localhost:5174', - 'http://localhost:3002', - 'https://agent.zrbjr.com', - 'https://www.zrbjr.com', - 'https://zrbjr.com' - ], - credentials: true, - methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'], - allowedHeaders: ['Content-Type', 'Authorization', 'X-Requested-With'] + origin: [ + 'http://192.168.1.43:5175', + 'http://localhost:5173', + 'http://localhost:5176', + 'http://localhost:5175', + 'http://localhost:5174', + 'http://localhost:3002', + 'https://agent.zrbjr.com', + 'https://www.zrbjr.com', + 'https://zrbjr.com' + ], + credentials: true, + methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'], + allowedHeaders: ['Content-Type', 'Authorization', 'X-Requested-With'] })); -app.use(bodyParser.json({ limit: '10mb' })); -app.use(bodyParser.urlencoded({ extended: true, limit: '10mb' })); +app.use(bodyParser.json({limit: '10mb'})); +app.use(bodyParser.urlencoded({extended: true, limit: '10mb'})); // 请求日志中间件 app.use((req, res, next) => { - const start = Date.now(); - - res.on('finish', () => { - const duration = Date.now() - start; - - // 只记录非正常状态码的请求日志(过滤掉200、304等正常返回) - if (res.statusCode >= 400 || res.statusCode < 200) { - logger.info('HTTP Request', { - method: req.method, - url: req.originalUrl, - statusCode: res.statusCode, - duration: `${duration}ms`, - ip: req.ip, - userAgent: req.get('User-Agent') - }); - } - }); - - next(); + const start = Date.now(); + + res.on('finish', () => { + const duration = Date.now() - start; + + // 只记录非正常状态码的请求日志(过滤掉200、304等正常返回) + if (res.statusCode >= 400 || res.statusCode < 200) { + logger.info('HTTP Request', { + method: req.method, + url: req.originalUrl, + statusCode: res.statusCode, + duration: `${duration}ms`, + ip: req.ip, + userAgent: req.get('User-Agent') + }); + } + }); + + next(); }); // 限流中间件 const limiter = rateLimit({ - windowMs: 15 * 60 * 1000, // 15分钟 - max: 1000, // 限制每个IP 15分钟内最多1000个请求 - message: { - success: false, - error: { - code: 'RATE_LIMIT_EXCEEDED', - message: '请求过于频繁,请稍后再试' + windowMs: 15 * 60 * 1000, // 15分钟 + max: 1000, // 限制每个IP 15分钟内最多1000个请求 + message: { + success: false, + error: { + code: 'RATE_LIMIT_EXCEEDED', + message: '请求过于频繁,请稍后再试' + } } - } }); app.use('/api', limiter); // 上传文件静态服务 app.use('/uploads', express.static(path.join(__dirname, 'uploads'), { - setHeaders: (res, filePath) => { - res.setHeader('Access-Control-Allow-Origin', '*'); - res.setHeader('Access-Control-Allow-Methods', 'GET, OPTIONS'); - res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization'); - } + setHeaders: (res, filePath) => { + res.setHeader('Access-Control-Allow-Origin', '*'); + res.setHeader('Access-Control-Allow-Methods', 'GET, OPTIONS'); + res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization'); + } })); // API路由 - 代理专用路由 app.use('/api/auth', require('./routes/auth')); @@ -105,7 +106,6 @@ app.use('/api/upload', require('./routes/upload')); app.use('/api/captcha', require('./routes/captcha')); // 验证码路由 - // 404处理 app.use(notFound); @@ -113,8 +113,8 @@ app.use(notFound); app.use(errorHandler); // 导出app供测试使用 -module.exports = { - app, getDB +module.exports = { + app, getDB }; // 初始化全局验证码存储 @@ -122,44 +122,44 @@ global.captchaStore = new Map(); // 启动服务器 app.listen(PORT, async () => { - try { - // 初始化数据库连接 - await initDB(); - console.log(`代理后台API服务器运行在端口 ${PORT}`); - } catch (error) { - console.error('服务器启动失败:', error); - process.exit(1); - } + try { + // 初始化数据库连接 + await initDB(); + console.log(`代理后台API服务器运行在端口 ${PORT}`); + } catch (error) { + console.error('服务器启动失败:', error); + process.exit(1); + } }); // 优雅关闭处理 process.on('SIGTERM', async () => { - console.log('收到SIGTERM信号,正在关闭服务器...'); - try { - await closeDB(); - console.log('数据库连接已关闭'); - } catch (error) { - console.error('关闭数据库连接时出错:', error); - } - process.exit(0); + console.log('收到SIGTERM信号,正在关闭服务器...'); + try { + await closeDB(); + console.log('数据库连接已关闭'); + } catch (error) { + console.error('关闭数据库连接时出错:', error); + } + process.exit(0); }); process.on('SIGINT', async () => { - console.log('收到SIGINT信号,正在关闭服务器...'); - try { - await closeDB(); - console.log('数据库连接已关闭'); - } catch (error) { - console.error('关闭数据库连接时出错:', error); - } - process.exit(0); + console.log('收到SIGINT信号,正在关闭服务器...'); + try { + await closeDB(); + console.log('数据库连接已关闭'); + } catch (error) { + console.error('关闭数据库连接时出错:', error); + } + process.exit(0); }); process.on('unhandledRejection', (reason, promise) => { - console.error('未处理的Promise拒绝:', reason); + console.error('未处理的Promise拒绝:', reason); }); process.on('uncaughtException', (error) => { - console.error('未捕获的异常:', error); - process.exit(1); + console.error('未捕获的异常:', error); + process.exit(1); }); \ No newline at end of file