ShenNiusModularity项目源码学习(16:ShenNius.Admin.Mvc项目分析-1)

  ShenNius.Admin.Mvc项目是MVC模式的启动项目,包括了MVC模式下所需的所有的页面、控制器类、资源、js文件等数据,该项目仅依赖ShenNius.Admin.API项目,主要使用后者的ShenniusAdminApiModule模块类及一些依赖项目中定义的辅助类等。本文学习ShenNius.Admin.Mvc项目的结构及零散文件的用法,后续文章中逐步学习每个控制器类及对应页面的用法。
在这里插入图片描述

  ShenNiusModularity项目的结构如上图所示,从下向上逐项介绍:
  ShenniusAdminMvcModule文件为MVC模式的启动模块类,其依赖于ShenNius.Admin.API项目的ShenniusAdminApiModule模块类,后者在项目启动过程中根据启动项目的appsettings.json中的jwt设置来设置身份认证方式及路由映射方式。ShenNius.Admin.Mvc项目的appsettings.json中没有jwt设置,因此项目启动过程中设置使用基于Cookie的身份认证方式,同时设置基于area的路由映射,默认访问home/index地址。

  Controller和Views文件夹内保存的是自媒体内容管理系统的主页面控制器类及页面,虽然默认路由是主页面,身份认证不通过时默认转到登录页面。
在这里插入图片描述

  CustomerFileContentTypeProvider类自定义文件扩展名和MIME类型的映射关系,主要包括zip、less、xlsx等三类扩展名的映射关系,该类在ShenniusAdminMvcModule. OnApplicationInitialization函数内调用。
  VerifyCode类用于生成验证码及验证码图片,前面文章中有详细介绍生成逻辑,主要用在sys/UserController类的OnGetVCode函数内。
  WebExtension类定义了两个扩展函数,ToWebString按自定义格式输出日期字符串,TrimEnd函数用于在字符串A的末尾移除指定的字符串B并返回移除后的子字符串,该类主要用在页面中,在此不再一一列举。
  Area文件夹下按系统管理(Sys)、CMS模块(Cms)、商城模块(Shop)分文件夹保存各自的控制器类及页面,后续文章中会逐一学习并记录。
在这里插入图片描述

  wwwroot文件夹下包含以下子文件夹,分别保存自定义css文件、图标、第三方js库(jquery、layui、signalr、echarts、layui扩展库等)。
在这里插入图片描述

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值