From 39cc8354cc2f5a2e058e7a05587564b4d4adb73d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=A5=E6=B5=A9?= Date: Thu, 16 Oct 2025 13:36:06 +0800 Subject: [PATCH] =?UTF-8?q?feat(server):=20=E4=BC=98=E5=8C=96=20WebSocket?= =?UTF-8?q?=20=E8=BF=9E=E6=8E=A5=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/index.ts | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/server/index.ts b/server/index.ts index cc1b774..97a549c 100644 --- a/server/index.ts +++ b/server/index.ts @@ -9,14 +9,17 @@ export default { // API 路由处理 if (url.pathname.startsWith('/api/')) { - await env.KV.put('events:api:last-call', `${new Date().toISOString()} ${request.method} ${url.pathname}`); + await env.KV.put( + 'events:api:last-call', + `${new Date().toISOString()} ${request.method} ${url.pathname}`, + ); // 获取所有可用的键名 const availableKeys = [ 'events:api:last-call', 'events:ws:connection', 'events:ws:message', - 'events:ws:disconnection' + 'events:ws:disconnection', ]; return Response.json({ @@ -28,7 +31,7 @@ export default { wsConnection: await env.KV.get('events:ws:connection'), wsMessage: await env.KV.get('events:ws:message'), wsDisconnection: await env.KV.get('events:ws:disconnection'), - } + }, }); } @@ -50,7 +53,9 @@ export default { await new Promise((r) => setTimeout(r, 250)); } - server.send(`欢迎连接到WebSocket服务器!连接时间: ${new Date().toLocaleString('zh-CN', { timeZone: 'Asia/Shanghai' })}`); + server.send( + `欢迎连接到WebSocket服务器!连接时间: ${new Date().toLocaleString('zh-CN', { timeZone: 'Asia/Shanghai' })}`, + ); server.addEventListener('message', async (event) => { console.log('收到客户端消息:', event.data); @@ -61,12 +66,15 @@ export default { await new Promise((r) => setTimeout(r, 250)); } - server.send(`服务器收到: ${event.data} (时间: ${new Date().toLocaleString('zh-CN', { timeZone: 'Asia/Shanghai' })})`) + server.send( + `服务器收到: ${event.data} (时间: ${new Date().toLocaleString('zh-CN', { timeZone: 'Asia/Shanghai' })})`, + ); }); server.addEventListener('close', () => { console.log('WebSocket连接关闭'); env.KV.put('events:ws:disconnection', `${new Date().toISOString()} ${url.pathname}`); + server.close(); }); return new Response(null, {