Authored by 郭成尧

Merge branch 'master' into feature/student

  1 +'use strict';
  2 +
  3 +module.exports = {
  4 + index: (req, res) => {
  5 + res.render('app-downloads', {
  6 + localCss: true
  7 + });
  8 + }
  9 +};
1 'use strict'; 1 'use strict';
2 const model = require('../models/individuation'); 2 const model = require('../models/individuation');
  3 +const channels = {
  4 + boys: 1,
  5 + girl: 2,
  6 + kids: 3,
  7 + lifestyle: 4
  8 +};
3 9
4 exports.productLst = function(req, res, next) { 10 exports.productLst = function(req, res, next) {
5 let keys = ['sort', 'misort', 'msort', 'gender', 'brand'], 11 let keys = ['sort', 'misort', 'msort', 'gender', 'brand'],
6 - enumParam = {},  
7 params = { 12 params = {
8 uid: req.query.uid, 13 uid: req.query.uid,
9 udid: req.query.udid, 14 udid: req.query.udid,
10 promotion: req.query.pid, 15 promotion: req.query.pid,
  16 + yh_channel: req.query.yh_channel || (req.cookies._Channel && channels[req.cookies._Channel]) || 1,
11 specified_sort: req.query.enum, 17 specified_sort: req.query.enum,
  18 + stocknumber: req.query.sn,
12 p_d: req.query.pd, 19 p_d: req.query.pd,
13 limit: req.query.limit || 10 20 limit: req.query.limit || 10
14 }; 21 };
@@ -21,21 +28,17 @@ exports.productLst = function(req, res, next) { @@ -21,21 +28,17 @@ exports.productLst = function(req, res, next) {
21 28
22 if (params.specified_sort) { 29 if (params.specified_sort) {
23 if (params.brand) { 30 if (params.brand) {
24 - enumParam.brands = params.brand.split(',');  
25 - params.limit = enumParam.brands.length; 31 + params.limit = params.brand.split(',').length;
26 } else if (params.sort) { 32 } else if (params.sort) {
27 - enumParam.sorts = params.sort.split(',');  
28 - params.limit = enumParam.sorts.length; 33 + params.limit = params.sort.split(',').length;
29 } else if (params.misort) { 34 } else if (params.misort) {
30 - enumParam.misorts = params.misort.split(',');  
31 - params.limit = enumParam.misorts.length; 35 + params.limit = params.misort.split(',').length;
32 } else if (params.msort) { 36 } else if (params.msort) {
33 - enumParam.msorts = params.msort.split(',');  
34 - params.limit = enumParam.msorts.length; 37 + params.limit = params.msort.split(',').length;
35 } 38 }
36 } 39 }
37 40
38 - model.productLst(params, enumParam).then((result) => { 41 + model.productLst(params).then((result) => {
39 res.jsonp(result); 42 res.jsonp(result);
40 }).catch(next); 43 }).catch(next);
41 }; 44 };
@@ -41,6 +41,7 @@ exports.wechatShare = (req, res, next) => { @@ -41,6 +41,7 @@ exports.wechatShare = (req, res, next) => {
41 exports.feature = (req, res) => { 41 exports.feature = (req, res) => {
42 let mktCode = req.query.mkt_code || req.query.union_type || false; 42 let mktCode = req.query.mkt_code || req.query.union_type || false;
43 let expires = req.query.expires; 43 let expires = req.query.expires;
  44 + let cover = req.query.cover;
44 45
45 if (mktCode) { 46 if (mktCode) {
46 res.cookie('unionTypeYas', mktCode, { // 下载浮层 47 res.cookie('unionTypeYas', mktCode, { // 下载浮层
@@ -55,7 +56,7 @@ exports.feature = (req, res) => { @@ -55,7 +56,7 @@ exports.feature = (req, res) => {
55 56
56 expires && (options.expires = new Date(Date.now() + Number(expires))); 57 expires && (options.expires = new Date(Date.now() + Number(expires)));
57 58
58 - if (req.yoho.isWechat) { 59 + if (req.yoho.isWechat || cover) {
59 // 微信中,不管是否已经种入cookie,直接覆盖 60 // 微信中,不管是否已经种入cookie,直接覆盖
60 res.cookie('mkt_code', mktCode, options); 61 res.cookie('mkt_code', mktCode, options);
61 } else if (!req.cookies.mkt_code) { 62 } else if (!req.cookies.mkt_code) {
@@ -3,14 +3,13 @@ @@ -3,14 +3,13 @@
3 const api = global.yoho.API; 3 const api = global.yoho.API;
4 4
5 let _getProduct = function(o) { 5 let _getProduct = function(o) {
6 - if (!o) {  
7 - return {};  
8 - }  
9 return { 6 return {
10 small_sort_id: o.small_sort_id, 7 small_sort_id: o.small_sort_id,
11 middle_sort_id: o.middle_sort_id, 8 middle_sort_id: o.middle_sort_id,
12 max_sort_id: o.max_sort_id, 9 max_sort_id: o.max_sort_id,
13 brand_id: o.brand_id, 10 brand_id: o.brand_id,
  11 + shop_id: o.shop_id,
  12 + shop_template_type: o.shop_template_type,
14 brand_domain: o.brand_domain, 13 brand_domain: o.brand_domain,
15 brand_name: o.brand_name, 14 brand_name: o.brand_name,
16 product_id: o.product_id, 15 product_id: o.product_id,
@@ -20,39 +19,21 @@ let _getProduct = function(o) { @@ -20,39 +19,21 @@ let _getProduct = function(o) {
20 sales_price: o.sales_price, 19 sales_price: o.sales_price,
21 cn_alphabet: o.cn_alphabet, 20 cn_alphabet: o.cn_alphabet,
22 default_images: o.default_images, 21 default_images: o.default_images,
23 - goods_id: Array.isArray(o.goods_list) && o.goods_list.length ? o.goods_list[0].goods_id : '' 22 + goods_id: Array.isArray(o.goods_list) && o.goods_list.length ? o.goods_list[0].goods_id : undefined
24 }; 23 };
25 }; 24 };
26 25
27 module.exports = { 26 module.exports = {
28 - productLst: function(params, enumParam) { 27 + productLst: function(params) {
29 return api.get('', Object.assign({ 28 return api.get('', Object.assign({
30 method: 'app.search.newPromotion' 29 method: 'app.search.newPromotion'
31 }, params)).then(res => { 30 }, params)).then(res => {
32 - var data = new Array(Number(params.limit)), 31 + var data = [],
33 lst = (res.data && res.data.product_list) || []; 32 lst = (res.data && res.data.product_list) || [];
34 33
35 - for (var i = 0; i < data.length; i++) {  
36 - var o = lst[i] || {};  
37 -  
38 - if (params.specified_sort) {  
39 - // 枚举类型  
40 - if (enumParam.brands && Number(enumParam.brands[i]) === Number(o.brand_id)) {  
41 - data[i] = _getProduct(o);  
42 - } else if (enumParam.sorts && Number(enumParam.sorts[i]) === Number(o.small_sort_id)) {  
43 - data[i] = _getProduct(o);  
44 - } else if (enumParam.misorts && Number(enumParam.misorts[i]) === Number(o.middle_sort_id)) {  
45 - data[i] = _getProduct(o);  
46 - } else if (enumParam.msorts && Number(enumParam.msorts[i]) === Number(o.max_sort_id)) {  
47 - data[i] = _getProduct(o);  
48 - } else {  
49 - lst.splice(i, 0, {});  
50 - data[i] = {};  
51 - }  
52 - } else {  
53 - data[i] = _getProduct(o);  
54 - }  
55 - } 34 + lst.forEach(function(o) {
  35 + o && data.push(_getProduct(o));
  36 + });
56 return data; 37 return data;
57 }); 38 });
58 } 39 }
@@ -29,7 +29,7 @@ const share = require(`${cRoot}/share`); @@ -29,7 +29,7 @@ const share = require(`${cRoot}/share`);
29 const aliCloud = require(`${cRoot}/ali-cloud`); 29 const aliCloud = require(`${cRoot}/ali-cloud`);
30 const studentMarket = require(`${cRoot}/student-market`); 30 const studentMarket = require(`${cRoot}/student-market`);
31 const individuation = require(`${cRoot}/individuation`); 31 const individuation = require(`${cRoot}/individuation`);
32 - 32 +const appDownloads = require(`${cRoot}/app-downloads`);
33 const redbag = require(`${cRoot}/redbag`); 33 const redbag = require(`${cRoot}/redbag`);
34 34
35 // routers 35 // routers
@@ -139,4 +139,6 @@ router.get('/redbag/2017', redbag.index); @@ -139,4 +139,6 @@ router.get('/redbag/2017', redbag.index);
139 // 获取活动页面个性化推荐商品数据 139 // 获取活动页面个性化推荐商品数据
140 router.get('/individuation', individuation.productLst); 140 router.get('/individuation', individuation.productLst);
141 141
  142 +router.get('/app-downloads', appDownloads.index);
  143 +
142 module.exports = router; 144 module.exports = router;
  1 +<div class="container">
  2 + <div id="no-download"></div>
  3 + <div class="banner"></div>
  4 + <div class="main">
  5 + <div class="slide-box">
  6 + <div class="swiper-wrapper clearfix">
  7 + <div class="yohobuy" tag="0">
  8 + <div class="swiper-yohobuy bg"></div>
  9 + <div class="ewm-area">
  10 + <img src="//cdn.yoho.cn/yohocn/160315/images/ewm-yohobuy.png" />
  11 + <div class="ewm-info"></div>
  12 + </div>
  13 + <span id="download" class="download-btn">点击下载 · Yoho!Buy有货</span>
  14 + </div>
  15 + </div>
  16 + </div>
  17 + <div class="slide-pagination clearfix">
  18 + </div>
  19 + </div>
  20 + <div class="footer">
  21 + CopyRight © 2007-2017 YOHO!新力传媒
  22 + </div>
  23 + <div class="mask">
  24 + <div class="wx-img1"></div>
  25 + <div class="wx-img2"></div>
  26 + <div class="wx-img3"></div>
  27 + </div>
  28 +</div>
@@ -8,7 +8,8 @@ @@ -8,7 +8,8 @@
8 <div class="mobile-container"> 8 <div class="mobile-container">
9 <div class="mobile-wrap yoho-page student"> 9 <div class="mobile-wrap yoho-page student">
10 <div style=" position: fixed;background: #f0f0f0;height: 100%;width: 100%;"> 10 <div style=" position: fixed;background: #f0f0f0;height: 100%;width: 100%;">
11 - <section class="s-feild s-marbot"> 11 + <div style="text-align:center;font-size:16px;padding-top:100px;">学生认证功能暂时关闭</div>
  12 + {{!--<section class="s-feild s-marbot">
12 全国已有<span class="s-red">{{count}}</span>位学生完成认证 13 全国已有<span class="s-red">{{count}}</span>位学生完成认证
13 </section> 14 </section>
14 <div class="s-form"> 15 <div class="s-form">
@@ -40,12 +41,12 @@ @@ -40,12 +41,12 @@
40 同意<a class="s-blue" href='//m.yohobuy.com/activity/student/detail/renzhen?openby:yohobuy={"action":"go.h5","params":{"islogin":"N","url":"{{http}}//m.yohobuy.com/activity/student/detail/renzhen"}}'>Yoho!Buy有货学生认证协议</a> 41 同意<a class="s-blue" href='//m.yohobuy.com/activity/student/detail/renzhen?openby:yohobuy={"action":"go.h5","params":{"islogin":"N","url":"{{http}}//m.yohobuy.com/activity/student/detail/renzhen"}}'>Yoho!Buy有货学生认证协议</a>
41 </section> 42 </section>
42 <a class="s-submit" href="javascript:void(0);">立即认证</a> 43 <a class="s-submit" href="javascript:void(0);">立即认证</a>
43 - </div> 44 + </div>--}}
44 </div> 45 </div>
45 46
46 </div> 47 </div>
47 </div> 48 </div>
48 - 49 +{{!--
49 <article class="aslider" data-aslider="province"> 50 <article class="aslider" data-aslider="province">
50 <section class="asilder_wrapper close"> 51 <section class="asilder_wrapper close">
51 <header class="s-layout-title"> 52 <header class="s-layout-title">
@@ -133,4 +134,4 @@ @@ -133,4 +134,4 @@
133 </div> 134 </div>
134 </div> 135 </div>
135 </section> 136 </section>
136 -</article> 137 +</article>--}}
@@ -143,7 +143,7 @@ @@ -143,7 +143,7 @@
143 </section> 143 </section>
144 144
145 {{#loginUrl}} 145 {{#loginUrl}}
146 - <div class='s-layout'> 146 + {{!--<div class='s-layout'>
147 {{#if @root.isSupportStudent}} 147 {{#if @root.isSupportStudent}}
148 快来认证吧,认证通过即可享受专属优惠! 148 快来认证吧,认证通过即可享受专属优惠!
149 {{else}} 149 {{else}}
@@ -153,7 +153,7 @@ @@ -153,7 +153,7 @@
153 {{#if @root.isSupportStudent}} 153 {{#if @root.isSupportStudent}}
154 <a class='s-renzhen' href='{{.}}'>立即认证</a> 154 <a class='s-renzhen' href='{{.}}'>立即认证</a>
155 {{/if}} 155 {{/if}}
156 - </div> 156 + </div>--}}
157 <div class="s-replace"></div> 157 <div class="s-replace"></div>
158 {{/loginUrl}} 158 {{/loginUrl}}
159 159
@@ -2,17 +2,35 @@ @@ -2,17 +2,35 @@
2 * 自定义频道, 临时方案,暂时写死 2 * 自定义频道, 临时方案,暂时写死
3 */ 3 */
4 'use strict'; 4 'use strict';
  5 +const customModel = require('../models/custom');
5 6
6 -let index = (req, res) => { 7 +let index = (req, res, next) => {
  8 + let contentCode = req.params.id;
  9 +
  10 + if (!contentCode) {
  11 + return next();
  12 + }
  13 +
  14 + customModel.getResourceData(contentCode).then(result => {
7 res.render('custom', { 15 res.render('custom', {
8 module: 'channel', 16 module: 'channel',
9 page: 'custom', 17 page: 'custom',
10 - content_code: req.params.id, // 这是位置码,后边去调用资源位,渲染页面 18 + content: result,
  19 + title: req.query.title || 'Yoho!Buy 有货'
  20 + });
  21 + }).catch(next);
  22 +};
  23 +
  24 +let zhihui = (req, res) => {
  25 + res.render('zhihui', {
  26 + module: 'channel',
  27 + page: 'custom',
11 title: req.query.title || 'Yoho!Buy 有货', 28 title: req.query.title || 'Yoho!Buy 有货',
12 downloadLink: 'http://union.yoho.cn/union/downapp.html?union_type=100000000000081' 29 downloadLink: 'http://union.yoho.cn/union/downapp.html?union_type=100000000000081'
13 }); 30 });
14 }; 31 };
15 32
16 module.exports = { 33 module.exports = {
17 - index 34 + index,
  35 + zhihui
18 }; 36 };
  1 +/**
  2 + * 自定义频道页面 model
  3 + * @author: Bi Kai<kai.bi@yoho.cn>
  4 + * @date: 2016/05/09
  5 + */
  6 +
  7 +'use strict';
  8 +const utils = '../../../utils';
  9 +const resourcesProcess = require(`${utils}/resources-process`);
  10 +const service = global.yoho.ServiceAPI;
  11 +
  12 +const getResourceData = (code) => {
  13 + return service.get('operations/api/v5/resource/get', {
  14 + content_code: code
  15 + }, {
  16 + cache: true,
  17 + code: 200
  18 + }).then(result => {
  19 + return resourcesProcess(result.data);
  20 + });
  21 +};
  22 +
  23 +module.exports = {
  24 + getResourceData
  25 +};
@@ -36,6 +36,10 @@ router.get('/brands/delBrandHistory', brandController.delBrandHistory); // 删 @@ -36,6 +36,10 @@ router.get('/brands/delBrandHistory', brandController.delBrandHistory); // 删
36 router.post('/channel/shopRecom', channel.shopRecom); // 店铺推荐收藏状态 36 router.post('/channel/shopRecom', channel.shopRecom); // 店铺推荐收藏状态
37 router.post('/channel/userVip', channel.userVip); 37 router.post('/channel/userVip', channel.userVip);
38 38
  39 +// 自定义频道,市场推广-智汇
  40 +// 此页面做的早,写死发给市场,与自定义的不兼容,所以需要写死
  41 +router.get('/channel/2fb054e8315300a1ae1f80c3a4fda862.html', custom.zhihui);
  42 +
39 // 自定义频道 43 // 自定义频道
40 router.get('/channel/:id.html', custom.index); 44 router.get('/channel/:id.html', custom.index);
41 45
1 -{{!-- 临时方案 --}}  
2 -  
3 -<style>  
4 - html,body {  
5 - width: 100%;  
6 - height: 100%;  
7 - margin: 0;  
8 - padding: 0;  
9 - }  
10 - div {  
11 - margin: 0;  
12 - padding: 0;  
13 - }  
14 - .wrapper {  
15 - position: relative;  
16 - width: 100%;  
17 -  
18 - }  
19 -  
20 - .container {  
21 - position: relative;  
22 - margin: 0 auto;  
23 - }  
24 -  
25 - img {  
26 - width:100%;  
27 - float: left;  
28 - }  
29 -  
30 - ul {  
31 - list-style: none;  
32 - overflow: hidden;  
33 - margin: 0;  
34 - padding: 0;  
35 - }  
36 -  
37 - ul li {  
38 - position: relative;  
39 - width:100%;  
40 - overflow: hidden;  
41 - }  
42 -  
43 - #btn_download {  
44 - position: absolute;  
45 - width: 73%;  
46 - height: 14%;  
47 - top: 75.5%;  
48 - left: 13%;  
49 - }  
50 -</style>  
51 -<div class="wrapper">  
52 - <div class="container">  
53 - <ul>  
54 - <li>  
55 - <img src="https://feature.yoho.cn/0113/images/01ff33cffc05e280bd701b90801835ad51.jpg?imageView2/2/q/75/">  
56 - <a id="btn_download" href="{{downloadLink}}" target="_blank"></a>  
57 - </li>  
58 - <li>  
59 - <img src="https://feature.yoho.cn/0113/images/015d6241108a4db156d4153a5645bd283e.jpg?imageView2/2/q/75/">  
60 - </li>  
61 - <li>  
62 - <img src="https://feature.yoho.cn/0113/images/01651b926f5f22f4b00b6809925e4388a3.jpg?imageView2/2/q/75/">  
63 - </li>  
64 - <li>  
65 - <img src="https://feature.yoho.cn/0113/images/0157ad8f797d97f10cc21bd30333c5a7c5.jpg?imageView2/2/q/75/">  
66 - </li>  
67 - </ul>  
68 - </div> 1 +{{! 资源位}}
  2 +<div class="resource-content">
  3 + {{> channel/content}}
69 </div> 4 </div>
  1 +<style>
  2 + html,body {
  3 + width: 100%;
  4 + height: 100%;
  5 + margin: 0;
  6 + padding: 0;
  7 + }
  8 + div {
  9 + margin: 0;
  10 + padding: 0;
  11 + }
  12 + .wrapper {
  13 + position: relative;
  14 + width: 100%;
  15 +
  16 + }
  17 +
  18 + .container {
  19 + position: relative;
  20 + margin: 0 auto;
  21 + }
  22 +
  23 + img {
  24 + width:100%;
  25 + float: left;
  26 + }
  27 +
  28 + ul {
  29 + list-style: none;
  30 + overflow: hidden;
  31 + margin: 0;
  32 + padding: 0;
  33 + }
  34 +
  35 + ul li {
  36 + position: relative;
  37 + width:100%;
  38 + overflow: hidden;
  39 + }
  40 +
  41 + #btn_download {
  42 + position: absolute;
  43 + width: 73%;
  44 + height: 14%;
  45 + top: 75.5%;
  46 + left: 13%;
  47 + }
  48 +</style>
  49 +<div class="wrapper">
  50 + <div class="container">
  51 + <ul>
  52 + <li>
  53 + <img src="https://feature.yoho.cn/0113/images/01ff33cffc05e280bd701b90801835ad51.jpg?imageView2/2/q/75/">
  54 + <a id="btn_download" href="{{downloadLink}}" target="_blank"></a>
  55 + </li>
  56 + <li>
  57 + <img src="https://feature.yoho.cn/0113/images/015d6241108a4db156d4153a5645bd283e.jpg?imageView2/2/q/75/">
  58 + </li>
  59 + <li>
  60 + <img src="https://feature.yoho.cn/0113/images/01651b926f5f22f4b00b6809925e4388a3.jpg?imageView2/2/q/75/">
  61 + </li>
  62 + <li>
  63 + <img src="https://feature.yoho.cn/0113/images/0157ad8f797d97f10cc21bd30333c5a7c5.jpg?imageView2/2/q/75/">
  64 + </li>
  65 + </ul>
  66 + <input type="hidden" id="no-download" name="">
  67 + </div>
  68 +</div>
@@ -14,14 +14,14 @@ @@ -14,14 +14,14 @@
14 <div class="iconfont more-icon tap-hightlight">&#xe604;</div> 14 <div class="iconfont more-icon tap-hightlight">&#xe604;</div>
15 </a> 15 </a>
16 {{#unless students}} 16 {{#unless students}}
17 - <a class="students-entry" href="{{verifyUrl}}">学生认证</a> 17 + {{!--<a class="students-entry" href="{{verifyUrl}}">学生认证</a>--}}
18 {{/unless}} 18 {{/unless}}
19 {{^}} 19 {{^}}
20 <div class="user-info"> 20 <div class="user-info">
21 <a class="login-btn" href="{{signinUrl}}"> 21 <a class="login-btn" href="{{signinUrl}}">
22 登录/注册 22 登录/注册
23 </a> 23 </a>
24 - <a class="students-entry" href="{{verifyUrl}}">学生认证</a> 24 + {{!--<a class="students-entry" href="{{verifyUrl}}">学生认证</a>--}}
25 </div> 25 </div>
26 {{/isLogin}} 26 {{/isLogin}}
27 </div> 27 </div>
@@ -12,6 +12,9 @@ const cachePage = { @@ -12,6 +12,9 @@ const cachePage = {
12 '/kids': 30 * SECOND, 12 '/kids': 30 * SECOND,
13 '/lifestyle': 30 * SECOND, 13 '/lifestyle': 30 * SECOND,
14 14
  15 + // 自定义频道
  16 + '/channel/:id.html': 1 * MINUTE,
  17 +
15 //ajax获取频道页楼层 18 //ajax获取频道页楼层
16 '/channel/getResourceContent': 30 * MINUTE, 19 '/channel/getResourceContent': 30 * MINUTE,
17 20
@@ -17,21 +17,21 @@ module.exports = { @@ -17,21 +17,21 @@ module.exports = {
17 assetUrl: '//127.0.0.1:5001', 17 assetUrl: '//127.0.0.1:5001',
18 testCode: 'yoho4946abcdef#$%&!@', 18 testCode: 'yoho4946abcdef#$%&!@',
19 domains: { 19 domains: {
20 - api: 'http://api-test3.yohops.com:9999/',  
21 - service: 'http://service-test3.yohops.com:9999/',  
22 - liveApi: 'http://testapi.live.yohops.com:9999/',  
23 - singleApi: 'http://api-test3.yohops.com:9999/',  
24 - imSocket: 'ws://im.yohobuy.com:10240',  
25 - imCs: 'http://im.yohobuy.com/api',  
26 - imServer: 'http://im.yohobuy.com/server' 20 + // api: 'http://api-test3.yohops.com:9999/',
  21 + // service: 'http://service-test3.yohops.com:9999/',
  22 + // liveApi: 'http://testapi.live.yohops.com:9999/',
  23 + // singleApi: 'http://api-test3.yohops.com:9999/',
  24 + // imSocket: 'ws://im.yohobuy.com:10240',
  25 + // imCs: 'http://im.yohobuy.com/api',
  26 + // imServer: 'http://im.yohobuy.com/server'
27 27
28 - // api: 'http://api.yoho.cn/',  
29 - // service: 'http://service.yoho.cn/',  
30 - // liveApi: 'http://api.live.yoho.cn/',  
31 - // singleApi: 'http://single.yoho.cn/',  
32 - // imSocket: 'wss://imsocket.yohobuy.com:443',  
33 - // imCs: 'https://imhttp.yohobuy.com/api',  
34 - // imServer: 'https://imhttp.yohobuy.com/server' 28 + api: 'http://api.yoho.cn/',
  29 + service: 'http://service.yoho.cn/',
  30 + liveApi: 'http://api.live.yoho.cn/',
  31 + singleApi: 'http://single.yoho.cn/',
  32 + imSocket: 'wss://imsocket.yohobuy.com:443',
  33 + imCs: 'https://imhttp.yohobuy.com/api',
  34 + imServer: 'https://imhttp.yohobuy.com/server'
35 }, 35 },
36 subDomains: { 36 subDomains: {
37 host: '.m.yohobuy.com', 37 host: '.m.yohobuy.com',
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
12 a.async = 1; 12 a.async = 1;
13 a.src = j; 13 a.src = j;
14 m.parentNode.insertBefore(a, m); 14 m.parentNode.insertBefore(a, m);
15 - }(window, document, 'script', (document.location.protocol === 'https:' ? 'https:' : 'http:') + '//cdn.yoho.cn/yas-jssdk/2.1.2/yas.js', '_yas')); 15 + }(window, document, 'script', (document.location.protocol === 'https:' ? 'https:' : 'http:') + '//cdn.yoho.cn/yas-jssdk/2.2.2/yas.js', '_yas'));
16 16
17 var _hmt = _hmt || []; 17 var _hmt = _hmt || [];
18 18
@@ -56,7 +56,7 @@ @@ -56,7 +56,7 @@
56 uid = uid === 0 ? '' : uid; 56 uid = uid === 0 ? '' : uid;
57 window._ozuid = uid; // 暴露ozuid 57 window._ozuid = uid; // 暴露ozuid
58 if (window._yas) { 58 if (window._yas) {
59 - window._yas(1 * new Date(), '2.1.2', 'yohobuy_m', uid, '', ''); 59 + window._yas(1 * new Date(), '2.2.2', 'yohobuy_m', uid, '', '');
60 } 60 }
61 61
62 // 非登录状态,加载百度统计 62 // 非登录状态,加载百度统计
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 {{#data}} 2 {{#data}}
3 <div class="banner-list"> 3 <div class="banner-list">
4 <a href="{{url}}"> 4 <a href="{{url}}">
5 - <img src="{{image2 src w=640 h=200 q=60}}" alt=""> 5 + <img src="{{image2 src w=640 h=200 q=60 mode=3}}" alt="">
6 </a> 6 </a>
7 </div> 7 </div>
8 {{/data}} 8 {{/data}}
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
12 {{#data}} 12 {{#data}}
13 <li class="swiper-slide"> 13 <li class="swiper-slide">
14 <a href="{{url}}"> 14 <a href="{{url}}">
15 - <img src="{{image2 src w=640 h=200 q=60}}" alt=""> 15 + <img src="{{image2 src w=640 h=200 q=60 mode=3}}" alt="">
16 </a> 16 </a>
17 </li> 17 </li>
18 {{/data}} 18 {{/data}}
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
8 {{!--此处不使用 Lazyload 是由于安卓 UC 10 版本加载不出来--}} 8 {{!--此处不使用 Lazyload 是由于安卓 UC 10 版本加载不出来--}}
9 <img src="{{image2 src w=158 h=174 q=60}}"> 9 <img src="{{image2 src w=158 h=174 q=60}}">
10 </div> 10 </div>
11 - <p class="brand-name">{{name}}</p> 11 + {{!--<p class="brand-name">{{name}}</p>--}}
12 </a> 12 </a>
13 </li> 13 </li>
14 {{/ list}} 14 {{/ list}}
1 { 1 {
2 "name": "m-yohobuy-node", 2 "name": "m-yohobuy-node",
3 - "version": "5.3.16", 3 + "version": "5.3.20",
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": {
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
8 {{!--此处不使用 Lazyload 是由于安卓 UC 10 版本加载不出来--}} 8 {{!--此处不使用 Lazyload 是由于安卓 UC 10 版本加载不出来--}}
9 <img src="{{image2 src w=158 h=174 q=60}}"> 9 <img src="{{image2 src w=158 h=174 q=60}}">
10 </div> 10 </div>
11 - <p class="brand-name">{{name}}</p> 11 + {{!--<p class="brand-name">{{name}}</p>--}}
12 </a> 12 </a>
13 </li> 13 </li>
14 {{/ list}} 14 {{/ list}}
  1 +/* eslint no-undef: "_yas" */
  2 +
  3 +require('../../scss/activity/_app-downloads.css');
  4 +require('../../js/common');
  5 +
  6 +var url = 'yohobuy://yohobuy.com/goapp?openby:yohobuy={"action":"go.home","params":{"gender":"1","channel":"2"}}';
  7 +var u = navigator.userAgent.toLowerCase();
  8 +var isiOS = u.indexOf('os') > -1 || u.indexOf('iphone') > -1 || u.indexOf('mac') > -1 || u.indexOf('ipad') > -1;
  9 +
  10 +var appPath = url;
  11 +var ifr;
  12 +
  13 +setTimeout(function() {
  14 + //记录唤醒时间
  15 + var openTime = +new Date();
  16 +
  17 + window.setTimeout(function() {
  18 + if (ifr) {
  19 + document.body.removeChild(ifr);
  20 + }
  21 +
  22 + //如果setTimeout 回调超过2500ms,则弹出下载
  23 + if ((+new Date()) - openTime > 500) {
  24 + if (isiOS) {
  25 + url = 'http://itunes.apple.com/us/app/id490655927?ls=1&mt=8';
  26 + } else {
  27 + url = 'http://yoho-apps.qiniudn.com/YohoBuy_YOHO.apk';
  28 + }
  29 +
  30 + location.href = url;
  31 + // window.open(url);
  32 + }
  33 + }, 1000);
  34 +
  35 + if (isiOS) {
  36 + window.location.href = appPath;
  37 + } else {
  38 + ifr = document.createElement('iframe');
  39 + ifr.src = appPath;
  40 + ifr.style.display = 'none';
  41 + document.body.appendChild(ifr);
  42 + }
  43 +}, 500);
  44 +
  45 +//1: 男生,2-女生,3-潮童,4-创意生活
  46 +var CHANNELS = {
  47 + boys: 1,
  48 + girls: 2,
  49 + kids: 3,
  50 + lifestyle: 4
  51 +};
  52 +
  53 +$('#download').click(function() {
  54 + var url;
  55 + var channel = window.cookie('_Channel');
  56 +
  57 + if (isiOS) {
  58 + url = 'http://itunes.apple.com/us/app/id490655927?ls=1&mt=8';
  59 + } else {
  60 + url = 'http://yoho-apps.qiniudn.com/YohoBuy_YOHO.apk';
  61 + }
  62 +
  63 + // 上报 nginx 数据
  64 + $.get('//m.yohobuy.com/activitylog.json?download2', function() {
  65 + });
  66 +
  67 + // 上报 yas 数据
  68 + if (typeof _yas !== 'undefined') {
  69 + _yas.sendCustomInfo && _yas.sendCustomInfo({
  70 + op: 'YB_DOWNLOAD_C',
  71 + param: JSON.stringify({
  72 + C_ID: CHANNELS[channel],
  73 + TO_URL: encodeURIComponent(url)
  74 + })
  75 + }, true);
  76 + }
  77 +
  78 + location.href = url;
  79 +});
  80 +
  1 +var Swiper = require('yoho-swiper2');
  2 +var lazyLoad = require('yoho-jquery-lazyload');
  3 +var fastclick = require('yoho-fastclick');
  4 +var swiperClass;
  5 +
1 require('../common'); 6 require('../common');
  7 +
  8 +$(function () {
  9 + fastclick.attach(document.body);
  10 + lazyLoad($('img.lazy'));
  11 +
  12 + // 头部banner轮播
  13 + if ($('.banner-swiper').find('li').size() > 1) {
  14 + new Swiper('.banner-swiper', {
  15 + lazyLoading: true,
  16 + lazyLoadingInPrevNext: true,
  17 + loop: true,
  18 + autoplay: 3000,
  19 + autoplayDisableOnInteraction: false,
  20 + paginationClickable: true,
  21 + slideElement: 'li',
  22 + pagination: '.banner-top .pagination-inner'
  23 + });
  24 + }
  25 +
  26 + // 小 banner
  27 + $('.banner-center-swiper').each(function () {
  28 + if ($(this).find('li').length > 1) {
  29 + new Swiper(this, {
  30 + preloadImages: false,
  31 + lazyLoading: true,
  32 + lazyLoadingInPrevNext: true,
  33 + lazyLoadingOnTransitionStart: true,
  34 + loop: true,
  35 + autoplay: 3000,
  36 + autoplayDisableOnInteraction: false,
  37 + slideElement: 'li',
  38 + paginationHide: true
  39 + });
  40 + }
  41 + });
  42 +
  43 + // 热门品牌滑动
  44 + if ($('.brands-swiper').find('li').length > 1) {
  45 + new Swiper('.brands-swiper', {
  46 + grabCursor: true,
  47 + slidesPerView: 'auto',
  48 + wrapperClass: 'brands-list',
  49 + slideElement: 'li'
  50 + });
  51 + }
  52 +
  53 + // 推荐搭配滑动
  54 + if ($('.recommend-swiper').find('li').length > 1) {
  55 + new Swiper('.recommend-swiper', {
  56 + grabCursor: true,
  57 + slidesPerView: 'auto',
  58 + wrapperClass: 'recommend-list',
  59 + slideElement: 'li'
  60 + });
  61 + }
  62 +
  63 + // 潮品话题轮播
  64 + if ($('.trend-topic-swiper').find('li').size() > 1) {
  65 + new Swiper('.trend-topic-swiper', {
  66 + loop: true,
  67 + autoplay: 3000,
  68 + autoplayDisableOnInteraction: false,
  69 + paginationClickable: true,
  70 + slideElement: 'li',
  71 + pagination: '.trend-topic-content .pagination-inner'
  72 + });
  73 + }
  74 +
  75 + // 新人专享轮播
  76 + if ($('.fresh-list-swiper').find('li').size() > 1) {
  77 + new Swiper('.fresh-list-swiper', {
  78 + lazyLoading: true,
  79 + lazyLoadingInPrevNext: true,
  80 + grabCursor: true,
  81 + slidesPerView: 'auto',
  82 + slideElement: 'li',
  83 + watchSlidesVisibility: true
  84 + });
  85 + }
  86 +
  87 + // 潮流上装/经典裤装等轮播
  88 + $('.category-swiper').each(function (i) {
  89 + swiperClass = 'category-swiper' + i;
  90 + $(this).addClass(swiperClass);
  91 + if ($('.' + swiperClass).find('.swiper-slide').size() > 1) {
  92 + new Swiper('.' + swiperClass, {
  93 + preloadImages: false,
  94 + lazyLoading: true,
  95 + lazyLoadingInPrevNext: true,
  96 + lazyLoadingOnTransitionStart: true,
  97 + loop: true,
  98 + autoplay: 3000,
  99 + autoplayDisableOnInteraction: false,
  100 + paginationClickable: true,
  101 + slideElement: 'li',
  102 + pagination: '.' + swiperClass + ' .pagination-inner'
  103 + });
  104 + }
  105 + });
  106 +});
@@ -193,17 +193,17 @@ $.extend({ @@ -193,17 +193,17 @@ $.extend({
193 193
194 // 未登录 194 // 未登录
195 $op.prepend( 195 $op.prepend(
196 - '<a href="http://m.yohobuy.com/signin.html?refer=' + location.href + '">登录</a>' + 196 + '<a href="/signin.html?refer=' + location.href + '">登录</a>' +
197 '<span class="sep-line">|</span>' + 197 '<span class="sep-line">|</span>' +
198 - '<a href="http://m.yohobuy.com/reg.html">注册</a>' 198 + '<a href="/reg.html">注册</a>'
199 ); 199 );
200 } else { 200 } else {
201 201
202 // 已登录 202 // 已登录
203 $op.prepend( 203 $op.prepend(
204 '<span>Hi,</span>' + 204 '<span>Hi,</span>' +
205 - '<a class="user-name" href="http://m.yohobuy.com/home?tmp=' + Math.random() + '">' + user[0] + '</a>' +  
206 - '<a href="http://m.yohobuy.com/passport/signout/index">退出</a>' 205 + '<a class="user-name" href="/home?tmp=' + Math.random() + '">' + user[0] + '</a>' +
  206 + '<a href="/passport/signout/index">退出</a>'
207 ); 207 );
208 } 208 }
209 209
@@ -32,9 +32,9 @@ if ($('#float-layer-btn') && $('#float-layer-btn')[0]) { @@ -32,9 +32,9 @@ if ($('#float-layer-btn') && $('#float-layer-btn')[0]) {
32 e.srcEvent.stopPropagation(); 32 e.srcEvent.stopPropagation();
33 }); 33 });
34 34
35 - if (typeof window.cookie === 'function' && !window.cookie('_float-layer-app')) {  
36 - $('#float-layer-app').show();  
37 - } else {  
38 - $('#float-layer-app').hide();  
39 - } 35 + // if (typeof window.cookie === 'function' && !window.cookie('_float-layer-app')) {
  36 + // $('#float-layer-app').show();
  37 + // } else {
  38 + // $('#float-layer-app').hide();
  39 + // }
40 } 40 }
@@ -45,9 +45,9 @@ if ($('#float-layer-btn') && $('#float-layer-btn')[0]) { @@ -45,9 +45,9 @@ if ($('#float-layer-btn') && $('#float-layer-btn')[0]) {
45 e.srcEvent.stopPropagation(); 45 e.srcEvent.stopPropagation();
46 }); 46 });
47 47
48 - if (typeof window.cookie === 'function' && !window.cookie('_float-layer-app')) {  
49 - $('#float-layer-app').show();  
50 - } else {  
51 - $('#float-layer-app').hide();  
52 - } 48 + // if (typeof window.cookie === 'function' && !window.cookie('_float-layer-app')) {
  49 + // $('#float-layer-app').show();
  50 + // } else {
  51 + // $('#float-layer-app').hide();
  52 + // }
53 } 53 }
@@ -334,10 +334,10 @@ $('.wei-share').on('touchend', function(e) { @@ -334,10 +334,10 @@ $('.wei-share').on('touchend', function(e) {
334 }); 334 });
335 335
336 if (typeof window.cookie === 'function' && parseInt(window.cookie('_float-layer-app-close')) != 2) { 336 if (typeof window.cookie === 'function' && parseInt(window.cookie('_float-layer-app-close')) != 2) {
337 - $('#float-layer-app').show(); 337 + //$('#float-layer-app').show();
338 $('.down-bottom').show(); 338 $('.down-bottom').show();
339 } else { 339 } else {
340 - $('#float-layer-app').hide(); 340 + //$('#float-layer-app').hide();
341 $('.down-bottom').hide(); 341 $('.down-bottom').hide();
342 } 342 }
343 } 343 }
  1 +body {
  2 + line-height: 1.5;
  3 + -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  4 +}
  5 +
  6 +table {
  7 + border-collapse: collapse;
  8 + border-spacing: 0
  9 +}
  10 +
  11 +caption, th, td, b, strong {
  12 + text-align: left;
  13 + font-weight: normal
  14 +}
  15 +
  16 +table, td, th {
  17 + vertical-align: middle
  18 +}
  19 +
  20 +blockquote:before, blockquote:after, q:before, q:after {
  21 + content: ""
  22 +}
  23 +
  24 +blockquote, q {
  25 + quotes: "" ""
  26 +}
  27 +
  28 +a img {
  29 + border: none
  30 +}
  31 +
  32 +em, cite {
  33 + font-style: normal
  34 +}
  35 +
  36 +body {
  37 + background: #fff;
  38 + font: 12px/1.5 Tahoma, '宋体';
  39 + color: #000
  40 +}
  41 +
  42 +h1, h2, h3, h4, h5, h6 {
  43 + font-weight: normal;
  44 + color: #111
  45 +}
  46 +
  47 +a {
  48 + text-decoration: none;
  49 + cursor: pointer
  50 +}
  51 +
  52 +dl, dt, dd, ol, ul, li {
  53 + list-style: none
  54 +}
  55 +
  56 +.left {
  57 + float: left
  58 +}
  59 +
  60 +.right {
  61 + float: right
  62 +}
  63 +
  64 +.clearfix:before, .clearfix:after {
  65 + content: "";
  66 + display: table
  67 +}
  68 +
  69 +.clearfix:after {
  70 + clear: both
  71 +}
  72 +
  73 +.clearfix {
  74 + *zoom: 1
  75 +}
  76 +
  77 +body.disable-default-action {
  78 + -webkit-touch-callout: none;
  79 + -webkit-user-select: none;
  80 +}
  81 +
  82 +.loadding-area {
  83 + position: fixed;
  84 + top: 50%;
  85 + left: 50%;
  86 + width: 4rem;
  87 + height: 4rem;
  88 + margin-top: -2rem;
  89 + margin-left: -2rem;
  90 + border-radius: 10%;
  91 + background-color: rgba(0, 0, 0, 0.3);
  92 + z-index: 9999;
  93 +}
  94 +
  95 +.loadding {
  96 + z-index: 999;
  97 + width: 1.1rem;
  98 + position: absolute;
  99 + top: 50%;
  100 + left: 50%;
  101 + margin: -0.55rem 0 0 -0.55rem;
  102 +}
  103 +
  104 +.container {
  105 + max-width: 790px;
  106 + height: auto;
  107 + margin: 0 auto;
  108 + /*overflow: hidden;*/
  109 +}
  110 +
  111 +.banner {
  112 + height: 6rem;
  113 + background: url(//cdn.yoho.cn/yohocn/160315/images/banner.png) no-repeat right;
  114 + background-size: contain;
  115 + position: fixed;
  116 + top: 0;
  117 + left: 0;
  118 + right: 0;
  119 + z-index: 99;
  120 +}
  121 +
  122 +.main {
  123 + position: relative;
  124 + top: 3.5rem;
  125 + height: 20rem;
  126 +}
  127 +
  128 +.slide-box {
  129 + overflow: hidden;
  130 + position: relative;
  131 + height: 20.78rem;
  132 + width: 100%;
  133 +}
  134 +
  135 +.slide-box .swipe-wrap {
  136 + overflow: hidden;
  137 + position: relative;
  138 + height: 19.775rem;
  139 +}
  140 +
  141 +/*.slide-box .swiper-wrapper {
  142 + padding: 0px 4.578rem;
  143 +}*/
  144 +
  145 +.slide-box .swiper-slide {
  146 + float: left;
  147 + width: 16rem;
  148 + position: relative;
  149 + height: 20.78rem;
  150 + margin: 0;
  151 + padding: 0;
  152 +}
  153 +
  154 +.slide-box .download-btn {
  155 + background-color: #d0021b;
  156 + color: #fff;
  157 + border-radius: 0.2rem;
  158 + width: 12.8rem;
  159 + height: 2rem;
  160 + line-height: 2rem;
  161 + font-family: arial, helvetica, '黑体';
  162 + font-size: 0.8rem;
  163 + text-align: center;
  164 + position: absolute;
  165 + bottom: 0px;
  166 + left: 50%;
  167 + margin-left: -6.4rem;
  168 +}
  169 +
  170 +.slide-box .ewm-area {
  171 + width: 12.8rem;
  172 + height: 5.7rem;
  173 + position: absolute;
  174 + bottom: 2.45rem;
  175 + left: 50%;
  176 + margin-left: -6.4rem;
  177 +}
  178 +
  179 +.slide-box .ewm-area img {
  180 + width: 4.6rem;
  181 + margin: 0 auto;
  182 + display: block;
  183 +}
  184 +
  185 +.slide-box .ewm-area .yoho-txt01 {
  186 + background: url(//cdn.yoho.cn/yohocn/160315/images/txt01.png) no-repeat;
  187 +}
  188 +
  189 +.slide-box .ewm-area .yoho-txt02 {
  190 + background: url(//cdn.yoho.cn/yohocn/160315/images/txt02.png) no-repeat;
  191 +}
  192 +
  193 +.slide-box .ewm-area .yoho-txt01,
  194 +.slide-box .ewm-area .yoho-txt02 {
  195 + width: 3.3rem;
  196 + height: 0.7rem;
  197 + display: block;
  198 + margin: 0 auto;
  199 + background-size: contain;
  200 +}
  201 +
  202 +.slide-box .ewm-area .ewm-info {
  203 + background: url(//cdn.yoho.cn/yohocn/160315/images/ewm-info.png) no-repeat;
  204 + width: 7rem;
  205 + height: 0.7rem;
  206 + margin: 0.4rem auto 0 auto;
  207 + background-size: contain;
  208 + clear: both;
  209 +}
  210 +
  211 +.slide-box .ewm-area .ewm-yoho {
  212 + height: 5.4rem;
  213 + width: 4.6rem;
  214 +}
  215 +
  216 +.swiper-yohobuy {
  217 + background: url(//cdn.yoho.cn/yohocn/160315/images/yohobuy.png) no-repeat;
  218 +}
  219 +
  220 +.swiper-yoho {
  221 + background: url(//cdn.yoho.cn/yohocn/160315/images/yoho.png) no-repeat;
  222 +}
  223 +
  224 +.swiper-show {
  225 + background: url(//cdn.yoho.cn/yohocn/160315/images/show.png) no-repeat;
  226 +}
  227 +
  228 +.swiper-mars {
  229 + background: url(//cdn.yoho.cn/yohocn/160315/images/mars.png) no-repeat;
  230 +}
  231 +
  232 +.slide-box .bg {
  233 + display: block;
  234 + margin: 0 auto;
  235 + width: 12.5rem;
  236 + height: 19.2rem;
  237 + background-size: contain;
  238 +}
  239 +
  240 +.slide-pagination {
  241 + margin: 0.125rem 0 0 0;
  242 + text-align: center;
  243 +}
  244 +
  245 +.slide-pagination .swiper-pagination-bullet {
  246 + margin: 0 0.1rem;
  247 +}
  248 +
  249 +.swiper-pagination-bullet-active {
  250 + background: #696969;
  251 +}
  252 +
  253 +.footer {
  254 + text-align: center;
  255 + color: #555;
  256 + line-height: 16px;
  257 + font-size: 0.35rem;
  258 + box-shadow: none;
  259 + position: relative;
  260 + top: 5.3rem;
  261 +}
  262 +
  263 +.mask {
  264 + background: rgba(0, 0, 0, 0.8);
  265 + position: absolute;
  266 + left: 0;
  267 + right: 0;
  268 + top: 0;
  269 + bottom: 0;
  270 + height: 41rem;
  271 + z-index: 999;
  272 + display: none;
  273 +}
  274 +
  275 +.mask .wx-img1 {
  276 + width: 7rem;
  277 + height: 2rem;
  278 + background: url(//cdn.yoho.cn/yohocn/160315/images/wx-img1.png) no-repeat;
  279 + background-size: contain;
  280 + position: fixed;
  281 + top: 0.4rem;
  282 + right: 1rem;
  283 +}
  284 +
  285 +.mask .wx-img2 {
  286 + width: 16rem;
  287 + height: 9rem;
  288 + background: url(//cdn.yoho.cn/yohocn/160315/images/wx-img2.png) no-repeat;
  289 + background-size: cover;
  290 + position: absolute;
  291 + bottom: 4rem;
  292 + right: 50%;
  293 + margin-right: -8rem;
  294 +}
  295 +
  296 +.mask .wx-img3 {
  297 + width: 16rem;
  298 + height: 16rem;
  299 + background: url(//cdn.yoho.cn/yohocn/160315/images/wx-img3.png) no-repeat;
  300 + background-size: cover;
  301 + position: absolute;
  302 + top: 2rem;
  303 + right: 50%;
  304 + margin-right: -7.7rem;
  305 + display: none;
  306 +}
@@ -153,6 +153,7 @@ @@ -153,6 +153,7 @@
153 background-size: contain; 153 background-size: contain;
154 } 154 }
155 .float-layer { 155 .float-layer {
  156 + opacity: 0;
156 height: 128px; 157 height: 128px;
157 background: rgba(68, 68, 68, 0.95); 158 background: rgba(68, 68, 68, 0.95);
158 position: fixed; 159 position: fixed;
@@ -6,9 +6,6 @@ @@ -6,9 +6,6 @@
6 overflow: hidden; 6 overflow: hidden;
7 7
8 &.iswechat { 8 &.iswechat {
9 - position: fixed;  
10 - top: 0;  
11 - left: 0;  
12 width: 100%; 9 width: 100%;
13 height: 90px; 10 height: 90px;
14 line-height: 90px; 11 line-height: 90px;
@@ -24,23 +24,25 @@ @@ -24,23 +24,25 @@
24 24
25 .brand { 25 .brand {
26 float: left; 26 float: left;
27 - width: 158px;  
28 - height: 174px;  
29 - border-right: 1px solid #e0e0e0;  
30 - border-top: 1px solid #e0e0e0; 27 + background-color: #e0e0e0;
  28 + width: 160px;
  29 + height: 160px;
31 overflow: hidden; 30 overflow: hidden;
  31 + padding: 1PX 1PX 0 0;
  32 +
  33 + &:nth-child(4n + 1) {
  34 + padding: 1PX 0 0 0;
  35 + }
32 36
33 .brand-logo { 37 .brand-logo {
34 - display: table-cell;  
35 - width: 158px;  
36 - height: 128px;  
37 - line-height: 128px; 38 + width: 100%;
  39 + height: 100%;
38 text-align: center; 40 text-align: center;
39 font-size: 0; 41 font-size: 0;
40 vertical-align: middle; 42 vertical-align: middle;
41 43
42 img { 44 img {
43 - max-width: 100%; 45 + width: 100%;
44 height: 100%; 46 height: 100%;
45 } 47 }
46 } 48 }
@@ -65,9 +67,8 @@ @@ -65,9 +67,8 @@
65 67
66 .more { 68 .more {
67 float: left; 69 float: left;
68 - width: 317px;  
69 - height: 174px;  
70 - border-top: 1px solid #e0e0e0; 70 + width: 320px;
  71 + height: 160px;
71 overflow: hidden; 72 overflow: hidden;
72 73
73 a { 74 a {
@@ -539,6 +539,7 @@ @@ -539,6 +539,7 @@
539 line-height: 90px; 539 line-height: 90px;
540 background-image: linear-gradient(#323232, #414141); 540 background-image: linear-gradient(#323232, #414141);
541 overflow: hidden; 541 overflow: hidden;
  542 + position: relative;
542 543
543 .iconfont { 544 .iconfont {
544 color: #fff; 545 color: #fff;
@@ -126,6 +126,7 @@ @@ -126,6 +126,7 @@
126 } 126 }
127 127
128 .float-layer { 128 .float-layer {
  129 + opacity: 0;
129 height: 44PX; 130 height: 44PX;
130 background: rgba(68, 68, 68, 0.95); 131 background: rgba(68, 68, 68, 0.95);
131 position: fixed; 132 position: fixed;