mirror of
https://github.com/clash-verge-rev/clash-verge-rev
synced 2025-05-05 20:43:43 +08:00
37 lines
1.0 KiB
Rust
37 lines
1.0 KiB
Rust
use super::CmdResult;
|
|
use crate::{config::*, wrap_err};
|
|
use anyhow::Context;
|
|
use serde_yaml::Mapping;
|
|
use std::collections::HashMap;
|
|
|
|
/// 获取运行时配置
|
|
#[tauri::command]
|
|
pub fn get_runtime_config() -> CmdResult<Option<Mapping>> {
|
|
Ok(Config::runtime().latest().config.clone())
|
|
}
|
|
|
|
/// 获取运行时YAML配置
|
|
#[tauri::command]
|
|
pub fn get_runtime_yaml() -> CmdResult<String> {
|
|
let runtime = Config::runtime();
|
|
let runtime = runtime.latest();
|
|
let config = runtime.config.as_ref();
|
|
wrap_err!(config
|
|
.ok_or(anyhow::anyhow!("failed to parse config to yaml file"))
|
|
.and_then(
|
|
|config| serde_yaml::to_string(config).context("failed to convert config to yaml")
|
|
))
|
|
}
|
|
|
|
/// 获取运行时存在的键
|
|
#[tauri::command]
|
|
pub fn get_runtime_exists() -> CmdResult<Vec<String>> {
|
|
Ok(Config::runtime().latest().exists_keys.clone())
|
|
}
|
|
|
|
/// 获取运行时日志
|
|
#[tauri::command]
|
|
pub fn get_runtime_logs() -> CmdResult<HashMap<String, Vec<(String, String)>>> {
|
|
Ok(Config::runtime().latest().chain_logs.clone())
|
|
}
|