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

TechM-技术网站

介绍

你将为⼀个技术社区设计并实现⼀个官⽹。该社区旨在为软件⼯程师、开发⼈员和技术
爱好者提供⼀个交流平台,分享最新的技术动态、⽂章、项⽬案例。

项目模块

项目分为三个模块 : 主页展示模块,文章详情模块,文章专栏模块。

主页展示模块:

主页展示模块设计:

主要设计分为两个模块:layout模块显示,中间为内容模块

layout模块

顶部导航栏区域:使用antd组件中 Layout ,Menu,Input组件进行开发完成

使用css固定样式将顶部导航栏固定在页面头部

左侧 菜单分别为文章,问答,专栏,文档 链接,点击后可进入专属模块中

右侧为 搜索框,按钮,图标模块。

中间为内容模块

中间内容模块:使用antd组件中Carousel, Avatar, List, Tabs, Row, Col等组件开发完成

中间内容模块:分为三部分 :头部图片展示部分,底部左侧:列表部分,底部右侧:列表部分

头部部分:

分为轮播图和热⻔⽂章列表组件展示

轮播图模块 使用了Carousel组件来完成,设置 autoplay, autoplaySpeed={5000}属性完成轮播图自动轮播,间隔时间5s。同时点击下标可切换轮播图片

热⻔⽂章列表 使用了List组件 点击⽂章可进⾏跳转⽂章详情⻚

底部左侧:

使用了antd组件中 Input,Tabs ,Flex,List,Tag等组件开发完成

模糊搜索框中实现了搜索防抖功能点,防止用户频繁搜索
列表展示模块中使用了 Tabs ,List,Tag组件开发完成
点击不同的tab可以切换出tab下对应的内容,同时激活状态的tab高亮展示
⽂章列表组件 使用List组件开发完成,点击文章可以进行跳转到文章详情页面
底部右侧: 

使用了 Tab ,List 组件开发完成

点击不同的tab可以切换出tab下对应的内容,同时激活状态的tab高亮展示

文章详情模块

使用了Card, List, Typography, Avatar, Button组件完成开发
文章详情模块页面布局
 
实现了从上之下:文章标题-文章基本信息-文章内容-评论区
左侧实现了回复评论,发表评论,点赞评论功能点

文章专栏模块

分类头部图片展示模块,底部卡片展示模块

头部图片展示模块:使用了card组件开发完成

底部卡片展示模块:使用了Tab,List组件开发完成

点击不同 tab 正常切换 tab 下对应内容。
激活状态的 tab ⾼亮展示

项目难点:

对于搜索框,实现防抖功能点:
 

  function debounce<T extends (...args: any[]) => any>(  func: T,  wait: number  ): (this:any,...args: any) => ReturnType<T> {  let timeoutId: any= null;  return function(...args: any): any { const context = this;  if (timeoutId) {clearTimeout(timeoutId);}timeoutId = setTimeout(() => func.apply(context, args), wait);  };  }

其次在对于页面样式方式:修改组件库样式,使用了穿透

项目总结:

总体完成了网站的开发,学习到了关于react 路由,组件中的知识,对于Antd组件有了一定的了解,对于TypeScript类型有所掌握。

不足之处:对于页面样式方面有所欠缺

相关文章:

  • 香橙派OrangePi AIpro上手笔记——之USB摄像头目标检测方案测试(三)
  • pymupdf提取pdf表格及表格数据合并
  • 高舒适性气膜网球馆的注意事项—轻空间
  • JSP与Servlet的区别
  • vscode编译文件夹下所有文件的配置(包含插件和 .json 文件)
  • 现阶段对于伪造检测的重难点--泛化
  • 【C++PCL】点云处理KD-ICP配准
  • C# 类型系统
  • 异步通知驱动实例
  • 数据可视化---使用matplotlib绘制高级图表(2)
  • MySQL—多表查询(概述、基本实操、分类)
  • 240.搜索二维矩阵
  • 开发指南027-微信支付
  • HR招聘面试测评,测评候选人的语言和表达能力
  • 数字化转型中存在的五大问题:意识、供给、成本、能力、竞争力培育
  • 5、React组件事件详解
  • flask接收请求并推入栈
  • js递归,无限分级树形折叠菜单
  • JS数组方法汇总
  • ng6--错误信息小结(持续更新)
  • overflow: hidden IE7无效
  • Python实现BT种子转化为磁力链接【实战】
  • SpringBoot几种定时任务的实现方式
  • 安卓应用性能调试和优化经验分享
  • 复杂数据处理
  • 前端自动化解决方案
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 王永庆:技术创新改变教育未来
  • 为视图添加丝滑的水波纹
  • 用Python写一份独特的元宵节祝福
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • ​Spring Boot 分片上传文件
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #if #elif #endif
  • #考研#计算机文化知识1(局域网及网络互联)
  • (1)(1.11) SiK Radio v2(一)
  • (175)FPGA门控时钟技术
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (poj1.3.2)1791(构造法模拟)
  • (计算机网络)物理层
  • (七)Appdesigner-初步入门及常用组件的使用方法说明
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计
  • (转)http协议
  • (状压dp)uva 10817 Headmaster's Headache
  • ****Linux下Mysql的安装和配置
  • .bat批处理(一):@echo off
  • .form文件_一篇文章学会文件上传
  • .Net 8.0 新的变化
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .Net Core与存储过程(一)
  • .Net Core中Quartz的使用方法
  • .NET Micro Framework初体验
  • .net 生成二级域名