feat: save some fields in the runtime config, close #292
This commit is contained in:
parent
490ba9f140
commit
c62dddd5b9
@ -15,4 +15,17 @@ impl IRuntime {
|
|||||||
pub fn new() -> Self {
|
pub fn new() -> Self {
|
||||||
Self::default()
|
Self::default()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 这里只更改 allow-lan | ipv6 | log-level
|
||||||
|
pub fn patch_config(&mut self, patch: Mapping) {
|
||||||
|
if let Some(config) = self.config.as_mut() {
|
||||||
|
["allow-lan", "ipv6", "log-level"]
|
||||||
|
.into_iter()
|
||||||
|
.for_each(|key| {
|
||||||
|
if let Some(value) = patch.get(key).to_owned() {
|
||||||
|
config.insert(key.into(), value.clone());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -183,6 +183,8 @@ pub async fn patch_clash(patch: Mapping) -> Result<()> {
|
|||||||
log_err!(handle::Handle::update_systray_part());
|
log_err!(handle::Handle::update_systray_part());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Config::runtime().latest().patch_config(patch);
|
||||||
|
|
||||||
<Result<()>>::Ok(())
|
<Result<()>>::Ok(())
|
||||||
} {
|
} {
|
||||||
Ok(()) => {
|
Ok(()) => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user