updater

自定义自动更新流程

tauri.conf.json 中的 build.withGlobalTauri 设置为 true 时,也可以通过 window.__TAURI__.updater 访问此软件包。

接口

UpdateManifest

自1.0.0版本起

属性

body

body: string

定义在: updater.ts:34

date

date: string

定义在: updater.ts:33

version

version: string

定义在: updater.ts:32

UpdateResult

自1.0.0版本起

属性

manifest

Optional manifest: UpdateManifest

定义在: updater.ts:41

shouldUpdate

shouldUpdate: boolean

定义在: updater.ts:42

UpdateStatusResult

自1.0.0版本起

属性

error

Optional error: string

定义在: updater.ts:24

status

status: UpdateStatus

定义在: updater.ts:25

类型别名

UpdateStatus

UpdateStatus: "PENDING" | "ERROR" | "DONE" | "UPTODATE"

自1.0.0版本起

定义在: updater.ts:18

方法

checkUpdate

checkUpdate(): Promise<UpdateResult>

检查是否有更新。

示例


import { checkUpdate } from '@tauri-apps/api/updater';
const update = await checkUpdate();
// 如果需要,现在运行 installUpdate()

自1.0.0版本起

返回值: Promise<UpdateResult>

promise解析为更新状态。

installUpdate

installUpdate(): Promise<void>

如果有可用的更新,请安装。

示例


import { checkUpdate, installUpdate } from '@tauri-apps/api/updater';
const update = await checkUpdate();
if (update.shouldUpdate) {
  console.log(`Installing update ${update.manifest?.version}, ${update.manifest?.date}, ${update.manifest.body}`);
  await installUpdate();
}

自1.0.0版本起

返回值: Promise<void>

表示操作成功或失败的promise。

onUpdaterEvent

onUpdaterEvent(handler: fn): Promise<UnlistenFn>

监听更新事件

示例


import { onUpdaterEvent } from "@tauri-apps/api/updater";
const unlisten = await onUpdaterEvent(({ error, status }) => {
 console.log('Updater event', error, status);
});

// 如果处理程序超出范围,例如组件被卸载,则需要调用 unisten
unlisten();

自1.0.2版本起

参数

名称 类型
handler (status: UpdateStatusResult) => void

返回值: Promise<UnlistenFn>

解析为取消事件监听的函数的promise。请注意,如果您的监听器超出范围,例如组件被卸载,则需要移除监听器。