miao-plugin/components/Cfg.js

58 lines
1.2 KiB
JavaScript
Raw Normal View History

2023-10-24 19:34:36 +00:00
import fs from 'node:fs'
import lodash from 'lodash'
2023-02-13 20:43:14 +00:00
import cfgData from './cfg/CfgData.js'
2023-03-31 20:03:05 +00:00
import { Version } from '#miao'
2022-04-09 21:33:21 +00:00
const _path = process.cwd()
const _cfgPath = `${_path}/plugins/miao-plugin/components/`
let cfg = {}
2023-03-31 20:03:05 +00:00
let miaoCfg = {}
2022-04-09 21:33:21 +00:00
try {
cfg = await cfgData.getCfg()
cfgData.saveCfg(cfg)
2023-03-31 20:03:05 +00:00
lodash.forEach(cfgData.getCfgSchemaMap(), (cm) => {
if (cm.miao) {
miaoCfg[cm.cfgKey] = true
}
})
2022-04-09 21:33:21 +00:00
} catch (e) {
// do nth
}
let Cfg = {
2023-10-31 20:07:47 +00:00
get (rote, def = '') {
2023-03-31 20:03:05 +00:00
if (Version.isMiao && miaoCfg[rote]) {
return true
}
2023-10-31 20:07:47 +00:00
let ret = lodash.get(cfg, rote)
return lodash.isUndefined(cfg) ? def : ret
2022-04-09 21:33:21 +00:00
},
set (rote, val) {
cfg[rote] = val
cfgData.saveCfg(cfg)
2022-04-09 21:33:21 +00:00
},
del (rote) {
lodash.set(cfg, rote, undefined)
fs.writeFileSync(_cfgPath + 'cfg.json', JSON.stringify(cfg, null, '\t'))
},
getCfg () {
return cfg
},
getCfgSchema () {
return cfgData.getCfgSchema()
},
getCfgSchemaMap () {
return cfgData.getCfgSchemaMap()
},
scale (pct = 1) {
let scale = Cfg.get('renderScale', 100)
scale = Math.min(2, Math.max(0.5, scale / 100))
pct = pct * scale
return `style=transform:scale(${pct})`
2022-04-09 21:33:21 +00:00
}
}
2022-04-09 21:33:21 +00:00
export default Cfg