From 455d47f8873d2a0025d1d268bc38f705a376e527 Mon Sep 17 00:00:00 2001 From: niannian zheng Date: Sat, 28 Feb 2026 16:02:59 +0800 Subject: [PATCH] =?UTF-8?q?refactor(API):=20=E7=BB=9F=E4=B8=80=E8=B7=AF?= =?UTF-8?q?=E7=94=B1=E6=A0=BC=E5=BC=8F=E5=B9=B6=E6=B7=BB=E5=8A=A0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=96=87=E6=A1=A3=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将控制器路由从`[controller]`格式改为明确路径 - 为所有接口添加XML文档注释,说明功能和使用方法 - 保持路由风格一致,部分接口添加版本前缀 --- .../Controllers/AuthController.cs | 11 +++- .../Controllers/PortfolioController.cs | 50 ++++++++++++++++++- .../Controllers/StrategyController.cs | 44 +++++++++++++++- .../Controllers/UserController.cs | 24 ++++++++- 4 files changed, 124 insertions(+), 5 deletions(-) diff --git a/AssetManager.API/Controllers/AuthController.cs b/AssetManager.API/Controllers/AuthController.cs index 6eb3acf..d82c8ec 100644 --- a/AssetManager.API/Controllers/AuthController.cs +++ b/AssetManager.API/Controllers/AuthController.cs @@ -10,7 +10,7 @@ using System.Linq; namespace AssetManager.API.Controllers; [ApiController] -[Route("api/[controller]")] +[Route("api/auth")] public class AuthController : ControllerBase { private readonly ILogger _logger; @@ -27,6 +27,15 @@ public class AuthController : ControllerBase } + /// + /// 微信登录接口 + /// + /// 登录请求参数,包含微信授权码和用户信息 + /// 登录结果,包含JWT令牌、用户信息和过期时间 + /// + /// 此接口用于微信小程序或公众号的用户登录,通过微信授权码换取OpenID, + /// 然后查找或创建用户,并生成JWT令牌返回给客户端。 + /// [HttpPost("wechat-login")] public async Task>> WechatLogin([FromBody] WechatLoginRequest request) { diff --git a/AssetManager.API/Controllers/PortfolioController.cs b/AssetManager.API/Controllers/PortfolioController.cs index 572e439..24810cc 100644 --- a/AssetManager.API/Controllers/PortfolioController.cs +++ b/AssetManager.API/Controllers/PortfolioController.cs @@ -8,7 +8,7 @@ using Microsoft.Extensions.Logging; namespace AssetManager.API.Controllers; [ApiController] -[Route("api/v1/[controller]")] +[Route("api/v1/portfolio")] [Authorize] public class PortfolioController : ControllerBase { @@ -21,6 +21,14 @@ public class PortfolioController : ControllerBase _portfolioService = portfolioService; } + /// + /// 创建新投资组合 + /// + /// 投资组合创建请求参数 + /// 创建的投资组合详情 + /// + /// 此接口用于创建新的投资组合。 + /// [HttpPost] public ActionResult> CreatePortfolio([FromBody] CreatePortfolioRequest request) { @@ -52,6 +60,13 @@ public class PortfolioController : ControllerBase } } + /// + /// 获取投资组合列表 + /// + /// 投资组合列表 + /// + /// 此接口用于获取投资组合列表。 + /// [HttpGet] public ActionResult> GetPortfolios() { @@ -83,6 +98,13 @@ public class PortfolioController : ControllerBase } } + /// + /// 获取总资产情况 + /// + /// 总资产情况 + /// + /// 此接口用于获取用户的总资产情况。 + /// [HttpGet("assets")] public ActionResult> GetTotalAssets() { @@ -114,6 +136,14 @@ public class PortfolioController : ControllerBase } } + /// + /// 获取单个投资组合详情 + /// + /// 投资组合ID + /// 投资组合详情 + /// + /// 此接口用于获取指定投资组合的详细信息。 + /// [HttpGet("{id}")] public ActionResult> GetPortfolioById(string id) { @@ -145,6 +175,16 @@ public class PortfolioController : ControllerBase } } + /// + /// 获取交易记录 + /// + /// 投资组合ID + /// 每页记录数 + /// 偏移量 + /// 交易记录列表 + /// + /// 此接口用于获取指定投资组合的交易记录。 + /// [HttpGet("transactions")] public ActionResult> GetTransactions([FromQuery] string portfolioId, [FromQuery] int limit = 10, [FromQuery] int offset = 0) { @@ -176,6 +216,14 @@ public class PortfolioController : ControllerBase } } + /// + /// 创建新交易 + /// + /// 交易创建请求参数 + /// 创建的交易详情 + /// + /// 此接口用于创建新的交易。 + /// [HttpPost("transactions")] public ActionResult> CreateTransaction([FromBody] CreateTransactionRequest request) { diff --git a/AssetManager.API/Controllers/StrategyController.cs b/AssetManager.API/Controllers/StrategyController.cs index c3d14f9..89a49a5 100644 --- a/AssetManager.API/Controllers/StrategyController.cs +++ b/AssetManager.API/Controllers/StrategyController.cs @@ -10,7 +10,7 @@ using System.Security.Claims; namespace AssetManager.API.Controllers; [ApiController] -[Route("api/v1/[controller]s")] +[Route("api/v1/strategy")] [Authorize] public class StrategyController : ControllerBase { @@ -28,7 +28,14 @@ public class StrategyController : ControllerBase return User.FindFirst(ClaimTypes.NameIdentifier)?.Value ?? throw new Exception("User not authenticated"); } - [HttpGet] + /// + /// 获取策略列表 + /// + /// 策略列表 + /// + /// 此接口用于获取当前登录用户的所有策略列表。 + /// + [HttpGet("strategies")] public ActionResult>> GetStrategies() { try @@ -60,6 +67,14 @@ public class StrategyController : ControllerBase } } + /// + /// 获取单个策略详情 + /// + /// 策略ID + /// 策略详情 + /// + /// 此接口用于获取指定策略的详细信息。 + /// [HttpGet("{id}")] public ActionResult> GetStrategyById(string id) { @@ -92,6 +107,14 @@ public class StrategyController : ControllerBase } } + /// + /// 创建新策略 + /// + /// 策略创建请求参数 + /// 创建的策略详情 + /// + /// 此接口用于创建新的策略。 + /// [HttpPost] public ActionResult> CreateStrategy([FromBody] CreateStrategyRequest request) { @@ -124,6 +147,15 @@ public class StrategyController : ControllerBase } } + /// + /// 更新策略 + /// + /// 策略ID + /// 策略更新请求参数 + /// 更新后的策略详情 + /// + /// 此接口用于更新指定策略的信息。 + /// [HttpPut("{id}")] public ActionResult> UpdateStrategy(string id, [FromBody] UpdateStrategyRequest request) { @@ -156,6 +188,14 @@ public class StrategyController : ControllerBase } } + /// + /// 删除策略 + /// + /// 策略ID + /// 删除结果 + /// + /// 此接口用于删除指定的策略。 + /// [HttpDelete("{id}")] public ActionResult> DeleteStrategy(string id) { diff --git a/AssetManager.API/Controllers/UserController.cs b/AssetManager.API/Controllers/UserController.cs index f06af36..4c2f0f7 100644 --- a/AssetManager.API/Controllers/UserController.cs +++ b/AssetManager.API/Controllers/UserController.cs @@ -8,7 +8,7 @@ using AssetManager.Data; namespace AssetManager.API.Controllers; [ApiController] -[Route("api/user")] +[Route("api/v1/user")] [Authorize] public class UserController : ControllerBase { @@ -21,6 +21,13 @@ public class UserController : ControllerBase _databaseService = databaseService; } + /// + /// 获取用户信息 + /// + /// 用户信息 + /// + /// 此接口用于获取当前登录用户的详细信息。 + /// [HttpGet("info")] public ActionResult> GetUserInfo() { @@ -86,6 +93,13 @@ public class UserController : ControllerBase } } + /// + /// 获取用户统计数据 + /// + /// 用户统计数据 + /// + /// 此接口用于获取当前登录用户的统计数据,如捕获的信号数、胜率等。 + /// [HttpGet("stats")] public ActionResult> GetUserStats() { @@ -150,6 +164,14 @@ public class UserController : ControllerBase } } + /// + /// 更新用户信息 + /// + /// 用户信息更新请求参数 + /// 更新结果 + /// + /// 此接口用于更新当前登录用户的信息。 + /// [HttpPut("info")] public ActionResult> UpdateUserInfo([FromBody] UpdateUserRequest request) {