mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-03-17 03:04:46 +08:00
fix: 升级版本判断逻辑修改
This commit is contained in:
parent
005e5cc01f
commit
84fcd31704
@ -6,13 +6,13 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"runtime"
|
"runtime"
|
||||||
"strconv"
|
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/1Panel-dev/1Panel/backend/app/dto"
|
"github.com/1Panel-dev/1Panel/backend/app/dto"
|
||||||
"github.com/1Panel-dev/1Panel/backend/global"
|
"github.com/1Panel-dev/1Panel/backend/global"
|
||||||
"github.com/1Panel-dev/1Panel/backend/utils/cmd"
|
"github.com/1Panel-dev/1Panel/backend/utils/cmd"
|
||||||
|
"github.com/1Panel-dev/1Panel/backend/utils/common"
|
||||||
"github.com/1Panel-dev/1Panel/backend/utils/files"
|
"github.com/1Panel-dev/1Panel/backend/utils/files"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -43,8 +43,8 @@ func (u *UpgradeService) SearchUpgrade() (*dto.UpgradeInfo, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
isNew, err := compareVersion(currentVersion.Value, string(version))
|
isNew := common.CompareVersion(string(version), currentVersion.Value)
|
||||||
if !isNew || err != nil {
|
if !isNew {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -176,43 +176,3 @@ func (u *UpgradeService) handleRollback(fileOp files.FileOp, originalDir string,
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func compareVersion(version, newVersion string) (bool, error) {
|
|
||||||
if version == newVersion {
|
|
||||||
return false, nil
|
|
||||||
}
|
|
||||||
if len(version) == 0 || len(newVersion) == 0 {
|
|
||||||
return false, fmt.Errorf("incorrect version or new version entered %v -- %v", version, newVersion)
|
|
||||||
}
|
|
||||||
versions := strings.Split(strings.ReplaceAll(version, "v", ""), ".")
|
|
||||||
if len(versions) != 3 {
|
|
||||||
return false, fmt.Errorf("incorrect version input %v", version)
|
|
||||||
}
|
|
||||||
newVersions := strings.Split(strings.ReplaceAll(newVersion, "v", ""), ".")
|
|
||||||
if len(newVersions) != 3 {
|
|
||||||
return false, fmt.Errorf("incorrect newVersions input %v", version)
|
|
||||||
}
|
|
||||||
version1, _ := strconv.Atoi(versions[0])
|
|
||||||
newVersion1, _ := strconv.Atoi(newVersions[0])
|
|
||||||
if newVersion1 > version1 {
|
|
||||||
return true, nil
|
|
||||||
} else if newVersion1 == version1 {
|
|
||||||
version2, _ := strconv.Atoi(versions[1])
|
|
||||||
newVersion2, _ := strconv.Atoi(newVersions[1])
|
|
||||||
if newVersion2 > version2 {
|
|
||||||
return true, nil
|
|
||||||
} else if newVersion2 == version2 {
|
|
||||||
version3, _ := strconv.Atoi(versions[2])
|
|
||||||
newVersion3, _ := strconv.Atoi(newVersions[2])
|
|
||||||
if newVersion3 > version3 {
|
|
||||||
return true, nil
|
|
||||||
} else {
|
|
||||||
return false, nil
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return false, nil
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return false, nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user