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

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.kler.cn/a/587472.html

相关文章:

  • L1-7 统一命名规范(java)
  • 【ESP32】ESP-IDF开发 | 经典蓝牙开发 | 蓝牙串口协议(SPP) + 客户端和服务端例程
  • MyBatis框架操作数据库一>xml和动态Sql
  • 基于单片机的豆浆机控制系统设计(论文+源码)
  • 软件环境安装-通过Docker安装RocketMQ
  • 安卓实现魔改版 Base64 算法
  • 什么是机器学习?从零基础到自动驾驶案例全解析
  • 阿里FPGA XCKU3P开箱
  • 国内Mac,nimi安装homebrew完整过程
  • Rust从入门到实战
  • 【Go每日一练】实现简单的控制台计算器
  • 简单的bug+1
  • 现代密码学 | 具有保密和认证功能的安全方案
  • 软考网络安全专业
  • 基于大模型预测的难治性青光眼诊疗方案研究报告
  • Leetcode:34(二分查找)
  • Android(java)高版本 DownloadManager 封装工具类,支持 APK 断点续传与自动安装
  • C#结构体(Struct)详解
  • 学习MDA规范_9.CORBA(公共对象请求代理架构)‌
  • 「自动驾驶背后的数学:从传感器数据到控制指令的函数嵌套」—— 揭秘人工智能中的线性函数、ReLU 与复合函数