coupon-secend/js/script.js

378 lines
14 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

jQuery(function ($) {
// 轮播
if ($('.banner-swiper').length) {
var bannerSwiper = new Swiper('.banner-swiper', {
loop: true,//开启循环播放
autoplay: {//开启自动播放
delay: 3000,
disableOnInteraction: false,//触摸后不会停止自动滚动
pauseOnMouseEnter: true,//鼠标置于swiper时暂停自动切换鼠标离开时恢复自动切换。
}
})
}
// 抽奖
var turntableFlag = true;
if ($('.pointer').length) {
// 开始抽奖
$('body').on('click', '.pointer', function () {
if (turntableFlag) {
turntableFlag = false;
if ($('.pointer').hasClass('pointer-handle')) {
return false;
}
$('.pointer').addClass('pointer-handle');
$.post('/coupon/getResult', function (res) {
if (res.code === 0) {
let couponPosition = 0;
let btnMsg = res.data.position === 0 ? '关闭' : '收入卡包';
let notice = res.data.msg;
switch (res.data.position) {
case 0:
couponPosition = 360 * 4 - 120;
break;
case 1:
couponPosition = 360 * 4 - 60;
break;
case 2:
couponPosition = 360 * 4 - 180;
break;
case 3:
couponPosition = 360 * 4 - 240;
break;
case 4:
couponPosition = 360 * 4 - 300;
break;
case 5:
couponPosition = 360 * 4;
break;
}
$('.turntable').css({transition: 'all 3s'});
$('.turntable').css({transform: 'rotate(' + couponPosition + 'deg)'});
$('.tips-btn').text(btnMsg);
$('.tips-msg').text(notice);
setTimeout(function () {
showMsg();
}, 3000)
} else if (res.code === 6001) {
window.location.href = '/login/index';
} else {
if (res.code === 4028) {
turntableFlag = true;
} else {
$('.tips-btn').text('关闭');
showMsg(res.msg);
}
}
// console.log(res, '结果');
// $('.pointer').removeClass('pointer-handle');
});
setTimeout(function () {
$('.pointer').removeClass('pointer-handle');
turntableFlag = true;
}, 3000)
}
});
// 关闭弹窗
$('.tips-btn-game').click(function () {
$('.turntable').css({transition: 'all 0s'});
$('.turntable').css({transform: 'rotate(0)'});
closeMsg();
turntableFlag = true;
});
}
function showMsg(msg = '') {
if (msg !== '') {
$('.tips-msg').text(msg);
}
$('.pull-bg').addClass('show');
$('.result-tips').addClass('show');
}
function closeMsg() {
$('.pull-bg').removeClass('show');
$('.result-tips').removeClass('show');
}
$('.tips-btn').click(function () {
closeMsg();
});
let lon = '';
let lat = '';
let addr = '';
// 打开导航弹窗
if($('.navigation-btn').length){
//打开弹窗
$('body').on('click','.navigation-btn',function(){
// debugger;
lon = $(this).data('lon');
lat = $(this).data('lat');
addr = $(this).data('addr');
console.log(lon,'lon')
console.log(lat,'lat')
console.log(addr,'addr')
$('.pull-bg').addClass('show');
$('.navigation-box').addClass('show');
});
}
// 开始导航
if($('.navigation-box').length){
// console.log(`https://apis.map.qq.com/uri/v1/marker?marker=coord:${lat},${lon};addr:${addr};&referer=webtest`, '腾讯地图');
// console.log(`http://api.map.baidu.com/marker?location=${lat},${lon}&title=${addr}&output=html`, '百度地图');
// console.log(`https://uri.amap.com/marker?position=${lon},${lat}&name=${addr}`, '高德地图');
// 腾讯地图
$('.tx-navigation').click(function(){ // (lng,lat)
window.open(`https://apis.map.qq.com/uri/v1/marker?marker=coord:${lat},${lon};addr:${addr};&referer=webtest`)
});
// 百度地图
$('.bd-navigation').click(function(){ // (lng,lat)
window.open(`http://api.map.baidu.com/marker?location=${lat},${lon}&title=${addr}&output=html`)
});
// 高德地图
$('.gd-navigation').click(function(){ // (lat,lng)
window.open(`https://uri.amap.com/marker?position=${lon},${lat}&name=${addr}`)
});
}
// 关闭导航弹窗
if($('.pull-bg-navigation,.pull-bg').length){
$('.pull-bg-navigation,.pull-bg').click(function(){
$('.pull-bg').removeClass('show');
$('.navigation-box').removeClass('show');
});
}
// 领券
if ($('.card-btn').length) {
// 打开弹窗
$('body').on('click', '.card-btn',function () {
$('.pull-bg').addClass('show');
$('.collect-coupons').addClass('show');
});
// 关闭弹窗
$('.pull-bg, .code-btn').click(function () {
$('.pull-bg').removeClass('show');
$('.collect-coupons').removeClass('show');
});
}
// 使用卡券
if ($('.use-btn').length) {
// 打开弹窗
$('body').on('click', '.use-btn',function () {
$('.pull-bg').addClass('show');
$('.card-window').addClass('show');
});
// 关闭弹窗
$('.pull-bg, .code-btn').click(function () {
$('.pull-bg').removeClass('show');
$('.card-window').removeClass('show');
});
}
// 复制完整券码
if ($('.copy-btn').length) {
$('body').on('click','.copy-btn',function () {
var copyText = $(this).find('em').text(); //获取对象
var oInput = document.createElement('input');//创建一个input标签
oInput.value = copyText;//设置value属性
document.body.appendChild(oInput);//挂载到body下面
oInput.select(); // 选择对象
document.execCommand("Copy"); // 执行浏览器复制命令
oInput.className = 'oInput';
oInput.style.display = 'none';
$('.pull-bg').addClass('show');
$('.copy-tips').addClass('show');
setTimeout(function () {
$('.pull-bg').removeClass('show');
$('.copy-tips').removeClass('show');
}, 1000)
})
}
// 入口判断
if ($('.game-entry').length) {
function checkTime(t) {
return t >= 10 ? t : "0" + t;
}
$('.game-entry').click(function () {
let t = $(this).data('time');
let now = new Date();
let nowTime = checkTime(now.getHours()) + ':' + checkTime(now.getMinutes());
// console.log(t, '活动时间')
// console.log(nowTime, '当前时间')
if (nowTime < t) {
showMsg('活动还未开始');
return false;
}
})
}
// 定义state
var state = true;
var page = 2;
// 查询数据
function getData(url){
let keyword = $('.search-keyword').val();
let areaId = $('.search-area').val();
areaId = areaId ? areaId : 0;
console.log(areaId,'sss');
$.get('/coupon/businessList.html?area_id='+areaId+'&page='+page+'&keyword='+keyword, function (res) {
if (res.code !== 0) {
showMsg(res.mag);
return false;
}
state = true;
let html = ``;
if (res.data.list.length > 0) {
res.data.list.forEach(function (item, index) {
html += `
<div class="item radius50 border-box flex">
<div class="img radius40">
<a href="/coupon/businessInfo.html?id=${item.id}"><img src="${item.cover}" alt="${item.name}"></a>
</div>
<div class="txt">
<a href="/coupon/businessInfo.html?id=${item.id}">
<h2 class="font30 clips1">${item.name}</h2>
<p class="font24 color-86 clips2">${item.address}</p>
</a>
<div class="navigation-btn font24 color-ff background-f35 radius25 flex" data-lon="${item.lon}" data-lat="${item.lat}" data-addr="${item.name}">立即导航</div>
</div>
</div>
`;
});
if (page === 1) {
$('.business-list').html(html);
} else {
$('.business-list').append(html);
}
page++;
} else {
state = false;
if (page === 1) {
$('.business-list').html(html);
} else {
$('.business-list').append(html);
}
$('.bottom-msg').css('display', 'block');
setTimeout(function () {
$('.bottom-msg').css('display', 'none');
},1500)
}
})
}
// 触底
if($('.business-body').length){
$(window).scroll(function () {
var scrollTop = $(window).scrollTop();
var windowHeight = $(window).height();
var scrollHeight = $(document).height()-50;
// console.log(scrollTop + windowHeight,scrollHeight);
if (scrollTop + windowHeight > scrollHeight) {
if(state){
//此处是滚动条到底部时候触发的事件,在这里写要加载的数据,或者是拉动滚动条的操作
// console.log("到底了,发起请求");
state = false;
getData();
}
}
});
// 点击搜索
$('.business-search').click(function () {
// 获取数据
page = 1;
getData();
return false;
});
// 表单搜索
$('.search-form').on('submit',function(){
// 获取数据
page = 1;
getData();
return false;
})
}
if($('.bind-btn').length){
$('.bind-btn').click(function () {
$.post('/login/bind', {phone: $('#bind-phone').val()}, function (res) {
if (res.code !== 0) {
showMsg(res.msg)
return false;
}
window.location.href=res.data.url;
})
})
}
// 图片上传
if($('.file-input').length){
$('.file-input').on('change', function(e) {
var imgFile = []; //文件流
var imgSrc = []; //图片路径
var imgName = []; //图片名字
var imgSize = this.files[0].size;
if (imgSize > 1024 * 1024 * 1) { //1M
return alert("上传图片不能超过1M");
};
if (this.files[0].type != 'image/png' && this.files[0].type != 'image/jpeg' && this.files[0].type != 'image/gif') {
return alert("图片上传格式不正确");
}
var imgBox = $(this).parents(".img");;
var fileList = this.files;
for (var i = 0; i < fileList.length; i++) {
if(imgSrc.length < 1) { //判断多图上传只显示前几个,直到一共四个图片
var imgSrcI = getObjectURL(fileList[i]);
imgName.push(fileList[i].name);
imgSrc.push(imgSrcI);
imgFile.push(fileList[i]);
if (imgFile.length > 1) { //显示上传按钮
$('.content-img .file').hide();
}
}
}
// 动态添加html元素
addNewContent(imgBox,imgSrc);
this.value = null; //允许上传相同图片
});
// 图片展示
function addNewContent(imgBox,imgSrc) {
if(imgBox.find('.upload-img').length){
imgBox.find('.upload-img').remove();
}
for (var a = 0; a < imgSrc.length; a++) {
var picHtml = '<div class="upload-img radius20 border-box"><img src="' + imgSrc[a] + '" alt=""></div>';
$(imgBox).prepend(picHtml);
}
}
// 建立可存取到file的url
function getObjectURL(file) {
var url = null;
if (window.createObjectURL != undefined) { // basic
url = window.createObjectURL(file);
} else if (window.URL != undefined) { // mozilla(firefox)
url = window.URL.createObjectURL(file);
} else if (window.webkitURL != undefined) { // webkit or chrome
url = window.webkitURL.createObjectURL(file);
}
return url;
}
}
})