mirror of
https://github.com/clash-verge-rev/clash-verge-rev
synced 2025-05-05 11:23:44 +08:00
51 lines
1.1 KiB
TypeScript
51 lines
1.1 KiB
TypeScript
import { invoke } from "@tauri-apps/api/tauri";
|
|
|
|
export async function restartSidecar() {
|
|
return invoke<void>("restart_sidebar");
|
|
}
|
|
|
|
export interface ClashInfo {
|
|
status: string;
|
|
controller?: { server?: string; secret?: string };
|
|
message?: string;
|
|
}
|
|
|
|
export async function getClashInfo() {
|
|
return invoke<ClashInfo | null>("get_clash_info");
|
|
}
|
|
|
|
export async function importProfile(url: string) {
|
|
return invoke<string>("import_profile", { url });
|
|
}
|
|
|
|
export interface ProfileItem {
|
|
name?: string;
|
|
file?: string;
|
|
mode?: string;
|
|
url?: string;
|
|
selected?: { name?: string; now?: string }[];
|
|
extra?: {
|
|
upload: number;
|
|
download: number;
|
|
total: number;
|
|
expire: number;
|
|
};
|
|
}
|
|
|
|
export interface ProfilesConfig {
|
|
current?: number;
|
|
items?: ProfileItem[];
|
|
}
|
|
|
|
export async function getProfiles() {
|
|
return invoke<ProfilesConfig | null>("get_profiles");
|
|
}
|
|
|
|
export async function setProfiles(current: number, profile: ProfileItem) {
|
|
return invoke<void>("set_profiles", { current, profile });
|
|
}
|
|
|
|
export async function putProfiles(current: number) {
|
|
return invoke<void>("put_profiles", { current });
|
|
}
|