From f7e21db88ad4e523ce418fe6d8ed7e40cae62905 Mon Sep 17 00:00:00 2001
From: MSuMshk <2039814060@qq.com>
Date: Thu, 29 Jan 2026 03:28:29 +0000
Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=A7=BB=E9=99=A4=E7=A7=9F?=
=?UTF-8?q?=E6=88=B7=E7=AB=AF=20API=20=E9=A1=B9=E7=9B=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
TakeoutSaaS.sln | 30 ---
.../Requests/FileUploadFormRequest.cs | 20 --
.../TakeoutSaaS.MiniApi/Controllers/.gitkeep | 1 -
.../Controllers/AuthController.cs | 55 ------
.../Controllers/FilesController.cs | 54 ------
.../Controllers/HealthController.cs | 30 ---
.../Controllers/MeController.cs | 43 -----
.../Controllers/MenusController.cs | 38 ----
.../Controllers/PickupSlotsController.cs | 31 ---
.../Controllers/TablesController.cs | 35 ----
src/Api/TakeoutSaaS.MiniApi/Dockerfile | 12 --
src/Api/TakeoutSaaS.MiniApi/Program.cs | 176 ------------------
.../Properties/launchSettings.json | 12 --
.../TakeoutSaaS.MiniApi.csproj | Bin 4730 -> 0 bytes
.../appsettings.Development.json | 175 -----------------
.../appsettings.Production.json | 175 -----------------
.../Controllers/DictionaryController.cs | 51 -----
.../Controllers/HealthController.cs | 30 ---
src/Api/TakeoutSaaS.UserApi/Dockerfile | 12 --
src/Api/TakeoutSaaS.UserApi/Program.cs | 160 ----------------
.../Properties/launchSettings.json | 12 --
.../TakeoutSaaS.UserApi.csproj | Bin 4046 -> 0 bytes
.../appsettings.Development.json | 78 --------
.../appsettings.Production.json | 78 --------
24 files changed, 1308 deletions(-)
delete mode 100644 src/Api/TakeoutSaaS.MiniApi/Contracts/Requests/FileUploadFormRequest.cs
delete mode 100644 src/Api/TakeoutSaaS.MiniApi/Controllers/.gitkeep
delete mode 100644 src/Api/TakeoutSaaS.MiniApi/Controllers/AuthController.cs
delete mode 100644 src/Api/TakeoutSaaS.MiniApi/Controllers/FilesController.cs
delete mode 100644 src/Api/TakeoutSaaS.MiniApi/Controllers/HealthController.cs
delete mode 100644 src/Api/TakeoutSaaS.MiniApi/Controllers/MeController.cs
delete mode 100644 src/Api/TakeoutSaaS.MiniApi/Controllers/MenusController.cs
delete mode 100644 src/Api/TakeoutSaaS.MiniApi/Controllers/PickupSlotsController.cs
delete mode 100644 src/Api/TakeoutSaaS.MiniApi/Controllers/TablesController.cs
delete mode 100644 src/Api/TakeoutSaaS.MiniApi/Dockerfile
delete mode 100644 src/Api/TakeoutSaaS.MiniApi/Program.cs
delete mode 100644 src/Api/TakeoutSaaS.MiniApi/Properties/launchSettings.json
delete mode 100644 src/Api/TakeoutSaaS.MiniApi/TakeoutSaaS.MiniApi.csproj
delete mode 100644 src/Api/TakeoutSaaS.MiniApi/appsettings.Development.json
delete mode 100644 src/Api/TakeoutSaaS.MiniApi/appsettings.Production.json
delete mode 100644 src/Api/TakeoutSaaS.UserApi/Controllers/DictionaryController.cs
delete mode 100644 src/Api/TakeoutSaaS.UserApi/Controllers/HealthController.cs
delete mode 100644 src/Api/TakeoutSaaS.UserApi/Dockerfile
delete mode 100644 src/Api/TakeoutSaaS.UserApi/Program.cs
delete mode 100644 src/Api/TakeoutSaaS.UserApi/Properties/launchSettings.json
delete mode 100644 src/Api/TakeoutSaaS.UserApi/TakeoutSaaS.UserApi.csproj
delete mode 100644 src/Api/TakeoutSaaS.UserApi/appsettings.Development.json
delete mode 100644 src/Api/TakeoutSaaS.UserApi/appsettings.Production.json
diff --git a/TakeoutSaaS.sln b/TakeoutSaaS.sln
index 593dd42..b16635a 100644
--- a/TakeoutSaaS.sln
+++ b/TakeoutSaaS.sln
@@ -33,10 +33,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TakeoutSaaS.Module.Authoriz
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TakeoutSaaS.Module.Tenancy", "src\Modules\TakeoutSaaS.Module.Tenancy\TakeoutSaaS.Module.Tenancy.csproj", "{5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TakeoutSaaS.MiniApi", "src\Api\TakeoutSaaS.MiniApi\TakeoutSaaS.MiniApi.csproj", "{12ECF33A-D5E3-4F8B-A9D9-60F7F55B869D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TakeoutSaaS.UserApi", "src\Api\TakeoutSaaS.UserApi\TakeoutSaaS.UserApi.csproj", "{1C0BCC51-AF18-44F3-A1E6-A693F74276B5}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Gateway", "Gateway", "{6306A8FB-679E-111F-6585-8F70E0EE6013}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TakeoutSaaS.ApiGateway", "src\Gateway\TakeoutSaaS.ApiGateway\TakeoutSaaS.ApiGateway.csproj", "{A2620200-D487-49A7-ABAF-9B84951F81DD}"
@@ -167,30 +163,6 @@ Global
{5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38}.Release|x64.Build.0 = Release|Any CPU
{5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38}.Release|x86.ActiveCfg = Release|Any CPU
{5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38}.Release|x86.Build.0 = Release|Any CPU
- {12ECF33A-D5E3-4F8B-A9D9-60F7F55B869D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {12ECF33A-D5E3-4F8B-A9D9-60F7F55B869D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {12ECF33A-D5E3-4F8B-A9D9-60F7F55B869D}.Debug|x64.ActiveCfg = Debug|Any CPU
- {12ECF33A-D5E3-4F8B-A9D9-60F7F55B869D}.Debug|x64.Build.0 = Debug|Any CPU
- {12ECF33A-D5E3-4F8B-A9D9-60F7F55B869D}.Debug|x86.ActiveCfg = Debug|Any CPU
- {12ECF33A-D5E3-4F8B-A9D9-60F7F55B869D}.Debug|x86.Build.0 = Debug|Any CPU
- {12ECF33A-D5E3-4F8B-A9D9-60F7F55B869D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {12ECF33A-D5E3-4F8B-A9D9-60F7F55B869D}.Release|Any CPU.Build.0 = Release|Any CPU
- {12ECF33A-D5E3-4F8B-A9D9-60F7F55B869D}.Release|x64.ActiveCfg = Release|Any CPU
- {12ECF33A-D5E3-4F8B-A9D9-60F7F55B869D}.Release|x64.Build.0 = Release|Any CPU
- {12ECF33A-D5E3-4F8B-A9D9-60F7F55B869D}.Release|x86.ActiveCfg = Release|Any CPU
- {12ECF33A-D5E3-4F8B-A9D9-60F7F55B869D}.Release|x86.Build.0 = Release|Any CPU
- {1C0BCC51-AF18-44F3-A1E6-A693F74276B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1C0BCC51-AF18-44F3-A1E6-A693F74276B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1C0BCC51-AF18-44F3-A1E6-A693F74276B5}.Debug|x64.ActiveCfg = Debug|Any CPU
- {1C0BCC51-AF18-44F3-A1E6-A693F74276B5}.Debug|x64.Build.0 = Debug|Any CPU
- {1C0BCC51-AF18-44F3-A1E6-A693F74276B5}.Debug|x86.ActiveCfg = Debug|Any CPU
- {1C0BCC51-AF18-44F3-A1E6-A693F74276B5}.Debug|x86.Build.0 = Debug|Any CPU
- {1C0BCC51-AF18-44F3-A1E6-A693F74276B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1C0BCC51-AF18-44F3-A1E6-A693F74276B5}.Release|Any CPU.Build.0 = Release|Any CPU
- {1C0BCC51-AF18-44F3-A1E6-A693F74276B5}.Release|x64.ActiveCfg = Release|Any CPU
- {1C0BCC51-AF18-44F3-A1E6-A693F74276B5}.Release|x64.Build.0 = Release|Any CPU
- {1C0BCC51-AF18-44F3-A1E6-A693F74276B5}.Release|x86.ActiveCfg = Release|Any CPU
- {1C0BCC51-AF18-44F3-A1E6-A693F74276B5}.Release|x86.Build.0 = Release|Any CPU
{A2620200-D487-49A7-ABAF-9B84951F81DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A2620200-D487-49A7-ABAF-9B84951F81DD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A2620200-D487-49A7-ABAF-9B84951F81DD}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -330,8 +302,6 @@ Global
{EC447DCF-ABFA-6E24-52A5-D7FD48A5C558} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{6CB8487D-5C74-487C-9D84-E57838BDA015} = {EC447DCF-ABFA-6E24-52A5-D7FD48A5C558}
{5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38} = {EC447DCF-ABFA-6E24-52A5-D7FD48A5C558}
- {12ECF33A-D5E3-4F8B-A9D9-60F7F55B869D} = {81034408-37C8-1011-444E-4C15C2FADA8E}
- {1C0BCC51-AF18-44F3-A1E6-A693F74276B5} = {81034408-37C8-1011-444E-4C15C2FADA8E}
{6306A8FB-679E-111F-6585-8F70E0EE6013} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{A2620200-D487-49A7-ABAF-9B84951F81DD} = {6306A8FB-679E-111F-6585-8F70E0EE6013}
{BBC99B58-ECA8-42C3-9070-9AA058D778D3} = {8D626EA8-CB54-BC41-363A-217881BEBA6E}
diff --git a/src/Api/TakeoutSaaS.MiniApi/Contracts/Requests/FileUploadFormRequest.cs b/src/Api/TakeoutSaaS.MiniApi/Contracts/Requests/FileUploadFormRequest.cs
deleted file mode 100644
index 8cc3e95..0000000
--- a/src/Api/TakeoutSaaS.MiniApi/Contracts/Requests/FileUploadFormRequest.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using System.ComponentModel.DataAnnotations;
-using Microsoft.AspNetCore.Http;
-
-namespace TakeoutSaaS.MiniApi.Contracts.Requests;
-
-///
-/// 文件上传表单请求。
-///
-public sealed record FileUploadFormRequest
-{
- ///
- /// 上传文件。
- ///
- [Required]
- public required IFormFile File { get; init; }
- ///
- /// 上传类型。
- ///
- public string? Type { get; init; }
-}
diff --git a/src/Api/TakeoutSaaS.MiniApi/Controllers/.gitkeep b/src/Api/TakeoutSaaS.MiniApi/Controllers/.gitkeep
deleted file mode 100644
index 8b13789..0000000
--- a/src/Api/TakeoutSaaS.MiniApi/Controllers/.gitkeep
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/src/Api/TakeoutSaaS.MiniApi/Controllers/AuthController.cs b/src/Api/TakeoutSaaS.MiniApi/Controllers/AuthController.cs
deleted file mode 100644
index 11e7d10..0000000
--- a/src/Api/TakeoutSaaS.MiniApi/Controllers/AuthController.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-using TakeoutSaaS.Application.Identity.Abstractions;
-using TakeoutSaaS.Application.Identity.Contracts;
-using TakeoutSaaS.Shared.Abstractions.Results;
-using TakeoutSaaS.Shared.Web.Api;
-
-namespace TakeoutSaaS.MiniApi.Controllers;
-
-///
-/// 小程序登录认证
-///
-/// 提供小程序端的微信登录与 Token 刷新能力。
-/// 小程序认证服务
-[ApiVersion("1.0")]
-[Authorize]
-[Route("api/mini/v{version:apiVersion}/auth")]
-public sealed class AuthController(IMiniAuthService authService) : BaseApiController
-{
- ///
- /// 微信登录
- ///
- /// 微信登录请求。
- /// 取消标记。
- /// 包含访问令牌与刷新令牌的响应。
- [HttpPost("wechat/login")]
- [AllowAnonymous]
- [ProducesResponseType(typeof(ApiResponse), StatusCodes.Status200OK)]
- public async Task> LoginWithWeChat([FromBody] WeChatLoginRequest request, CancellationToken cancellationToken)
- {
- // 1. 调用认证服务完成微信登录
- var response = await authService.LoginWithWeChatAsync(request, cancellationToken);
-
- // 2. 返回访问与刷新令牌
- return ApiResponse.Ok(response);
- }
-
- ///
- /// 刷新 Token
- ///
- /// 刷新令牌请求。
- /// 取消标记。
- /// 新的访问令牌与刷新令牌。
- [HttpPost("refresh")]
- [AllowAnonymous]
- [ProducesResponseType(typeof(ApiResponse), StatusCodes.Status200OK)]
- public async Task> RefreshToken([FromBody] RefreshTokenRequest request, CancellationToken cancellationToken)
- {
- // 1. 调用认证服务刷新 Token
- var response = await authService.RefreshTokenAsync(request, cancellationToken);
-
- // 2. 返回新的令牌
- return ApiResponse.Ok(response);
- }
-}
diff --git a/src/Api/TakeoutSaaS.MiniApi/Controllers/FilesController.cs b/src/Api/TakeoutSaaS.MiniApi/Controllers/FilesController.cs
deleted file mode 100644
index c06c440..0000000
--- a/src/Api/TakeoutSaaS.MiniApi/Controllers/FilesController.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-using TakeoutSaaS.Application.Storage.Abstractions;
-using TakeoutSaaS.Application.Storage.Contracts;
-using TakeoutSaaS.Application.Storage.Extensions;
-using TakeoutSaaS.Shared.Abstractions.Constants;
-using TakeoutSaaS.Shared.Abstractions.Results;
-using TakeoutSaaS.Shared.Web.Api;
-using TakeoutSaaS.MiniApi.Contracts.Requests;
-
-namespace TakeoutSaaS.MiniApi.Controllers;
-
-///
-/// 小程序文件上传。
-///
-[ApiVersion("1.0")]
-[Authorize]
-[Route("api/mini/v{version:apiVersion}/files")]
-public sealed class FilesController(IFileStorageService fileStorageService) : BaseApiController
-{
- ///
- /// 上传图片或文件。
- ///
- /// 表单请求,包含文件与类型。
- /// 取消标记。
- /// 上传结果,包含访问链接等信息。
- [HttpPost("upload")]
- [Consumes("multipart/form-data")]
- [RequestFormLimits(MultipartBodyLengthLimit = 30 * 1024 * 1024)]
- [ProducesResponseType(typeof(ApiResponse), StatusCodes.Status200OK)]
- [ProducesResponseType(typeof(ApiResponse), StatusCodes.Status400BadRequest)]
- public async Task> Upload([FromForm] FileUploadFormRequest request, CancellationToken cancellationToken)
- {
- // 1. 校验文件有效性
- if (request.File is null || request.File.Length == 0)
- {
- return ApiResponse.Error(ErrorCodes.BadRequest, "文件不能为空");
- }
- // 2. 解析上传类型
- if (!UploadFileTypeParser.TryParse(request.Type, out var uploadType))
- {
- return ApiResponse.Error(ErrorCodes.BadRequest, "上传类型不合法");
- }
- // 3. 提取请求来源
- var origin = Request.Headers["Origin"].FirstOrDefault() ?? Request.Headers["Referer"].FirstOrDefault();
- await using var stream = request.File.OpenReadStream();
- // 4. 调用存储服务执行上传
- var result = await fileStorageService.UploadAsync(
- new UploadFileRequest(uploadType, stream, request.File.FileName, request.File.ContentType ?? string.Empty, request.File.Length, origin),
- cancellationToken);
- // 5. 返回上传结果
- return ApiResponse.Ok(result);
- }
-}
diff --git a/src/Api/TakeoutSaaS.MiniApi/Controllers/HealthController.cs b/src/Api/TakeoutSaaS.MiniApi/Controllers/HealthController.cs
deleted file mode 100644
index e19775c..0000000
--- a/src/Api/TakeoutSaaS.MiniApi/Controllers/HealthController.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-using TakeoutSaaS.Shared.Abstractions.Results;
-using TakeoutSaaS.Shared.Web.Api;
-
-namespace TakeoutSaaS.MiniApi.Controllers;
-
-///
-/// 小程序端 - 健康检查。
-///
-[ApiVersion("1.0")]
-[AllowAnonymous]
-[Route("api/mini/v{version:apiVersion}/[controller]")]
-public class HealthController : BaseApiController
-{
- ///
- /// 获取服务健康状态。
- ///
- /// 健康状态
- [HttpGet]
- [ProducesResponseType(typeof(ApiResponse