Merge remote-tracking branch 'remotes/origin/feature/recommend-for-you' into release/4.8
Showing
12 changed files
with
134 additions
and
0 deletions
1 | +'use strict'; | ||
2 | + | ||
3 | +const mRoot = '../models'; | ||
4 | +const recommendForYouModel = require(`${mRoot}/recommend-for-you`); // 领取优惠券 model | ||
5 | +const _ = require('lodash'); | ||
6 | + | ||
7 | +exports.userCenter = (req, res, next) => { | ||
8 | + var udid = req.sessionID, | ||
9 | + uid = _.isEmpty(req.user.uid) ? null : req.user.uid, | ||
10 | + yhChannel = req.query.yh_channel || '1', | ||
11 | + limit = 30; | ||
12 | + | ||
13 | + recommendForYouModel.getPreference({ | ||
14 | + yh_channel: yhChannel, | ||
15 | + udid: udid, | ||
16 | + limit: limit, | ||
17 | + rec_pos: '100004', | ||
18 | + uid: uid | ||
19 | + }).then((preferenceData) => { | ||
20 | + | ||
21 | + if (preferenceData.code === 200) { | ||
22 | + // 获取信息成功 | ||
23 | + } | ||
24 | + res.render('recommend-for-you/index', { | ||
25 | + layout: false, | ||
26 | + result: preferenceData, | ||
27 | + module: 'product', | ||
28 | + page: 'recommend' | ||
29 | + }); | ||
30 | + }).catch(next); | ||
31 | +}; | ||
32 | + | ||
33 | +exports.cart = (req, res, next) => { | ||
34 | + var udid = req.sessionID, | ||
35 | + uid = _.isEmpty(req.user.uid) ? null : req.user.uid, | ||
36 | + yhChannel = req.query.yh_channel || '1', | ||
37 | + limit = 30; | ||
38 | + | ||
39 | + recommendForYouModel.getPreference({ | ||
40 | + yh_channel: yhChannel, | ||
41 | + udid: udid, | ||
42 | + limit: limit, | ||
43 | + rec_pos: '100003', | ||
44 | + uid: uid | ||
45 | + }).then((preferenceData) => { | ||
46 | + | ||
47 | + if (preferenceData.code === 200) { | ||
48 | + // 获取信息成功 | ||
49 | + } | ||
50 | + res.render('recommend-for-you/index', { | ||
51 | + layout: false, | ||
52 | + result: preferenceData, | ||
53 | + module: 'product', | ||
54 | + page: 'recommend' | ||
55 | + }); | ||
56 | + }).catch(next); | ||
57 | +}; |
apps/product/models/recommend-for-you.js
0 → 100644
1 | +'use strict'; | ||
2 | + | ||
3 | +var API = require('../../../library/api').API; | ||
4 | +var api = new API(); | ||
5 | + | ||
6 | +const camelCase = global.yoho.camelCase; | ||
7 | + | ||
8 | +/** | ||
9 | + * 分享页面基础参数 | ||
10 | + * @param {object} sizeInfo [接口原始数据] | ||
11 | + * @return {object} [description] | ||
12 | + */ | ||
13 | +const getPreferenceData = (data) => { | ||
14 | + var dest = {}; | ||
15 | + | ||
16 | + let list = data.data || {}; | ||
17 | + | ||
18 | + list = camelCase(list); | ||
19 | + dest.code = list.code; | ||
20 | + dest.goods = list.productList; | ||
21 | + dest.rec_id = list.recId; | ||
22 | + dest.message = list.message; | ||
23 | + | ||
24 | + // 清空变量,释放内存 | ||
25 | + data = {}; | ||
26 | + return dest; | ||
27 | +}; | ||
28 | + | ||
29 | +/** | ||
30 | + * 获取为你优选数据 | ||
31 | + */ | ||
32 | +exports.getPreference = (data) => { | ||
33 | + var defaultParam = { | ||
34 | + method: 'app.home.newPreference' | ||
35 | + }, | ||
36 | + infoData = Object.assign(defaultParam, data); // 处理完成后,发给后端 | ||
37 | + | ||
38 | + return api.get('', infoData).then(result => { | ||
39 | + return getPreferenceData(result); | ||
40 | + }); // 所有数据返回一个 Promise,方便 Promise.all 调用 | ||
41 | +}; |
@@ -21,6 +21,9 @@ const sale = require(`${cRoot}/sale`); | @@ -21,6 +21,9 @@ const sale = require(`${cRoot}/sale`); | ||
21 | // outlet controller | 21 | // outlet controller |
22 | const outlet = require(`${cRoot}/outlet`); | 22 | const outlet = require(`${cRoot}/outlet`); |
23 | 23 | ||
24 | +// recommend-for-you controller | ||
25 | +const recommendForYou = require(`${cRoot}/recommend-for-you`); | ||
26 | + | ||
24 | // routers | 27 | // routers |
25 | 28 | ||
26 | // /pro_136349_455445/HEARTSOFARMianMaShuJiaoXiuXianKuPS1684.html | 29 | // /pro_136349_455445/HEARTSOFARMianMaShuJiaoXiuXianKuPS1684.html |
@@ -46,4 +49,7 @@ router.get('/outlet/activity', outlet.activityDetail); | @@ -46,4 +49,7 @@ router.get('/outlet/activity', outlet.activityDetail); | ||
46 | 49 | ||
47 | router.get('/outlet/activityinfo', outlet.activityList); | 50 | router.get('/outlet/activityinfo', outlet.activityList); |
48 | 51 | ||
52 | +router.get('/recommend-for-you/userCenter', recommendForYou.userCenter); | ||
53 | +router.get('/recommend-for-you/cart', recommendForYou.cart); | ||
54 | + | ||
49 | module.exports = router; | 55 | module.exports = router; |
public/css/index.css
0 → 100644
This diff could not be displayed because it is too large.
public/css/index.css.map
0 → 100644
This diff could not be displayed because it is too large.
public/js/preference/index.page.js
0 → 100644
public/js/product/recommend.page.js
0 → 100644
-
Please register or login to post a comment