diff --git a/apps/activity/controllers/feature.js b/apps/activity/controllers/feature.js
index 1e21e72..6488738 100644
--- a/apps/activity/controllers/feature.js
+++ b/apps/activity/controllers/feature.js
@@ -2,9 +2,6 @@
 const model = require('../models/feature');
 
 exports.index = function(req, res, next) {
-    // 唤起 APP 的路径
-    res.locals.appPath = `yohobuy://yohobuy.com/goapp?openby:yohobuy={"action":"go.h5","params":{"param":{"share_id":"${req.query.share_id}"},"share":"/operations/api/v5/webshare/getShare","shareparam":{"share_id":"${req.query.share_id}"},"url":"https://activity.yoho.cn/feature/${req.params.code}.html"}}`;
-
     model.index({
         code: req.params.code,
         type: req.query.type
@@ -12,13 +9,21 @@ exports.index = function(req, res, next) {
         if (!result) {
             return next();
         }
+        let title = req.query.title || result.name || '专题活动';
+
+        // 唤起 APP 的路径
+        res.locals.appPath = `yohobuy://yohobuy.com/goapp?openby:yohobuy={"action":"go.h5","params":{"param":{"share_id":"${req.query.share_id}","title":"${title}"},"share":"/operations/api/v5/webshare/getShare","shareparam":{"share_id":"${req.query.share_id}"},"title":"${title}","url":"https://activity.yoho.cn/feature/${req.params.code}.html"}}`;
+
         res.render('feature/index', {
             module: 'activity',
             page: 'feature',
-            title: result.name || 'Yoho!Buy有货',
+            title: title,
             content: result,
             activity_id: req.params.code,
-            isFeature: true
+            isFeature: true,
+            loadJs: [{
+                src: global.yoho.config.jsSdk
+            }]
         });
     }).catch(next);
 };
diff --git a/apps/activity/controllers/individuation.js b/apps/activity/controllers/individuation.js
index 1b050e9..7c90b8b 100644
--- a/apps/activity/controllers/individuation.js
+++ b/apps/activity/controllers/individuation.js
@@ -17,7 +17,8 @@ exports.productLst = function(req, res, next) {
             uid: uid,
             udid: udid,
             yh_channel: req.query.yh_channel || (req.cookies._Channel && channels[req.cookies._Channel]) || 1,
-            limit: req.query.limit
+            limit: req.query.limit,
+            gender: req.query.gender
         }, req.query));
     } else {
         let keys = ['sort', 'misort', 'msort', 'gender', 'brand'],
diff --git a/apps/activity/models/individuation.js b/apps/activity/models/individuation.js
index dd9a804..6aed66b 100644
--- a/apps/activity/models/individuation.js
+++ b/apps/activity/models/individuation.js
@@ -24,6 +24,11 @@ let _getProduct = function(o) {
     };
 };
 
