Authored by 陈峰

merge master

@@ -38,6 +38,17 @@ let _channelPage = (req, res, data) => { @@ -38,6 +38,17 @@ let _channelPage = (req, res, data) => {
38 gender: data.gender, 38 gender: data.gender,
39 uid: _.toString(req.user.uid) 39 uid: _.toString(req.user.uid)
40 }).then(result => { 40 }).then(result => {
  41 + result.content = [{
  42 + seckill: true,
  43 + data: {
  44 + title: {
  45 + name: '限时秒抢',
  46 + title: '限时秒抢',
  47 + moreUrl: 'http://m.yohobuy.com'
  48 + }
  49 + }
  50 + }].concat(result.content);
  51 + console.log(result.content[9])
41 res.render('channel', Object.assign({}, _renderData, data, result)); 52 res.render('channel', Object.assign({}, _renderData, data, result));
42 }); 53 });
43 }; 54 };
  1 +
1 {{#content}} 2 {{#content}}
2 {{! 头部banner}} 3 {{! 头部banner}}
3 {{#if focus}} 4 {{#if focus}}
@@ -55,4 +56,8 @@ @@ -55,4 +56,8 @@
55 {{#if newUserFloor}} 56 {{#if newUserFloor}}
56 {{> resources/fresh-only}} 57 {{> resources/fresh-only}}
57 {{/if}} 58 {{/if}}
  59 + {{! 秒杀}}
  60 + {{#if seckill}}
  61 + {{> resources/seckill}}
  62 + {{/if}}
58 {{/content}} 63 {{/content}}
  1 +/**
  2 + * 秒杀页面
  3 + * @author: 陈峰<feng.chen@yoho.cn>
  4 + * @date: 2016/09/08
  5 + */
  6 +
  7 +'use strict';
  8 +const headerModel = require('../../../doraemon/models/header');
  9 +
  10 +
  11 +/**
  12 + * [秒杀列表页面]
  13 + */
  14 +const _index = (req, res, next) => {
  15 + let headerData = headerModel.setNav({
  16 + navTitle: '秒杀活动',
  17 + navBtn: true
  18 + });
  19 + let result = {};
  20 +
  21 + res.render('seckill', Object.assign({
  22 + pageHeader: headerData
  23 + }, result));
  24 +}
  25 +
  26 +module.exports = {
  27 + index: _index
  28 +}
@@ -24,6 +24,9 @@ const outlet = require(`${cRoot}/outlet`); @@ -24,6 +24,9 @@ const outlet = require(`${cRoot}/outlet`);
24 // recommend-for-you controller 24 // recommend-for-you controller
25 const recommendForYou = require(`${cRoot}/recommend-for-you`); 25 const recommendForYou = require(`${cRoot}/recommend-for-you`);
26 26
  27 +// 秒杀 controller
  28 +const seckill = require(`${cRoot}/seckill`);
  29 +
27 // routers 30 // routers
28 31
29 // /pro_136349_455445/HEARTSOFARMianMaShuJiaoXiuXianKuPS1684.html 32 // /pro_136349_455445/HEARTSOFARMianMaShuJiaoXiuXianKuPS1684.html
@@ -57,4 +60,6 @@ router.get('/outlet/activityinfo', outlet.activityList); @@ -57,4 +60,6 @@ router.get('/outlet/activityinfo', outlet.activityList);
57 router.get('/recommend-for-you/userCenter', recommendForYou.userCenter); 60 router.get('/recommend-for-you/userCenter', recommendForYou.userCenter);
58 router.get('/recommend-for-you/cart', recommendForYou.cart); 61 router.get('/recommend-for-you/cart', recommendForYou.cart);
59 62
  63 +router.get('/seckill', seckill.index); //秒杀列表页
  64 +
60 module.exports = router; 65 module.exports = router;
  1 +<nav class="nav-list">
  2 + <ul>
  3 + <li>&nbsp;</li>
  4 + <li>&nbsp;</li>
  5 + <li>测试1</li>
  6 + <li>测试2</li>
  7 + <li>测试3</li>
  8 + <li>测试4</li>
  9 + <li>测试5</li>
  10 + <li>测试6</li>
  11 + <li>测试7</li>
  12 + <li>测试8</li>
  13 + <li>测试9</li>
  14 + <li>测试10</li>
  15 + <li>&nbsp;</li>
  16 + <li>&nbsp;</li>
  17 + </ul>
  18 +</nav>
  1 +{{#data}}
  2 + {{> common/floor-header-more}}
  3 + <div class="seckill">
  4 + <div class="seckill-times">
  5 + <ul>
  6 + <li class="time-item">
  7 + <div class="normal">
  8 + <p class="time">12:00</p>
  9 + <p>已开抢</p>
  10 + </div>
  11 + <div class="selected">
  12 + <p class="time"><span>12:00</span>已开抢</p>
  13 + <p>还有商品可以继续抢购哦!</p>
  14 + </div>
  15 + </li>
  16 + <li class="time-item foucs">
  17 + <div class="normal">
  18 + <p class="time">15:00</p>
  19 + <p>抢购中</p>
  20 + </div>
  21 + <div class="selected">
  22 + <p class="time"><span>15:00</span>抢购中</p>
  23 + <p>剩余:<i class="hour">02</i><i class="minute">02</i><i class="second">02</i></p>
  24 + </div>
  25 + </li>
  26 + <li class="time-item">
  27 + <div class="normal">
  28 + <p class="time">15:00</p>
  29 + <p>即将开抢</p>
  30 + </div>
  31 + <div class="selected">
  32 + <p class="time"><span>15:00</span>即将开抢</p>
  33 + <p>距开抢:<i class="hour">02</i><i class="minute">02</i><i class="second">02</i></p>
  34 + </div>
  35 + </li>
  36 + </ul>
  37 + </div>
  38 + <div class="seckill-products">
  39 +
  40 + </div>
  41 + </div>
  42 +{{/data}}
  1 +/**
  2 + * [秒抢页面js]
  3 + * author: 陈峰<feng.chen@yoho.cn>
  4 + * date: 2016/09/08
  5 + */
  6 +
  7 +(function(){
  8 + var $ = require('yoho-jquery'),
  9 + IScroll = require('yoho-iscroll');
  10 +
  11 + iScroll = new IScroll($('.nav-list')[0], {
  12 + scrollX: true,
  13 + scrollY: false,
  14 + tap: true,
  15 + eventPassthrough: true,
  16 + preventDefault: true
  17 + });
  18 + iScroll.on('scrollStart', function () {
  19 + $('.nav-list').addClass('srolling');
  20 + });
  21 + iScroll.on('scrollEnd', function () {
  22 + if ($('.nav-list').hasClass('srolling')) {
  23 + $('.nav-list').removeClass('srolling')
  24 + iScroll.scrollTo(-200, 0, 400, IScroll.utils.ease.elastic);
  25 + }
  26 + });
  27 +
  28 +}())
@@ -24,6 +24,7 @@ @@ -24,6 +24,7 @@
24 @import "discount-list"; 24 @import "discount-list";
25 @import "left-right"; 25 @import "left-right";
26 @import "cate"; 26 @import "cate";
  27 +@import "seckill";
27 28
28 .mobile-container { 29 .mobile-container {
29 margin-left: auto; 30 margin-left: auto;
  1 +.seckill {
  2 + .seckill-times{
  3 + height: 3.4rem;
  4 + border-top: 1px solid #e0e0e0;
  5 + border-bottom: 1px solid #e0e0e0;
  6 + .time-item {
  7 + float: left;
  8 + }
  9 + }
  10 +}
1 @import "sale/index"; 1 @import "sale/index";
2 @import "detail/index"; 2 @import "detail/index";
3 @import "outlet/index"; 3 @import "outlet/index";
  4 +@import "seckill/index";
  1 +.nav-list {
  2 + width: auto;
  3 + ul {
  4 + width: auto;
  5 + overflow: hidden;
  6 + white-space: nowrap;
  7 + display: table;
  8 + li{
  9 + width: 4rem;
  10 + height: 2rem;
  11 + border: solid 1px #ccc;
  12 + display: inline-block;
  13 + }
  14 + }
  15 +}
  16 +