欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > 博客项目-day05(首页导航栏功能补全)

博客项目-day05(首页导航栏功能补全)

2025/2/13 13:50:55 来源:https://blog.csdn.net/y_k_j_c/article/details/145598182  浏览:    关键词:博客项目-day05(首页导航栏功能补全)

导航

其实之前已经实现过文章和标签分类了
但是这个对应的是导航栏的,多显示个图片
所以新增两个这个请求
在这里插入图片描述

文章分类

在这里插入图片描述
把之前的CategoryVo加个描述属性
在这里插入图片描述
写过这个copyList,直接用就行
在这里插入图片描述

标签分类

和上面的分类查询差不多
不多解释了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

分类文章列表

点击这个后
在这里插入图片描述

在这里插入图片描述

查询分类

这个功能简单,点击对应图标上面显示对应的东西需要根据id查询分类数据
在这里插入图片描述
在这里插入图片描述

根据分类查询文章列表

因为前端是用的listArticle那个映射来进行数据传输的
所以我们要改一下文章列表的逻辑
在PageParam新增CategoryId和TagId(下一个功能)标签

在这里插入图片描述

标签文章列表

通过点击这个标签可以显示对应所有文章
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

查询标签信息

在这里插入图片描述

更改listArticle的逻辑

因为我们的tag和article多对多
所以需要先根据tag找到对应的文章id放到一个集合中
然后将这个看我们的ArticleId是否在集合中,只查询集合中的
if (articleIdList.size() > 0){
articleLambdaQueryWrapper.in(Article::getId,articleIdList);
}
在这里插入图片描述
ok
在这里插入图片描述

文章归档

就是通过点击左边的就能找到我们对于年月发布的文章
还是文章列表接口里面加逻辑
在这里插入图片描述

接口
在这里插入图片描述
该一下请求分页参数
在这里插入图片描述
注释掉之前的listArticle不用mp了,直接用myabtis原生操作

@Overridepublic Result listArticle(PageParams pageParams) {Page<Article> page = new Page<>(pageParams.getPage(),pageParams.getPageSize());IPage<Article> articleIPage = this.articleMapper.listArticle(page,pageParams.getCategoryId(),pageParams.getTagId(),pageParams.getYear(),pageParams.getMonth());return Result.success(copyList(articleIPage.getRecords(),true,true,false,false));}

写一下对应的articleMapper.xml
写一下对应映射,不写的话也可以开启驼峰命名即可

<?xml version="1.0" encoding="UTF-8" ?>
<!--MyBatis配置文件-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.mszlu.blog.dao.mapper.ArticleMapper"><resultMap id="articleMap" type="com.mszlu.blog.dao.pojo.Article"><id column="id" property="id" /><result column="author_id" property="authorId"/><result column="comment_counts" property="commentCounts"/><result column="create_date" property="createDate"/><result column="summary" property="summary"/><result column="title" property="title"/><result column="view_counts" property="viewCounts"/><result column="weight" property="weight"/><result column="body_id" property="bodyId"/><result column="category_id" property="categoryId"/></resultMap><select id="listArticle"  resultMap="articleMap">select * from ms_article<where>1 = 1<if test="categoryId != null">and  category_id = ##{categoryId}</if><if test="year != null and year.length>0 and month != null and month.length>0">and ( FROM_UNIXTIME(create_date/1000,'%Y') = ##{year} and FROM_UNIXTIME(create_date/1000,'%m') = ##{month} )</if><if test="tagId != null">and id in (select article_id from ms_article_tag where tag_id=##{tagId})</if></where>order by create_date desc</select>
</mapper>

效果展示
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com