当前位置: 首页 > news >正文

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

http://www.dtcms.com/a/70554.html

相关文章:

  • 鸿蒙开发:实现AI打字机效果
  • 【“以退为进“、“不得已而为之“与“风险对冲“的协同机制】
  • 大模型训练全流程深度解析
  • Deepseek-R1大模型微调实战技术深度解析
  • Qt 控件概述 QWdiget
  • 第一次使用腾讯云服务器部署项目记录与总结
  • Java 大视界 -- Java 大数据中的异常检测算法在工业物联网中的应用与优化(133)
  • ABAP语言的动态编程(4) - 综合案例:管理费用明细表
  • 如何配置 Docker 以实现无需 sudo 使用
  • 蓝桥杯十天冲刺-day1(getline读入空格)
  • 人工智能与人的智能,改变一生的思维模型【8】逆向思维
  • DeepSeek-R1大模型微调技术深度解析:架构、方法与应用全解析
  • 星越L_内后视镜使用讲解
  • 【AI】内容生成式AI(AIGC)的深度分析与扩展
  • 【Android】RuntimeShader 应用
  • SEO新手基础优化三步法
  • 【MATLAB实战】实现白鲸算法(BWO)优化BP神经网络:提升模型性能的新思路
  • 使用 BookMarkHub 插件进行书签同步
  • 小柒的逆序对
  • 历年华中科技大学计算机考研复试上机真题
  • matplotlib与numpy版本不兼容问题
  • python Jsonpath表达式语法取值
  • 基于“动手学强化学习”的知识点(五):第 18 章 离线强化学习(gym版本 >= 0.26)
  • 【Rust交叉编译】在x86_64架构下交叉编译aarch64-linux-musl版的rust-opencv
  • C语言基础要素(015):分支控制:switch 语句
  • ragflow源码部署操作记录(已成功版)
  • 【设计原则:软件架构的基石与进阶秘籍】
  • Python学习第十七天
  • 【MySQL】数据库简要介绍和简单应用
  • 组件通信框架ARouter原理剖析