cmds.ts 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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 getClashInfo() {
  56. return invoke<CmdType.ClashInfo | null>("get_clash_info");
  57. }
  58. export async function patchClashConfig(payload: Partial<ApiType.ConfigData>) {
  59. return invoke<void>("patch_clash_config", { payload });
  60. }
  61. export async function getVergeConfig() {
  62. return invoke<CmdType.VergeConfig>("get_verge_config");
  63. }
  64. export async function patchVergeConfig(payload: CmdType.VergeConfig) {
  65. return invoke<void>("patch_verge_config", { payload });
  66. }
  67. export async function getSystemProxy() {
  68. return invoke<any>("get_sys_proxy");
  69. }
  70. export async function restartSidecar() {
  71. return invoke<void>("restart_sidecar");
  72. }
  73. export async function killSidecars() {
  74. return invoke<any>("kill_sidecars");
  75. }
  76. export async function openAppDir() {
  77. return invoke<void>("open_app_dir").catch((err) =>
  78. Notice.error(err?.message || err.toString(), 1500)
  79. );
  80. }
  81. export async function openLogsDir() {
  82. return invoke<void>("open_logs_dir").catch((err) =>
  83. Notice.error(err?.message || err.toString(), 1500)
  84. );
  85. }