1
This commit is contained in:
@@ -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)
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user