using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using VendingMachine.Infrastructure.Data; namespace VendingMachine.Api.Controllers; /// /// 管理后台 - 入口图片管理控制器 /// [ApiController] [Route("api/admin/entry")] [Authorize] public class AdminEntryController : ControllerBase { private readonly AppDbContext _db; public AdminEntryController(AppDbContext db) { _db = db; } /// /// 获取所有入口图片 /// [HttpGet] public async Task GetAll() { var entries = await _db.HomeEntries.ToListAsync(); return Ok(new { success = true, data = entries }); } /// /// 更新入口图片(按 ID) /// [HttpPut("{id}")] public async Task Update(string id, [FromBody] EntryUpdateRequest request) { var entry = await _db.HomeEntries.FindAsync(id); if (entry == null) return NotFound(new { success = false, message = "入口不存在" }); entry.ImageUrlZhCn = request.ImageUrlZhCn; entry.ImageUrlZhTw = request.ImageUrlZhTw; entry.ImageUrlEn = request.ImageUrlEn; await _db.SaveChangesAsync(); return Ok(new { success = true, data = entry }); } } /// /// 入口图片更新请求体 /// public class EntryUpdateRequest { public string ImageUrlZhCn { get; set; } = string.Empty; public string ImageUrlZhTw { get; set; } = string.Empty; public string ImageUrlEn { get; set; } = string.Empty; }