光伏pc端应用
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

64 lines
1.5 KiB

/*
* @Author: 李皓 hao_li_work@163.com
* @Date: 2026-07-28 15:22:20
* @LastEditors: 李皓 hao_li_work@163.com
* @LastEditTime: 2026-07-28 16:59:56
* @FilePath: \pc\main.js
* @Description:
* @Version: 1.0.0
*/
const { app, BrowserWindow, ipcMain } = require('electron')
const path = require('path')
const fs = require('fs')
// 缓存文件路径(存储在应用用户数据目录下)
const cacheFile = path.join(app.getPath('userData'), 'app-cache.json')
// 读取缓存文件
function readCache() {
try {
if (fs.existsSync(cacheFile)) {
const raw = fs.readFileSync(cacheFile, 'utf-8')
return JSON.parse(raw)
}
} catch { /* 忽略解析错误 */ }
return {}
}
// 写入缓存文件
function writeCache(data) {
fs.writeFileSync(cacheFile, JSON.stringify(data, null, 2), 'utf-8')
}
const createWindow = () => {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js'),
contextIsolation: true,
nodeIntegration: false,
sandbox: false
}
})
win.loadFile('./dist/index.html')
}
app.whenReady().then(() => {
// 注册 IPC 处理器:获取缓存
ipcMain.handle('get-cache', (_event, key) => {
const cache = readCache()
return key ? cache[key] : cache
})
// 注册 IPC 处理器:设置缓存
ipcMain.handle('set-cache', (_event, key, value) => {
const cache = readCache()
cache[key] = value
writeCache(cache)
return true
})
createWindow()
})