设置¶
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
¶
重置设置。不建议将该函数直接暴露给插件进程。