Authored by 毕凯

Merge branch 'hotfix/codecheck' into 'gray'

seckill-false



See merge request !1037
// 调用秒杀js
$(window).on('seckill', function(event, detailData) {
/**
* [秒抢页面js]
* author: 李靖<jing.li@yoho.cn>
* date: 2016/09/08
*/
let $ = require('yoho-jquery'),
tip = require('plugin/tip');
let seckillObj = {};
let offsetTime = 0;
let nowTime = 0;
let startTime = 0;
let endTime = 0,
diffTime = 0; // 误差时间
let dateText = 0,
newDate = 0,
newMonth = 0,
newDay = 0,
newHour = 0,
newMinus = 0;
let secKillPrice = 0;
// 隐藏折扣信息
$('.good-detail-page').addClass('hide-discount');
require('common');
seckillObj = {
el: {
iScroll: null,
currentTick: null
},
startTick: function(status, offTime) {
let that = this,
$el = this.el,
day = parseInt(offTime / (60 * 60 * 24), 10),
hour = parseInt(offTime % (60 * 60 * 24) / (60 * 60), 10),
minute = parseInt(offTime % (60 * 60) / 60, 10),
second = offTime % 60;
let $elem = status === 0 ? $('.seckill-count-num') : $('.end-time');
if (offTime >= -1) {
if (day <= 0) {
$('.day-c').addClass('hide');
}
$elem.find('.tick.day').text(that.formatNumber(day));
$elem.find('.tick.hour').text(that.formatNumber(hour));
$elem.find('.tick.minute').text(that.formatNumber(minute));
$elem.find('.tick.second').text(that.formatNumber(second));
if (offTime <= -1) { // 结束倒计时刷新状态
window.location.reload();
} else {
$el.currentTick = setTimeout(function() {
that.startTick(status, --offTime);
}, 1000);
}
}
},
formatNumber: (number) => {
if (number < 0) {
return '00';
} else if (number < 10) {
return '0' + number;
} else {
return number;
}
},
};
$(
function() {
$('#goodsDiscount').hide(); // 隐藏折扣楼层
$('.cart-bar').hide();
$('.current-price').hide();
let ajaxUrl = '/product/seckillDetail/seckillData/' + $('#productSkn').val();
let timestamp = Date.parse(new Date());
$.ajax({
type: 'GET',
url: ajaxUrl + '?tamp=' + timestamp,
success: function(data) {
// 秒杀是否结束
if (data === '' || data.status === 0 || data.status === 3) {
window.location.replace('/product/' + $('#productSkn').val() + '.html'); // 商品url改版
// $('.sold-out').hide();
// $('.cart-bar a:first').append('<a href="javascript:;" class="sold-out">已售罄</a>');
// $('.addto-cart').hide();
// $('.cart-bar').show();
// $('.current-price').show();
} else {
// 秒杀开始前
if (data.status === 1) {
$('.cart-bar').before(
'<div class="seckill-count">' +
'<div class="seckill-count-bg"></div>' +
'<div class="seckill-count-num">距秒杀开始:' +
'<span class="day-c"><i class="tick day">00</i>天</span>' +
'<i class="tick hour">00</i>时' +
'<i class="tick minute">00</i>分' +
'<i class="tick second">00</i>秒' +
'</div>' +
'</div>'
);
$('.current-price').text('¥' + data.secKillPrice).show();
$('.price-date').eq(0).append(
'<div class="seckill-time notStart">' +
'<span class="seckill-time-pic">秒杀预告</span>' +
'<span class="seckill-time-c">月日</span>' +
'</div>'
);
$('.sold-out').hide();
$('.btn-c').append('<a href="javascript:;" class="sold-out">即将开抢</a>');
$('.addto-cart').hide();
$('.cart-bar').show();
$('.current-price').show();
timeInit(data); // eslint-disable-line
}
// 秒杀进行中
if (data.status === 2) {
$('#addtoCart').off('touchstart');
let chosePanel = require('common/chose-panel-new');
let seckillData = data.secKillSku;
detailData.cartInfo.skus.forEach(
function(val) {
seckillData.forEach(
function(item) {
if (val.skuId === item.productSku) {
val.storage = item.storageNum;
}
}
);
}
);
$('#addtoCart').on('touchstart', function() {
$('.cart-bar').hide();
chosePanel.show({
data: detailData,
disableNum: true
}).then(result => {
$('.cart-bar').show();
if (result && result.sku) {
window.location.href = '/cart/index/seckill?skn=' +
$('#productSkn').val() + '&sku=' + result.sku.skuId;
}
}, () => {
$('.cart-bar').show();
});
$('.text-info').append($('.seckill-time').clone());
$('.chose-items .num').find('.clearfix').append(
'<span class="limit-num-text">限购1件</span>'
);
$('.sale-price').text('¥' + secKillPrice).show();
return false;
});
// 插入倒计时
addTimeout($('.price-date').eq(0)); // eslint-disable-line
secKillPrice = toDecimal2(data.secKillPrice); // eslint-disable-line
$('.current-price').text('¥' + secKillPrice).show();
$('.left-num').hide();
$('.btn-plus').removeClass('btn-plus');
$('.addto-cart').text('立即购买');
$('#chose-btn-sure').text('立即购买').addClass('isSecKill');
$('.cart-bar').show();
let seckillNum = 0;
for (let i = 0; i < data.secKillSku.length; i++) {
seckillNum = seckillNum + data.secKillSku[i].storageNum;
}
if (seckillNum === 0) {
$('.sold-out').hide();
$('.btn-c').append('<a href="javascript:;" class="sold-out">已售罄</a>');
$('.addto-cart').hide();
}
$('.current-price').show();
timeInit(data); // eslint-disable-line
}
}
},
error: function() {
tip.show('网络异常~');
}
});
}
);
// function seckHide() {
// $('.chose-panel .size-list ul').each(
// function() {
// hideNum = 0;
// $(this).find('li').each(
// function() {
// if ($(this).hasClass('hide')) {
// oneIndex = $(this).index() + 1;
// twoIndex = $(this).parent('ul').index() - 2;
// $('.color-list ul:eq(' + oneIndex + ') li:eq(' + twoIndex + ')').hide();
// } else {
// hideNum++;
// }
// }
// );
// if (hideNum === 0) {
// hideIndex = $(this).index() - 2;
// $('.color-list ul:first li:eq(' + hideIndex + ')').hide();
// }
// }
// );
// $('.chose-panel .color-list ul').each(
// function() {
// hideNum = 0;
// $(this).find('li').each(
// function() {
// if ($(this).hasClass('hide')) {
// oneIndex = $(this).index() + 1;
// twoIndex = $(this).parent('ul').index() - 2;
// $('.size-list ul:eq(' + oneIndex + ') li:eq(' + twoIndex + ')').hide();
// } else {
// hideNum++;
// }
// }
// );
// if (hideNum === 0) {
// hideIndex = $(this).index() - 2;
// $('.size-list ul:first li:eq(' + hideIndex + ')').hide();
// }
// }
// );
// }
function addTimeout(obj) {
obj.append(
'<div class="seckill-time seckill-time-border">' +
'<span>距结束&nbsp</span>' +
'<span class="end-time">' +
'<i class="tick day hide">00</i>' +
'<i class="tick hour">00</i>:' +
'<i class="tick minute">00</i>:' +
'<i class="tick second">00</i>' +
'</span>' +
'</div>'
);
}
// 强制保留2位小数点
function toDecimal2(num) {
let f = parseFloat(num);
if (isNaN(f)) {
return false;
}
f = Math.round(num * 100) / 100;
let s = f.toString();
let rs = s.indexOf('.');
if (rs < 0) {
rs = s.length;
s += '.';
}
while (s.length <= rs + 2) {
s += '0';
}
return s;
}
function timeInit(data) {
let status = 0;
startTime = data.startTime;
endTime = data.endTime;
diffTime = data.currentTime;
nowTime = diffTime;
if (startTime > nowTime) {
offsetTime = startTime - nowTime;
} else if (nowTime > startTime && nowTime < endTime) {
offsetTime = endTime - nowTime;
status = 1;
}
dateText = Number(data.startTime * 1000);
newDate = new Date(dateText);
newMonth = newDate.getMonth() + 1;
newDay = newDate.getDate();
newHour = newDate.getHours();
newMinus = newDate.getMinutes();
if (newMinus === 0) {
newMinus = '00';
}
$('.notStart').find('.seckill-time-c').text(newMonth + '月' + newDay + '日' + newHour + ':' + newMinus);
seckillObj.startTick(status, offsetTime);
}
$(window).on('seckill', function() {
$('.btn-c').before('<a href="https://union.yoho.cn/union/app-downloads.html" class="seckill-download-app">下载APP购买</a>');
$('.btn-c').remove();
});
// 调用秒杀js
// $(window).on('seckill', function(event, detailData) {
// /**
// * [秒抢页面js]
// * author: 李靖<jing.li@yoho.cn>
// * date: 2016/09/08
// */
// let $ = require('yoho-jquery'),
// tip = require('plugin/tip');
// let seckillObj = {};
// let offsetTime = 0;
// let nowTime = 0;
// let startTime = 0;
// let endTime = 0,
// diffTime = 0; // 误差时间
// let dateText = 0,
// newDate = 0,
// newMonth = 0,
// newDay = 0,
// newHour = 0,
// newMinus = 0;
// let secKillPrice = 0;
// // 隐藏折扣信息
// $('.good-detail-page').addClass('hide-discount');
// require('common');
// seckillObj = {
// el: {
// iScroll: null,
// currentTick: null
// },
// startTick: function(status, offTime) {
// let that = this,
// $el = this.el,
// day = parseInt(offTime / (60 * 60 * 24), 10),
// hour = parseInt(offTime % (60 * 60 * 24) / (60 * 60), 10),
// minute = parseInt(offTime % (60 * 60) / 60, 10),
// second = offTime % 60;
// let $elem = status === 0 ? $('.seckill-count-num') : $('.end-time');
// if (offTime >= -1) {
// if (day <= 0) {
// $('.day-c').addClass('hide');
// }
// $elem.find('.tick.day').text(that.formatNumber(day));
// $elem.find('.tick.hour').text(that.formatNumber(hour));
// $elem.find('.tick.minute').text(that.formatNumber(minute));
// $elem.find('.tick.second').text(that.formatNumber(second));
// if (offTime <= -1) { // 结束倒计时刷新状态
// window.location.reload();
// } else {
// $el.currentTick = setTimeout(function() {
// that.startTick(status, --offTime);
// }, 1000);
// }
// }
// },
// formatNumber: (number) => {
// if (number < 0) {
// return '00';
// } else if (number < 10) {
// return '0' + number;
// } else {
// return number;
// }
// },
// };
// $(
// function() {
// $('#goodsDiscount').hide(); // 隐藏折扣楼层
// $('.cart-bar').hide();
// $('.current-price').hide();
// let ajaxUrl = '/product/seckillDetail/seckillData/' + $('#productSkn').val();
// let timestamp = Date.parse(new Date());
// $.ajax({
// type: 'GET',
// url: ajaxUrl + '?tamp=' + timestamp,
// success: function(data) {
// // 秒杀是否结束
// if (data === '' || data.status === 0 || data.status === 3) {
// window.location.replace('/product/' + $('#productSkn').val() + '.html'); // 商品url改版
// // $('.sold-out').hide();
// // $('.cart-bar a:first').append('<a href="javascript:;" class="sold-out">已售罄</a>');
// // $('.addto-cart').hide();
// // $('.cart-bar').show();
// // $('.current-price').show();
// } else {
// // 秒杀开始前
// if (data.status === 1) {
// $('.cart-bar').before(
// '<div class="seckill-count">' +
// '<div class="seckill-count-bg"></div>' +
// '<div class="seckill-count-num">距秒杀开始:' +
// '<span class="day-c"><i class="tick day">00</i>天</span>' +
// '<i class="tick hour">00</i>时' +
// '<i class="tick minute">00</i>分' +
// '<i class="tick second">00</i>秒' +
// '</div>' +
// '</div>'
// );
// $('.current-price').text('¥' + data.secKillPrice).show();
// $('.price-date').eq(0).append(
// '<div class="seckill-time notStart">' +
// '<span class="seckill-time-pic">秒杀预告</span>' +
// '<span class="seckill-time-c">月日</span>' +
// '</div>'
// );
// $('.sold-out').hide();
// $('.btn-c').append('<a href="javascript:;" class="sold-out">即将开抢</a>');
// $('.addto-cart').hide();
// $('.cart-bar').show();
// $('.current-price').show();
// timeInit(data); // eslint-disable-line
// }
// // 秒杀进行中
// if (data.status === 2) {
// $('#addtoCart').off('touchstart');
// // 插入倒计时
// addTimeout($('.price-date').eq(0)); // eslint-disable-line
// let chosePanel = require('common/chose-panel-new');
// let seckillData = data.secKillSku;
// detailData.cartInfo.skus.forEach(
// function(val) {
// seckillData.forEach(
// function(item) {
// if (val.skuId === item.productSku) {
// val.storage = item.storageNum;
// }
// }
// );
// }
// );
// $('#addtoCart').on('touchstart', function() {
// $('.cart-bar').hide();
// chosePanel.show({
// data: detailData,
// disableNum: true
// }).then(result => {
// $('.cart-bar').show();
// if (result && result.sku) {
// window.location.href = '/cart/index/seckill?skn=' +
// $('#productSkn').val() + '&sku=' + result.sku.skuId;
// }
// }, () => {
// $('.cart-bar').show();
// });
// $('.text-info').append($('.seckill-time').clone());
// $('.chose-items .num').find('.clearfix').append(
// '<span class="limit-num-text">限购1件</span>'
// );
// $('.sale-price').text('¥' + secKillPrice).show();
// return false;
// });
// secKillPrice = toDecimal2(data.secKillPrice); // eslint-disable-line
// $('.current-price').text('¥' + secKillPrice).show();
// $('.left-num').hide();
// $('.btn-plus').removeClass('btn-plus');
// $('.addto-cart').text('立即购买');
// $('#chose-btn-sure').text('立即购买').addClass('isSecKill');
// $('.cart-bar').show();
// let seckillNum = 0;
// for (let i = 0; i < data.secKillSku.length; i++) {
// seckillNum = seckillNum + data.secKillSku[i].storageNum;
// }
// if (seckillNum === 0) {
// $('.sold-out').hide();
// $('.btn-c').append('<a href="javascript:;" class="sold-out">已售罄</a>');
// $('.addto-cart').hide();
// }
// $('.current-price').show();
// timeInit(data); // eslint-disable-line
// }
// }
// },
// error: function() {
// tip.show('网络异常~');
// }
// });
// }
// );
// // function seckHide() {
// // $('.chose-panel .size-list ul').each(
// // function() {
// // hideNum = 0;
// // $(this).find('li').each(
// // function() {
// // if ($(this).hasClass('hide')) {
// // oneIndex = $(this).index() + 1;
// // twoIndex = $(this).parent('ul').index() - 2;
// // $('.color-list ul:eq(' + oneIndex + ') li:eq(' + twoIndex + ')').hide();
// // } else {
// // hideNum++;
// // }
// // }
// // );
// // if (hideNum === 0) {
// // hideIndex = $(this).index() - 2;
// // $('.color-list ul:first li:eq(' + hideIndex + ')').hide();
// // }
// // }
// // );
// // $('.chose-panel .color-list ul').each(
// // function() {
// // hideNum = 0;
// // $(this).find('li').each(
// // function() {
// // if ($(this).hasClass('hide')) {
// // oneIndex = $(this).index() + 1;
// // twoIndex = $(this).parent('ul').index() - 2;
// // $('.size-list ul:eq(' + oneIndex + ') li:eq(' + twoIndex + ')').hide();
// // } else {
// // hideNum++;
// // }
// // }
// // );
// // if (hideNum === 0) {
// // hideIndex = $(this).index() - 2;
// // $('.size-list ul:first li:eq(' + hideIndex + ')').hide();
// // }
// // }
// // );
// // }
// function addTimeout(obj) {
// obj.append(
// '<div class="seckill-time seckill-time-border">' +
// '<span>距结束&nbsp</span>' +
// '<span class="end-time">' +
// '<i class="tick day hide">00</i>' +
// '<i class="tick hour">00</i>:' +
// '<i class="tick minute">00</i>:' +
// '<i class="tick second">00</i>' +
// '</span>' +
// '</div>'
// );
// }
// // 强制保留2位小数点
// function toDecimal2(num) {
// let f = parseFloat(num);
// if (isNaN(f)) {
// return false;
// }
// f = Math.round(num * 100) / 100;
// let s = f.toString();
// let rs = s.indexOf('.');
// if (rs < 0) {
// rs = s.length;
// s += '.';
// }
// while (s.length <= rs + 2) {
// s += '0';
// }
// return s;
// }
// function timeInit(data) {
// let status = 0;
// startTime = data.startTime;
// endTime = data.endTime;
// diffTime = data.currentTime;
// nowTime = diffTime;
// if (startTime > nowTime) {
// offsetTime = startTime - nowTime;
// } else if (nowTime > startTime && nowTime < endTime) {
// offsetTime = endTime - nowTime;
// status = 1;
// }
// dateText = Number(data.startTime * 1000);
// newDate = new Date(dateText);
// newMonth = newDate.getMonth() + 1;
// newDay = newDate.getDate();
// newHour = newDate.getHours();
// newMinus = newDate.getMinutes();
// if (newMinus === 0) {
// newMinus = '00';
// }
// $('.notStart').find('.seckill-time-c').text(newMonth + '月' + newDay + '日' + newHour + ':' + newMinus);
// seckillObj.startTick(status, offsetTime);
// }
// });
// 调用新商品详情页js
require('./new-detail');
... ...
... ... @@ -1174,6 +1174,17 @@ $basicBtnC: #eb0313;
display: none;
}
}
.seckill-download-app {
width: 260px;
height: 80px;
line-height: 80px;
font-size: 30px;
text-align: center;
vertical-align: middle;
background-color: #eb0313;
color: #fff;
}
}
.store-good {
... ...