/** * @file SSE流路由处理器 * @author Yk * @createdAt 2025-07-01 * @lastModifiedAt 2025-07-01 * @description 处理SSE连接建立和维持 */ const express = require('express'); const { v4: uuidV4 } = require('uuid'); const { setupSSEHeaders } = require('../lib/sse'); const clients = require('../lib/clients'); const router = express.Router(); router.get('/', (req, res) => { const clientId = req.query.clientId || uuidV4(); setupSSEHeaders(res); // 立即发送确认 res.write(`data: ${JSON.stringify({ status: 'connected', clientId, time: new Date().toISOString() })}\n\n`); clients.add(clientId, res); req.on('close', () => { clients.remove(clientId); }); }); module.exports = router;