article.js
2.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
/**
* 文章controller
* @author: leo <qi.li@yoho.cn>
* @date: 23/06/2017
*/
const ArticleModel = require('../models/article');
const ADD_ARTICLE_SUCCESS = '文章发表成功';
const GET_ARTICLES_SUCCESS = '获取文章列表成功';
const GET_ARTICLE_SUCCESS = '获取文章详情成功';
const INVALID_ACTIVITY_ID = '活动ID[actId]不能为空';
const INVALID_IMG = '图片[imgUrl]不能为空';
const INVALID_CONTENT = '内容[content]都不能为空';
const MISS_PARAMS = '缺少参数';
const article = {
/**
* 文章列表
* @param req
* @param res
*/
list(req, res) {
const query = req.query;
const pageNo = query.pageNo || 1;
const pageSize = query.pageSize || 10;
const isPopular = query.isPopular || false;
const order = query.order || 'desc';
const orderBy = query.orderBy || 'create_time';
req.ctx(ArticleModel).articleList({
order,
orderBy,
pageNo,
pageSize,
isPopular
})
.then(result => {
res.json({
code: 200,
data: result,
message: GET_ARTICLES_SUCCESS
});
});
},
/**
* 发布文章
* @param req
* @param res
*/
publish(req, res) {
let errorMsg = '';
const actId = req.body.actId;
const imgUrl = req.body.imgUrl;
const content = req.body.content;
!imgUrl && (errorMsg = INVALID_IMG);
!content && (errorMsg = INVALID_CONTENT);
!actId && (errorMsg = INVALID_ACTIVITY_ID);
if (errorMsg) {
return res.json({
code: 400,
message: errorMsg
});
}
const params = {
actId,
imgUrl,
content
};
req.ctx(ArticleModel).createArticle(params)
.then((id) => {
req.ctx(ArticleModel).insertArticleImg(id, imgUrl)
.then(() => {
res.json({
code: 200,
data: {id},
message: ADD_ARTICLE_SUCCESS
});
});
});
},
/**
* 查询单个article详情
* @param req
* @param res
*/
querySingle(req, res) {
let errorMsg = '';
const actId = req.query.actId;
const articleId = req.query.articleId;
!actId && (errorMsg = MISS_PARAMS);
!articleId && (errorMsg = MISS_PARAMS);
if (errorMsg) {
return res.json({
code: 400,
message: errorMsg
});
}
req.ctx(ArticleModel).getSingleArticle(actId, articleId)
.then(ret => {
res.json({
code: 200,
data: ret,
message: GET_ARTICLE_SUCCESS
});
});
}
};
module.exports = article;