Authored by 陈峰

Merge branch 'gray' into 'master'

Gray



See merge request !274
@@ -12,7 +12,6 @@ @@ -12,7 +12,6 @@
12 </div> 12 </div>
13 13
14 <p class="congratu-coupon fz15 t-shadow">{{amount}}元现金券<br/>已自动存入YOHO!有货账户 {{userInfo.encMobile}}</p> 14 <p class="congratu-coupon fz15 t-shadow">{{amount}}元现金券<br/>已自动存入YOHO!有货账户 {{userInfo.encMobile}}</p>
15 - <p class="fz11">(首次下载客户端还能再次领取10元现金券)</p>  
16 15
17 <a href="javascript:void(0)" onclick="downLoadApp()" class="download-btn fz16" style="margin-top: 30px;">下载客户端查看</a> 16 <a href="javascript:void(0)" onclick="downLoadApp()" class="download-btn fz16" style="margin-top: 30px;">下载客户端查看</a>
18 <p><a href="//m.yohobuy.com" class="now-login fz14" style="border-bottom: 1px solid #fff; text-decoration:none;color:#FFF;line-height: normal;">立即登录网站使用</a></p> 17 <p><a href="//m.yohobuy.com" class="now-login fz14" style="border-bottom: 1px solid #fff; text-decoration:none;color:#FFF;line-height: normal;">立即登录网站使用</a></p>
@@ -49,7 +49,7 @@ @@ -49,7 +49,7 @@
49 1、有货分期支持多久的分期? 49 1、有货分期支持多久的分期?
50 </p> 50 </p>
51 <p> 51 <p>
52 - 试运营阶段,支持30天免息、3期、6期,具体分期请在支付中心选择并确认。 52 + 目前支持30天、3期、6期,但因具体订单金额等限制问题,具体分期请在支付中心选择并确认。
53 </p> 53 </p>
54 <p> 54 <p>
55 2、为什么我开通了分期后仍然无法使用? 55 2、为什么我开通了分期后仍然无法使用?
@@ -67,7 +67,7 @@ @@ -67,7 +67,7 @@
67 4、分期服务费如何收取? 67 4、分期服务费如何收取?
68 </p> 68 </p>
69 <p> 69 <p>
70 - 试运营期商品分期免息、免服务费,具体请看商品详情页有货分期介绍 70 + 分期服务费依据所分期期数收取,详见商品详情页有货分期说明
71 </p> 71 </p>
72 <p> 72 <p>
73 5、如何查看消费明细和还款情况? 73 5、如何查看消费明细和还款情况?
@@ -79,8 +79,8 @@ @@ -79,8 +79,8 @@
79 6、我的还款日是哪天呢? 79 6、我的还款日是哪天呢?
80 </p> 80 </p>
81 <p> 81 <p>
82 - 30天免息:到期还款日为借款当日日期向后顺延30个自然日。  
83 - 3、6期分期:到期还款日为借款当日日期向后顺延1个自然月。(例如:您8.11使用分期借款,分三期还款,9.11为第一期到期还款日,10.11为第二期到期还款日,11.11为第三期到期还款日)。 82 + 30天:到期还款日为借款日向后顺延30个自然日。
  83 + 3、6期:首个到期还款日,为借款日向后顺延1个自然月;第2期还款日,为首个到期还款日向后顺延1个自然月,依此类推。(例如:8月11日使用有货分期支付,分3期;则到期还款日分别为:9月11日、10月11日、11月11日。)
