cmds.ts 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. import { invoke } from "@tauri-apps/api/tauri";
  2. import { ApiType, CmdType } from "./types";
  3. import Notice from "../components/base/base-notice";
  4. export async function getProfiles() {
  5. return invoke<CmdType.ProfilesConfig>("get_profiles");
  6. }
  7. export async function syncProfiles() {
  8. return invoke<void>("sync_profiles");
  9. }
  10. export async function enhanceProfiles() {
  11. return invoke<void>("enhance_profiles");
  12. }
  13. export async function createProfile(
  14. item: Partial<CmdType.ProfileItem>,
  15. fileData?: string | null
  16. ) {
  17. return invoke<void>("create_profile", { item, fileData });
  18. }
  19. export async function viewProfile(index: string) {
  20. return invoke<void>("view_profile", { index });
  21. }
  22. export async function readProfileFile(index: string) {
  23. return invoke<string>("read_profile_file", { index });
  24. }
  25. export async function saveProfileFile(index: string, fileData: string) {
  26. return invoke<void>("save_profile_file", { index, fileData });
  27. }
  28. export async function importProfile(url: string) {
  29. return invoke<void>("import_profile", {
  30. url,
  31. option: { with_proxy: true },
  32. });
  33. }
  34. export async function updateProfile(
  35. index: string,
  36. option?: CmdType.ProfileOption
  37. ) {
  38. return invoke<void>("update_profile", { index, option });
  39. }
  40. export async function deleteProfile(index: string) {
  41. return invoke<void>("delete_profile", { index });
  42. }
  43. export async function patchProfile(
  44. index: string,
  45. profile: Partial<CmdType.ProfileItem>
  46. ) {
  47. return invoke<void>("patch_profile", { index, profile });
  48. }
  49. export async function selectProfile(index: string) {
  50. return invoke<void>("select_profile", { index });
  51. }
  52. export async function changeProfileChain(chain?: string[]) {
  53. return invoke<void>("change_profile_chain", { chain });
  54. }
  55. export async function changeProfileValid(valid?: string[]) {
  56. return invoke<void>("change_profile_valid", { valid });
  57. }
  58. export async function getClashInfo() {
  59. return invoke<CmdType.ClashInfo | null>("get_clash_info");
  60. }
  61. export async function patchClashConfig(payload: Partial<ApiType.ConfigData>) {
  62. return invoke<void>("patch_clash_config", { payload });
  63. }
  64. export async function getVergeConfig() {
  65. return invoke<CmdType.VergeConfig>("get_verge_config");
  66. }
  67. export async function patchVergeConfig(payload: CmdType.VergeConfig) {
  68. return invoke<void>("patch_verge_config", { payload });
  69. }
  70. export async function getSystemProxy() {
  71. return invoke<any>("get_sys_proxy");
  72. }
  73. export async function restartSidecar() {
  74. return invoke<void>("restart_sidecar");
  75. }
  76. export async function killSidecars() {
  77. return invoke<any>("kill_sidecars");
  78. }
  79. export async function openAppDir() {
  80. return invoke<void>("open_app_dir").catch((err) =>
  81. Notice.error(err?.message || err.toString(), 1500)
  82. );
  83. }
  84. export async function openLogsDir() {
  85. return invoke<void>("open_logs_dir").catch((err) =>
  86. Notice.error(err?.message || err.toString(), 1500)
  87. );
  88. }