fix: 评分标准直读 DB,移除缓存层

This commit is contained in:
2026-07-16 06:30:21 +08:00
parent 8904f63610
commit daade6ba91
+11 -22
View File
@@ -262,31 +262,21 @@ export function setupIpc(win: BrowserWindow): void {
const q = questions[i]
insert.run(q.questionTitle || '', q.maxScore ?? 100, q.referenceAnswer || '', q.rubric || '', i)
}
rubricPayload = data
})
ipcMain.handle('rubric:getData', () => {
function fromDb() {
const d = getDb()
const rows: any[] = d.prepare('SELECT * FROM rubric ORDER BY sort_order').all()
if (rows.length) {
return {
questions: rows.map(r => ({
questionTitle: r.question_title,
maxScore: r.max_score,
referenceAnswer: r.reference_answer,
rubric: r.rubric
})),
currentIndex: 0
}
const d = getDb()
const rows: any[] = d.prepare('SELECT * FROM rubric ORDER BY sort_order').all()
if (rows.length) {
return {
questions: rows.map(r => ({
questionTitle: r.question_title,
maxScore: r.max_score,
referenceAnswer: r.reference_answer,
rubric: r.rubric
})),
currentIndex: 0
}
return null
}
if (rubricPayload && rubricPayload.questions?.length) return rubricPayload
const dbResult = fromDb()
if (dbResult) {
rubricPayload = dbResult
return dbResult
}
return null
})
@@ -300,7 +290,6 @@ export function setupIpc(win: BrowserWindow): void {
}
const dialogPayloads: Record<string, any> = {}
let rubricPayload: any = null
let gradingPayload: any = null
async function callAiApi(imageBase64: string, rubric: string, config: { apiKey: string; baseUrl: string; model: string }, extras?: { maxScore?: number; referenceAnswer?: string; questionTitle?: string }): Promise<{