diff --git a/kernel/model/updater.go b/kernel/model/updater.go index daceeaeb9..52ea1fc39 100644 --- a/kernel/model/updater.go +++ b/kernel/model/updater.go @@ -106,7 +106,7 @@ func getUpdatePkg() (downloadPkgURL, checksum string, err error) { installPkgSite := result["installPkg"].(string) ver := result["ver"].(string) - if ver == util.Ver { + if isVersionUpToDate(ver) { return } @@ -216,6 +216,57 @@ func GetAnnouncements() (ret []*Announcement) { } return } + +func CheckUpdate(showMsg bool) { + if !showMsg { + return + } + + result, err := util.GetRhyResult(showMsg) + if nil != err { + return + } + + ver := result["ver"].(string) + release := result["release"].(string) + var msg string + var timeout int + if isVersionUpToDate(ver) { + msg = Conf.Language(10) + timeout = 3000 + } else { + msg = fmt.Sprintf(Conf.Language(9), ""+release+"") + showMsg = true + timeout = 15000 + } + if showMsg { + util.PushMsg(msg, timeout) + go func() { + checkDownloadInstallPkg() + if "" != getNewVerInstallPkgPath() { + util.PushMsg(Conf.Language(62), 0) + } + }() + } +} + +func isVersionUpToDate(releaseVer string) bool { + return ver2num(releaseVer) <= ver2num(util.Ver) +} + +func skipNewVerInstallPkg() bool { + if !gulu.OS.IsWindows() && !gulu.OS.IsDarwin() && !gulu.OS.IsLinux() { + return true + } + if util.ISMicrosoftStore { + return true + } + if !Conf.System.DownloadInstallPkg { + return true + } + return false +} + func ver2num(a string) int { var version string var suffixpos int @@ -255,49 +306,3 @@ func ver2num(a string) int { verNum, _ := strconv.Atoi(ver) return verNum } - -func CheckUpdate(showMsg bool) { - if !showMsg { - return - } - - result, err := util.GetRhyResult(showMsg) - if nil != err { - return - } - - ver := result["ver"].(string) - release := result["release"].(string) - var msg string - var timeout int - if ver2num(ver) <= ver2num(util.Ver) { - msg = Conf.Language(10) - timeout = 3000 - } else { - msg = fmt.Sprintf(Conf.Language(9), ""+release+"") - showMsg = true - timeout = 15000 - } - if showMsg { - util.PushMsg(msg, timeout) - go func() { - checkDownloadInstallPkg() - if "" != getNewVerInstallPkgPath() { - util.PushMsg(Conf.Language(62), 0) - } - }() - } -} - -func skipNewVerInstallPkg() bool { - if !gulu.OS.IsWindows() && !gulu.OS.IsDarwin() && !gulu.OS.IsLinux() { - return true - } - if util.ISMicrosoftStore { - return true - } - if !Conf.System.DownloadInstallPkg { - return true - } - return false -}