using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App.BaseApp.Base;
using OpenAuth.App.ServiceApp.GoView;
using OpenAuth.App.ServiceApp.GoView.Request;
using OpenAuth.App.ServiceApp.GoView.Response;
using OpenAuth.Repository.Domain;
using OpenAuth.Repository.Domain.GoView;
namespace OpenAuth.WebApi.Controllers.ServiceControllers.GoView;
///
/// go view 接口
///
[Route("api/goview/project")]
[ApiController]
public class GoViewProjectController : ControllerBase
{
private readonly GoViewProjectApp _app;
public GoViewProjectController(GoViewProjectApp goView)
{
_app = goView;
}
// 文件上传
[HttpPost("uploadFile")]
public async Task> UploadFile(string base64Str)
{
return null;
//return await _app.UploadFile(file);
}
///
/// 新增项目
///
///
///
[HttpPost("create")]
public async Task> Create(GoviewProject project)
{
return await _app.Create(project);
}
///
/// 删除项目
///
///
///
[HttpPost("delete")]
public async Task> DeleteProject(string ids)
{
return await _app.DeleteProject(ids);
}
///
/// 修改项目
///
///
///
[HttpPost("edit")]
public async Task> UpdateProject(GoviewProject project)
{
return await _app.UpdateProject(project);
}
///
/// 获取项目list集合
///
///
///
///
[HttpGet("list")]
public async Task>>> List([FromQuery] GoViewProjectPage req)
{
return await _app.List(req);
}
///
/// 修改发布状态(发布,取消发布)
///
///
///
///
[HttpPost("publish")]
public async Task> Publish(GoViewProjectRequest req)
{
return await _app.Publish(req);
}
///
/// 获取项目数据
///
///
///
[HttpGet("getData")]
public async Task> GetData(string projectId)
{
return await _app.GetData(projectId);
}
///
/// 保存项目数据
///
///
///
[HttpPost("save/data")]
public async Task> SaveData(GoviewProjectData data)
{
return await _app.SaveData(data);
}
#region 组件数据
///
/// 获取组件集合
///
///
///
///
[HttpGet("getcomponentlist")]
public async Task>>> GetComponentList([FromQuery] GoViewProjectPage req)
{
return await _app.GetComponentList(req);
}
///
/// 获取组件数据
///
///
///
[HttpGet("getComponentData")]
public async Task> GetComponentData(string componentId)
{
return await _app.GetComponentData(componentId);
}
///
/// 保存组件数据
///
///
///
[HttpPost("saveComponentData")]
public async Task> SaveComponentData(GoviewComponent data)
{
return await _app.SaveComponentData(data);
}
///
/// 删除组件数据
///
///
///
[HttpPost("deleteComponentData")]
public async Task> DeleteComponent(string ids)
{
return await _app.DeleteComponent(ids);
}
#endregion
///
/// 图片上传接口
///
///
///
[HttpPost("image/upload")]
[RequestSizeLimit(214748364800)]
public Response> UploadImage(IFormFileCollection files,string groupName)
{
var result = new Response>();
try
{
result.Result = _app.Add(files,groupName);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.Message;
}
return result;
}
// todo 图片分组列表
[HttpGet("imageGroup/list")]
public Response> GetImageGroupList()
{
return _app.GetImageGroupList();
}
///
/// 获取组件图片
///
///
///
[HttpGet("image/list")]
public Response> GetImage([FromQuery] GoViewImagePage req)
{
return new Response>()
{
Result = _app.GetImage(req)
};
}
///
/// 删除图片
///
///
///
[HttpPost("image/delete")]
public Response DeleteImage(string ids)
{
return new Response()
{
Result = _app.DeleteImage(ids)
};
}
}