开源博客项目Blog .NET Core源码学习(19:App.Hosting项目结构分析-7)

  本文学习并分析App.Hosting项目中后台管理页面的主页面。如下图所示,开源博客项目的后台主页面采用layui预设类layui-icon-shrink-right设置样式,点击主页面中的菜单,其它页面采用弹框或者子页面形式显示在主页面的内容区域。在这里插入图片描述
  后台主页面总体布局如下图所示,整个页面使用了layui中的导航、bodyTab(扩展模块)、弹出层等样式或模块,通过global.css、/css/index.css等文件设置样式,使用js/index.js文件加载内容并调用Main/HomeController、Main/LoginController和SystemManage/ModuleController中的相关函数获取或检索数据。
在这里插入图片描述
  顶部导航。顶部导航从左向右的显示内容及样式设置如下所示。
  1)最左侧文字链接。点击链接返回后台管理页面的主页面;
  2)显示/隐藏菜单。紧挨左侧“通用管理系统”的绿色图标,点击图标能显示或隐藏左侧导航,在index.js中定义$(“.hideMenu”).click事件响应函数,点击图标时一方面切换图标(在shrink-right和shrink-left之间切换),另一方面通过 $(“.layui-layout-admin”).toggleClass(“showMenu”)切换左侧导航样式;
