362 lines
10 KiB
JavaScript
362 lines
10 KiB
JavaScript
// 节流函数
|
||
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);
|
||
},
|
||
});
|