feat: setting page

This commit is contained in:
GyDi
2021-12-20 00:01:32 +08:00
parent 13ceb1e445
commit 2b89b5fe73
9 changed files with 323 additions and 121 deletions

View File

@@ -1,4 +1,5 @@
import { invoke } from "@tauri-apps/api/tauri";
import { ConfigType } from "./common";
export async function restartSidecar() {
return invoke<void>("restart_sidecar");
@@ -14,6 +15,10 @@ export async function getClashInfo() {
return invoke<ClashInfo | null>("get_clash_info");
}
export async function patchClashConfig(payload: Partial<ConfigType>) {
return invoke<void>("patch_clash_config", { payload });
}
export async function importProfile(url: string) {
return invoke<void>("import_profile", { url });
}
@@ -56,3 +61,17 @@ export async function putProfiles(current: number) {
export async function setSysProxy(enable: boolean) {
return invoke<void>("set_sys_proxy", { enable });
}
export interface VergeConfig {
theme_mode?: "light" | "dark";
enable_self_startup?: boolean;
enable_system_proxy?: boolean;
}
export async function getVergeConfig() {
return invoke<VergeConfig>("get_verge_config");
}
export async function patchVergeConfig(payload: VergeConfig) {
return invoke<void>("patch_verge_config", { payload });
}

View File

@@ -12,14 +12,18 @@ export async function getVersion() {
export interface ConfigType {
port: number;
mode: string;
ipv6: boolean;
"socket-port": number;
"allow-lan": boolean;
"log-level": string;
"mixed-port": number;
"redir-port": number;
"socks-port": number;
"tproxy-port": number;
}
/// Get current base configs
export async function getConfigs() {
export async function getClashConfig() {
return (await getAxios()).get("/configs") as Promise<ConfigType>;
}