| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- // electron/utils/readConfig.js
- const fs = require('fs');
- const path = require('path');
- const { app } = require('electron');
- const defaultConfig = require('./config.default');
- const configPath = path.join(app.getPath("userData"),'config.default.json');
- /**
- * 读取配置文件
- */
- function readConfigFile() {
- try {
- if (fs.existsSync(configPath)) {
- const data = fs.readFileSync(configPath, 'utf8');
- return {
- ...defaultConfig,
- ...JSON.parse(data),
- };
- } else {
- console.log('配置文件不存在');
- // 创建空白JSON文件
- fs.writeFileSync(configPath, '{}', 'utf8');
- return {
- ...defaultConfig,
- };
- }
- } catch (error) {
- console.error('读取配置文件出错:', error);
- return null;
- }
- }
- /**
- * 写入配置文件
- * @param {string} key - 要写入的配置项键名
- * @param {*} value - 要写入的配置项值
- */
- function writeConfigFile(key, value) {
- try {
- let config = {};
- // 如果配置文件存在,则读取现有内容
- if (fs.existsSync(configPath)) {
- const data = fs.readFileSync(configPath, 'utf8');
- config = {
- ...defaultConfig,
- ...JSON.parse(data),
- };
- }else {
- console.log('配置文件不存在');
- // 创建空白JSON文件
- fs.writeFileSync(configPath, '{}', 'utf8');
- config = {
- ...defaultConfig,
- }
- }
- // 更新配置项
- config[key] = value;
- // 将更新后的配置写回文件
- fs.writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf8');
- console.log(`成功写入配置项: ${key}`);
- } catch (error) {
- console.error('写入配置文件出错:', error);
- }
- }
- module.exports = {
- readConfigFile,
- writeConfigFile
- };
|