设置¶
UI-PROTOTYPE 提供了基本的设置功能,包括自动加载、自动保存、类型检查、默认值、序列化与反序列化。
添加/删除设置项¶
- 修改
src/shared/types/settings.d.ts中的SettingsKeyMap接口 - 修改
src/main/modules/settings.ts - 修改
getDefaultSettings以设置默认值 - 修改
Validators以添加验证器 - 若包含不可直接转化为 JSON 的设置项,则需在
Serializers和Deserializers中添加序列化与反序列化器
处理保存失败¶
保存时可能会出现保存失败的情况,可以修改src/main/modules/settings.ts中save函数来处理错误。
例如:
async save() {
// ...
let error = await writeConfig('settings', data);
if (!error) return;
// 在此处添加错误处理相关代码
};
初始化设置¶
默认情况下,设置会在Electron.App的ready事件后立即初始化。如果需要修改设置初始化的时机,请确保在使用设置项之前初始化。
API¶
main/modules/settings¶
类:settings¶
方法:init¶
初始化设置。请确保在使用设置项之前初始化。
方法:save¶
保存设置。
方法:get¶
获取设置项,当没有对应的设置项时返回undefined。
方法:set¶
修改设置项,成功设置返回undefined,不存在该设置项时返回'INVALID_KEY',值验证不通过返回'INVALID_VALUE'。不建议将该函数直接暴露给插件进程。
方法:reset¶
重置设置。不建议将该函数直接暴露给插件进程。