fix(update): compare version

This commit is contained in:
AkiChase 2024-05-14 10:14:27 +08:00
parent b5b798b0a1
commit 3bc3b87ecc
3 changed files with 23 additions and 4 deletions

View File

@ -227,6 +227,23 @@ function renderUpdateInfo(content: string) {
return h("div", { style: "margin: 20px 0" }, pList);
}
function compareVersion(v1: string, v2: string) {
const [x1, y1, z1] = v1.split(".");
const [x2, y2, z2] = v2.split(".");
if (x1 !== x2) {
return parseInt(x1) > parseInt(x2) ? 1 : -1;
}
if (y1 !== y2) {
return parseInt(y1) > parseInt(y2) ? 1 : -1;
}
if (z1 !== z2) {
return parseInt(z1) > parseInt(z2) ? 1 : -1;
}
return 0;
}
async function checkUpdate() {
try {
const curVersion = await getVersion();
@ -241,8 +258,10 @@ async function checkUpdate() {
} else {
const data = await res.json();
const latestVersion = (data.tag_name as string).slice(1);
if (latestVersion <= curVersion) {
message.success(t("pages.Mask.checkUpdate.isLatest", [latestVersion]));
if (compareVersion(curVersion, latestVersion) >= 0) {
message.success(
t("pages.Mask.checkUpdate.isLatest", [latestVersion, curVersion])
);
return;
}
const body = data.body as string;

View File

@ -43,7 +43,7 @@
"blankConfig": "Blank config",
"checkUpdate": {
"failed": "Check for updates failed",
"isLatest": "Latest version: {0}, currently the latest version",
"isLatest": "Latest version: {0}, currently the latest version: {1}",
"notLatest": {
"title": "Latest version: {0}",
"positiveText": "Release page",

View File

@ -42,7 +42,7 @@
"blankConfig": "空白方案",
"checkUpdate": {
"failed": "检查更新失败",
"isLatest": "最新版本: {0},当前已是最新版本",
"isLatest": "最新版本: {0},当前已是最新版本: {1}",
"notLatest": {
"title": "最新版本:{0}",
"positiveText": "前往发布页",