34 lines
1.3 KiB
JavaScript
34 lines
1.3 KiB
JavaScript
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),
|
|
increaseQuestionBandVersion: () => ipcRenderer.invoke('system-increase-question-band-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)
|
|
});
|
|
|
|
// 这里可以添加预加载脚本
|
|
window.addEventListener('DOMContentLoaded', () => {
|
|
const replaceText = (selector, text) => {
|
|
const element = document.getElementById(selector)
|
|
if (element) element.innerText = text
|
|
}
|
|
|
|
for (const dependency of ['chrome', 'node', 'electron']) {
|
|
replaceText(`${dependency}-version`, process.versions[dependency])
|
|
}
|
|
}) |