vending-machine/backend/src/VendingMachine.Api/Controllers/AdminEntryController.cs
2026-04-03 06:07:13 +08:00

61 lines
1.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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