代码拉取完成,页面将自动刷新
同步操作将从 陈皮皮/Cocos 扩展 - 自动压缩 PNG 资源 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
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;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。