// 节流函数 function throttle(handle, wait) { let lastTime = 0; return function (e) { let nowTime = new Date().getTime() if (nowTime - lastTime > wait) { handle(); lastTime = nowTime; } } } /* ................... 防抖函数 ................... */ function debounce(func, delay) { let timeout return function () { clearTimeout(timeout) // 如果持续触发,那么就清除定时器,定时器的回调就不会执行。 timeout = setTimeout(() => { func.apply(this, arguments) }, delay) } } /* .................. 获取链接参数 .................. */ function getUrlData(name) { var query = window.location.search.substring(1); var vars = query.split("&"); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); if (pair[0] == name) { return decodeURI(pair[1]); } } return (false); } if (getUrlData("btn") && getUrlData("btn") === "index") { sessionStorage.setItem("agent", "index"); } var channel = "PC端"; if (window.navigator && (/Mobile|Android|webOS|iPhone|iPad|Phone/i.test(navigator.userAgent))) { channel = "移动端"; } // 按钮位置和当前链接 var btnPosition = "代理页面按钮"; var curLink = sessionStorage.getItem("currentLink") || tool.getCookie("currentLink"); if (curLink == "") { curLink = link; } var vm = new Vue({ el: "#app", data: { tel: '', i: 2, aboutFix: "", activeIndex: 2, solveSwiper: "", teleManaI: 2, sscManaI: 1, codeText: '获取验证码', count: 30, timer: null, tel: "", cityValue: "", city: "", com: "", typec: "代理页面", telCodeStatus: false, codeStatus: false, telTips: "", codeTips: "", comTips: "", cityTips: "", buttonAble: false, code: "", state: "0", right: "", imgScrollFlag: null, }, mounted() { if (screen.availWidth !== 1280 && window.devicePixelRatio !== 1.5) { new WOW().init(); }; this.allSwiper() window.addEventListener("scroll", this.aboutFixClass) // this.imgScroll() }, mixins: [mixins], methods: { aboutFixClass() { if ( !!document.documentElement.scrollTop && document.documentElement.scrollTop > 200 || document.body.scrollTop > 200 ) { this.headerCss = false this.aboutFix = "about-fix"; } else { this.aboutFix = ""; } }, imgScroll() { let _this = this; var dome = document.querySelector(".agent-industry-box"); var dome1 = document.querySelector(".agent-industry-box1"); var dome2 = document.querySelector(".agent-industry-box2"); var speed = 10;//设置向上轮动的速度 dome2.innerHTML = dome1.innerHTML;//复制节点 function moveTop() { if (dome2.offsetWidth - dome.scrollLeft <= 0) { dome.scrollLeft -= dome1.offsetWidth } else { dome.scrollLeft++; } } this.imgScrollFlag = setInterval(moveTop, speed); dome.onmouseover = function () { clearInterval(_this.imgScrollFlag); } dome.onmouseout = function () { _this.imgScrollFlag = setInterval(moveTop, speed); } }, solveTab(i) { this.i = i; var j = i - 1; this.solveSwiper.slideTo(j, 1000, false); }, teleMana(i) { this.teleManaI = i; }, sscTab(i) { this.sscManaI = i; }, allSwiper() {//swiper if (screen.width <= 768) { //名企证言轮播 var comSwiper = new Swiper('.com-swiper', { initialSlide: 1,//初始化时slide的索引 slidesPerView: 'auto', slideToClickedSlide: true, centeredSlides: true, loop: true, // 循环模式选项 autoplay: { delay: 3000, disableOnInteraction: false }, pagination: { el: '.swiper-pagination', clickable: true, } }) } else { new Swiper('.com-swiper', { // initialSlide: 1,//初始化时slide的索引 slidesPerView: 3, // spaceBetween: 30, slideToClickedSlide: true, centeredSlides: true, loop: true, // 循环模式选项 autoplay: { delay: 3000, disableOnInteraction: false }, pagination: { el: '.swiper-pagination', clickable: true, } }) } }, verifyTel: debounce(function () { var RegExp = /^1[3-9][0-9]{9}$/; if (vm.tel.trim() == "") { vm.telTips = "请输入您的手机号"; vm.telCodeStatus = false; } else if (!RegExp.test(vm.tel.trim())) { vm.telTips = "请输入正确的手机号码"; vm.telCodeStatus = false; } else { vm.telTips = ""; vm.telCodeStatus = true; } }, 500), getCode: throttle(function () { btnPosition = "代理页面立即加入按钮" var RegExp = /^1[3-9][0-9]{9}$/; if (vm.tel.trim() == "") { Swal.fire({ title: '请输入您的手机号', showConfirmButton: false, timer: 1500 }) return false } else if (!RegExp.test(vm.tel.trim())) { Swal.fire({ title: '请输入正确的手机号码', showConfirmButton: false, timer: 1500 }) } else { vm.tips = "";// 验证通过 vm.timer = setInterval(() => { if (vm.count > 0 && vm.count <= 30) { vm.buttonAble = true vm.count-- vm.codeText = vm.count + "秒后重新获取" } else { vm.buttonAble = false; vm.codeText = "获取验证码" clearInterval(vm.timer); vm.timer = null; vm.count = 30; } }, 1000); $.ajax({ url: "/apply/apply-code.php", type: "post", data: { tel: vm.tel, btn: btnPosition, curLink: curLink, protype: vm.typec, sourceLink: sourceUrl, website_keywords: website_keywords,// 关键词 channel: channel }, success: function (res) { if (res == "toomuch") { alert("请匆频繁提交!感谢您的理解和合作,可通过在线客服或电话与我们取得联系。") return } console.log("第一步推送成功!"); } }); vm.actionId = vm.tel + "-" + Math.floor(Math.random() * 1000000); $.ajax({ url: "/api/sendMsg.php", type: 'POST', data: { telNum: vm.tel, actionId: vm.actionId, info: 'holly.400', time: new Date().getTime(), actionName: "呼叫中心站试用申请", verifyCode: "" }, success: function (res) { if (res.state == "sent") {//发送验证码成功,并且成功写入数据库,返回sent return (vm.codeTips = "验证码已发送,请注意查收"); } else {//其他不成功的情况 return (vm.codeTips = "发送失败,请稍后再试"); } } }); } }, 1500), verifyCode: debounce(function (event) { if (vm.tel == "") { vm.codeStatus = false; return (vm.telTips = "请输入手机号码"); } else if (event.target.value == "") { vm.codeStatus = false; return (vm.codeTips = "请输入验证码"); } else if (event.target.value.length != 4) { vm.codeStatus = false; return (vm.codeTips = "请输入正确的验证码"); } else { vm.codeTips = "" } $.ajax({ url: "/api/verifyMsg.php", type: 'post', data: { telNum: vm.tel, actionId: vm.actionId, actionName: "呼叫中心站试用申请", code: vm.code }, success: function (res) { if (res.state == "vSucceed") { $("#tel").attr({ readonly: "readonly" }); $("#getCode").attr({ disabled: "true" }); vm.$data.right = true; vm.$data.codeTips = "验证码验证成功"; setTimeout(() => { vm.$data.codeTips = ""; vm.codeStatus = true; }, 500); } else if (res.state == "vFail") { event.target.focus(); vm.$data.right = false; vm.codeStatus = false; return (vm.$data.codeTips = "验证码错误,请重试"); } } }); }, 1500), verifyCom: debounce(function () { if (vm.com.trim() == "") { vm.comTips = "请输入您的公司名称"; } else { vm.comTips = ""; } }, 1500), verify: function () { btnPosition = "代理页面立即加入按钮" var mobilePattern = /^1[3-9][0-9]{9}$/; if (vm.tel.trim() == "") { Swal.fire({ title: '请输入您的手机号', showConfirmButton: false, timer: 1500 }) return false; } else if (!mobilePattern.test(vm.tel.trim())) { Swal.fire({ title: '请输入正确的手机号码', showConfirmButton: false, timer: 1500 }) return false; } else if (vm.code.trim() == "") { Swal.fire({ title: '请输入验证码', showConfirmButton: false, timer: 1500 }) return false; } else if (vm.code.trim().length != 4) { Swal.fire({ title: '请输入正确的验证码', showConfirmButton: false, timer: 1500 }) return false; } else if (!vm.right) { Swal.fire({ title: '请输入正确的验证码', showConfirmButton: false, timer: 1500 }) return false; } else if (vm.com.trim() == "") { Swal.fire({ title: '请输入公司名', showConfirmButton: false, timer: 1500 }) return false; } else { vm.tips = ""; tool.setCookie("applyTel", vm.tel, 1); tool.setCookie("applyCom", vm.com, 1); tool.setCookie("applyCity", vm.city, 1); if (channel === "移动端") { document.agent_mobile.submit(); } else { document.agent.submit(); } } } }, beforeDestroy() { clearInterval(_this.imgScrollFlag); }, });