84 </p> 84 </p>
85 <p> 85 <p>
86 7、可以设置自动还款吗? 86 7、可以设置自动还款吗?
@@ -20,7 +20,7 @@ @@ -20,7 +20,7 @@
20 </li> 20 </li>
21 <li> 21 <li>
22 <span class="open-icon-2"></span> 22 <span class="open-icon-2"></span>
23 - <span>30天免息<br>灵活分期</span> 23 + <span>0元首付<br>随心分期</span>
24 </li> 24 </li>
25 <li> 25 <li>
26 <span class="open-icon-3"></span> 26 <span class="open-icon-3"></span>
@@ -289,10 +289,17 @@ exports.checkBefore = (req, res, next) => { @@ -289,10 +289,17 @@ exports.checkBefore = (req, res, next) => {
289 // AJAX 校验验证码 in step2 289 // AJAX 校验验证码 in step2
290 exports.check = (req, res, next) => { 290 exports.check = (req, res, next) => {
291 const code = req.query.code; 291 const code = req.query.code;
292 - const mobile = req.session.smsLogin.mobile;  
293 - const area = req.session.smsLogin.area; 292 + const mobile = _.get(req.session, 'smsLogin.mobile', '');
  293 + const area = _.get(req.session, 'smsLogin.area', '');
294 const shopping_key = cookie.getShoppingKey(req); // eslint-disable-line 294 const shopping_key = cookie.getShoppingKey(req); // eslint-disable-line
295 295
  296 + if (!mobile || !area) {
  297 + res.json({
  298 + code: 401,
  299 + message: VERIFY_ERROR
  300 + });
  301 + return;
  302 + }
296 303
297 Promise.all([ 304 Promise.all([
298 PhoneService.checkUserPhoneExist(mobile, area), 305 PhoneService.checkUserPhoneExist(mobile, area),
@@ -230,7 +230,7 @@ const _getUserProfile = (uid) => { @@ -230,7 +230,7 @@ const _getUserProfile = (uid) => {
230 */ 230 */
231 const _getResources = (page, channel) => { 231 const _getResources = (page, channel) => {
232 return serviceAPI.get('operations/api/v5/resource/get', { 232 return serviceAPI.get('operations/api/v5/resource/get', {
233 - content_code: contentCode[channel][page] 233 + content_code: _.get(contentCode, `${channel}.${page}`, '')
234 }, { 234 }, {
235 cache: true 235 cache: true
236 }).then((result) => { 236 }).then((result) => {
1 { 1 {
2 "name": "m-yohobuy-node", 2 "name": "m-yohobuy-node",
3 - "version": "5.4.13", 3 + "version": "5.4.14",
4 "private": true, 4 "private": true,
5 "description": "A New Yohobuy Project With Express", 5 "description": "A New Yohobuy Project With Express",
6 "repository": { 6 "repository": {
@@ -13,7 +13,7 @@ const iOSVersion = parseInt((u.match(/OS (\d+)_(\d+)_?(\d+)?/i) || [])[1], 10); @@ -13,7 +13,7 @@ const iOSVersion = parseInt((u.match(/OS (\d+)_(\d+)_?(\d+)?/i) || [])[1], 10);
13 13
14 const nodownload = document.getElementById('no-download'); // 页面不需要下载 14 const nodownload = document.getElementById('no-download'); // 页面不需要下载
15 const urlBlacklist = ['m.yohobuy.com/brands', 'm.yohobuy.com/passport']; 15 const urlBlacklist = ['m.yohobuy.com/brands', 'm.yohobuy.com/passport'];
16 -const blackCheck = urlBlacklist.some(function (url) { 16 +const blackCheck = urlBlacklist.some(function(url) {
17 return new RegExp(url, 'i').test(location.href); 17 return new RegExp(url, 'i').test(location.href);
18 }); 18 });
19 19
@@ -40,19 +40,21 @@ if (canOpenApp()) { @@ -40,19 +40,21 @@ if (canOpenApp()) {
40 let appPath = getAppPath(); 40 let appPath = getAppPath();
41 let ifr; 41 let ifr;
42 42
43 - if (window._yas && window._yas.sendCustomInfo) {  
44 - window._yas.sendCustomInfo({  
45 - op: 'YB_H5_AWAKE_APP',  
46 - param: JSON.stringify({  
47 - PAGE_NAME: encodeURIComponent(document.title),  
48 - PAGE_URL: encodeURIComponent(location.href)  
49 - })  
50 - }, true);  
51 - } 43 + setTimeout(function() {
  44 + if (window._yas && window._yas.sendCustomInfo) {
  45 + window._yas.sendCustomInfo({
  46 + op: 'YB_H5_AWAKE_APP',
  47 + param: JSON.stringify({
  48 + PAGE_NAME: encodeURIComponent(document.title),
  49 + PAGE_URL: encodeURIComponent(location.href)
  50 + })
  51 + }, true);
  52 + }
52 53
53 - if (window._hmt && window._hmt.push) {  
54 - window._hmt.push(['_trackEvent', 'H5唤起APP', isiOS ? 'Apple' : 'Android', document.title, location.href]);  
55 - } 54 + if (window._hmt && window._hmt.push) {
  55 + window._hmt.push(['_trackEvent', 'H5唤起APP', isiOS ? 'Apple' : 'Android', document.title, location.href]);
  56 + }
  57 + }, 2000);
56 58
57 if (isiOS) { 59 if (isiOS) {
58 window.location.href = appPath; 60 window.location.href = appPath;
@@ -83,7 +83,7 @@ $('#likeBtn').on('touchstart', function() { @@ -83,7 +83,7 @@ $('#likeBtn').on('touchstart', function() {
83 }); 83 });
84 84
85 // 统计代码:用于统计用户加入或取消商品收藏的动作 85 // 统计代码:用于统计用户加入或取消商品收藏的动作
86 - if (window._yas) { 86 + if (window._yas && window._yas.sendCustomInfo) {
87 window._yas.sendCustomInfo({ 87 window._yas.sendCustomInfo({
88 pd: productId, 88 pd: productId,
89 fa: favorite 89 fa: favorite
@@ -99,7 +99,7 @@ $('#addtoCart').on('touchstart', function() { @@ -99,7 +99,7 @@ $('#addtoCart').on('touchstart', function() {
99 chosePanel.show(); 99 chosePanel.show();
100 100
101 // 统计代码:用于统计用户加入购物车的动作 101 // 统计代码:用于统计用户加入购物车的动作
102 - if (window._yas) { 102 + if (window._yas && window._yas.sendCustomInfo) {
103 window._yas.sendCustomInfo({ 103 window._yas.sendCustomInfo({
104 pd: productId, 104 pd: productId,
105 by: 1 105 by: 1
@@ -106,7 +106,7 @@ @@ -106,7 +106,7 @@
106 } 106 }
107 107
108 .open-icon-2 { 108 .open-icon-2 {
109 - background: resolve("home/installment-icon2.png") no-repeat; 109 + background: resolve("home/installment-icon2-change.png") no-repeat;
110 background-size: contain; 110 background-size: contain;
111 width: 67px; 111 width: 67px;
112 height: 67px; 112 height: 67px;