mirror of
https://github.com/yoimiya-kokomi/miao-plugin.git
synced 2024-11-16 12:51:30 +00:00
59 lines
1.7 KiB
JavaScript
59 lines
1.7 KiB
JavaScript
|
import { cfgSchema } from '../../config/system/cfg_system.js'
|
||
|
import lodash from 'lodash'
|
||
|
import { Data } from '../index.js'
|
||
|
import fs from 'node:fs'
|
||
|
|
||
|
let cfgData = {
|
||
|
async loadOldData () {
|
||
|
const _path = process.cwd()
|
||
|
const _cfgPath = `${_path}/plugins/miao-plugin/components/`
|
||
|
if (!fs.existsSync(_cfgPath + 'cfg.json')) {
|
||
|
return false
|
||
|
}
|
||
|
let old = Data.readJSON('/components/cfg.json')
|
||
|
let cfg = await Data.importModule('/config/cfg.js')
|
||
|
let ret = {}
|
||
|
lodash.forEach(cfgSchema, (cfgGroup) => {
|
||
|
lodash.forEach(cfgGroup.cfg, (cfgItem, cfgKey) => {
|
||
|
ret[cfgKey] = Data.def(cfg[cfgKey], cfgItem.oldCfgKey ? Data.getVal(old, cfgItem.oldCfgKey) : undefined, cfgItem.def)
|
||
|
})
|
||
|
})
|
||
|
return ret
|
||
|
},
|
||
|
|
||
|
saveCfg (cfg) {
|
||
|
let ret = []
|
||
|
lodash.forEach(cfgSchema, (cfgGroup) => {
|
||
|
ret.push(`/** ************ 【${cfgGroup.title}】 ************* */`)
|
||
|
lodash.forEach(cfgGroup.cfg, (cfgItem, cfgKey) => {
|
||
|
ret.push(`// ${cfgItem.desc || cfgItem.title}`)
|
||
|
let val = Data.def(cfg[cfgKey], cfgItem.def)
|
||
|
if (cfgItem.input) {
|
||
|
val = cfgItem.input(val)
|
||
|
}
|
||
|
ret.push(`export const ${cfgKey} = ${val.toString()}`, '')
|
||
|
})
|
||
|
})
|
||
|
fs.writeFileSync(`${process.cwd()}/plugins/miao-plugin/config/cfg.js`, ret.join('\n'), 'utf8')
|
||
|
},
|
||
|
|
||
|
async getCfg () {
|
||
|
return lodash.toPlainObject(await Data.importModule('/config/cfg.js'))
|
||
|
},
|
||
|
|
||
|
getCfgSchemaMap () {
|
||
|
let ret = {}
|
||
|
lodash.forEach(cfgSchema, (cfgGroup) => {
|
||
|
lodash.forEach(cfgGroup.cfg, (cfgItem, cfgKey) => {
|
||
|
ret[cfgItem.key] = cfgItem
|
||
|
cfgItem.cfgKey = cfgKey
|
||
|
})
|
||
|
})
|
||
|
return ret
|
||
|
},
|
||
|
getCfgSchema () {
|
||
|
return cfgSchema
|
||
|
}
|
||
|
}
|
||
|
export default cfgData
|