coupon-secend/js/script.js

378 lines
14 KiB
JavaScript
Raw Normal View History

2022-10-01 10:03:46 +00:00
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;
}
}
})