Authored by 梁志锋

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

@@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
2 2
3 ## 构建方法 3 ## 构建方法
4 4
  5 +* `npm i -g yo`
5 * `npm i -g generator-subapp` 6 * `npm i -g generator-subapp`
6 * `cd apps` 7 * `cd apps`
7 * `yo subapp` 8 * `yo subapp`
  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 +};
@@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
3 * @author: xuqi<qi.xu@yoho.cn> 3 * @author: xuqi<qi.xu@yoho.cn>
4 * @date: 2016/05/06 4 * @date: 2016/05/06
5 */ 5 */
  6 +'use strict';
6 7
7 var express = require('express'), 8 var express = require('express'),
8 path = require('path'), 9 path = require('path'),
  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;
  1 +{{# result}}
  2 + <div id="goods-container" class="goods-container">
  3 + <p class="title">
  4 + <span>为你优选新品</span>
  5 + </p>
  6 + <div class="new-goods container clearfix">
  7 + {{# goods}}
  8 + {{> common/goods}}
  9 + {{/ goods}}
  10 + </div>
  11 + </div>
  12 +{{/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 @@ @@ -185,3 +185,10 @@
185 } 185 }
186 } 186 }
187 } 187 }
  188 +
  189 +.goods-container {
  190 + position: relative;
  191 + padding-top: 8px;
  192 + padding-left: 15px;
  193 + min-height: 880px;
  194 +}
  1 +#!/bin/bash
  2 +lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom \
  3 +| while read i; do
  4 + sudo rm /usr/local/${i}
  5 +done
  6 +sudo rm -rf /usr/local/lib/node \
  7 + /usr/local/lib/node_modules \
  8 + /var/db/receipts/org.nodejs.*
  9 +