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

  本文学习并分析App.Hosting项目中前台页面的作品展示页面和首页页面。

作品展示页面

  作品展示页面总体上为上下布局,上方显示导航菜单,下方从左向右显示图片数据,支持放大查看图片和下载图片。整个页面使用了layui中的面包屑导航、弹出层、流加载等样式或模块,通过global.css文件设置样式,使用mixed_pic.js文件加载内容并显示wwwroot\favorite中的图片,并未与控制器类交互。
在这里插入图片描述
  面包屑导航。使用layui-breadcrumb预设类设置面包屑导航样式。
  导航菜单。使用global.css文件设置导航菜单样式。
  图片展示区。mixed_pic.js开头固化变量保存wwwroot\favorite下的图片信息,然后通过流加载方式逐个显示图片信息,并未使用模版方式设置图片信息样式,而是直接在js文件中拼接html字符串。每个图片提供查看大图按钮,调用layui的layer.photos显示大图。
  js文件。引用的mixed_pic.js专用于本页面的初始化及函数定义,主要函数已在上方说明,在此不再赘述。

首页页面

  首页页面总体布局如下图所示,整个页面使用了layui中的轮播、流加载、弹出层、模版等样式或模块,通过global.css、index.css等文件设置样式,使用index.js文件加载内容并调用HomeController和ArticleController中的相关函数获取或检索数据。
在这里插入图片描述在这里插入图片描述
  横幅。页面加载时,通过HomeController的Index函数传递给页面横幅集合信息,然后在前台使用layui的轮播组件周期性地显示横幅图片,并在index.js文件中调用carousel.render配置轮播样式。
在这里插入图片描述

  公告。页面加载时在Index.js文件中调用HomeController的Init函数获取公告集合,然后使用tipsview模版显示公告,并调用playNotice函数5秒切换一条公告信息。
  文章列表。页面加载时在Index.js文件中通过流加载方式调用ArticleController的Page函数分页显示文章列表,然后使用newsview模版显示每篇文章的图标、名称、作者、标签等信息。
  个人头像。固定内容,显示项目作者信息及交流方式。
  文章标签。页面加载时在Index.js文件中调用HomeController的Init函数获取文章标签集合,然后使用temptags模版显示标签名称及标签关联的文章数量,点击标签会跳转到文章专栏显示与标签相关的所有文章列表。
  热门文章。页面加载时在Index.js中调用HomeController的Init函数获取最热门6篇文章,然后使用hotview模板显示每条文章的基本信息链接,点击链接后会打开文章详情页面显示详细内容。
  博主介绍。固定内容,显示项目作者简介。
  友情链接。页面加载时在Index.js中调用HomeController的Init函数获取友情链接集合,然后使用linkview模板显示友情链接信息,点击链接后会跳转到对应的链接网址。
  模版定义。定义了tipsview、newsview、temptags、hotview、linkview模版供公告、文章列表、标签、热门文章、友情链接等功能调用。
  js文件。引用的Index.js专用于本页面的初始化及函数定义,主要函数已在上方说明,在此不再赘述。

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Linux][多线程][二][线程互斥][互斥量][可重入VS线程安全][常见锁概念]

目录 1.线程互斥1.互斥相关背景概念2.多个线程并发的操作共享变量,会带来一些问题3.互斥量mutex 2.互斥量的接口1.初始化互斥量2.销毁互斥量3.加锁4.解锁5.使用 -- 改善上面代码 3.互斥量实现原理探究1.加锁是如何保证原子性的?2.如何保证锁是原子性的&a…

[Algorithm][二分查找][山峰数组的峰顶索引][寻找峰值][寻找旋转排序数组中的最小值][0~n-1中缺失的数字]详细讲解

目录 1.山脉数组的峰顶索引1.题目链接2.算法原理详解3.代码实现 2.寻找峰值1.题目链接2.算法原理详解3.代码实现 3.寻找旋转排序数组中的最小值1.题目链接2.算法原理详解3.代码实现 4.0〜n-1 中缺失的数字1.题目链接2.算法原理详解3.代码实现 1.山脉数组的峰顶索引 1.题目链接…

智慧安防边缘计算硬件AI智能分析网关V4算法启停的操作步骤

TSINGSEE青犀视频智能分析网关V4内置了近40种AI算法模型,支持对接入的视频图像进行人、车、物、行为等实时检测分析,上报识别结果,并能进行语音告警播放。硬件管理平台支持RTSP、GB28181协议、以及厂家私有协议接入,可兼容市面上常…

山与路远程控制 一个基于electron和golang实现的远控软件

山与路远程控制 🎥项目演示地址 还在制作… ♻️项目基本介绍 山与路远程控制是基于electron(vue3)和golang实现的远程控制软件(项目界面主要模仿向日葵远程软件,如有侵权请告知),代码可能有点臃肿毕竟只花了一周左右写的无聊项目,如果对其感兴趣的大佬可以fork自…

鸿蒙开发实例:【配置OpenHarmony SDK】

配置OpenHarmony SDK 在设置OpenHarmony应用开发环境时,需要开发者在DevEco Studio中配置对应的SDK信息。 说明: 请注意,OpenHarmony SDK版本精简了部分工具链,因此不适用于HarmonyOS应用开发。 前提条件 已下载并安装好DevEco …

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之四 简单行人人体检测效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之四 简单行人人体检测效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之四 简单行人人体检测效果 一、简单介绍 二、简单行人人体检测效果实现原理 三、简…

网络安全数字孪生:一种新颖的汽车软件解决方案

摘要 随着汽车行业转变为数据驱动的业务,软件在车辆的开发和维护中发挥了核心作用。随着软件数量的增加,相应的网络安全风险、责任和监管也随之增加,传统方法变得不再适用于这类任务。相应的结果是整车厂和供应商都在努力应对汽车软件日益增加…

论文解读:(VPT)Visual Prompt Tuning

文章汇总 要解决的问题 大型模型应用于下游任务本身就存在挑战。最明显的(通常也是最有效的)适应策略是对预先训练好的模型进行全面的端到端微调。 动机 只微调参数的一个子集 解决的办法 只在输入空间中引入少量特定于任务的可学习参数,而在下游训练期间冻结…

visionTransformer window平台下报错

错误: KeyError: Transformer/encoderblock_0/MlpBlock_3/Dense_0kernel is not a file in the archive解决方法: 修改这个函数即可,主要原因是Linux系统与window系统路径分隔符不一样导致 def load_from(self, weights, n_block):ROOT f&…

idea文件菜单打不开,pom一直在加载。有些项目一直在加载。从文件打开,d盘进不去。

idea文件菜单打不开,pom一直在加载。有些项目一直在加载。从文件打开,d盘进不去。 在这里会有红色感叹号,进入吧插件禁止启用。就ok。我这里miniapp插件坏了。重启就行。

使用Go语言和chromedp库下载Instagram图片:简易指南

摘要/导言 本文将介绍如何使用Go语言配合chromedp库来下载Instagram上的图片。我们将通过一个简单的示例来展示整个过程,包括如何设置爬虫代理IP以绕过网络限制。 背景/引言 在数据采集和自动化测试领域,Go语言以其出色的执行效率、简洁的语法和卓越的…

Topaz Photo AI 3.0.0 (macOS Universal) - AI 图片修复工具

Topaz Photo AI 3.0.0 (macOS Universal) - AI 图片修复工具 Maximize Image Quality with AI 请访问原文链接:Topaz Photo AI 3.0.0 (macOS Universal) - AI 图片修复工具,查看最新版。原创作品,转载请保留出处。 作者主页:sy…