fix: 换一批第3次卡住问题,修正池索引计算
CI / 后端测试 (push) Has been cancelled
CI / 前端构建 (push) Has been cancelled

This commit is contained in:
selfrelease
2026-08-31 17:23:05 +08:00
parent e510393eb8
commit 2e51ee3a42
+6 -4
View File
@@ -555,7 +555,7 @@ export function ChatPanel({
const handleRefreshSamples = async () => { const handleRefreshSamples = async () => {
// 池里还有未展示的,直接取下一批 // 池里还有未展示的,直接取下一批
const nextIndex = poolIndex + BATCH_SIZE const nextIndex = poolIndex + BATCH_SIZE
if (dailyPool.length > 0 && nextIndex < dailyPool.length) { if (nextIndex < dailyPool.length) {
setPoolIndex(nextIndex) setPoolIndex(nextIndex)
setDynamicSamples(dailyPool.slice(nextIndex, nextIndex + BATCH_SIZE)) setDynamicSamples(dailyPool.slice(nextIndex, nextIndex + BATCH_SIZE))
return return
@@ -566,10 +566,12 @@ export function ChatPanel({
const phone = getPhone() || undefined const phone = getPhone() || undefined
const res = await api.generateSamples(scene, topic, dynamicSamples, phone) const res = await api.generateSamples(scene, topic, dynamicSamples, phone)
if (res.samples?.length > 0) { if (res.samples?.length > 0) {
// AI 生成的新问题加入池并显示
const newPool = [...dailyPool, ...res.samples]
const newIndex = dailyPool.length
setDailyPool(newPool)
setPoolIndex(newIndex)
setDynamicSamples(res.samples) setDynamicSamples(res.samples)
// AI 生成的新问题加入池,重置索引
setDailyPool(prev => [...prev, ...res.samples])
setPoolIndex(dailyPool.length)
} }
} catch { } catch {
toast.error('换一批失败,请稍后重试') toast.error('换一批失败,请稍后重试')