修复待升级节点版本号对比错误

This commit is contained in:
GoEdgeLab
2021-01-18 12:35:39 +08:00
parent 6978d3d945
commit f59d54faae
3 changed files with 39 additions and 0 deletions

View File

@@ -8,6 +8,7 @@ import (
"github.com/TeaOSLab/EdgeNode/internal/events" "github.com/TeaOSLab/EdgeNode/internal/events"
"github.com/TeaOSLab/EdgeNode/internal/remotelogs" "github.com/TeaOSLab/EdgeNode/internal/remotelogs"
"github.com/TeaOSLab/EdgeNode/internal/rpc" "github.com/TeaOSLab/EdgeNode/internal/rpc"
"github.com/TeaOSLab/EdgeNode/internal/utils"
"github.com/iwind/TeaGo/lists" "github.com/iwind/TeaGo/lists"
"github.com/shirou/gopsutil/cpu" "github.com/shirou/gopsutil/cpu"
"github.com/shirou/gopsutil/disk" "github.com/shirou/gopsutil/disk"
@@ -55,6 +56,7 @@ func (this *NodeStatusExecutor) update() {
status := &nodeconfigs.NodeStatus{} status := &nodeconfigs.NodeStatus{}
status.BuildVersion = teaconst.Version status.BuildVersion = teaconst.Version
status.BuildVersionCode = utils.VersionToLong(teaconst.Version)
status.OS = runtime.GOOS status.OS = runtime.GOOS
status.Arch = runtime.GOARCH status.Arch = runtime.GOARCH
status.ConfigVersion = sharedNodeConfig.Version status.ConfigVersion = sharedNodeConfig.Version

19
internal/utils/ip.go Normal file
View File

@@ -0,0 +1,19 @@
package utils
import (
"encoding/binary"
"net"
)
// 将IP转换为整型
func IP2Long(ip string) uint32 {
s := net.ParseIP(ip)
if s == nil {
return 0
}
if len(s) == 16 {
return binary.BigEndian.Uint32(s[12:16])
}
return binary.BigEndian.Uint32(s)
}

18
internal/utils/version.go Normal file
View File

@@ -0,0 +1,18 @@
package utils
import (
"strings"
)
// 计算版本代号
func VersionToLong(version string) uint32 {
countDots := strings.Count(version, ".")
if countDots == 2 {
version += ".0"
} else if countDots == 1 {
version += ".0.0"
} else if countDots == 0 {
version += ".0.0.0"
}
return IP2Long(version)
}