using Infrastructure; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using OpenAuth.App; using OpenAuth.Repository.Domain; namespace OpenAuth.WebApi.Controllers { /// /// app 文件版本管理 /// [Route("api/[controller]/[action]")] [ApiController] public class SysAppFilesController : ControllerBase { SysAppFilesApp sysAppFilesApp; public SysAppFilesController(SysAppFilesApp sysAppFilesApp) { this.sysAppFilesApp = sysAppFilesApp; } #region app文件 /// /// 添加App文件 /// /// /// [HttpPost] public Response AddAppFiles([FromBody] SysAppFiles model) { Response response = new Response(); try { response = sysAppFilesApp.AddAppFiles(model); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException != null ? ex.InnerException.Message : ex.Message; } return response; } /// /// 获取下载更新的文件路径 /// /// /// [HttpGet] [AllowAnonymous] public Response GetUpdateFiles(string project) { Response response = new Response(); try { response.Result = sysAppFilesApp.GetUpdateFiles(project); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException != null ? ex.InnerException.Message : ex.Message; } return response; } /// /// 下载app文件 /// /// /// [HttpGet] [AllowAnonymous] public IActionResult DownLoadAppFile(string project) { var model = sysAppFilesApp.GetByProject(project); if (model != null) { string path = model.filepath; var root = AppDomain.CurrentDomain.BaseDirectory; if (System.IO.File.Exists(root + path)) { var readStream = System.IO.File.ReadAllBytes(root + path); return File(readStream, "application/octet-stream", "drone_enforcement.apk"); } } return null; } #endregion } }