1 Star 1 Fork 61

caogtaa/CCC 扩展 - 自动压缩 PNG 资源

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
config-manager.js 1.97 KB
一键复制 编辑 原始数据 按行查看 历史
const Fs = require('fs');
const Path = require('path');
/** 配置文件保存目录 */
const configFileDir = 'local';
/** 配置文件名 */
const configFileName = 'ccc-png-auto-compress.json';
/** 配置管理器 */
const ConfigManager = {
/** 默认配置 */
defaultConfig: {
enabled: false,
minQuality: 40,
maxQuality: 80,
colors: 256,
speed: 3,
excludeFolders: [],
excludeFiles: [],
},
/**
* 保存配置
* @param {object} config 配置
* @returns {string} 配置文件路径
*/
set(config) {
// 查找目录
const projectPath = Editor.Project.path || Editor.projectPath;
const configDirPath = Path.join(projectPath, configFileDir);
if (!Fs.existsSync(configDirPath)) Fs.mkdirSync(configDirPath);
const configFilePath = Path.join(projectPath, configFileDir, configFileName);
// 读取本地配置
let object = Object.create(null);
if (Fs.existsSync(configFilePath)) {
object = JSON.parse(Fs.readFileSync(configFilePath, 'utf8'));
}
// 写入配置
for (const key in config) {
let value = config[key];
if (Array.isArray(value)) {
value = value.filter(_value => _value !== '');
}
object[key] = value;
}
Fs.writeFileSync(configFilePath, JSON.stringify(object, null, 2));
return configFilePath;
},
/**
* 读取配置
* @returns {object} 配置
*/
get() {
const projectPath = Editor.Project.path || Editor.projectPath;
const configFilePath = Path.join(projectPath, configFileDir, configFileName);
let config = null;
if (Fs.existsSync(configFilePath)) {
config = JSON.parse(Fs.readFileSync(configFilePath, 'utf8'));
} else {
config = { ...this.defaultConfig };
}
return config;
}
}
module.exports = ConfigManager;
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
NodeJS
1
https://gitee.com/caogtaa/ccc-png-auto-compress.git
git@gitee.com:caogtaa/ccc-png-auto-compress.git
caogtaa
ccc-png-auto-compress
CCC 扩展 - 自动压缩 PNG 资源
master

搜索帮助