const { contextBridge, ipcRenderer } = require('electron'); // 暴露API给渲染进程 contextBridge.exposeInMainWorld('electronAPI', { // 数据库相关 checkDatabaseInitialized: () => ipcRenderer.invoke('check-database-initialized'), initializeDatabase: () => ipcRenderer.invoke('initialize-database'), // 认证相关 adminLogin: (credentials) => ipcRenderer.invoke('admin-login', credentials), // 系统相关 getSystemConfig: () => ipcRenderer.invoke('system-get-config'), updateSystemConfig: (config) => ipcRenderer.invoke('system-update-config', config), increaseQuestionBankVersion: () => ipcRenderer.invoke('system-increase-question-bank-version'), // 配置项管理相关API fetchAllConfigs: () => ipcRenderer.invoke('config-fetch-all'), fetchConfigById: (id) => ipcRenderer.invoke('config-fetch-by-id', id), saveConfig: (key, value) => ipcRenderer.invoke('config-save', { key, value }), deleteConfig: (id) => ipcRenderer.invoke('config-delete', id), // 字典管理相关API fetchDictTypes: () => ipcRenderer.invoke('dict-fetch-types'), fetchDictItemsByType: (typeCode, isActive = undefined) => ipcRenderer.invoke('dict-fetch-items-by-type', typeCode, isActive), createDictType: (dictType) => ipcRenderer.invoke('dict-create-type', dictType), updateDictType: (dictType) => ipcRenderer.invoke('dict-update-type', dictType), deleteDictType: (typeCode) => ipcRenderer.invoke('dict-delete-type', typeCode), createDictItem: (dictItem) => ipcRenderer.invoke('dict-create-item', dictItem), updateDictItem: (dictItem) => ipcRenderer.invoke('dict-update-item', dictItem), deleteDictItem: (id) => ipcRenderer.invoke('dict-delete-item', id), fetchAllDictItemsWithTypes: () => ipcRenderer.invoke('dict-fetch-all-items-with-types'), // 字典项引用校验相关API checkDictParentCode: (parentCode) => ipcRenderer.invoke('dict-check-parent-code', parentCode), checkDictChildReferences: (itemCode) => ipcRenderer.invoke('dict-check-child-references', itemCode), // 题干管理相关API createQuestion: (questionData) => ipcRenderer.invoke('question-create', questionData), createChoiceQuestion: (choiceData) => ipcRenderer.invoke('question-create-choice', choiceData), updateChoiceQuestion: (id, choiceData) => ipcRenderer.invoke('question-update-choice', id, choiceData), createFillBlankQuestion: (fillBlankData) => ipcRenderer.invoke('question-create-fill-blank', fillBlankData), fetchAllQuestions: () => ipcRenderer.invoke('question-fetch-all'), fetchAllQuestionsWithRelations: () => ipcRenderer.invoke('question-fetch-all-with-relations'), fetchQuestionById: (id) => ipcRenderer.invoke('question-fetch-by-id', id), updateQuestion: (id, questionData) => ipcRenderer.invoke('question-update', id, questionData), updateQuestionDescription: (id, questionDescription) => ipcRenderer.invoke('question-update-description', id, questionDescription), deleteQuestion: (id) => ipcRenderer.invoke('question-delete', id), updateFillBlankQuestion: (id, fillBlankData) => ipcRenderer.invoke('question-update-fill-blank', id, fillBlankData), deleteFillBlankQuestion: (id) => ipcRenderer.invoke('question-delete-fill-blank', id), fetchFillBlankQuestionsByQuestionId: (questionId) => ipcRenderer.invoke('question-fetch-fill-blank-by-question-id', questionId), // 考试管理相关API createExam: (examData) => ipcRenderer.invoke('exam-create', examData), fetchAllExams: () => ipcRenderer.invoke('exam-fetch-all'), fetchExamById: (id) => ipcRenderer.invoke('exam-fetch-by-id', id), updateExam: (id, examData) => ipcRenderer.invoke('exam-update', { id, examData }), deleteExam: (id) => ipcRenderer.invoke('exam-delete', id), fetchLastExam: () => ipcRenderer.invoke('exam-fetch-last'), // 考生管理相关API fetchAllExaminees: () => ipcRenderer.invoke('examinee-fetch-all'), fetchExamineeById: (id) => ipcRenderer.invoke('examinee-fetch-by-id', id), createExaminee: (examineeData) => ipcRenderer.invoke('examinee-create', examineeData), updateExaminee: (id, examineeData) => ipcRenderer.invoke('examinee-update', { id, examineeData }), deleteExaminee: (id) => ipcRenderer.invoke('examinee-delete', id), userLogin: (idCard, admissionTicket) => ipcRenderer.invoke('user-login', { idCard, admissionTicket }) });