index.ts 920 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { invoke } from '@tauri-apps/api/core'
  2. export interface DownloadOptions {
  3. serverUrl: string
  4. }
  5. export interface DownloadResponse {
  6. success: boolean
  7. bundleName: string
  8. serverUrl: string
  9. version: string
  10. }
  11. export interface WindowOptions {
  12. title?: string
  13. width?: number
  14. height?: number
  15. resizable?: boolean
  16. }
  17. export interface LoadOptions {
  18. bundleName: string
  19. inline?: boolean
  20. window?: WindowOptions
  21. }
  22. export interface LoadResponse {
  23. success: boolean
  24. windowLabel: string
  25. }
  26. export async function download(options: DownloadOptions): Promise<DownloadResponse> {
  27. return await invoke<DownloadResponse>('plugin:appload|download', { options })
  28. }
  29. export async function load(options: LoadOptions): Promise<LoadResponse> {
  30. return await invoke<LoadResponse>('plugin:appload|load', { options })
  31. }
  32. export async function clear(): Promise<void> {
  33. return await invoke('plugin:appload|clear')
  34. }