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); } } }