import argon2 from 'argon2'; import { getConfig } from '../db/config.js'; import { ipcMain } from 'electron'; /** * 管理员登录验证 * @param {string} password - 用户输入的密码 * @returns {Promise<{success: boolean, message: string}>} */ async function verifyAdminPassword(password) { try { const config = await getConfig('admin_password'); if (!config || !config.value) { return { success: false, message: '管理员密码未设置' }; } const isMatch = await argon2.verify(config.value, password); if (isMatch) { return { success: true, message: '登录成功' }; } else { return { success: false, message: '密码错误' }; } } catch (error) { console.error('验证管理员密码失败:', error); return { success: false, message: '验证过程发生错误' }; } } /** * 初始化认证相关的IPC处理程序 */ function initAuthIpc() { // 管理员登录验证 - 使用正确的通道名称 ipcMain.handle('admin-login', async (event, credentials) => { // 从credentials对象中获取密码 return await verifyAdminPassword(credentials.password); }); } export { verifyAdminPassword, initAuthIpc };