/** * SSE工具类测试文件 * 用于验证SSE功能是否正常工作 */ import { createSSERequest, createPetAssistantSSE, SSE_STATUS } from './sse.js' /** * 测试基础SSE功能 */ export function testBasicSSE() { console.log('开始测试基础SSE功能...') const testData = { message: '测试消息', temperature: 0.7, maxTokens: 100 } let receivedChunks = 0 let totalContent = '' return createSSERequest({ url: `${uni.$u.http.config.baseURL}/pet/user/assistant/stream-ask`, data: testData, onChunk: (chunk) => { receivedChunks++ totalContent = chunk.totalContent console.log(`接收到第${receivedChunks}个数据块:`, chunk.content) }, onComplete: (result) => { console.log('SSE响应完成:', { totalChunks: receivedChunks, totalContent: totalContent, metadata: result.data }) }, onError: (error) => { console.error('SSE测试失败:', error) } }) } /** * 测试宠物助手专用SSE */ export function testPetAssistantSSE() { console.log('开始测试宠物助手SSE功能...') const testData = { message: '你好,请介绍一下自己', temperature: 0.7, maxTokens: 200 } let chunkCount = 0 return createPetAssistantSSE(testData, { onChunk: (chunk) => { chunkCount++ console.log(`宠物助手SSE - 第${chunkCount}块:`, chunk.content) }, onComplete: (result) => { console.log('宠物助手SSE完成:', { chunks: chunkCount, message: result.data.message, isSensitive: result.data.isSensitive, tokenCount: result.data.tokenCount }) }, onError: (error) => { console.error('宠物助手SSE失败:', error) } }) } /** * 运行所有测试 */ export async function runAllTests() { console.log('=== 开始SSE工具类测试 ===') try { // 测试基础SSE console.log('\n1. 测试基础SSE功能') await testBasicSSE() // 等待一秒 await new Promise(resolve => setTimeout(resolve, 1000)) // 测试宠物助手SSE console.log('\n2. 测试宠物助手SSE功能') await testPetAssistantSSE() console.log('\n=== SSE工具类测试完成 ===') return true } catch (error) { console.error('SSE测试过程中发生错误:', error) return false } } /** * 简单的功能验证 */ export function validateSSEFunctions() { console.log('验证SSE工具类函数是否存在...') const checks = [ { name: 'createSSERequest', func: createSSERequest }, { name: 'createPetAssistantSSE', func: createPetAssistantSSE }, { name: 'SSE_STATUS', obj: SSE_STATUS } ] let allValid = true checks.forEach(check => { if (typeof check.func === 'function' || typeof check.obj === 'object') { console.log(`✅ ${check.name} - 正常`) } else { console.error(`❌ ${check.name} - 缺失或类型错误`) allValid = false } }) if (allValid) { console.log('✅ 所有SSE工具类函数验证通过') } else { console.error('❌ SSE工具类函数验证失败') } return allValid } export default { testBasicSSE, testPetAssistantSSE, runAllTests, validateSSEFunctions }