mirror of
https://github.com/clash-verge-rev/clash-verge-rev
synced 2025-05-04 20:57:33 +08:00
add: RunningMode Display implementation and TypeScript enum
This commit is contained in:
parent
d91653b218
commit
ca0cf4552c
@ -1,6 +1,6 @@
|
||||
use super::CmdResult;
|
||||
use crate::{
|
||||
core::{self, handle, CoreManager},
|
||||
core::{self, handle, CoreManager, RunningMode},
|
||||
module::sysinfo::PlatformSpecification,
|
||||
};
|
||||
use once_cell::sync::Lazy;
|
||||
@ -44,11 +44,7 @@ pub async fn get_system_info() -> CmdResult<String> {
|
||||
/// 获取当前内核运行模式
|
||||
#[tauri::command]
|
||||
pub async fn get_running_mode() -> Result<String, String> {
|
||||
match CoreManager::global().get_running_mode().await {
|
||||
core::RunningMode::Service => Ok("service".to_string()),
|
||||
core::RunningMode::Sidecar => Ok("standalone".to_string()),
|
||||
core::RunningMode::NotRunning => Ok("not_running".to_string()),
|
||||
}
|
||||
Ok(CoreManager::global().get_running_mode().await.to_string())
|
||||
}
|
||||
|
||||
/// 获取应用的运行时间(毫秒)
|
||||
|
@ -16,7 +16,7 @@ use crate::{
|
||||
};
|
||||
use anyhow::Result;
|
||||
use once_cell::sync::OnceCell;
|
||||
use std::{path::PathBuf, sync::Arc};
|
||||
use std::{fmt, path::PathBuf, sync::Arc};
|
||||
use tauri_plugin_shell::{process::CommandChild, ShellExt};
|
||||
use tokio::sync::Mutex;
|
||||
|
||||
@ -37,6 +37,16 @@ pub enum RunningMode {
|
||||
NotRunning,
|
||||
}
|
||||
|
||||
impl fmt::Display for RunningMode {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
match self {
|
||||
RunningMode::Service => write!(f, "Service"),
|
||||
RunningMode::Sidecar => write!(f, "Sidecar"),
|
||||
RunningMode::NotRunning => write!(f, "NotRunning"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const CLASH_CORES: [&str; 2] = ["verge-mihomo", "verge-mihomo-alpha"];
|
||||
|
||||
impl CoreManager {
|
||||
|
@ -1,6 +1,7 @@
|
||||
import dayjs from "dayjs";
|
||||
import { invoke } from "@tauri-apps/api/core";
|
||||
import { Notice } from "@/components/base";
|
||||
import { IRunningMode } from "./types";
|
||||
|
||||
export async function copyClashEnv() {
|
||||
return invoke<void>("copy_clash_env");
|
||||
@ -312,7 +313,7 @@ export async function validateScriptFile(filePath: string) {
|
||||
|
||||
// 获取当前运行模式
|
||||
export const getRunningMode = async () => {
|
||||
return invoke<string>("get_running_mode");
|
||||
return invoke<IRunningMode>("get_running_mode");
|
||||
};
|
||||
|
||||
// 获取应用运行时间
|
||||
|
10
src/services/types.d.ts
vendored
10
src/services/types.d.ts
vendored
@ -806,3 +806,13 @@ interface IWebDavConfig {
|
||||
username: string;
|
||||
password: string;
|
||||
}
|
||||
|
||||
export enum RunningMode {
|
||||
Service = "Service",
|
||||
Sidecar = "Sidecar",
|
||||
NotRunning = "NotRunning",
|
||||
}
|
||||
|
||||
export interface IRunningMode {
|
||||
mode: RunningMode;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user