mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
bug fixes
This commit is contained in:
15 files changed
+23
-163
No files matched your search
@@ -79,44 +79,3 @@ export async function locale(pending: Record<string, string>, fail: string[]) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export async function setting(pending: Record<string, string>, fail: string[], modelSetting: typeof import('../model/setting')) {
|
||||
const map = {
|
||||
system: modelSetting.SystemSetting,
|
||||
account: modelSetting.AccountSetting,
|
||||
preference: modelSetting.PreferenceSetting,
|
||||
domain: modelSetting.DomainSetting,
|
||||
};
|
||||
for (const i of Object.values(pending)) {
|
||||
let p = path.resolve(i, 'setting.yaml');
|
||||
const t = i.split(path.sep);
|
||||
// TODO: change this name setting to package name
|
||||
const name = t[t.length - 1];
|
||||
if (!fs.existsSync(p)) p = path.resolve(i, 'settings.yaml');
|
||||
if (fs.existsSync(p) && !fail.includes(i)) {
|
||||
try {
|
||||
const cfg: any = yaml.load(await fs.readFile(p, 'utf-8'));
|
||||
for (const key in cfg) {
|
||||
let val = cfg[key].default || cfg[key].value;
|
||||
if (typeof val === 'string') {
|
||||
val = val
|
||||
.replace(/\$TEMP/g, os.tmpdir())
|
||||
.replace(/\$HOME/g, os.homedir());
|
||||
}
|
||||
const category = cfg[key].category || 'system';
|
||||
map[category](
|
||||
modelSetting.Setting(
|
||||
cfg[key].family || name, category === 'system' ? `${name}.${key}` : key, val, cfg[key].type || 'text',
|
||||
cfg[key].name || key, cfg[key].desc || '',
|
||||
),
|
||||
);
|
||||
}
|
||||
logger.info('Config load: %s', i);
|
||||
} catch (e) {
|
||||
app.injectUI('Notification', 'Config load fail: {0}', { args: [i], type: 'warn' }, PRIV.PRIV_VIEW_SYSTEM_NOTIFICATION);
|
||||
logger.error('Config Load Fail: %s', i);
|
||||
logger.error(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user