Authored by 梁志锋

Merge remote-tracking branch 'remotes/origin/feature/recommend-for-you' into release/4.8

... ... @@ -2,6 +2,7 @@
## 构建方法
* `npm i -g yo`
* `npm i -g generator-subapp`
* `cd apps`
* `yo subapp`
... ...
'use strict';
const mRoot = '../models';
const recommendForYouModel = require(`${mRoot}/recommend-for-you`); // 领取优惠券 model
const _ = require('lodash');
exports.userCenter = (req, res, next) => {
var udid = req.sessionID,
uid = _.isEmpty(req.user.uid) ? null : req.user.uid,
yhChannel = req.query.yh_channel || '1',
limit = 30;
recommendForYouModel.getPreference({
yh_channel: yhChannel,
udid: udid,
limit: limit,
rec_pos: '100004',
uid: uid
}).then((preferenceData) => {
if (preferenceData.code === 200) {
// 获取信息成功
}
res.render('recommend-for-you/index', {
layout: false,
result: preferenceData,
module: 'product',
page: 'recommend'
});
}).catch(next);
};
exports.cart = (req, res, next) => {
var udid = req.sessionID,
uid = _.isEmpty(req.user.uid) ? null : req.user.uid,
yhChannel = req.query.yh_channel || '1',
limit = 30;
recommendForYouModel.getPreference({
yh_channel: yhChannel,
udid: udid,
limit: limit,
rec_pos: '100003',
uid: uid
}).then((preferenceData) => {
if (preferenceData.code === 200) {
// 获取信息成功
}
res.render('recommend-for-you/index', {
layout: false,
result: preferenceData,
module: 'product',
page: 'recommend'
});
}).catch(next);
};
... ...
... ... @@ -3,6 +3,7 @@
* @author: xuqi<qi.xu@yoho.cn>
* @date: 2016/05/06
*/
'use strict';
var express = require('express'),
path = require('path'),
... ...
'use strict';
var API = require('../../../library/api').API;
var api = new API();
const camelCase = global.yoho.camelCase;
/**
* 分享页面基础参数
* @param {object} sizeInfo [接口原始数据]
* @return {object} [description]
*/
const getPreferenceData = (data) => {
var dest = {};
let list = data.data || {};
list = camelCase(list);
dest.code = list.code;
dest.goods = list.productList;
dest.rec_id = list.recId;
dest.message = list.message;
// 清空变量,释放内存
data = {};
return dest;
};
/**
* 获取为你优选数据
*/
exports.getPreference = (data) => {
var defaultParam = {
method: 'app.home.newPreference'
},
infoData = Object.assign(defaultParam, data); // 处理完成后,发给后端
return api.get('', infoData).then(result => {
return getPreferenceData(result);
}); // 所有数据返回一个 Promise,方便 Promise.all 调用
};
... ...
... ... @@ -21,6 +21,9 @@ const sale = require(`${cRoot}/sale`);
// outlet controller
const outlet = require(`${cRoot}/outlet`);
// recommend-for-you controller
const recommendForYou = require(`${cRoot}/recommend-for-you`);
// routers
// /pro_136349_455445/HEARTSOFARMianMaShuJiaoXiuXianKuPS1684.html
... ... @@ -46,4 +49,7 @@ router.get('/outlet/activity', outlet.activityDetail);
router.get('/outlet/activityinfo', outlet.activityList);
router.get('/recommend-for-you/userCenter', recommendForYou.userCenter);
router.get('/recommend-for-you/cart', recommendForYou.cart);
module.exports = router;
... ...
{{# result}}
<div id="goods-container" class="goods-container">
<p class="title">
<span>为你优选新品</span>
</p>
<div class="new-goods container clearfix">
{{# goods}}
{{> common/goods}}
{{/ goods}}
</div>
</div>
{{/result}}
... ...
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
... ... @@ -185,3 +185,10 @@
}
}
}
.goods-container {
position: relative;
padding-top: 8px;
padding-left: 15px;
min-height: 880px;
}
... ...
#!/bin/bash
lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom \
| while read i; do
sudo rm /usr/local/${i}
done
sudo rm -rf /usr/local/lib/node \
/usr/local/lib/node_modules \
/var/db/receipts/org.nodejs.*
\ No newline at end of file
... ...