diff --git a/backend/internal/router/app/info.go b/backend/internal/router/app/info.go index 647596a..43ad309 100644 --- a/backend/internal/router/app/info.go +++ b/backend/internal/router/app/info.go @@ -205,45 +205,25 @@ func handleAppCheckUpdate(c *gin.Context) { var fullPackageHash string var isPatchUpdate bool + // 保存完整包地址(如果有) + if latestVersion.FullPackagePath != "" { + fullPackageURL = latestVersion.FullPackagePath + fullPackageSize = latestVersion.FullPackageSize + fullPackageHash = latestVersion.FullPackageHash + } + if latestVersion.UpdateType == "patch" && latestVersion.BaseVersionID != nil { // 最新版本是补丁类型 - // 检查客户端版本是否是基础版本 - if clientVersionRecord.ID == *latestVersion.BaseVersionID { - // 客户端是基础版本,可以下载补丁包 - downloadURL = latestVersion.FilePath - downloadSize = latestVersion.FileSize - downloadHash = latestVersion.FileHash - isPatchUpdate = true - } else { - // 客户端不是基础版本,需要下载完整包 - if latestVersion.FullPackagePath != "" { - downloadURL = latestVersion.FullPackagePath - downloadSize = latestVersion.FullPackageSize - downloadHash = latestVersion.FullPackageHash - } else { - // 没有完整包,使用补丁包(可能合并失败) - downloadURL = latestVersion.FilePath - downloadSize = latestVersion.FileSize - downloadHash = latestVersion.FileHash - } - } - // 保存完整包地址作为备选 - if latestVersion.FullPackagePath != "" { - fullPackageURL = latestVersion.FullPackagePath - fullPackageSize = latestVersion.FullPackageSize - fullPackageHash = latestVersion.FullPackageHash - } - } else { - // 全量版本,直接使用文件路径 + // download_url 返回补丁包地址,full_package_url 返回完整包地址 + downloadURL = latestVersion.FilePath + downloadSize = latestVersion.FileSize + downloadHash = latestVersion.FileHash + isPatchUpdate = true + } else { + // 全量版本,download_url 返回文件路径 downloadURL = latestVersion.FilePath downloadSize = latestVersion.FileSize downloadHash = latestVersion.FileHash - // 全量版本的完整包就是自己 - if latestVersion.FullPackagePath != "" { - fullPackageURL = latestVersion.FullPackagePath - fullPackageSize = latestVersion.FullPackageSize - fullPackageHash = latestVersion.FullPackageHash - } } // 自定义地址优先级最高(覆盖下载地址)