using System.Dynamic;
|
using MES.Service.Dto.@base;
|
using MES.Service.service;
|
using MES.Service.util;
|
using Microsoft.AspNetCore.Mvc;
|
using Newtonsoft.Json.Linq;
|
|
namespace MESApplication.Controllers.Base;
|
|
[ApiController]
|
[Route("api/[controller]")]
|
public class UpdateController : ControllerBase
|
{
|
|
|
private readonly SysUpdateManager _sysUpdateManager = new SysUpdateManager();
|
|
|
[HttpPost]
|
[Route("checkUpdate")]
|
public ResponseResult CheckUpdate([FromBody] UpdateCheckRequest request)
|
{
|
try
|
{
|
// 从配置文件或数据库获取最新版本信息
|
var latestVersion = _sysUpdateManager.GetLatestVersion(request.platform);
|
|
// 比较版本号
|
if (_sysUpdateManager.CompareVersion(request.version, latestVersion.Version) < 0)
|
{
|
// 需要更新
|
return new ResponseResult
|
{
|
status = 0,
|
message = "发现新版本",
|
data = new
|
{
|
hasUpdate = true,
|
version = latestVersion.Version,
|
updateInfo = latestVersion.UpdateInfo,
|
wgtUrl = latestVersion.WgtUrl,
|
isForceUpdate = latestVersion.IsForceUpdate
|
}
|
};
|
}
|
else
|
{
|
// 不需要更新
|
return new ResponseResult
|
{
|
status = 0,
|
message = "当前已是最新版本",
|
data = new { hasUpdate = false }
|
};
|
}
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
|
}
|