This commit is contained in:
2025-09-22 16:11:34 +08:00
parent d6b09b7d23
commit 95ecde2788

View File

@@ -253,29 +253,35 @@ const SSEManager = {
this.connection = src
const username = getUsernameFromToken(token)
console.log('SSE连接详情:', {
url: sseUrl,
username,
clientId,
sessionKey: `${username}:${clientId}`,
token: token.substring(0, 20) + '...',
fullUrl: `${sseUrl}?clientId=${clientId}&token=${token.substring(0, 20)}...`
})
console.log('=== SSE连接初始化 ===')
console.log('连接URL:', sseUrl)
console.log('用户名:', username)
console.log('客户端ID:', clientId)
console.log('预期sessionKey:', `${username}:${clientId}`)
console.log('完整连接URL:', `${sseUrl}?clientId=${clientId}&token=${token.substring(0, 20)}...`)
src.onopen = () => {
console.log('=== SSE连接成功 ===')
console.log('✅ SSE连接已成功打开')
console.log('连接状态:', src.readyState) // 0=CONNECTING, 1=OPEN, 2=CLOSED
console.log('连接状态:', src.readyState, '(0=CONNECTING, 1=OPEN, 2=CLOSED)')
console.log('连接URL:', src.url)
console.log('连接时间:', new Date().toLocaleTimeString())
}
src.onmessage = (e) => {
console.log('=== SSE消息接收 ===')
console.log('📨 SSE收到原始消息:', e)
console.log('事件类型:', e.type)
console.log('消息数据:', e.data)
console.log('接收时间:', new Date().toLocaleTimeString())
this.handleMessage(e)
}
src.onerror = (e) => {
console.log('=== SSE连接错误 ===')
console.error('❌ SSE连接错误:', e)
console.log('连接状态:', src.readyState)
console.log('错误时间:', new Date().toLocaleTimeString())
this.handleError()
}
} catch (e) {
@@ -285,29 +291,35 @@ const SSEManager = {
handleMessage(e: MessageEvent) {
try {
console.log('=== SSE消息处理 ===')
console.log('原始消息数据:', e.data)
const payload = JSON.parse(e.data)
console.log('SSE消息解析:', payload)
console.log('解析后的消息:', payload)
console.log('事件类型:', payload.type)
console.log('消息内容:', payload.message)
switch (payload.type) {
case 'DEVICE_REMOVED':
console.log('收到设备移除事件正在执行logout')
console.log('🚨 收到设备移除事件正在执行logout')
logout()
ElMessage.warning('您的设备已被移除,请重新登录')
break
case 'FORCE_LOGOUT':
console.log('收到强制退出事件正在执行logout')
console.log('🚨 收到强制退出事件正在执行logout')
logout()
ElMessage.warning('会话已失效,请重新登录')
break
case 'PERMISSIONS_UPDATED':
console.log('收到权限更新事件,重新检查权限')
console.log('🔄 收到权限更新事件,重新检查权限')
checkAuth()
break
default:
console.log('收到未知SSE事件:', payload.type)
console.log('收到未知SSE事件:', payload.type, payload)
}
} catch (err) {
console.error('SSE消息处理失败:', err)
console.error('SSE消息处理失败:', err)
console.error('原始数据:', e.data)
}
},