// SSE实时通信示例 - API Key认证(适用于第三方集成)
const apiKey = 'YOUR_API_KEY'; // 替换为您的API密钥
const merchantId = 123; // 替换为您的商户ID
const sseUrl = `/api/v1/sse/connect?client_type=merchant&merchant_id=${merchantId}&mapi_key=${apiKey}`;
// 创建SSE连接
const eventSource = new EventSource(sseUrl);
// 监听新消息事件
eventSource.addEventListener('message.new', (e) => {
const data = JSON.parse(e.data);
console.log('新消息:', data);
});
// 监听会话分配事件
eventSource.addEventListener('session.assigned', (e) => {
const data = JSON.parse(e.data);
console.log('新会话分配:', data);
});
// 监听客服状态变化
eventSource.addEventListener('admin.status', (e) => {
const data = JSON.parse(e.data);
console.log('客服状态变化:', data);
});
// 通用消息处理
eventSource.onmessage = (e) => {
console.log('SSE消息:', e.data);
};
// 错误处理
eventSource.onerror = (error) => {
console.error('SSE连接错误:', error);
// EventSource会自动重连
};
// 关闭连接(在需要时)
// eventSource.close();
// SSE实时通信示例 - JWT Token认证(适用于浏览器登录后)
const token = 'YOUR_ACCESS_TOKEN'; // 从登录接口或localStorage获取
const merchantId = 123; // 替换为您的商户ID
const sseUrl = `/api/v1/sse/connect?client_type=merchant&merchant_id=${merchantId}&token=${token}`;
// 创建SSE连接
const eventSource = new EventSource(sseUrl);
// 监听新消息事件
eventSource.addEventListener('message.new', (e) => {
const data = JSON.parse(e.data);
console.log('新消息:', data);
});
// 监听会话分配事件
eventSource.addEventListener('session.assigned', (e) => {
const data = JSON.parse(e.data);
console.log('新会话分配:', data);
});
// 通用消息处理
eventSource.onmessage = (e) => {
console.log('SSE消息:', e.data);
};
// 错误处理
eventSource.onerror = (error) => {
console.error('SSE连接错误:', error);
};