const ConfigManager = { // 读取配置文件 readConfigFile(callback) { if (typeof plus === 'undefined') { callback(new Error('plus is not defined. Run on a real device or emulator.')); return; } plus.io.resolveLocalFileSystemURL('_doc/config.json', function(entry) { entry.file(function(file) { const reader = new plus.io.FileReader(); reader.onloadend = function(e) { try { const config = JSON.parse(e.target.result); callback(null, config); } catch (error) { callback(error); } }; reader.readAsText(file); }, function(error) { callback(error); }); }, function(error) { callback(error); }); }, // 保存配置文件 saveConfigFile(newConfig, callback) { if (typeof plus === 'undefined') { callback(new Error('plus is not defined. Run on a real device or emulator.')); return; } plus.io.resolveLocalFileSystemURL('_doc/config.json', function(entry) { entry.createWriter(function(writer) { writer.onwriteend = function() { callback(null); }; writer.onerror = function(error) { callback(error); }; writer.write(JSON.stringify(newConfig)); }, function(error) { callback(error); }); }, function(error) { callback(error); }); }, // 初始化配置文件 initializeConfigFile(defaultConfig, callback) { if (typeof plus === 'undefined') { callback(new Error('plus is not defined. Run on a real device or emulator.')); return; } plus.io.resolveLocalFileSystemURL('_doc/', function(directoryEntry) { directoryEntry.getFile('config.json', { create: true }, function(fileEntry) { fileEntry.createWriter(function(writer) { writer.onwriteend = function() { callback(null, defaultConfig); }; writer.onerror = function(error) { callback(error); }; writer.write(JSON.stringify(defaultConfig)); }); }); }); }, // 重置配置文件 resetConfigFile(defaultConfig, callback) { this.initializeConfigFile(defaultConfig, callback); } }; export default ConfigManager;