From 3b3fac1cee9232584d88ddbce0ea1aedd9c82047 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=B9=E5=B0=BC=E5=B0=94?= Date: Sun, 15 Mar 2026 19:17:12 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 3 +- backend/data/logs/app.log | 129 ++++++++++++++++++++++++++++++ backend/data/logs/node-access.log | 61 ++++++++++++++ backend/main.py | 26 ++++++ public/index.html | 85 ++++++++++++++++++-- public/manage.html | 20 ++++- 6 files changed, 316 insertions(+), 8 deletions(-) diff --git a/.env b/.env index e8afd04..258c504 100644 --- a/.env +++ b/.env @@ -6,7 +6,8 @@ APIKEY=sk-85880595fc714d63bfd0b025e917bd26#千问apikey # 962516e4-60eb-4a26-a5a3-44e21adcf7bc #豆包 # 消息回调(ngrok 调通用,由 run-ngrok.sh 自动写入) -CALLBACK_BASE_URL=https://dissonant-destinee-nonsensibly.ngrok-free.dev +# CALLBACK_BASE_URL=https://dissonant-destinee-nonsensibly.ngrok-free. +CALLBACK_BASE_URL=http://demo.bimwe.com/ # 固定隧道代理(socks5h):不填登录页代理时后端自动用此处,传给 7006 diff --git a/backend/data/logs/app.log b/backend/data/logs/app.log index 45c1a49..cbf6606 100644 --- a/backend/data/logs/app.log +++ b/backend/data/logs/app.log @@ -15140,3 +15140,132 @@ httpx.ConnectError: All connection attempts failed 2026-03-15 17:31:04,477 [INFO] wechat-backend - SetCallback registered for key=***9BJZ, CallbackURL=https://dissonant-destinee-nonsensibly.ngrok-free.dev/api/callback/wechat-message 2026-03-15 17:31:04,478 [INFO] wechat-backend - 启动时已注册回调 key=***9BJZ 2026-03-15 17:31:04,478 [INFO] wechat-backend - 消息接收已切换为实时回调入口,不再启动 WS GetSyncMsg +2026-03-15 18:47:42,787 [INFO] wechat-backend - proxy config: tunnel=True (TUNNEL_PROXY=14.103.95.78:16816), kdl=False (KDL_API=(empty)) +2026-03-15 18:47:43,010 [INFO] httpx - HTTP Request: POST http://113.44.162.180:7006/message/SetCallback?key=HBpEnbtj9BJZ "HTTP/1.1 200 OK" +2026-03-15 18:47:43,010 [INFO] wechat-backend - SetCallback registered for key=***9BJZ, CallbackURL=https://dissonant-destinee-nonsensibly.ngrok-free.dev/api/callback/wechat-message +2026-03-15 18:47:43,011 [INFO] wechat-backend - 启动时已注册回调 key=***9BJZ +2026-03-15 18:47:43,011 [INFO] wechat-backend - 消息接收已切换为实时回调入口,不再启动 WS GetSyncMsg +2026-03-15 18:48:34,801 [INFO] wechat-backend - HTTP POST /auth/qrcode from 127.0.0.1 +2026-03-15 18:48:34,808 [INFO] wechat-backend - proxy resolve: auto -> tunnel (socks5h), TUNNEL_PROXY=14.103.95.78:16816 +2026-03-15 18:48:34,809 [INFO] wechat-backend - GetLoginQrCodeNewDirect: using proxy from tunnel (socks5h), len=47 +2026-03-15 18:48:34,809 [INFO] wechat-backend - GetLoginQrCodeNewDirect: proxy=yes, force_mac=False, IpadOrmac=ipad +2026-03-15 18:48:34,811 [INFO] wechat-backend - GetLoginQrCodeNewDirect 请求参数: key=HBpEnbtj9BJZ, url=http://113.44.162.180:7006/login/GetLoginQrCodeNewDirect, Proxy=socks5h://fawbjjkk:5hz6avfb@14.103.95.78:16816/, Check=False, IpadOrmac=ipad +2026-03-15 18:48:34,948 [INFO] httpx - HTTP Request: POST http://113.44.162.180:7006/login/GetLoginQrCodeNewDirect?key=HBpEnbtj9BJZ "HTTP/1.1 200 OK" +2026-03-15 18:48:34,949 [INFO] wechat-backend - Upstream GetLoginQrCodeNewDirect success: status=200, body_len=90 +2026-03-15 18:48:34,949 [INFO] wechat-backend - Stored Data62 (full) for key=HBpEnbtj9BJZ (len=0), valid=False, check=无 Data62 或为空 +2026-03-15 18:48:34,949 [INFO] wechat-backend - Data62 full: +2026-03-15 18:48:34,950 [INFO] wechat-backend - HTTP POST /auth/qrcode -> 200 +2026-03-15 18:48:36,979 [INFO] wechat-backend - HTTP GET /auth/scan-status from 127.0.0.1 +2026-03-15 18:48:36,980 [INFO] wechat-backend - CheckLoginStatus: key=HBpEnbtj9BJZ, url=http://113.44.162.180:7006/login/CheckLoginStatus +2026-03-15 18:48:37,090 [INFO] httpx - HTTP Request: GET http://113.44.162.180:7006/login/CheckLoginStatus?key=HBpEnbtj9BJZ "HTTP/1.1 200 OK" +2026-03-15 18:48:37,092 [INFO] wechat-backend - Upstream CheckLoginStatus response: status=200, body={"Code":200,"Data":{"data62":"","loginState":"online","state":2,"ticket":""},"Text":"账号已登录","Success":false,"Data62":"","Ticket":""} +2026-03-15 18:48:37,093 [INFO] wechat-backend - HTTP GET /auth/scan-status -> 200 +2026-03-15 18:48:37,173 [INFO] wechat-backend - HTTP GET /api/customers from 127.0.0.1 +2026-03-15 18:48:37,191 [INFO] wechat-backend - HTTP GET /api/customers -> 200 +2026-03-15 18:48:37,192 [INFO] wechat-backend - HTTP GET /api/push-groups from 127.0.0.1 +2026-03-15 18:48:37,205 [INFO] wechat-backend - HTTP GET /api/greeting-tasks from 127.0.0.1 +2026-03-15 18:48:37,214 [INFO] wechat-backend - HTTP GET /api/product-tags from 127.0.0.1 +2026-03-15 18:48:37,215 [INFO] wechat-backend - HTTP GET /api/push-groups -> 200 +2026-03-15 18:48:37,221 [INFO] wechat-backend - HTTP GET /api/greeting-tasks -> 200 +2026-03-15 18:48:37,223 [INFO] wechat-backend - HTTP GET /api/product-tags -> 200 +2026-03-15 18:48:37,234 [INFO] wechat-backend - HTTP GET /api/push-groups from 127.0.0.1 +2026-03-15 18:48:37,252 [INFO] wechat-backend - HTTP GET /api/product-tags from 127.0.0.1 +2026-03-15 18:48:37,254 [INFO] wechat-backend - HTTP GET /api/push-groups -> 200 +2026-03-15 18:48:37,255 [INFO] wechat-backend - HTTP GET /api/product-tags -> 200 +2026-03-15 18:48:37,259 [INFO] wechat-backend - HTTP GET /api/push-groups from 127.0.0.1 +2026-03-15 18:48:37,263 [INFO] wechat-backend - HTTP GET /api/product-tags from 127.0.0.1 +2026-03-15 18:48:37,282 [INFO] wechat-backend - HTTP GET /api/push-groups -> 200 +2026-03-15 18:48:37,283 [INFO] wechat-backend - HTTP GET /api/product-tags -> 200 +2026-03-15 18:59:16,182 [INFO] wechat-backend - proxy config: tunnel=True (TUNNEL_PROXY=14.103.95.78:16816), kdl=False (KDL_API=(empty)) +2026-03-15 18:59:16,395 [INFO] httpx - HTTP Request: POST http://113.44.162.180:7006/message/SetCallback?key=HBpEnbtj9BJZ "HTTP/1.1 200 OK" +2026-03-15 18:59:16,396 [INFO] wechat-backend - SetCallback registered for key=***9BJZ, CallbackURL=http://demo.bimwe.com/api/callback/wechat-message +2026-03-15 18:59:16,396 [INFO] wechat-backend - 启动时已注册回调 key=***9BJZ +2026-03-15 18:59:16,396 [INFO] wechat-backend - 消息接收已切换为实时回调入口,不再启动 WS GetSyncMsg +2026-03-15 19:05:23,156 [INFO] wechat-backend - proxy config: tunnel=True (TUNNEL_PROXY=14.103.95.78:16816), kdl=False (KDL_API=(empty)) +2026-03-15 19:05:23,330 [INFO] httpx - HTTP Request: POST http://113.44.162.180:7006/message/SetCallback?key=HBpEnbtj9BJZ "HTTP/1.1 200 OK" +2026-03-15 19:05:23,331 [INFO] wechat-backend - SetCallback registered for key=***9BJZ, CallbackURL=http://demo.bimwe.com/api/callback/wechat-message +2026-03-15 19:05:23,331 [INFO] wechat-backend - 启动时已注册回调 key=***9BJZ +2026-03-15 19:05:23,331 [INFO] wechat-backend - 消息接收已切换为实时回调入口,不再启动 WS GetSyncMsg +2026-03-15 19:10:33,130 [INFO] wechat-backend - proxy config: tunnel=True (TUNNEL_PROXY=14.103.95.78:16816), kdl=False (KDL_API=(empty)) +2026-03-15 19:10:33,443 [INFO] httpx - HTTP Request: POST http://113.44.162.180:7006/message/SetCallback?key=HBpEnbtj9BJZ "HTTP/1.1 200 OK" +2026-03-15 19:10:33,444 [INFO] wechat-backend - SetCallback registered for key=***9BJZ, CallbackURL=http://demo.bimwe.com/api/callback/wechat-message +2026-03-15 19:10:33,444 [INFO] wechat-backend - 启动时已注册回调 key=***9BJZ +2026-03-15 19:10:33,445 [INFO] wechat-backend - 消息接收已切换为实时回调入口,不再启动 WS GetSyncMsg +2026-03-15 19:11:30,649 [INFO] wechat-backend - HTTP GET /api/customers from 127.0.0.1 +2026-03-15 19:11:30,655 [INFO] wechat-backend - HTTP GET /api/push-tasks from 127.0.0.1 +2026-03-15 19:11:30,659 [INFO] wechat-backend - HTTP GET /api/product-tags from 127.0.0.1 +2026-03-15 19:11:30,659 [INFO] wechat-backend - HTTP GET /api/customers -> 200 +2026-03-15 19:11:30,662 [INFO] wechat-backend - HTTP GET /api/push-groups from 127.0.0.1 +2026-03-15 19:11:30,662 [INFO] wechat-backend - HTTP GET /api/push-tasks -> 200 +2026-03-15 19:11:30,664 [INFO] wechat-backend - HTTP GET /api/greeting-tasks from 127.0.0.1 +2026-03-15 19:11:30,665 [INFO] wechat-backend - HTTP GET /api/product-tags -> 200 +2026-03-15 19:11:30,667 [INFO] wechat-backend - HTTP GET /api/push-groups -> 200 +2026-03-15 19:11:30,668 [INFO] wechat-backend - HTTP GET /api/greeting-tasks -> 200 +2026-03-15 19:11:30,683 [INFO] wechat-backend - HTTP GET /api/product-tags from 127.0.0.1 +2026-03-15 19:11:30,686 [INFO] wechat-backend - HTTP GET /api/push-groups from 127.0.0.1 +2026-03-15 19:11:30,686 [INFO] wechat-backend - HTTP GET /api/product-tags -> 200 +2026-03-15 19:11:30,689 [INFO] wechat-backend - HTTP GET /api/push-groups -> 200 +2026-03-15 19:11:30,693 [INFO] wechat-backend - HTTP GET /api/product-tags from 127.0.0.1 +2026-03-15 19:11:30,695 [INFO] wechat-backend - HTTP GET /api/push-groups from 127.0.0.1 +2026-03-15 19:11:30,695 [INFO] wechat-backend - HTTP GET /api/product-tags -> 200 +2026-03-15 19:11:30,697 [INFO] wechat-backend - HTTP GET /api/push-groups -> 200 +2026-03-15 19:11:32,880 [INFO] wechat-backend - HTTP GET /api/contact-list from 127.0.0.1 +2026-03-15 19:11:33,483 [INFO] httpx - HTTP Request: POST http://113.44.162.180:7006/friend/GetContactList?key=HBpEnbtj9BJZ "HTTP/1.1 200 OK" +2026-03-15 19:11:33,485 [INFO] wechat-backend - GetContactList usernames total=61 +2026-03-15 19:11:36,773 [INFO] httpx - HTTP Request: POST http://113.44.162.180:7006/friend/GetContactDetailsList?key=HBpEnbtj9BJZ "HTTP/1.1 200 OK" +2026-03-15 19:11:36,837 [INFO] httpx - HTTP Request: POST http://113.44.162.180:7006/friend/GetContactDetailsList?key=HBpEnbtj9BJZ "HTTP/1.1 200 OK" +2026-03-15 19:11:37,090 [INFO] httpx - HTTP Request: POST http://113.44.162.180:7006/friend/GetContactDetailsList?key=HBpEnbtj9BJZ "HTTP/1.1 200 OK" +2026-03-15 19:11:37,260 [INFO] httpx - HTTP Request: POST http://113.44.162.180:7006/friend/GetContactDetailsList?key=HBpEnbtj9BJZ "HTTP/1.1 200 OK" +2026-03-15 19:11:37,407 [INFO] httpx - HTTP Request: POST http://113.44.162.180:7006/friend/GetContactDetailsList?key=HBpEnbtj9BJZ "HTTP/1.1 200 OK" +2026-03-15 19:11:37,414 [INFO] httpx - HTTP Request: POST http://113.44.162.180:7006/friend/GetContactDetailsList?key=HBpEnbtj9BJZ "HTTP/1.1 200 OK" +2026-03-15 19:11:37,422 [INFO] httpx - HTTP Request: POST http://113.44.162.180:7006/friend/GetContactDetailsList?key=HBpEnbtj9BJZ "HTTP/1.1 200 OK" +2026-03-15 19:11:37,464 [INFO] wechat-backend - GetContactDetailsList first batch item keys=['userName', 'nickName', 'pyinitial', 'quanPin', 'sex', 'imgBuf', 'bitMask', 'bitVal', 'imgFlag', 'remark', 'remarkPyinitial', 'remarkQuanPin', 'contactType', 'roomInfoCount', 'domainList', 'chatRoomNotify', 'addContactScene', 'personalCard', 'hasWeiXinHdHeadImg', 'verifyFlag', 'level', 'source', 'weiboFlag', 'albumStyle', 'albumFlag', 'snsUserInfo', 'bigHeadImgUrl', 'smallHeadImgUrl', 'myBrandList', 'customizedInfo', 'encryptUserName', 'additionalContactList', 'chatroomVersion', 'chatroomMaxCount', 'chatroomAccessType', 'newChatroomData', 'deleteFlag', 'phoneNumListInfo', 'chatroomInfoVersion', 'deleteContactScene', 'chatroomStatus', 'extFlag'] +2026-03-15 19:11:37,467 [INFO] wechat-backend - Contact index built for key=***9BJZ, size=103 +2026-03-15 19:11:37,468 [INFO] wechat-backend - api_contact_list key=***9BJZ -> 44 contacts +2026-03-15 19:11:37,468 [INFO] wechat-backend - HTTP GET /api/contact-list -> 200 +2026-03-15 19:11:38,565 [INFO] wechat-backend - HTTP GET /api/ws-status from 127.0.0.1 +2026-03-15 19:11:38,569 [INFO] wechat-backend - HTTP GET /api/ws-status -> 200 +2026-03-15 19:11:41,296 [INFO] wechat-backend - HTTP GET /api/customer-tags from 127.0.0.1 +2026-03-15 19:11:41,300 [INFO] wechat-backend - HTTP GET /api/customer-tags -> 200 +2026-03-15 19:11:42,665 [INFO] wechat-backend - HTTP GET /api/push-tasks from 127.0.0.1 +2026-03-15 19:11:42,668 [INFO] wechat-backend - HTTP GET /api/push-tasks -> 200 +2026-03-15 19:11:43,334 [INFO] wechat-backend - HTTP GET /api/ai-reply-config from 127.0.0.1 +2026-03-15 19:11:43,339 [INFO] wechat-backend - HTTP GET /api/ai-reply-config -> 200 +2026-03-15 19:11:43,340 [INFO] wechat-backend - HTTP GET /api/callback-status from 127.0.0.1 +2026-03-15 19:11:43,465 [INFO] httpx - HTTP Request: POST http://113.44.162.180:7006/message/SetCallback?key=HBpEnbtj9BJZ "HTTP/1.1 200 OK" +2026-03-15 19:11:43,467 [INFO] wechat-backend - SetCallback registered for key=***9BJZ, CallbackURL=http://demo.bimwe.com/api/callback/wechat-message +2026-03-15 19:11:43,468 [INFO] wechat-backend - HTTP GET /api/callback-status -> 200 +2026-03-15 19:11:46,241 [INFO] wechat-backend - HTTP GET /api/push-tasks from 127.0.0.1 +2026-03-15 19:11:46,245 [INFO] wechat-backend - HTTP GET /api/push-tasks -> 200 +2026-03-15 19:11:46,566 [INFO] wechat-backend - HTTP GET /api/ws-status from 127.0.0.1 +2026-03-15 19:11:46,568 [INFO] wechat-backend - HTTP GET /api/ws-status -> 200 +2026-03-15 19:11:47,988 [INFO] wechat-backend - HTTP GET /api/messages from 127.0.0.1 +2026-03-15 19:11:48,034 [INFO] wechat-backend - HTTP GET /api/messages -> 200 +2026-03-15 19:11:49,969 [INFO] wechat-backend - HTTP GET /api/messages from 127.0.0.1 +2026-03-15 19:11:49,984 [INFO] wechat-backend - HTTP GET /api/messages -> 200 +2026-03-15 19:11:51,966 [INFO] wechat-backend - HTTP GET /api/messages from 127.0.0.1 +2026-03-15 19:11:51,981 [INFO] wechat-backend - HTTP GET /api/messages -> 200 +2026-03-15 19:11:53,205 [INFO] wechat-backend - HTTP GET /api/models from 127.0.0.1 +2026-03-15 19:11:53,224 [INFO] wechat-backend - HTTP GET /api/models -> 200 +2026-03-15 19:11:54,670 [INFO] wechat-backend - HTTP GET /api/messages from 127.0.0.1 +2026-03-15 19:11:54,693 [INFO] wechat-backend - HTTP GET /api/messages -> 200 +2026-03-15 19:11:55,262 [INFO] wechat-backend - HTTP GET /api/customers from 127.0.0.1 +2026-03-15 19:11:55,270 [INFO] wechat-backend - HTTP GET /api/customers -> 200 +2026-03-15 19:11:55,273 [INFO] wechat-backend - HTTP GET /api/greeting-tasks from 127.0.0.1 +2026-03-15 19:11:55,281 [INFO] wechat-backend - HTTP GET /api/product-tags from 127.0.0.1 +2026-03-15 19:11:55,305 [INFO] wechat-backend - HTTP GET /api/push-groups from 127.0.0.1 +2026-03-15 19:11:55,305 [INFO] wechat-backend - HTTP GET /api/greeting-tasks -> 200 +2026-03-15 19:11:55,308 [INFO] wechat-backend - HTTP GET /api/push-tasks from 127.0.0.1 +2026-03-15 19:11:55,309 [INFO] wechat-backend - HTTP GET /api/product-tags -> 200 +2026-03-15 19:11:55,312 [INFO] wechat-backend - HTTP GET /api/push-groups -> 200 +2026-03-15 19:11:55,313 [INFO] wechat-backend - HTTP GET /api/push-tasks -> 200 +2026-03-15 19:11:55,323 [INFO] wechat-backend - HTTP GET /api/push-groups from 127.0.0.1 +2026-03-15 19:11:55,327 [INFO] wechat-backend - HTTP GET /api/product-tags from 127.0.0.1 +2026-03-15 19:11:55,331 [INFO] wechat-backend - HTTP GET /api/push-groups -> 200 +2026-03-15 19:11:55,332 [INFO] wechat-backend - HTTP GET /api/product-tags -> 200 +2026-03-15 19:11:55,340 [INFO] wechat-backend - HTTP GET /api/push-groups from 127.0.0.1 +2026-03-15 19:11:55,344 [INFO] wechat-backend - HTTP GET /api/product-tags from 127.0.0.1 +2026-03-15 19:11:55,346 [INFO] wechat-backend - HTTP GET /api/push-groups -> 200 +2026-03-15 19:11:55,347 [INFO] wechat-backend - HTTP GET /api/product-tags -> 200 +2026-03-15 19:11:58,797 [INFO] wechat-backend - HTTP GET /api/messages from 127.0.0.1 +2026-03-15 19:11:58,812 [INFO] wechat-backend - HTTP GET /api/messages -> 200 diff --git a/backend/data/logs/node-access.log b/backend/data/logs/node-access.log index 1d011db..b17c3e3 100644 --- a/backend/data/logs/node-access.log +++ b/backend/data/logs/node-access.log @@ -5618,3 +5618,64 @@ ::1 - - [15/Mar/2026:09:15:28 +0000] "GET /api/ws-status HTTP/1.1" 200 19 "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" [2026-03-15T09:31:04.748Z] Static frontend server listening on port 3000; access log: /Users/dannier/Desktop/living/AICLW/wechatAiclaw/backend/data/logs/node-access.log [2026-03-15T09:48:21.689Z] Static frontend server listening on port 3000; access log: /Users/dannier/Desktop/living/AICLW/wechatAiclaw/backend/data/logs/node-access.log +[2026-03-15T10:47:43.227Z] Static frontend server listening on port 3000; access log: /Users/dannier/Desktop/living/AICLW/wechatAiclaw/backend/data/logs/node-access.log +127.0.0.1 - - [15/Mar/2026:10:48:28 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:10:48:28 +0000] "GET /health HTTP/1.1" 200 38 "http://localhost:3000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:10:48:34 +0000] "POST /auth/qrcode HTTP/1.1" 200 295 "http://localhost:3000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:10:48:37 +0000] "GET /auth/scan-status?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:10:48:37 +0000] "GET /manage.html?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:10:48:37 +0000] "GET /api/customers?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:10:48:37 +0000] "GET /api/push-groups?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:10:48:37 +0000] "GET /api/greeting-tasks?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:10:48:37 +0000] "GET /api/product-tags?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:10:48:37 +0000] "GET /api/push-groups?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:10:48:37 +0000] "GET /api/product-tags?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:10:48:37 +0000] "GET /api/push-groups?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:10:48:37 +0000] "GET /api/product-tags?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +[2026-03-15T10:59:16.688Z] Static frontend server listening on port 3000; access log: /Users/dannier/Desktop/living/AICLW/wechatAiclaw/backend/data/logs/node-access.log +127.0.0.1 - - [15/Mar/2026:10:59:22 +0000] "GET / HTTP/1.1" 200 52692 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:00:10 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:00:11 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:00:11 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +[2026-03-15T11:05:23.600Z] Static frontend server listening on port 3000; access log: /Users/dannier/Desktop/living/AICLW/wechatAiclaw/backend/data/logs/node-access.log +127.0.0.1 - - [15/Mar/2026:11:05:28 +0000] "GET / HTTP/1.1" 200 52832 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +[2026-03-15T11:10:33.645Z] Static frontend server listening on port 3000; access log: /Users/dannier/Desktop/living/AICLW/wechatAiclaw/backend/data/logs/node-access.log +127.0.0.1 - - [15/Mar/2026:11:10:44 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:30 +0000] "GET /manage.html?key=HBpEnbtj9BJZ HTTP/1.1" 200 53409 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:30 +0000] "GET /api/customers?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:30 +0000] "GET /api/push-tasks?key=HBpEnbtj9BJZ&limit=100 HTTP/1.1" 200 278 "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:30 +0000] "GET /api/product-tags?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:30 +0000] "GET /api/push-groups?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:30 +0000] "GET /api/greeting-tasks?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:30 +0000] "GET /api/product-tags?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:30 +0000] "GET /api/push-groups?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:30 +0000] "GET /api/product-tags?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:30 +0000] "GET /api/push-groups?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:37 +0000] "GET /api/contact-list?key=HBpEnbtj9BJZ&refresh=1 HTTP/1.1" 200 5756 "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:38 +0000] "GET /api/ws-status HTTP/1.1" 200 19 "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:41 +0000] "GET /api/customer-tags?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:42 +0000] "GET /api/push-tasks?key=HBpEnbtj9BJZ&limit=100 HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:43 +0000] "GET /api/ai-reply-config?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:43 +0000] "GET /api/callback-status?key=HBpEnbtj9BJZ HTTP/1.1" 200 104 "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:46 +0000] "GET /api/push-tasks?key=HBpEnbtj9BJZ&limit=100 HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:46 +0000] "GET /api/ws-status HTTP/1.1" 200 19 "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:47 +0000] "GET /chat.html HTTP/1.1" 304 - "http://localhost:3000/manage.html?key=HBpEnbtj9BJZ" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:48 +0000] "GET /api/messages?key=HBpEnbtj9BJZ&limit=80 HTTP/1.1" 200 96699 "http://localhost:3000/chat.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:50 +0000] "GET /api/messages?key=HBpEnbtj9BJZ&limit=80 HTTP/1.1" 304 - "http://localhost:3000/chat.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:51 +0000] "GET /api/messages?key=HBpEnbtj9BJZ&limit=80 HTTP/1.1" 304 - "http://localhost:3000/chat.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:53 +0000] "GET /models.html HTTP/1.1" 304 - "http://localhost:3000/chat.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:53 +0000] "GET /api/models HTTP/1.1" 304 - "http://localhost:3000/models.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:54 +0000] "GET /chat.html HTTP/1.1" 304 - "http://localhost:3000/models.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:54 +0000] "GET /api/messages?key=HBpEnbtj9BJZ&limit=80 HTTP/1.1" 304 - "http://localhost:3000/chat.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:55 +0000] "GET /manage.html HTTP/1.1" 200 53409 "http://localhost:3000/chat.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:55 +0000] "GET /api/customers?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:55 +0000] "GET /api/greeting-tasks?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:55 +0000] "GET /api/product-tags?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:55 +0000] "GET /api/push-groups?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:55 +0000] "GET /api/push-tasks?key=HBpEnbtj9BJZ&limit=100 HTTP/1.1" 304 - "http://localhost:3000/manage.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:55 +0000] "GET /api/push-groups?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:55 +0000] "GET /api/product-tags?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:55 +0000] "GET /api/push-groups?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:55 +0000] "GET /api/product-tags?key=HBpEnbtj9BJZ HTTP/1.1" 304 - "http://localhost:3000/manage.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:58 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" +127.0.0.1 - - [15/Mar/2026:11:11:58 +0000] "GET /api/messages?key=HBpEnbtj9BJZ&limit=80 HTTP/1.1" 304 - "http://localhost:3000/chat.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" diff --git a/backend/main.py b/backend/main.py index 2a52078..0a4fe5d 100644 --- a/backend/main.py +++ b/backend/main.py @@ -1094,6 +1094,32 @@ async def api_slider_verify_post(body: SliderVerifyBody): raise HTTPException(status_code=502, detail=f"slider_upstream_error: {e}") from e +class VerifyCodeBody(BaseModel): + """iPad 登录验证码:7006 /login/VerifyCode 入参。""" + code: str = "" + data62: str = "" + ticket: str = "" + + +@app.post("/api/verify-code") +async def api_verify_code(key: str = Query(..., description="账号 key"), body: VerifyCodeBody = None): + """iPad 登录验证码验证:转发到 7006 POST /login/VerifyCode?key=xxx,body 为 code、data62、ticket。""" + if body is None: + body = VerifyCodeBody() + url = f"{CHECK_STATUS_BASE_URL.rstrip('/')}/login/VerifyCode" + payload = {"code": (body.code or "").strip(), "data62": (body.data62 or "").strip(), "ticket": (body.ticket or "").strip()} + try: + async with httpx.AsyncClient(trust_env=False, timeout=30.0) as client: + resp = await client.post(url, params={"key": key}, json=payload) + try: + return resp.json() + except Exception: + return {"ok": resp.status_code == 200, "status_code": resp.status_code, "text": (resp.text or "")[:500]} + except Exception as e: + logger.warning("VerifyCode upstream error: %s", e) + raise HTTPException(status_code=502, detail=f"verify_code_upstream_error: {e}") from e + + # ---------- R1-2 客户画像 / R1-3 定时问候 / R1-4 分群推送 / 消息与发送 ---------- class CustomerCreate(BaseModel): diff --git a/public/index.html b/public/index.html index 1e86ab9..4709f7f 100644 --- a/public/index.html +++ b/public/index.html @@ -626,10 +626,10 @@