using lai_transfer.Common.Extensions; using lai_transfer.Common.Helper; using lai_transfer.Common.Results; using lai_transfer.Endpoints; using Newtonsoft.Json; using System.Text.Json; namespace lai_transfer.EndpointServices.MJTransferEndpoint { public class MJPostUploadDiscordImages : IEndpoint { private static readonly ILogger _logger = LogHelper.GetLogger(); public static void Map(IEndpointRouteBuilder app) => app .MapPost("/submit/upload-discord-images", Handle) .WithSummary("Midjourney 提交 上传文件到discord 任务(禁用)") .WithMJAuthorizationHeader(); private static async Task Handle(JsonElement model, HttpContext httpContext) { TransferResult transferResult = await SendOriginalUploadDiscordImages(model, httpContext); return Results.Text(transferResult.Content, transferResult.ContentType, statusCode: transferResult.StatusCode); } private static async Task SendOriginalUploadDiscordImages(JsonElement model, HttpContext httpContext) { try { string content = JsonConvert.SerializeObject(new { code = 4, description = "图片上传已禁用!!" }); return await Task.FromResult(new TransferResult(content, "application/json", StatusCodes.Status200OK)); } catch (Exception ex) { _logger.LogError(ex, $"转发 {httpContext.GetFullRequestPath()} 失败"); // 处理异常,返回错误信息 return await Task.FromResult(new TransferResult(ex.Message, "application/json", StatusCodes.Status500InternalServerError)); } } } }