feature: 启用/禁用 “远程配置” 时,自动加载配置并重启代理服务和系统代理。
parent
129da218f6
commit
925c20501a
|
@ -124,18 +124,24 @@ const configApi = {
|
|||
defConfig = mergeApi.doMerge(defConfig, configApi.readRemoteConfig())
|
||||
}
|
||||
|
||||
// 计算新配置与默认配置(启用远程配置时,含远程配置)的差异,并保存到 config.json5 中
|
||||
// 计算新配置与默认配置(启用远程配置时,含远程配置)的差异,并保存到 config.json 中
|
||||
const diffConfig = mergeApi.doDiff(defConfig, newConfig)
|
||||
const configPath = _getConfigPath()
|
||||
fs.writeFileSync(configPath, JSON.stringify(diffConfig, null, '\t'))
|
||||
log.info('保存自定义配置文件成功:', configPath)
|
||||
configApi.reload()
|
||||
return diffConfig
|
||||
|
||||
// 重载配置
|
||||
const allConfig = configApi.reload()
|
||||
|
||||
return {
|
||||
diffConfig,
|
||||
allConfig
|
||||
}
|
||||
},
|
||||
doMerge: mergeApi.doMerge,
|
||||
doDiff: mergeApi.doDiff,
|
||||
/**
|
||||
* 读取 config.json5 后,合并配置
|
||||
* 读取 config.json 后,合并配置
|
||||
* @returns {*}
|
||||
*/
|
||||
reload () {
|
||||
|
|
|
@ -190,7 +190,7 @@ export default {
|
|||
},
|
||||
doSave () {
|
||||
return api.config.save(this.targetConfig).then(ret => {
|
||||
this.$emit('change', ret)
|
||||
this.$emit('change', ret.diffConfig)
|
||||
})
|
||||
},
|
||||
deleteDnsMapping (item, index) {
|
||||
|
|
|
@ -7,6 +7,7 @@ export default {
|
|||
},
|
||||
data () {
|
||||
return {
|
||||
key: undefined,
|
||||
config: undefined,
|
||||
status: {},
|
||||
labelCol: { span: 4 },
|
||||
|
@ -31,10 +32,10 @@ export default {
|
|||
this.status = this.$status
|
||||
|
||||
const config = await this.$api.config.reload()
|
||||
this.$set(this, 'config', config)
|
||||
this.setConfig(config)
|
||||
this.systemPlatform = await this.$api.info.getSystemPlatform()
|
||||
console.log('config', this.config, this.systemPlatform)
|
||||
// eslint-disable-next-line no-debugger
|
||||
|
||||
this.printConfig()
|
||||
|
||||
if (this.ready) {
|
||||
return this.ready(this.config)
|
||||
|
@ -74,8 +75,11 @@ export default {
|
|||
})
|
||||
},
|
||||
saveConfig () {
|
||||
return this.$api.config.save(this.config).then(() => {
|
||||
return this.$api.config.save(this.config).then((ret) => {
|
||||
this.$message.info('设置已保存')
|
||||
this.setConfig(ret.allConfig)
|
||||
this.printConfig('after saveConfig(), ')
|
||||
return ret
|
||||
})
|
||||
},
|
||||
getConfig (key) {
|
||||
|
@ -85,6 +89,12 @@ export default {
|
|||
}
|
||||
return value
|
||||
},
|
||||
setConfig (newConfig) {
|
||||
this.$set(this, 'config', newConfig)
|
||||
},
|
||||
printConfig (prefix = '') {
|
||||
console.log(`${prefix}${this.key} page config:`, this.config, this.systemPlatform)
|
||||
},
|
||||
getStatus (key) {
|
||||
const value = lodash.get(this.status, key)
|
||||
if (value == null) {
|
||||
|
|
|
@ -100,9 +100,17 @@ export default {
|
|||
this.$api.autoStart.enabled(this.config.app.autoStart.enabled)
|
||||
this.saveConfig()
|
||||
},
|
||||
onRemoteConfigEnabledChange () {
|
||||
async onRemoteConfigEnabledChange () {
|
||||
this.saveConfig()
|
||||
this.$message.info('请重启加速服务')
|
||||
if (this.config.app.remoteConfig.enabled === true) {
|
||||
await this.$api.config.startAutoDownloadRemoteConfig()
|
||||
} else {
|
||||
this.$api.config.reload()
|
||||
}
|
||||
if (this.status.server.enabled || this.status.proxy.enabled) {
|
||||
await this.$api.proxy.restart()
|
||||
this.$api.server.restart()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue