using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using MilliSim.Common.Dtos; using MilliSim.Services; namespace MilliSim.Controllers; [ApiController] [Route("api/banners")] public class BannersController : ControllerBase { private readonly IContentService _contentService; public BannersController(IContentService contentService) { _contentService = contentService; } /// /// 轮播图列表(前台传 onlyActive=true) /// [HttpGet] public async Task GetList([FromQuery] bool onlyActive = false) { var result = await _contentService.GetBannersAsync(onlyActive); return Ok(result); } /// /// 创建轮播图 /// [HttpPost] [Authorize(Policy = "Admin")] public async Task Create([FromBody] CreateBannerRequest request) { var result = await _contentService.CreateBannerAsync(request); return Ok(result); } /// /// 更新轮播图 /// [HttpPost("{id:long}")] [Authorize(Policy = "Admin")] public async Task Update(long id, [FromBody] CreateBannerRequest request) { var result = await _contentService.UpdateBannerAsync(id, request); return Ok(result); } /// /// 删除轮播图 /// [HttpPost("{id:long}/delete")] [Authorize(Policy = "Admin")] public async Task Delete(long id) { var result = await _contentService.DeleteBannerAsync(id); return Ok(result); } }