fix: Fix version upgrade information display issues

This commit is contained in:
ssongliu 2025-09-01 10:11:09 +08:00
parent 663196c3d9
commit 7f119d1dcd
4 changed files with 32 additions and 25 deletions

View file

@ -6,17 +6,18 @@ import (
"encoding/json" "encoding/json"
"errors" "errors"
"fmt" "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" "io"
"net" "net"
"net/http" "net/http"
"strconv" "strconv"
"strings" "strings"
"time" "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) { 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) upgrade.TestVersion, upgrade.NewVersion, upgrade.LatestVersion = loadVersionByMode(developerMode.Value, currentVersion.Value)
var itemVersion string var itemVersion string
if len(upgrade.LatestVersion) != 0 {
itemVersion = upgrade.LatestVersion
}
if len(upgrade.NewVersion) != 0 { if len(upgrade.NewVersion) != 0 {
itemVersion = upgrade.NewVersion itemVersion = upgrade.NewVersion
} }
if (global.CONF.Base.Mode == "dev" || developerMode.Value == constant.StatusEnable) && len(upgrade.TestVersion) != 0 { if (global.CONF.Base.Mode == "dev" || developerMode.Value == constant.StatusEnable) && len(upgrade.TestVersion) != 0 {
itemVersion = upgrade.TestVersion itemVersion = upgrade.TestVersion
} }
if len(upgrade.LatestVersion) != 0 {
itemVersion = upgrade.LatestVersion
}
if len(itemVersion) == 0 { if len(itemVersion) == 0 {
return &upgrade, nil 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) upgrade.TestVersion, upgrade.NewVersion, upgrade.LatestVersion = u.loadVersionByMode(DeveloperMode.Value, currentVersion.Value)
var itemVersion string var itemVersion string
if len(upgrade.LatestVersion) != 0 {
itemVersion = upgrade.LatestVersion
}
if len(upgrade.NewVersion) != 0 { if len(upgrade.NewVersion) != 0 {
itemVersion = upgrade.NewVersion itemVersion = upgrade.NewVersion
} }
if (global.CONF.Base.Mode == "dev" || DeveloperMode.Value == constant.StatusEnable) && len(upgrade.TestVersion) != 0 { if (global.CONF.Base.Mode == "dev" || DeveloperMode.Value == constant.StatusEnable) && len(upgrade.TestVersion) != 0 {
itemVersion = upgrade.TestVersion itemVersion = upgrade.TestVersion
} }
if len(upgrade.LatestVersion) != 0 {
itemVersion = upgrade.LatestVersion
}
if len(itemVersion) == 0 { if len(itemVersion) == 0 {
return &upgrade, nil return &upgrade, nil
} }

View file

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

View file

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