chatQa.js
3.68 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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
/**
* 服务与反馈
* <jing.li@yoho.cn>
* 2016/11/29
*/
'use strict';
const _ = require('lodash');
const co = Promise.coroutine;
const headerModel = require('../../../doraemon/models/header'); // 头部model
const chatQaModel = require('../models/chatQa');
exports.qaList = (req, res, next) => {
let headerData = headerModel.setNav({
navTitle: '服务与反馈',
});
let responseData = {
pageHeader: headerData,
module: 'service',
page: 'chat-qa',
title: '服务与反馈 | Yoho!Buy有货 | 潮流购物逛不停',
width750: true,
pageFooter: true,
};
req.ctx(chatQaModel)
.index({})
.then(result => {
res.render('chat/chat-qa', Object.assign(result, responseData));
})
.catch(next);
};
exports.qaSearch = (req, res, next) => {
let headerData = headerModel.setNav({
navTitle: '服务与反馈',
});
let responseData = {
pageHeader: headerData,
module: 'service',
page: 'chat-qa',
title: '服务与反馈 | Yoho!Buy有货 | 潮流购物逛不停',
width750: true,
};
req.ctx(chatQaModel)
.qaSearch({})
.then(result => {
res.render('chat/qa-search', Object.assign(result, responseData));
})
.catch(next);
};
exports.keySearch = (req, res, next) => {
let params = {
keyword: req.query.keyword,
};
req.ctx(chatQaModel)
.keySearch(params)
.then(result => {
res.json(result);
})
.catch(next);
};
exports.qaDetail = (req, res, next) => {
let title = req.query.title || '问题详情';
let id = req.query.id;
let headerData = headerModel.setNav({
navTitle: title,
});
let protocolUrl = '';
if (+req.query.sonId === 340) {
protocolUrl =
'https://cdn.yoho.cn/yohobuy/pdf/YOHO!BUY有货用户服务协议0725.pdf';
}
if (+req.query.sonId === 352) {
protocolUrl =
'https://cdn.yoho.cn/yohobuy/pdf/有货隐私条款(2019.8.7).pdf';
}
let responseData = {
pageHeader: headerData,
module: 'service',
page: 'chat-qa',
title: `${title} | Yoho!Buy有货 | 潮流购物逛不停`,
width750: true,
pageFooter: true,
isApp: req.yoho.isApp,
protocolUrl: protocolUrl,
};
co(function*() {
let detailData = {};
if (id) {
// 有 ID 直接通过 ID 取数据
let detailApi = yield req
.ctx(chatQaModel)
.getDetailById(req.query.id);
return res.send(`
<html>
<head>
<meta charset="utf-8">
<title>${req.query.keyword ||
_.get(
detailApi,
'data.helpdetail_list[0].caption',
)}</title>
<meta name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
</head>
<body style="margin: 15px;">
${_.get(detailApi, 'data.helpdetail_list[0].content')}
</body>
</html>
`);
} else {
let params = {
sonId: req.query.sonId,
parentId: req.query.parentId,
keyword: req.query.keyword,
};
detailData = yield req.ctx(chatQaModel).qaDetail(params);
}
return res.render('chat/qa-detail', _.assign(responseData, detailData));
})().catch(next);
};