# 检查更新

# 目录

# 接口说明

本接口用于客户端检查是否存在新版本,并返回是否需要升级、是否强制升级以及最新版本的下载信息。

# 接口介绍

该接口是版本管理模块面向客户端的核心接口。客户端在启动 / 进入游戏前调用本接口,上报自身当前版本,服务端返回最新已发布版本与升级策略:

  • hasUpdate = true:存在比当前版本更高的正式发布版本,客户端可展示更新提示;
  • forceUpgrade = true:必须升级(满足以下任一条件):
    1. 最新版本的升级类型 upgradeType 为 FORCE(在开发者平台发布时配置为强制升级);
    2. 客户端当前版本低于最新版本的「最低支持版本」minVersion(低于该版本线的客户端必须升级才能继续使用);
  • latestVersion:最新正式发布版本的完整信息(版本号、数字版本号、下载地址、安装包大小、MD5、更新说明等),客户端可直接用于升级弹窗与下载。

版本比较规则:服务端仅比较 ONLINE(正式发布)状态的版本,比较时优先使用数字版本号 versionCode;若客户端未上报 versionCode,服务端会按下述规则将 versionNumber 解析为数字版本号后再比较(字符串版本号无法直接比较大小,例如 1.10.0 与 1.2.0):

解析规则:按 "." 分段 → 每段保留数字并按两位补零 → 拼接为整数
1.5.0    → 01 05 00 → 10500
1.10.0   → 01 10 00 → 11000
v2.1.5   → 02 01 05 → 20105

建议客户端同时上报 versionNumber 与 versionCode,以保证版本比较准确。

# 接口配置入口

提示:此接口数据持久化使用 MongoDB 数据库,请确保已配置相关数据源。 多租户数据源按请求头 APPID 自动切换,请求体无需传 appid。

# 接口调用

# 检查更新

  • 接口地址:https://lb/business-service/hiasoon-versionmanagercenter/open/check
  • 返回格式:json
  • 请求方式:POST
  • 请求示例:
{
  "platform": "ANDROID",
  "versionNumber": "2.0.0",
  "versionCode": 20000
}

# 请求头:

参数名称 类型 说明 是否必填
APPID string 开发者平台分配的应用APPID 是
_t number 请求时间戳(毫秒级) 是
_s string 签名信息,用于接口安全验证 是
_n string 随机数 是
Authorization string Bearer {token},访问令牌(本接口必须登录) 是

注意:本接口需要登录态,必须携带有效的 Authorization 请求头。 若需在登录前调用(如客户端启动页、登录页的版本检查),请使用 检查更新(免登录)。

# 请求体(json):

参数名称 类型 说明 是否必填
platform string 平台类型:WEB/ANDROID/IOS/WINDOWS/MACOS/LINUX/SDK/PLUGIN 是
versionNumber string 客户端当前版本号,格式 x.x.x 或 v.x.x.x 否 ※
versionCode number 客户端当前数字版本号,如 20000(推荐传递) 否 ※

※ 说明:versionNumber 与 versionCode 至少填写一个,建议优先传递 versionCode 以保证版本比较准确。

# 响应头:

参数名称 类型 说明 是否必填
connectionid string 本次请求的唯一标识 是
_t number 响应时间戳(毫秒级) 是
_s string 响应签名信息,用于防篡改校验 是
_n string 随机数(与本次请求的值一致) 是

# 返回参数(json)

参数名称 类型 说明
code number 返回状态码,200 表示成功,其他表示失败
message string 返回信息描述
data object 检查更新结果
data.hasUpdate boolean 是否存在新版本:true 存在更高版本的正式发布版本
data.forceUpgrade boolean 是否强制升级:true 表示客户端必须升级(升级类型为 FORCE 或低于最低支持版本)
data.latestVersion object 最新版本信息,无已发布版本时为 null(结构与获取最新版本返回一致)
info object 附加信息,一般为 null

latestVersion 字段说明:

参数名称 类型 说明
id string 版本记录主键ID
platform string 平台类型
versionNumber string 版本号,如 2.1.0
versionCode number 数字版本号,如 20100
status string 发布状态(此处固定为 ONLINE)
upgradeType string 升级类型:NONE/OPTIONAL/FORCE
downloadUrl string 安装包下载地址
packageSize number 安装包大小(字节),可用于下载前展示
md5 string 安装包 MD5 校验值,用于下载完成后校验包完整性
releaseNotes array 更新说明(字符串数组),用于升级弹窗展示
minVersion string 最低支持版本,低于该版本需强制升级
creatorId string 创建人ID(管理端使用)
updaterId string 修改人ID(管理端使用)
createTime string 创建时间
updateTime string 更新时间
publishTime string 正式发布时间
formattedCreateTime string 格式化后的创建时间(yyyy-MM-dd HH:mm:ss)

返回参数示例(存在新版本且强制升级):

{
  "code": 200,
  "message": "操作成功",
  "data": {
    "hasUpdate": true,
    "forceUpgrade": true,
    "latestVersion": {
      "id": "6650f2b8c1a2b3d4e5f60718",
      "platform": "ANDROID",
      "versionNumber": "2.1.0",
      "versionCode": 20100,
      "status": "ONLINE",
      "upgradeType": "FORCE",
      "downloadUrl": "https://cdn.hiasoon.com/app/hiasoon-2.1.0.apk",
      "packageSize": 104857600,
      "md5": "9f2c1c6a6b7d8e9f0a1b2c3d4e5f6071",
      "releaseNotes": [
        "新增AI助手",
        "优化登录速度",
        "修复异常问题"
      ],
      "minVersion": "2.0.0",
      "creatorId": "UID202604160001",
      "updaterId": "UID202604160001",
      "createTime": "2026-08-01T10:20:30",
      "updateTime": "2026-08-10T09:15:00",
      "publishTime": "2026-08-10T09:15:00",
      "formattedCreateTime": "2026-08-01 10:20:30"
    }
  },
  "info": null
}

返回参数示例(无新版本):

{
  "code": 200,
  "message": "操作成功",
  "data": {
    "hasUpdate": false,
    "forceUpgrade": false,
    "latestVersion": null
  },
  "info": null
}

说明:若该平台尚无任何正式发布(ONLINE)版本,hasUpdate 与 forceUpgrade 均为 false、latestVersion 为 null,客户端按「无更新」处理即可。