var root = null;
var user = {};
var query = {};
var product = {};
init()
function init() {
window.root = getRootPath();
parseQueryParms();
$("#useraccount_tt").attr("value", getUrlParam("freeflow_token"));
var param = {
"fes": getUrlParam('fes'),
"sou": getUrlParam('sou'),
}
var def = $.Deferred();
$.ajax({
url: root + "-s1api" + "/ini/getstyle",
type: "POST",
contentType: "application/json",
data: JSON.stringify(param),
timeout: 10000
}).then(function(responseText) {
var response = JSON.parse(responseText);
if (response.resultCode != "0000") {
// window.location.href = window.root + "/404.html";
// def.reject();
// return def;
}
add()
if (response.product[0].productid == '2020010201' || response.product[0].productid == '2022071807') {
product = response.product[0];
} else {
product = response.product[1];
}
// for (i = 0; i < response.product.length; i++) {
// products[response.product[i].productid] = response.product[i]
// }
// $("#fog_" + product.url).attr("value", product.fog);
// var smslist = product.icon.split(",");
// for (var i = 0; i < smslist.length; i++) {
// if (i == 0) {
// $("#sendsms_order_" + product.url).attr("value", smslist[i]);
// }
// if (i == 1) {
// $("#sendsms_cancel_" + product.url).attr("value", smslist[i]);
// }
// if (i == 2) {
// $("#sendsms_yuyue_" + product.url).attr("value", smslist[i]);
// }
// }
// def.resolve(response);
}, function(jqXHR, textStatus, errorThrown) {
if (textStatus === "timeout") {
// window.location.href = getRootPath() + "/hot.html?cb=" + encodeURIComponent(window.location.href);
}
})
return def;
}
function add() {
var $container = $('.sms-form').find('.form-group');
$container.find('.sendcode').unbind('click').on('click', function() {
sendSms($container, 'login');
})
$container.find('.login').unbind('click').on('click', function() {
showLoading();
checkCode($container).done(function(response) {
var url = getQueryString('redirectUrl')
// console.log(url)
// console.log(decodeURIComponent(url))
// console.log(response)
window.location.href = decodeURIComponent(url) + '&userid=' + response.userid + '&usermob=' + response.usermob;
}).fail(function(data) {
hideLoading();
})
})
}
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null;
}
function hideLoading($loading) {
if ($loading) {
$loading.trigger('close');
return;
} else if (window.$loading) {
window.$loading.trigger('close');
return;
}
}
function showLoading(message) {
if (window.$loading) {
window.$loading.trigger('close');
}
$("body").css('overflow', 'hidden');
var msg = (message || '处理中,请稍后...');
var $overlay = $('
');
var $loading = $(
'');
$overlay.appendTo($(document.body))
$loading.appendTo($(document.body))
$loading.on('close', function() {
$("body").css('overflow', 'auto');
$overlay.remove();
$loading.remove();
$loading = null;
})
window.$loading = $loading;
return $loading;
}
function sendSms($container, smstype, currentProduct) {
var def = $.Deferred();
if ($container.attr('n') != null && $container.attr('n') > 0) {
return;
}
var usermob = $container.find('.usermob').val();
if (usermob == null || usermob.trim() == "") {
showAlert('请输入联通手机号码');
def.reject();
return def;
}
if (!usermob.startsWith("1") || usermob.length != 11) {
showAlert('手机号码格式不正确');
def.reject();
return def;
}
var param = {
"fes": getUrlParam('fes'),
"sou": getUrlParam('sou'),
"fog": product.fog,
"usermob": usermob,
"smstype": smstype
}
user.usermob = usermob
var count = 60;
$container.attr('n', count);
$.ajax({
url: root + "-s1api" + '/sms/send',
type: "POST",
contentType: "application/json",
data: JSON.stringify(param)
}).then(function(response) {
if (response.resultCode != "0000") {
count = 0;
$container.attr('n', count);
showAlert(response.errorInfo);
return;
}
var $sendcode = $container.find('.sendcode')
var template = '{}s'
if ($sendcode.is('input')) {
$sendcode.val(template.replace('{}', count));
} else {
$sendcode.text(template.replace('{}', count));
}
$sendcode.addClass('sendcode-wait');
var timer = setInterval(function() {
count -= 1;
$container.attr('n', count);
if ($sendcode.is('input')) {
$sendcode.val(template.replace('{}', count));
} else {
$sendcode.text(template.replace('{}', count));
}
if (count === 0) {
clearInterval(timer);
if ($sendcode.is('input')) {
$sendcode.val('获取验证码');
} else {
$sendcode.text('获取验证码');
}
$container.attr('n', count);
$sendcode.removeClass('sendcode-wait');
}
}, 1000);
try {
window.HtmlPageVisitor && window.HtmlPageVisitor.setMp(user.usermob);
} catch (e) {}
})
}
function checkCode($container, keepUserInfo) {
var def = $.Deferred();
var usermob = $container.find('.usermob').val();
var smscode = $container.find('.smscode').val();
if (keepUserInfo == null) keepUserInfo = false;
if (usermob == null || usermob.trim() == "") {
showAlert('请输入联通手机号码');
def.reject()
return def;
}
if (smscode == null || smscode.trim() == "") {
showAlert('请输入验证码');
def.reject()
return def;
}
if (smscode.length != 6) {
showAlert('短信验证码不正确');
def.reject()
return def;
}
var param = {
"fes": getUrlParam('fes'),
"sou": getUrlParam('sou'),
"fog": product.fog,
"code": smscode,
"usermob": usermob,
}
$.ajax({
url: root + "-s1api" + '/checkvercode',
type: "POST",
contentType: "application/json",
data: JSON.stringify(param)
}).then(function(response) {
$container.find('.smscode').val('')
switch (response.resultCode) {
case "0000":
user.userid = response.userid;
user.usermob = usermob;
user.usertime = new Date().getTime();
if (!keepUserInfo) {
$container.find('.usermob').val('')
$container.find('.usermob').val('')
}
def.resolve(response);
break;
default:
showAlert(response.errorInfo)
def.reject(response);
break;
}
}).fail(function(error) {
def.reject('服务调用异常')
})
return def;
}
function showAlert(message, hideButton, buttonLabel, hideTitle) {
var title = '';
if (hideTitle == undefined || hideTitle == false) {
title = '温馨提示';
}
var $overlay = $('');
var $dialog = $(
'' +
'
' + title + '
' +
'
' + message + '
' +
'
' +
'
' + (buttonLabel == null || buttonLabel == "" ? "关闭" : buttonLabel) + '
' +
'
' +
'
');
$("body").css("overflow", "hidden");
$overlay.appendTo($(document.body));
$dialog.appendTo($(document.body));
if (hideButton == true) {
$dialog.find('.btn').remove();
}
$dialog.close = function() {
$("body").css("overflow", "auto");
$overlay.remove();
$dialog.remove();
$dialog = null;
}
var def = $.Deferred();
$dialog.find('.btn').on('click', function() {
$dialog.close()
def.resolve($dialog);
})
return def;
}
function getRootPath() {
//获取当前网址,如: http://localhost:8080/ems/Pages/Basic/Person.jsp
var curWwwPath = window.document.location.href;
//获取主机地址之后的目录,如: /ems/Pages/Basic/Person.jsp
var pathName = window.document.location.pathname;
var pos = curWwwPath.indexOf(pathName);
//获取主机地址,如: http://localhost:8080
var localhostPath = curWwwPath.substring(0, pos);
//获取带"/"的项目名,如:/ems
var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1);
root = (localhostPath + projectName);
return (localhostPath + projectName);
}
function getUrlParam(urlprm) {
var reg = new RegExp("(^|&)" + urlprm + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) {
return r[2];
}
}
function parseQueryParms() {
var QUERY_SEPARATOR = '&',
VALUE_SEPARATOR = '=';
var queryStr = window.location.search.substring(1);
var startIndex = 0,
vIndex, qIndex;
while (queryStr.length > 0) {
vIndex = queryStr.indexOf(VALUE_SEPARATOR, startIndex);
if (vIndex == -1) {
break;
}
qIndex = queryStr.indexOf(QUERY_SEPARATOR, vIndex + 1);
if (qIndex == -1) {
qIndex = queryStr.length;
}
var key = queryStr.substring(startIndex, vIndex);
var value = queryStr.substring(vIndex + 1, qIndex);
query[key] = decodeURIComponent(value);
startIndex = qIndex + 1;
}
}