feat: 强制更新支持 minimumVersion,阻止低版本用户继续使用

This commit is contained in:
JiQingzhe2004
2026-03-27 14:43:08 +08:00
parent 501e373e38
commit 9f4e4790f5
5 changed files with 89 additions and 10 deletions

View File

@@ -14,6 +14,7 @@ interface UpdateDialogProps {
onUpdate: () => void
onIgnore?: () => void
isDownloading: boolean
isMandatory?: boolean
progress: number | {
percent: number
bytesPerSecond?: number
@@ -30,6 +31,7 @@ const UpdateDialog: React.FC<UpdateDialogProps> = ({
onUpdate,
onIgnore,
isDownloading,
isMandatory,
progress
}) => {
if (!open || !updateInfo) return null
@@ -69,7 +71,7 @@ const UpdateDialog: React.FC<UpdateDialogProps> = ({
return (
<div className="update-dialog-overlay">
<div className="update-dialog">
{!isDownloading && (
{!isDownloading && !isMandatory && (
<button className="close-btn" onClick={onClose}>
<X size={20} />
</button>
@@ -119,11 +121,14 @@ const UpdateDialog: React.FC<UpdateDialogProps> = ({
</div>
) : (
<div className="actions">
{onIgnore && (
{onIgnore && !isMandatory && (
<button className="btn-ignore" onClick={onIgnore}>
</button>
)}
{isMandatory && (
<p className="mandatory-tip">使</p>
)}
<button className="btn-update" onClick={onUpdate}>
</button>