首页 前端知识 ShenNiusModularity项目源码学习(15:ShenNius.Admin.API项目分析)

ShenNiusModularity项目源码学习(15:ShenNius.Admin.API项目分析)

2025-03-01 12:03:29 前端知识 前端哥 635 423 我要收藏

  ShenNius.Admin.Mvc项目是MVC模式的入口,ShenNius.Admin.Hosting项目是前后端分离模式的后台服务入口,这两个项目都依赖ShenNius.Admin.API项目,前者使用ShenniusAdminApiModule类注册服务及配置管道,而后者的webapi实现都在ShenNius.Admin.API项目内,主要文件如下所示:
在这里插入图片描述
  ShenniusAdminApiModule文件在之前的文章中也提到过,主要用于注册服务、配置管道,前后端模式下采用JWT身份认证,MVC模式下采用基于Cookie的身份认证,通过入口项目的appsettings.json中JwtSetting:IsEnable配置的,除此之外,还注册SignalR、SqlSugar、AutoMapper、NewtonsoftJson等第三方或自定义组件或服务。
  AutomapperProfile文件定义实体类的映射关系,并在上一段的文件中使用Services.AddAutoMapper(typeof(AutomapperProfile))注册服务。
  Jwt文件夹保存与JWT身份认证相关的类定义,其中:
  1)AuthorizationExtension文件定义扩展函数注册及配置JWT服务,便于在ShenniusAdminApiModule文件中调用;
  2)ApiResponseHandler文件自定义认证操作类,用于在认证失败时(HandleChallengeAsync、HandleForbiddenAsync)返回格式统一的结果(ApiResult),该类在AuthorizationExtension文件的注册JWT服务时使用;
  3)JwtSetting文件保存JWT相关的配置,包括密钥、颁发者、过期时间等,该类用于在项目启动时从appsettings.json中读取jwt配置;
  4)JwtHelper类基于JwtSetting配置生成token,主要在本项目的UserController.SignIn函数内用户身份认证后生成token。

在这里插入图片描述
  Controllers文件夹内保存的是前后端分离模式下CMS、商城、系统管理版块的控制器类,其中:
  1)ApiBaseController是非多租户模式的控制器基类,定义常见的增删改查函数实现,不过只有TenantController继承自该类,用于多租户管理;
  2)ApiTenantBaseController定义多租户模式的控制器基类,包含常见的增删改查、导出数据等函数实现,Cms下的控制器类基本都继承自该类;
  3)ApiControllerBase是Sys文件夹下的基类,最大的作用是定义默认的访问路由,Sys下的控制器类大多继承自该类。

在这里插入图片描述

序号控制器类说明所属文件夹
1AdvListController广告位管理控制器类Cms
2ArticleController文章管理控制器类Cms
3ColumnController栏目管理控制器类Cms
4KeywordController关键词管理控制器类Cms
5MessageController留言管理控制器类Cms
6AppUserAddressController客户地址管理控制器类Shop
7AppUserController客户管理控制器类Shop
8CategoryController商品分类管理控制器类Shop
9GoodsController商品管理控制器类Shop
10OrderController订单管理控制器类Shop
11ConfigController字典管理控制器类Sys
12LogsController日志管理控制器类Sys
13MenuController菜单管理控制器类Sys
14RecycleController回收站管理控制器类Sys
15RoleController角色管理控制器类Sys
16TenantController多租户管理控制器类Sys
17UserController用户管理控制器类Sys

参考文献:
[1]https://gitee.com/shenniu_code_group/shen-nius.-modularity

转载请注明出处或者链接地址:https://www.qianduange.cn//article/22179.html
标签
ShenNius
评论
发布的文章

算法002——复写零

2025-03-02 13:03:05

github上传代码(自用)

2025-03-02 13:03:59

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!