Skip to content

UpdateDialog 更新对话框 ​

展示检查、下载与安装状态,通过受控属性更新界面,通过事件通知操作。

检查更新 ​

发现新版本与下载 ​

更新日志 ​

release-notes 可直接传入日志原文,支持标题、列表、引用、链接、表格和代码块。原始 HTML 按文本展示;链接支持 HTTP、HTTPS 和邮件地址,图片支持 HTTP、HTTPS 地址。

未知进度与失败重试 ​

更新源 ​

source 表示选择偏好,active-source 表示当前操作实际使用的源;空 source 表示自动选择。

检查中、下载中、下载完成、安装中及安装失败阶段禁止切换源。

UpdateSource ​

字段说明类型
id必填、唯一、非空的源标识string
name展示名称,未传时显示 idstring
statuspending / checking / success / ready / available / latest / not-available / error;默认 pendingstring
version该源最近读取到的版本string
message提示文字;悬停可查看,手动选中时在列表下方展示string
disabled该源不可选择;默认 falseboolean
active实际使用标记;未传 active-source 时从该标记获取源标识boolean

全部源禁用或指定的源已不存在时,检查按钮不可用。

源状态 ready 表示已发现新版本;对话框状态 ready 表示下载完成。not-available 表示该源没有可更新版本。

操作语义 ​

check、download、install、retry 只发出事件,不自动改变 status。cancel、later、skip 同时关闭窗口;关闭按钮、Escape 和实例 close() 只关闭窗口。

自定义更新说明正文使用 release-notes 插槽。

UpdateDialog API ​

Attributes ​

属性说明类型默认值
modelValue / v-model是否显示booleanfalse
status当前更新状态,见下表stringidle
title对话框顶部标题string软件更新
width宽度,数字按 px 处理,受视口约束string / number480
appName应用名称string''
description替换当前状态的说明文字string''
currentVersion当前版本,按原样展示string''
latestVersion最新版本,按原样展示string''
channel版本渠道标签,如稳定版string''
releaseDate发布时间的展示文本string''
releaseNotes日志原文或更新说明数组;分组 items 按纯文本展示string / (string | UpdateReleaseNote | UpdateVersionNote)[][]
releaseUrl完整更新说明链接,在新窗口打开string''
progress下载百分比;null 表示未知进度number / nullnull
progressText自定义检查、下载或安装进度文案string''
downloadSize更新文件总大小的展示文本string''
downloadedSize已下载大小的展示文本string''
downloadSpeed下载速度的展示文本string''
errorStage失败阶段:check / download / installstringcheck
errorMessage失败详情string''
showAutoCheck显示自动检查选项booleanfalse
autoCheck / v-model:auto-check自动检查选项值booleanfalse
showSkip发现新版本时显示跳过操作booleanfalse
sources更新源展示列表;不传时隐藏源区域UpdateSource[][]
source / v-model:source指定的更新源标识;空字符串表示自动选择string''
activeSource当前任务实际使用的源标识,优先于源列表 active 标记string''
sourceSelectable是否允许手动选择源booleantrue
sourceDisabled额外禁止切换源booleanfalse

其余 AuDialog 属性同样适用,例如 append-to-body、lock-scroll、show-close、close-on-press-escape、close-on-click-modal、max-height 与 z-index。

Status ​

值界面默认操作
idle检查入口与当前版本关闭、检查更新
checking检查中与循环进度取消检查
available新版本、发布信息与更新说明稍后提醒、下载更新,可选跳过
latest当前版本已是最新关闭、再次检查
downloading更新说明与下载进度取消下载
ready下载完成与安装提示稍后提醒、安装更新
installing安装中与循环进度关闭、禁用的安装按钮
error失败原因及对应阶段关闭、重新检查 / 下载 / 安装

UpdateReleaseNote ​

js
const releaseNotes = [
  { title: '新增功能', items: ['支持专注模式。', '增加常用文档快捷入口。'] },
  { title: '问题修复', items: ['修复切换工作区时丢失滚动位置的问题。'] },
];

title 为可选分组标题,items 为该组的字符串数组。

UpdateVersionNote ​

字段说明类型
version可选版本标题,按纯文本展示string
note更新日志原文string

renderReleaseNotesMarkdown ​

需要在其他区域展示同一份日志时,可调用 renderReleaseNotesMarkdown(notes) 获取 HTML。参数支持字符串或由字符串、UpdateVersionNote 组成的数组;空内容返回空字符串,样式由调用方提供。

vue
<template>
  <div v-html="notesHtml"></div>
</template>

<script setup>
import { computed } from 'vue';
import { renderReleaseNotesMarkdown } from 'aurora-plus';

const notes = '## 新增功能\n\n- 支持 **专注模式**。';
const notesHtml = computed(() => renderReleaseNotesMarkdown(notes));
</script>

Events ​

事件说明参数
update:modelValue请求关闭窗口false
update:autoCheck自动检查选项变化boolean
update:source请求切换选中的源id: string
source-change用户切换源;空 id 表示自动选择(id: string, previousId: string)
check请求检查更新context: UpdateSourceContext
download请求下载新版本(latestVersion: string, context: UpdateSourceContext)
install请求安装新版本latestVersion: string
retry请求重试失败阶段(stage: 'check' / 'download' / 'install', context: UpdateSourceContext)
cancel请求取消检查或下载,同时关闭'checking' / 'downloading'
later请求稍后提醒,同时关闭'available' / 'ready'
skip请求跳过此版本,同时关闭latestVersion: string
open / opened开始打开 / 打开过渡完成—
close内部关闭窗口reason: string
closed关闭过渡完成—

操作按钮产生的关闭原因为 cancel、later、skip 或 dismiss,其余原因沿用 AuDialog。

UpdateSourceContext 为 { source: string, activeSource: string };未配置源时两字段均为空字符串。

Slots ​

插槽作用域参数说明
icon替换状态图标,可放置应用图标
release-notes替换更新说明正文
default补充正文,如安装提示
sources替换整个源区域;sources 为整理后的展示字段,select(id) 遵循任务锁定规则,select('') 请求自动选择
footer替换操作区;业务操作方法只在对应状态发出事件

Exposes ​

方法或属性说明
close(reason?)关闭窗口,默认原因为 api
dialogRef内部 AuDialog 实例引用

Aurora Plus · Vue 3 Component Library