From bab40f8794af58be2568da041d37dcb86fbc99fd Mon Sep 17 00:00:00 2001 From: xRain Date: Mon, 23 Dec 2019 16:50:49 +0800 Subject: [PATCH] add readme --- .github/workflows/dotnetcore.yml | 16 -------- README.md | 63 +++++++++++++++++++++++++++++++- 2 files changed, 62 insertions(+), 17 deletions(-) delete mode 100644 .github/workflows/dotnetcore.yml diff --git a/.github/workflows/dotnetcore.yml b/.github/workflows/dotnetcore.yml deleted file mode 100644 index cf0c8a2..0000000 --- a/.github/workflows/dotnetcore.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: .NET Core - -on: [push] - -jobs: - build: - name: publish to nuget - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 2 - - name: Publish NuGet - uses: rohith/publish-nuget@v1.0.3 - with: - nuget_key: "oy2jz2ls4vmy5sob3gyqv27spaslvibuzlpwitzvyzptzq" diff --git a/README.md b/README.md index c556700..7323216 100644 --- a/README.md +++ b/README.md @@ -1 +1,62 @@ -# YYApi +# YYApi 基于Asp.net Core 3的一个基础辅助包 + +### 包含了以下组件: + +1. 统一的参数检测,基础认证服务 +所有的控制器需要继承 YYApi.Controllers.BaseController + +```C# +using Models; + +namespace Controllers +{ + public class BaseController : YYApi.Controllers.BaseController + { + /// + /// 获取登录用户信息 + /// + protected User LoginInfo => (User) HttpContext.Items["LoginInfo"]; + } +} +``` + +2. 基于Swagger的API文档服务 + +```C# +#Startup.cs + + services.AddApiDoc("文档名称", "文档描述"); + + app.UseApiDoc("名称",SubmitMethod[]) + +#控制器中可以直接使用特性 + + [ApiDoc("分组","名称")] +``` + +3. 简单的基于Redis的登录TOKEN服务 + +```C# +#Startup.cs +service.AddAuth(); +``` +添加时候, 可以从DI中获取 Auth 类,调用 Auth.SetId(int) 将用户ID和生成的Token绑定,本方法返回缓存中的Key名称 + +```C# +#Startup.cs +app.UseAuthMiddleware(); +``` +调用本中间件,然后再需要登录认证的地方,使用 [CheckAuth] 特性,即可完成检测登录相关的操作, +如果需要获取用户的ID, 只需要 直接使用 LoginId 属性即可获取 + +4. 统一返回 +所有Response 均需要继承 BaseResponse类 + + +5. 异常处理 +本异常中间件封装了API错误的异常处理,控制器可以使用 Error(int,string) 直接返回API错误 + +```C# +#Startup.cs +app.UseExceptionMiddleware(); +``` \ No newline at end of file