fix: 修复补丁包返回逻辑,download_url 应返回补丁包地址
- 当最新版本是补丁类型时,download_url 返回补丁包地址(FilePath) - full_package_url 返回完整包地址作为备选 - 简化判断逻辑,不再根据客户端版本判断 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
// 自定义地址优先级最高(覆盖下载地址)
|
||||
|
||||
Reference in New Issue
Block a user