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 fullPackageHash string
|
||||||
var isPatchUpdate bool
|
var isPatchUpdate bool
|
||||||
|
|
||||||
|
// 保存完整包地址(如果有)
|
||||||
|
if latestVersion.FullPackagePath != "" {
|
||||||
|
fullPackageURL = latestVersion.FullPackagePath
|
||||||
|
fullPackageSize = latestVersion.FullPackageSize
|
||||||
|
fullPackageHash = latestVersion.FullPackageHash
|
||||||
|
}
|
||||||
|
|
||||||
if latestVersion.UpdateType == "patch" && latestVersion.BaseVersionID != nil {
|
if latestVersion.UpdateType == "patch" && latestVersion.BaseVersionID != nil {
|
||||||
// 最新版本是补丁类型
|
// 最新版本是补丁类型
|
||||||
// 检查客户端版本是否是基础版本
|
// download_url 返回补丁包地址,full_package_url 返回完整包地址
|
||||||
if clientVersionRecord.ID == *latestVersion.BaseVersionID {
|
downloadURL = latestVersion.FilePath
|
||||||
// 客户端是基础版本,可以下载补丁包
|
downloadSize = latestVersion.FileSize
|
||||||
downloadURL = latestVersion.FilePath
|
downloadHash = latestVersion.FileHash
|
||||||
downloadSize = latestVersion.FileSize
|
isPatchUpdate = true
|
||||||
downloadHash = latestVersion.FileHash
|
} else {
|
||||||
isPatchUpdate = true
|
// 全量版本,download_url 返回文件路径
|
||||||
} 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 {
|
|
||||||
// 全量版本,直接使用文件路径
|
|
||||||
downloadURL = latestVersion.FilePath
|
downloadURL = latestVersion.FilePath
|
||||||
downloadSize = latestVersion.FileSize
|
downloadSize = latestVersion.FileSize
|
||||||
downloadHash = latestVersion.FileHash
|
downloadHash = latestVersion.FileHash
|
||||||
// 全量版本的完整包就是自己
|
|
||||||
if latestVersion.FullPackagePath != "" {
|
|
||||||
fullPackageURL = latestVersion.FullPackagePath
|
|
||||||
fullPackageSize = latestVersion.FullPackageSize
|
|
||||||
fullPackageHash = latestVersion.FullPackageHash
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 自定义地址优先级最高(覆盖下载地址)
|
// 自定义地址优先级最高(覆盖下载地址)
|
||||||
|
|||||||
Reference in New Issue
Block a user