在这里插入图片描述

  3)顶部导航主菜单。在index.js文件中定义并调用initMenu函数,该函数调用SystemManage/ModuleController中的GetMenuAndButton函数获取当前用户可使用的顶层菜单、下级菜单及按钮集合(后台使用easyCaching提高访问速度),同时设置$(“.topLevelMenus,.mobileTopLevelMenus”)的click事件响应函数,点击某一顶层菜单时刷新显示右侧导航。
  4)顶部右侧菜单。定义了清除缓存、锁屏、当前用户及下级菜单等,index.js文件中设置$(“.clearCache”)的click响应函数清除缓存(主要调用window.sessionStorage.clear、window. localStorage.clea),设置$(“.lockcms”)的click响应函数实现锁屏及定义解锁相关功能(解锁时调用Main/HomeController的Lock函数判断密码是否正确),设置$(“#signOut”)的click响应函数实现登出功能(调用Main/LoginControlle的SignOut退出登录并跳转到登录界面),同时cache.js中设置$(“.changeSkin”)的click响应函数实现更换皮肤功能。修改密码和个人资料菜单使用其它页面操作,本文暂不分析。
在这里插入图片描述
  左侧导航。点击顶层菜单,会在左侧导航中显示其下级菜单,index.js文件中定义getData函数刷新左侧导航,其内又调用bodyTab.js的render函数刷新左侧导航。
  右侧内容及菜单。主页面右侧区域以选项卡形式显示菜单对应的页面。在index.js中定义以下响应函数,点击左侧导航菜单或顶层菜单中的修改密码和个人资料菜单时调用addTab函数在右侧内容区域增加或切换选项卡。同时在选项卡标题区域最右侧增加刷新当前、关闭其他、关闭全部菜单,并在bodyTab.js定义这三个菜单的事件响应函数。

 $("body").on("click",
     ".layui-nav .layui-nav-item a:not('.mobileTopLevelMenus .layui-nav-item a')",
     function () {
         if ($(this).siblings().length == 0) {
             addTab($(this));
             $('body').removeClass('site-mobile'); //移动端点击菜单关闭菜单层
         }
         $(this).parent("li").siblings().removeClass("layui-nav-itemed");
     });

  底部内容。底部区域没有太多内容,主要是显示捐赠按钮以获取经济支持,并在index.js中定义donation函数以显示收款二维码。
  js文件。引用的index.js专用于本页面的初始化及函数定义,主要函数已在上方说明,在此不再赘述。

参考文献:
[1]https://gitee.com/miss_you/Blog
[2]https://layui.dev/docs/2/
[3]https://animate.style/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/579410.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript算法描述【排序与搜索】六大经典排序|合并两个有序数组|第一个错误的版本

🐧主页详情:Choice~的个人主页 📢作者简介:🏅物联网领域创作者🏅 and 🏅阿里专家博主🏅 and 🏅华为云享专家🏅 ✍️人生格言:最慢的步伐不是跬步&…

C++ 笔试练习笔记【1】:字符串中找出连续最长的数字串 OR59

文章目录 OR59 字符串中找出连续最长的数字串题目思路分析实现代码 注:本次练习题目出自牛客网 OR59 字符串中找出连续最长的数字串 题目思路分析 首先想到的是用双指针模拟,进行检索比较输出 以示例1为例: 1.首先i遍历str直到遍历到数字&a…

unity 专项一 localPosition与anchoredPosition(3D)的区别

一 、RectTransform 概念 1、RectTransform继承自Transform,用于描述矩形的坐标(Position),尺寸(Size),锚点(anchor)和中心点(pivot)等信息,每个2D布局下的元素都会自动生成该组件。 2、当我们在处理UI组件时,往往容易…

【微信小程序调用百度API实现图像识别实战】-前后端加强版

前言:基于前面两篇图像识别项目实战文章进行了改造升级。 第一篇 入门【微信小程序调用百度API实现图像识别功能】----项目实战 第二篇 前后端结合 【微信小程序调用百度API实现图像识别实战】----前后端分离 这一篇主要讲述的是在第二篇的基础上新增意见反馈功能&a…

ZooKeeper 搭建详细步骤之一(单机模式)

搭建模式简述 ZooKeeper 的搭建模式包括单机模式、集群模式和伪集群模式,分别适用于不同的场景和需求,从简单的单节点测试环境到复杂的多节点高可用生产环境。在实际部署时,应根据系统的可用性要求、数据量、并发负载等因素选择合适的部署模式…

mysql UNION 联合查询

mysql UNION 联合查询 业务需要拉数据,这里需要对查询不同格式的数据进行组装,此处采用联合查询 注意1:null as 设备关爱 ,结果为null,表头为设备关爱 注意2: UNION 或者 UNION ALL 联合查询自行选用 注意3…

新开的拼多多店铺怎么运营

今天给大家分享一下如何在拼多多平台上开设并运营一家店铺。不管你是创业者还是小型商家,相信这个话题都会对你有所帮助。 拼多多新店需要做些推广提高店铺权重 新店用3an推客做推广比较好 3an推客是给商家提供的营销工具,3an推客CPS推广模式由商家自主…

Int4:Lucene 中的更多标量量化

作者:来自 Elastic Benjamin Trent, Thomas Veasey 在 Lucene 中引入 Int4 量化 在之前的博客中,我们全面介绍了 Lucene 中标量量化的实现。 我们还探索了两种具体的量化优化。 现在我们遇到了一个问题:int4 量化在 Lucene 中是如何工作的以…

(七)Servlet教程——Idea编辑器集成Tomcat

1. 点击桌面上Idea快捷方式打开Idea编辑器,假如没有创建项目的话打开Idea编辑器后的界面展示如下图所示 2. 点击界面左侧菜单中的自定义 3. 然后点击界面中的“所有设置...”,然后点击“构建、执行、部署”,选择其中的“应用程序服务器” 4. 点击“”按钮…

每日OJ题_DFS回溯剪枝⑦_力扣77. 组合

目录 力扣77. 组合 解析代码 力扣77. 组合 77. 组合 难度 中等 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,…

数据结构与算法(Java版) | 详解十大经典排序算法之一:插入排序

接下来,我来给大家讲解第三种排序算法,即插入排序。 基本介绍 首先,我们来看下插入排序的基本介绍。 插入排序,其属内部排序法,是对于欲排序的元素以插入的方式来找寻该元素的适当位置,以便最终达到排序…

基于Springboot的考研资讯平台

基于SpringbootVue的考研资讯平台的设计与实现 开发语言:Java数据库:MySQL技术:SpringbootMybatis工具:IDEA、Maven、Navicat 系统展示 用户登录 首页 考研资讯 报考指南 资料信息 论坛信息 后台登录 考研资讯管理 学生管理 资…

Python数据分析实验二:Python数据预处理

目录 一、实验目的与要求二、实验任务三、主要程序清单和运行结果(一)对chipotle.csv文件的销售数据进行分析(二)对描述泰坦尼克号成员的信息进行可视化和相关分析 四、实验体会 一、实验目的与要求 1、目的:   掌握…

分布式与一致性协议之Paxos算法(二)

Paxos算法 如何达成共识 想象这样一个场景,某地出现突发事件,当地村委会、负责人等在积极研究和搜集解决该事件的解决方案,你也决定参与其中,提交提案,建议一些解决方法。为了和其他村民的提案做区分,你的…

eclipse 如何创建python文件

一、准备 1.平台要求: 电脑除了要安装eclipse软件和Python语言包之外,还需要将Python集成到eclipse软件中,网上有很多的方法,这里就不细细介绍如何集成了。 在下面界面中可以看到自己已经安装了继承插件。具体方法见步骤2&…

构建数字化银行:现代化总架构探究

随着科技的迅速发展和用户需求的不断变化,传统银行业正迎来一场数字化转型的浪潮。在这个数字化时代,银行需要构建现代化的总架构,以适应快速变化的市场环境和客户需求。本文将深入探讨数字化银行的总架构设计理念、关键技术以及实践经验&…

PotatoPie 4.0 实验教程(29) —— FPGA实现摄像头图像均值滤波处理

图像的均值滤波简介 图像均值滤波处理是一种常见的图像处理技术,用于降低图像中噪声的影响并平滑图像。该方法通过在图像中滑动一个固定大小的窗口(通常是一个正方形或矩形),将窗口中所有像素的值取平均来计算窗口中心像素的新值…

26.统一网关Gateway

网关的功能 1.身份认证,权限的校验。 2.服务的路由,负载均衡。用户请求被分配到哪一个微服务。一个微服务可以有多个实例,所以使用负载均衡。 3.请求限流。 springcloud网关实现有两种:gateway, zuul zuul是基于servlet实现的…

Vitis HLS 学习笔记--IDE软件高效操作指引

目录 1. 简介 2. 实用软件操作 2.1 C/RTL Cosimulation 选项 2.2 Do not show this dialog again 2.3 New Solution 2.4 对比 Solution 2.5 以命令行方式运行(windows) 2.6 文本缩放快捷键 2.7 查看和修改快捷键 2.8 将Vitis HLS RTL 导入 Viv…

YouTubeDNN模型

Deep Neural Networks for YouTube Recommendations YouTubeDNN模型是2016年的一篇文章,这篇文章给出了很多优化推荐系统中的工程性经验和trick,比如召回方面的"example age", “负采样”,“非对称消费,防止泄露”&…