fix: Fix version upgrade information display issues (#10208)

Refs #10196
This commit is contained in:
ssongliu 2025-09-01 14:00:48 +08:00 committed by GitHub
parent 663196c3d9
commit 222d07175a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 32 additions and 25 deletions

View file

@ -6,17 +6,18 @@ import (
"encoding/json"
"errors"
"fmt"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/app/model"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/1Panel-dev/1Panel/agent/global"
"github.com/1Panel-dev/1Panel/agent/utils/common"
"io"
"net"
"net/http"
"strconv"
"strings"
"time"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/app/model"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/1Panel-dev/1Panel/agent/global"
"github.com/1Panel-dev/1Panel/agent/utils/common"
)
func GetUpgradeVersionInfo() (*dto.UpgradeInfo, error) {
@ -34,15 +35,15 @@ func GetUpgradeVersionInfo() (*dto.UpgradeInfo, error) {
upgrade.TestVersion, upgrade.NewVersion, upgrade.LatestVersion = loadVersionByMode(developerMode.Value, currentVersion.Value)
var itemVersion string
if len(upgrade.LatestVersion) != 0 {
itemVersion = upgrade.LatestVersion
}
if len(upgrade.NewVersion) != 0 {
itemVersion = upgrade.NewVersion
}
if (global.CONF.Base.Mode == "dev" || developerMode.Value == constant.StatusEnable) && len(upgrade.TestVersion) != 0 {
itemVersion = upgrade.TestVersion
}
if len(upgrade.LatestVersion) != 0 {
itemVersion = upgrade.LatestVersion
}
if len(itemVersion) == 0 {
return &upgrade, nil
}

View file

@ -50,15 +50,15 @@ func (u *UpgradeService) SearchUpgrade() (*dto.UpgradeInfo, error) {
upgrade.TestVersion, upgrade.NewVersion, upgrade.LatestVersion = u.loadVersionByMode(DeveloperMode.Value, currentVersion.Value)
var itemVersion string
if len(upgrade.LatestVersion) != 0 {
itemVersion = upgrade.LatestVersion
}
if len(upgrade.NewVersion) != 0 {
itemVersion = upgrade.NewVersion
}
if (global.CONF.Base.Mode == "dev" || DeveloperMode.Value == constant.StatusEnable) && len(upgrade.TestVersion) != 0 {
itemVersion = upgrade.TestVersion
}
if len(upgrade.LatestVersion) != 0 {
itemVersion = upgrade.LatestVersion
}
if len(itemVersion) == 0 {
return &upgrade, nil
}

View file

@ -104,12 +104,12 @@ const onLoadUpgradeInfo = async () => {
loading.value = false;
if (res.data.testVersion || res.data.newVersion || res.data.latestVersion) {
upgradeInfo.value = res.data;
if (upgradeInfo.value.newVersion) {
upgradeVersion.value = upgradeInfo.value.newVersion;
} else if (upgradeInfo.value.latestVersion) {
if (upgradeInfo.value.latestVersion) {
upgradeVersion.value = upgradeInfo.value.latestVersion;
} else if (upgradeInfo.value.testVersion) {
upgradeVersion.value = upgradeInfo.value.testVersion;
} else if (upgradeInfo.value.newVersion) {
upgradeVersion.value = upgradeInfo.value.newVersion;
}
upgradeRef.value.acceptParams({ upgradeInfo: upgradeInfo.value, upgradeVersion: upgradeVersion.value });
} else {

View file

@ -1,11 +1,5 @@
<template>
<DrawerPro
v-model="drawerVisible"
:header="$t('commons.button.upgrade')"
@close="handleClose"
size="large"
:key="refresh"
>
<DrawerPro v-model="drawerVisible" :header="$t('commons.button.upgrade')" @close="handleClose" size="large">
<div class="panel-MdEditor">
<div class="default-theme" style="margin-left: 20px">
<h2 class="inline-block">{{ $t('app.version') }}</h2>
@ -21,7 +15,12 @@
{{ upgradeInfo.testVersion }}
</el-radio>
</el-radio-group>
<MdEditor v-model="upgradeInfo.releaseNote" previewOnly :theme="isDarkTheme ? 'dark' : 'light'" />
<MdEditor
v-loading="loading"
v-model="upgradeInfo.releaseNote"
previewOnly
:theme="isDarkTheme ? 'dark' : 'light'"
/>
</div>
<template #footer>
<span class="dialog-footer">
@ -48,7 +47,7 @@ const { isDarkTheme } = storeToRefs(globalStore);
const drawerVisible = ref(false);
const upgradeInfo = ref();
const refresh = ref();
const loading = ref();
const upgradeVersion = ref();
interface DialogProps {
@ -68,8 +67,15 @@ const handleClose = () => {
};
const changeOption = async () => {
const res = await loadReleaseNotes(upgradeVersion.value);
upgradeInfo.value.releaseNote = res.data;
loading.value = true;
await loadReleaseNotes(upgradeVersion.value)
.then((res) => {
loading.value = false;
upgradeInfo.value.releaseNote = res.data;
})
.catch(() => {
loading.value = false;
});
};
const onUpgrade = async () => {