+const gender = {
+    1: '1,3',
+    2: '2,3'
+};
+
 module.exports = {
     productLst: function(params) {
         return api.get('', Object.assign({
@@ -47,7 +52,9 @@ module.exports = {
             udid: params.udid || 0,
             yh_channel: params.yh_channel,
             limit: params.limit,
-            need_filter: 'null'
+            need_filter: 'null',
+            rec_pos: '100008',
+            gender: params.gender || gender[params.yh_channel]
         }, {
             cache: true
         }).then(res => {
diff --git a/apps/cart/controllers/order.js b/apps/cart/controllers/order.js
index 394f1ca..fb4b94f 100644
--- a/apps/cart/controllers/order.js
+++ b/apps/cart/controllers/order.js
@@ -71,9 +71,10 @@ exports.orderEnsure = (req, res, next) => {
     ];
 
     /* tar note 170426 品众去除 */
-    // if (_.isUndefined(req.cookies._isNewUser)) {
-    //     allPromise.push(orderModel.isNewUser(uid));
-    // }
+    /* tar note 170601 品众代码恢复 */
+    if (_.isUndefined(req.cookies._isNewUser)) {
+        allPromise.push(orderModel.isNewUser(uid));
+    }
 
     return Promise.all(allPromise).then(result => {
         let order = result[0];
@@ -81,15 +82,16 @@ exports.orderEnsure = (req, res, next) => {
         let address = result[2];
 
         /* tar note 170426 品众去除 */
-        // let isNewUser = result[3];
-
-        // if (!_.isUndefined(isNewUser)) {
-        //     if (isNewUser) {
-        //         res.cookie('_isNewUser', true, actCkOpthn);
-        //     } else {
-        //         res.cookie('_isNewUser', false, actCkOpthn);
-        //     }
-        // }
+        /* tar note 170601 品众代码恢复 */
+        let isNewUser = result[3];
+
+        if (!_.isUndefined(isNewUser)) {
+            if (isNewUser) {
+                res.cookie('_isNewUser', true, actCkOpthn);
+            } else {
+                res.cookie('_isNewUser', false, actCkOpthn);
+            }
+        }
 
         if (order.cartUrl) {
             logger.info(`orderEnsure: order cartUrl has value:${order.cartUrl}, order data is null`);
diff --git a/apps/cart/helpers/pay/wechat.js b/apps/cart/helpers/pay/wechat.js
index 63eb422..e907b46 100644
--- a/apps/cart/helpers/pay/wechat.js
+++ b/apps/cart/helpers/pay/wechat.js
@@ -107,7 +107,7 @@ const tools = {
             nonce_str: common.nonceStr(),
             body: '有货订单号:' + params.orderCode,
             out_trade_no: 'YOHOBuy_' + params.orderCode,
-            total_fee: _.parseInt(params.totalFee * 100),
+            total_fee: Math.round(params.totalFee * 100),
             trade_type: 'JSAPI',
             time_start: moment().format('YYYYMMDDHHmmss'),
             time_expire: moment().add(2, 'hours').format('YYYYMMDDHHmmss'),
diff --git a/apps/product/views/action/detail/detail.hbs b/apps/product/views/action/detail/detail.hbs
index e8b7399..b334be3 100644
--- a/apps/product/views/action/detail/detail.hbs
+++ b/apps/product/views/action/detail/detail.hbs
@@ -39,7 +39,6 @@
     {{/ goodsSubtitle}}
 
     <div class="price-date">
-
         <div class="goods-price data-bind">
             <h1 class="current-price"></h1>
             <h1 class="previous-price"></h1>
@@ -47,13 +46,13 @@
         <button class="limit-sale data-can-get-limit-code data-bind" id='limit-sale'>获取限购码</button>
         <button class="got-limit-sale data-code-empty data-bind">限购码已被抢光</button>
         <button class="got-limit-sale data-got-code data-bind">已获取限购码</button>
-        {{#if periodOfMarket}}
-        <div class="period-of-market">
-            <h1>上市期:</h1>
-            <h1 >{{periodOfMarket}}</h1>
-        </div>
-        {{/if}}
     </div>
+    {{#if periodOfMarket}}
+    <div class="period-of-market">
+        <h1>上市期:</h1>
+        <h1 >{{periodOfMarket}}</h1>
+    </div>
+    {{/if}}
 
     <div class="price-date data-bind">
         <div class="student-price">
diff --git a/apps/product/views/action/detail/new/detail.hbs b/apps/product/views/action/detail/new/detail.hbs
index 2c33fd7..9d7ade2 100644
--- a/apps/product/views/action/detail/new/detail.hbs
+++ b/apps/product/views/action/detail/new/detail.hbs
@@ -52,14 +52,13 @@
 		<button class="limit-sale data-can-get-limit-code data-bind" id='limit-sale'>获取限购码</button>
         <button class="got-limit-sale data-code-empty data-bind">限购码已被抢光</button>
         <button class="got-limit-sale data-got-code data-bind">已获取限购码</button>
-
-        {{#if periodOfMarket}}
-        <div class="period-of-market">
-            <h1>上市期:</h1>
-            <h1 >{{periodOfMarket}}</h1>
-        </div>
-        {{/if}}
     </div>
+    {{#if periodOfMarket}}
+    <div class="period-of-market">
+        <h1>上市期:</h1>
+        <h1 >{{periodOfMarket}}</h1>
+    </div>
+    {{/if}}
 
     {{!--占位: 学生价/会员价--}}
 	<div id="placeholder-pricedata"></div>
diff --git a/apps/product/views/partial/reds-shop/item.hbs b/apps/product/views/partial/reds-shop/item.hbs
index 4a17777..cdcea4c 100644
--- a/apps/product/views/partial/reds-shop/item.hbs
+++ b/apps/product/views/partial/reds-shop/item.hbs
@@ -16,14 +16,16 @@
             {{/within}}
         {{/if}}
     </a>
-
-    {{#ifor isGood four}}
-        {{#if showProductInfo}}
-        <div class="item-info">
-            <div class="text">{{text}}</div>
-            <div class="name">{{name}}</div>
-            <div class="price">{{salesPrice}}</div>
-        </div>
-        {{/if}}
-    {{/ifor}}
+    
+    {{#if showProductInfo}}
+        {{#ifor isGood four}}
+            {{#unless parent.noShowProductInfo}}
+            <div class="item-info">
+                <div class="text">{{text}}</div>
+                <div class="name">{{name}}</div>
+                <div class="price">{{salesPrice}}</div>
+            </div>
+            {{/unless}}
+        {{/ifor}}
+    {{/if}}
 </div>
diff --git a/apps/product/views/partial/reds-shop/modules.hbs b/apps/product/views/partial/reds-shop/modules.hbs
index 419a359..b2d1a4b 100644
--- a/apps/product/views/partial/reds-shop/modules.hbs
+++ b/apps/product/views/partial/reds-shop/modules.hbs
@@ -51,7 +51,7 @@
     {{#isEqual module_type 'SingleImage'}}
         <div class="items-s1 clearfix">
             {{#each ../pics}}
-                {{> reds-shop/item index=@../index single=true}}
+                {{> reds-shop/item index=@../index single=true parent=../..}}
             {{/each}}
         </div>
         {{#if ../isModuleMargin}}
@@ -61,7 +61,7 @@
     {{#isEqual module_type 'DoubleImage'}}
         <div class="items-s2 clearfix">
             {{#each ../pics}}
-                {{> reds-shop/item index=@../index double=true}}
+                {{> reds-shop/item index=@../index double=true parent=../..}}
             {{/each}}
         </div>
         {{#if ../isModuleMargin}}
@@ -71,7 +71,7 @@
     {{#isEqual module_type 'TripleImage'}}
         <div class="{{#isEqual ../displayType 1}}items-3-3{{/isEqual}}{{#isEqual ../displayType 2}}items-3-3 items-small{{/isEqual}}{{#isEqual ../displayType 3}}items-3-2 items-3-2-right{{/isEqual}}{{#isEqual ../displayType 4}}items-3-2 items-3-2-left{{/isEqual}} clearfix">
             {{#each ../pics}}
-                {{> reds-shop/item index=@../index triple=true}}
+                {{> reds-shop/item index=@../index triple=true parent=../..}}
             {{/each}}
         </div>
         {{#if ../isModuleMargin}}
diff --git a/config/common.js b/config/common.js
index 148c10a..3514d06 100644
--- a/config/common.js
+++ b/config/common.js
@@ -22,7 +22,7 @@ const domains = {
 
 module.exports = {
     app: 'h5',
-    appVersion: '5.7.0', // 调用api的版本
+    appVersion: '5.7.1', // 调用api的版本
     port: 6001,
     siteUrl: '//m.yohobuy.com',
     assetUrl: '//127.0.0.1:5001',
diff --git a/doraemon/views/layout.hbs b/doraemon/views/layout.hbs
index c6a976e..866055f 100644
--- a/doraemon/views/layout.hbs
+++ b/doraemon/views/layout.hbs
@@ -124,9 +124,6 @@
         {{#loadJs}}
             <script type="text/javascript" src="{{src}}"></script>
         {{/loadJs}}
-        {{#isFeature}}
-            <script type="text/javascript" src="//cdn.yoho.cn/js-sdk/1.2.2/jssdk.js"></script>
-        {{/isFeature}}
         {{#unless devEnv}}
         {{> analysis}}
         {{/unless}}
diff --git a/doraemon/views/partial/analysis.hbs b/doraemon/views/partial/analysis.hbs
index 38cff7a..7d6edd2 100644
--- a/doraemon/views/partial/analysis.hbs
+++ b/doraemon/views/partial/analysis.hbs
@@ -76,7 +76,8 @@
     }());
 
     {{!--/* tar add 170426 品众代码去除 */--}}
-    {{!--window._fxcmd = window._fxcmd || [];
+    {{!--/* tar add 170601 品众代码恢复 */--}}
+    window._fxcmd = window._fxcmd || [];
     _fxcmd.sid = 'bb3b16fa1106a6ab8619da0095755f32';
     _fxcmd.trackAll = false;
     // 参数配置(可选)...
@@ -89,7 +90,7 @@
         _pzfx.src = '//static.w3t.cn/fx/1/1/fx.js';
         var sc = document.getElementsByTagName('script')[0];
         sc.parentNode.insertBefore(_pzfx,sc);
-    }, 1000);--}}
+    }, 1000);
 
 
 </script>
diff --git a/package.json b/package.json
index 1f74f7b..8ee128c 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "m-yohobuy-node",
-  "version": "5.7.4",
+  "version": "5.7.10",
   "private": true,
   "description": "A New Yohobuy Project With Express",
   "repository": {
diff --git a/public/js/cart/order-ensure.js b/public/js/cart/order-ensure.js
index fad84fd..e475fc9 100644
--- a/public/js/cart/order-ensure.js
+++ b/public/js/cart/order-ensure.js
@@ -327,14 +327,15 @@ function submitOrder() {
             }
 
             /* tar add 170426 品众代码去除 */
-            // if (window._fxcmd) {
-            //     window._fxcmd.push(['trackOrder', {
-            //         oid: res.data.order_code,
-            //         otp: res.data.order_amount,
-            //         u_info: cookie.get('_UID'),
-            //         u_type: cookie.get('_isNewUser') ? 1 : 0
-            //     }, []]);
-            // }
+            /* tar note 170601 品众代码恢复 */
+            if (window._fxcmd) {
+                window._fxcmd.push(['trackOrder', {
+                    oid: res.data.order_code,
+                    otp: res.data.order_amount,
+                    u_info: cookie.get('_UID'),
+                    u_type: cookie.get('_isNewUser') ? 1 : 0
+                }, []]);
+            }
 
             cookie.remove(['order-info', 'activity-info']);
             window.location.href = url;
diff --git a/public/js/cart/pay.page.js b/public/js/cart/pay.page.js
index 008ed75..1f1d7bb 100644
--- a/public/js/cart/pay.page.js
+++ b/public/js/cart/pay.page.js
@@ -146,42 +146,56 @@ if ($aliPayEL && $aliPayEL.length > 0 && $aliPayEL.data('href')) {
     });
 }
 
-// 微信支付
-function callpay(orderCode) {
+/**
+ * 获取微信支付数据
+ * @param {*} orderCode
+ */
+function getWechatPayData(orderCode) {
     let jsApiParameters;
 
+    $.ajax({
+        type: 'GET',
+        url: '/cart/index/new/pay',
+        data: {
+            order_code: orderCode,
+            payment: '22_platform',
+        },
+        dataType: 'json',
+        success: function(res) {
+            if (res.code === 200) {
+                jsApiParameters = res.data.jsApiParameters;
+                jsApiCall(orderCode, jsApiParameters);
+            } else {
+                tip.show('微信支付调取失败');
+            }
+        },
+        error: function() {
+            tip.show('请刷新本页面,完成微信支付');
+        },
+        complete: function() {
+            $loadingToast.addClass('hide');
+        }
+    });
+}
+
+// 微信支付
+function callpay(orderCode) {
     $loadingToast.removeClass('hide');
     if (typeof WeixinJSBridge === 'undefined') {
         if (document.addEventListener) {
-            document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
+            document.addEventListener('WeixinJSBridgeReady', function() {
+                getWechatPayData(orderCode);
+            }, false);
         } else if (document.attachEvent) {
-            document.attachEvent('WeixinJSBridgeReady', jsApiCall);
-            document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
+            document.attachEvent('WeixinJSBridgeReady', function() {
+                getWechatPayData(orderCode);
+            });
+            document.attachEvent('onWeixinJSBridgeReady', function() {
+                getWechatPayData(orderCode);
+            });
         }
     } else {
-        $.ajax({
-            type: 'GET',
-            url: '/cart/index/new/pay',
-            data: {
-                order_code: orderCode,
-                payment: '22_platform',
-            },
-            dataType: 'json',
-            success: function(res) {
-                if (res.code === 200) {
-                    jsApiParameters = res.data.jsApiParameters;
-                    jsApiCall(orderCode, jsApiParameters);
-                } else {
-                    tip.show('微信支付调取失败');
-                }
-            },
-            error: function() {
-                tip.show('请刷新本页面,完成微信支付');
-            },
-            complete: function() {
-                $loadingToast.addClass('hide');
-            }
-        });
+        getWechatPayData(orderCode);
     }
 }
 
diff --git a/public/scss/product/detail/_detail.css b/public/scss/product/detail/_detail.css
index 0ce25df..f71e82e 100644
--- a/public/scss/product/detail/_detail.css
+++ b/public/scss/product/detail/_detail.css
@@ -568,9 +568,12 @@ $basicBtnC: #eb0313;
     }
 
     .period-of-market {
-        float: right;
-        color: #d0021b;
+        padding: 0 30px;
+        background-color: #fff;
+        line-height: 54px;
+        color: #b0b0b0;
         font-size: 24px;
+        border-bottom: 1px solid #e0e0e0;
 
         h1 {
             display: inline-block;
diff --git a/utils/redshop-process.js b/utils/redshop-process.js
index 38cb4d5..a9504cf 100644
--- a/utils/redshop-process.js
+++ b/utils/redshop-process.js
@@ -2,7 +2,7 @@
  * @Author: Targaryen
  * @Date: 2017-03-23 11:02:31
  * @Last Modified by: Targaryen
- * @Last Modified time: 2017-05-02 11:09:37
+ * @Last Modified time: 2017-05-26 16:42:29
  */
 /* 红人店铺数据处理 */
 
@@ -34,7 +34,8 @@ const _linkhandle = (linkParent) => {
         switch (parseInt(linkParent.linkType, 10)) {
             case 0:
                 return helpers.urlFormat('', {
-                    filter_poolId: linkParent.resource
+                    filter_poolId: linkParent.resource,
+                    title: linkParent.text
                 }, 'list');
             case 1:
                 return helpers.urlFormat('/product/' + linkParent.resource + '.html');
@@ -56,7 +57,7 @@ const _picsHandle = (moduleData) => {
     let pics = [];
 
     _.forEach(_.get(moduleData, 'data', []), value => {
-        let showProductInfo = false;
+        let showProductInfo = true;
 
         if (_.has(value, 'showProductInfo')) {
             showProductInfo = value.showProductInfo;
@@ -325,12 +326,18 @@ const pushGoodsInfo = (decorators, goodsList) => {
         _.forEach(_.get(value, 'pics', []), (subValue, subKey) => {
             let hasGoods = _.get(goodsObj, `${subValue.skn}.default_images`, false);
 
+            if (!hasGoods) {
+                decorators[key].noShowProductInfo = true;
+            }
+
             if (subValue.skn && hasGoods) {
                 let salesPrice = _.get(goodsObj, `${subValue.skn}.sales_price`, '');
                 let marketPrice = _.get(goodsObj, `${subValue.skn}.market_price`, '');
                 let imageSrc = _.get(goodsObj, `${subValue.skn}.default_images`, '');
 
-                decorators[key].pics[subKey].showProductInfo = salesPrice !== 0;
+                if (salesPrice === 0) {
+                    decorators[key].noShowProductInfo = true;
+                }
                 decorators[key].pics[subKey].name = _.get(goodsObj, `${subValue.skn}.product_name`, '');
                 decorators[key].pics[subKey].salesPrice = salesPrice ? '¥' + salesPrice : '';
                 decorators[key].pics[subKey].marketPrice = marketPrice ? '¥' + marketPrice : '';