import { invoke } from "@tauri-apps/api/tauri"; import { ApiType, CmdType } from "./types"; import Notice from "../components/base/base-notice"; export async function getProfiles() { return invoke("get_profiles"); } export async function enhanceProfiles() { return invoke("enhance_profiles"); } export async function createProfile( item: Partial, fileData?: string | null ) { return invoke("create_profile", { item, fileData }); } export async function viewProfile(index: string) { return invoke("view_profile", { index }); } export async function readProfileFile(index: string) { return invoke("read_profile_file", { index }); } export async function saveProfileFile(index: string, fileData: string) { return invoke("save_profile_file", { index, fileData }); } export async function importProfile(url: string) { return invoke("import_profile", { url, option: { with_proxy: true }, }); } export async function updateProfile( index: string, option?: CmdType.ProfileOption ) { return invoke("update_profile", { index, option }); } export async function deleteProfile(index: string) { return invoke("delete_profile", { index }); } export async function patchProfile( index: string, profile: Partial ) { return invoke("patch_profile", { index, profile }); } export async function selectProfile(index: string) { return invoke("select_profile", { index }); } export async function changeProfileChain(chain?: string[]) { return invoke("change_profile_chain", { chain }); } export async function changeProfileValid(valid?: string[]) { return invoke("change_profile_valid", { valid }); } export async function getClashInfo() { return invoke("get_clash_info"); } export async function patchClashConfig(payload: Partial) { return invoke("patch_clash_config", { payload }); } export async function getVergeConfig() { return invoke("get_verge_config"); } export async function patchVergeConfig(payload: CmdType.VergeConfig) { return invoke("patch_verge_config", { payload }); } export async function getSystemProxy() { return invoke("get_sys_proxy"); } export async function restartSidecar() { return invoke("restart_sidecar"); } export async function killSidecar() { return invoke("kill_sidecar"); } export async function openAppDir() { return invoke("open_app_dir").catch((err) => Notice.error(err?.message || err.toString(), 1500) ); } export async function openLogsDir() { return invoke("open_logs_dir").catch((err) => Notice.error(err?.message || err.toString(), 1500) ); } /// service mode export async function startService() { return invoke("start_service"); } export async function checkService() { return invoke("check_service"); } export async function installService() { return invoke("install_service"); } export async function uninstallService() { return invoke("uninstall_service"); }