Skip to content

Commit

Permalink
添加文章归档功能
Browse files Browse the repository at this point in the history
  • Loading branch information
biaochenxuying committed Mar 16, 2019
1 parent d505631 commit b70fba8
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 21 deletions.
16 changes: 7 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ blog-node 是采用了主流的前后端分离思想的,主里只讲 后端。
- [x] 身份验证
- [x] 项目展示
- [X] 第三方 github 授权登录
- [X] 文章归档

## 1.2 待实现功能

Expand Down Expand Up @@ -84,12 +85,13 @@ npm start
- 3. [基于 node + express + mongodb 的 blog-node 项目文档说明](http://biaochenxuying.cn/articleDetail?article_id=5bf8c57185e0f13af26e7d0d)
- 4. [服务器小白的我,是如何将node+mongodb项目部署在服务器上并进行性能优化的](http://biaochenxuying.cn/articleDetail?article_id=5bfa728bb54f044b4f9da240)
- 5. [github 授权登录教程与如何设计第三方授权登录的用户表](http://biaochenxuying.cn/articleDetail?article_id=5c7bd34e42b55e2ecc90976d)
- 6. [一次网站的性能优化之路 -- 天下武功,唯快不破](http://biaochenxuying.cn/articleDetail?article_id=5c8ca2d3b87b8a04f1860c9a)



# 9. 参考

小汪是刚学的 node 技术栈,也是第一次搭建 node 后端项目,也参考了其他项目。
笔者也是刚学的 node 技术栈,也是第一次搭建 node 后端项目,也参考了其他项目。

参考项目:
[1. nodepress](https://github.com/surmon-china/nodepress)
Expand Down Expand Up @@ -134,19 +136,15 @@ http://127.0.0.1:3000/register
本地开发时,blog-react 和 blog-node 默认启动的端口是相同的,都是 3000。
**所以要先启动 blog-node 项目,再启动 blog-react 项目,而且 blog-react 的端口用另外一个打开。**



# 11. 最后

鉴于问问题的人有点多,小汪时间有限,处理不过来,大家可以加入 QQ 群:186045338 ,一起相互交流学习。

**全栈开发** 有兴趣的朋友可以扫下方二维码关注我的公众号,我会不定期更新有价值的内容。

关注公众号并回复 **福利** 便免费送你视频资源,绝对干货
鉴于问问题的人有点多,笔者时间有限,处理不过来,大家可以加入 QQ 群:**186045338**,加群暗号:**全栈修炼** ,一起相互交流学习

福利详情请点击: [免费资源分享--Python、Java、Linux、Go、node、vue、react、javaScript](https://mp.weixin.qq.com/s?__biz=MzA4MDU1MDExMg==&mid=2247483711&idx=1&sn=1ffb576159805e92fc57f5f1120fce3a&chksm=9fa3c0b0a8d449a664f36f6fdd017ac7da71b6a71c90261b06b4ea69b42359255f02d0ffe7b3&token=1560489745&lang=zh_CN#rd)
如果您觉得本项目和文章不错或者对你有所帮助,请给个星呗,你的肯定就是我继续创作的最大动力。

![BiaoChenXuYing](https://upload-images.jianshu.io/upload_images/12890819-091ccce387e2ea34.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
欢迎关注公众号,并回复 **福利** 可领取免费学习资料,福利详情请猛戳: [免费资源获取--Python、Java、Linux、Go、node、vue、react、javaScript](https://mp.weixin.qq.com/s?__biz=MzA4MDU1MDExMg==&mid=2247483711&idx=1&sn=1ffb576159805e92fc57f5f1120fce3a&chksm=9fa3c0b0a8d449a664f36f6fdd017ac7da71b6a71c90261b06b4ea69b42359255f02d0ffe7b3&token=1560489745&lang=zh_CN#rd)

![BiaoChenXuYing](https://upload-images.jianshu.io/upload_images/12890819-0fc16a9e50276521.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


54 changes: 42 additions & 12 deletions routes/article.js
Original file line number Diff line number Diff line change
Expand Up @@ -135,8 +135,13 @@ exports.getArticleList = (req, res) => {
let likes = req.query.likes || '';
let tag_id = req.query.tag_id || '';
let category_id = req.query.category_id || '';
let article = req.query.article || '';
let pageNum = parseInt(req.query.pageNum) || 1;
let pageSize = parseInt(req.query.pageSize) || 10;
// 如果是文章归档 返回全部文章
if (article) {
pageSize = 1000;
}
let conditions = {};
if (!state) {
if (keyword) {
Expand Down Expand Up @@ -179,22 +184,19 @@ exports.getArticleList = (req, res) => {
// 待返回的字段
let fields = {
title: 1,
// author: 1,
// keyword: 1,
// content: 1,
desc: 1,
img_url: 1,
tags: 1,
category: 1,
// state: 1,
// type: 1,
// origin: 1,
// comments: 1,
// like_User_id: 1,
meta: 1,
create_time: 1,
// update_time: 1,
};
if(article){
fields = {
title: 1,
create_time: 1,
};
}
let options = {
skip: skip,
limit: pageSize,
Expand All @@ -213,7 +215,7 @@ exports.getArticleList = (req, res) => {
});
responseData.list = result;
} else if (category_id) {
console.log('category_id :', category_id)
// console.log('category_id :', category_id);
// 根据 分类 id 返回数据
result.forEach(item => {
if (item.category.indexOf(category_id) > -1) {
Expand All @@ -224,7 +226,7 @@ exports.getArticleList = (req, res) => {
responseData.count = len;
responseData.list = newList;
} else if (tag_id) {
console.log('tag_id :', tag_id)
// console.log('tag_id :', tag_id);
// 根据标签 id 返回数据
result.forEach(item => {
if (item.tags.indexOf(tag_id) > -1) {
Expand All @@ -234,7 +236,35 @@ exports.getArticleList = (req, res) => {
let len = newList.length;
responseData.count = len;
responseData.list = newList;
} else {
} else if (article) {
const archiveList = []
let obj = {}
// 按年份归档 文章数组
result.forEach((e) => {
let year = e.create_time.getFullYear()
// let month = e.create_time.getMonth()
if(!obj[year]){
obj[year] = []
obj[year].push(e)
} else {
obj[year].push(e)
}
})
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
const element = obj[key];
let item = {}
item.year = key
item.list = element
archiveList.push(item)
}
}
archiveList.sort((a, b) => {
return b.year - a.year;
});
responseData.list = archiveList;
}
else {
responseData.list = result;
}
responseClient(res, 200, 0, '操作成功!', responseData);
Expand Down

0 comments on commit b70fba8

Please sign in to comment.