142 lines
3.0 KiB
JavaScript
142 lines
3.0 KiB
JavaScript
/**
|
|
* 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
|
|
}
|