actions.js
2.05 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
import * as Types from './types';
export default {
async fetchArticleList({commit}, {articleId, limit = 5, page = 1}) {
commit(Types.FETCH_ARTICLE_DETAIL_REQUEST);
const result = await this.$api.get('/api/grass/columnArticleDetail', {
articleId,
limit,
page,
columnType: 1001
});
if (result && result.code === 200) {
if (!result.data.detailList) {
result.data.detailList = [];
}
commit(Types.FETCH_ARTICLE_DETAIL_SUCCESS, {
data: result.data.detailList,
page
});
} else {
commit(Types.FETCH_ARTICLE_DETAIL_FAILD);
}
return result;
},
async fetchArticleListByTopic({commit, state}, {labelId, limit = 5, page = 1}) {
commit(Types.FETCH_ARTICLE_TOPIC_REQUEST, {page});
const result = await this.$api.get('/api/grass/labelRealtedArticleDetail', {
labelId,
limit,
page,
lastedTime: state.articleLastedTimeByTopic || void 0
});
if (result && result.code === 200) {
if (!result.data.detailList) {
result.data.detailList = [];
}
commit(Types.FETCH_ARTICLE_TOPIC_SUCCESS, {
data: result.data,
page
});
} else {
commit(Types.FETCH_ARTICLE_TOPIC_FAILD);
}
return result;
},
async getDetail({ commit }, { article_id }) {
let result = {
getAuthor: {},
getArticle: {},
getArticleContent: {},
};
const data = await this.$api.get('/api/guang/article/detail', {
article_id
});
if (!data || data.code !== 200) {
result.code = 400;
return result;
}
let article = result.getArticle = data && data.data || {};
let promises = [
this.$api.get('/api/guang/article/author', { author_id: article.author_id }),
this.$api.get('/api/guang/article/content', { article_id })
];
const [author, content] = await Promise.all(promises);
if (!author) {
result.getAuthor = author;
}
if (!content) {
result.getArticleContent = content;
}
commit(Types.FETCH_GUANG_SUCCESS, result);
}
};