實作邏輯題結果與資料庫整合

This commit is contained in:
2025-09-29 02:56:23 +08:00
parent 0887347116
commit aa34d2d078
31 changed files with 1839 additions and 88 deletions

View File

@@ -0,0 +1,73 @@
const testAPIDirect = async () => {
console.log('🧪 直接測試 API 路由')
console.log('=' .repeat(50))
// 模擬測試數據
const testData = {
userId: 'user-1759073326705-m06y3wacd',
answers: ['A', 'B', 'C', 'D', 'E', 'A', 'B', 'C', 'D', 'E'], // 10個答案
completedAt: new Date().toISOString().replace('Z', '').replace('T', ' ')
}
console.log('\n📝 測試數據:')
console.log(JSON.stringify(testData, null, 2))
try {
console.log('\n🔄 測試 API 路由...')
// 先測試資料庫連接
console.log('1. 測試資料庫連接...')
const dbTestResponse = await fetch('http://localhost:3000/api/test-db')
if (dbTestResponse.ok) {
console.log('✅ 資料庫連接正常')
} else {
console.log('❌ 資料庫連接失敗')
}
// 測試邏輯測驗 API
console.log('\n2. 測試邏輯測驗 API...')
const response = await fetch('http://localhost:3000/api/test-results/logic', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(testData)
})
console.log('📊 響應狀態:', response.status)
console.log('📊 響應狀態文字:', response.statusText)
let result
try {
const text = await response.text()
console.log('📊 原始響應:', text)
result = JSON.parse(text)
console.log('📊 解析後響應:', JSON.stringify(result, null, 2))
} catch (parseError) {
console.log('❌ JSON 解析失敗:', parseError.message)
return
}
if (result.success) {
console.log('\n✅ API 測試成功!')
} else {
console.log('\n❌ API 測試失敗!')
console.log('錯誤訊息:', result.error)
}
} catch (error) {
console.log('\n❌ 請求失敗:')
console.log('錯誤類型:', error.name)
console.log('錯誤訊息:', error.message)
if (error.code === 'ECONNREFUSED') {
console.log('\n💡 建議:')
console.log('1. 確保開發伺服器正在運行 (npm run dev)')
console.log('2. 檢查端口 3000 是否可用')
}
}
console.log('\n✅ API 直接測試完成')
}
testAPIDirect()