if(staticContextPath){ var path = contextPath; var runtimePath = runtimePath; }else{ var pathName = document.location.pathname; var index = pathName.substr(1).indexOf("/"); var contextPath = pathName.substr(0, index + 1); //配置runtime的项目路径 var runtimePath = "/obpm"; //这里配置项目路径 var myContextPath = ""; if (myContextPath) { contextPath = myContextPath; } var path = contextPath; } var Api = { loginWithCiphertext2: function (data) { return $.ajax({ url: path + "/runtime/login/loginWithCiphertext2", type: 'post', async: false, dataType: 'json', contentType: 'application/json', data: JSON.stringify(data) }) }, checkin: function (data) { return $.ajax({ url: path + "/runtime/login/checkin", type: 'post', async: false, dataType: 'json', contentType: 'application/json', data: JSON.stringify(data) }) }, signin: function (data) { return $.ajax({ url: path + "/runtime/login/signin", type: 'post', async: false, dataType: 'json', contentType: 'application/json', data: JSON.stringify(data) }) }, autoLogin :function(){ return $.ajax({ url: path + "/runtime/login/autologin", type: 'post', async: false, dataType: 'json', contentType: 'application/json' }) }, getDomainList : function () { return $.ajax({ url: path +"/runtime/login/getDomainList", type: 'post', async: false, dataType: 'json', contentType: 'application/json' }) }, changeCheckcodeImg : function () { return $.ajax({ url: path +"/runtime/login/changeCheckcodeImg", type: 'post', async: false, dataType: 'json', contentType: 'application/json' }) }, getMultiLangWordList : function (data) { return $.ajax({ url: path + "/runtime/login/getMultiLangWordList", type: 'post', async: false, dataType: 'json', data: JSON.stringify(data), contentType: 'application/json' }) } }; function GetQueryString(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg);//search,查询?后面的参数,并匹配正则 if(r!=null)return unescape(r[2]); return null; } function QueryString(){ var query = window.location.search.substring(); if(query.indexOf("?")>=0){ if(query.split("?")[1].indexOf("kms")>=0){ return "kms"; }else if(query.split("?")[1].indexOf("good")>=0){ return "good"; }else if(query.split("?")[1].indexOf("vue")>=0){ return "vue"; } } return (undefined); } function getExplorer() { var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 //判断是否IE<11浏览器 var isIE11 = userAgent.indexOf('Mozilla/5.0') > -1 ; if (!isIE11) { return "noIE11"; } } var timeoutNum; function getTimeOutNum(){ var $container = $('.indexLogin') var telephone = $container.find("#telephone").val(); var domainName = $container.find("#domainList").val(); if(!telephone){ //alert("请填写手机号") $container.find(".error-tip").text("请填写手机号"); $container.find(".error-tip").show(); $('.errorMsg').text("请填写手机号"); $('#errorCon').show(); return; } $.ajax({ url: path + "/runtime/login/smsauth?telephone="+telephone+"&domainName="+domainName, type:"get", dataType:"json", async:false, success: function(data){ if(data.resultCode == 1){ $("#sendCode").attr("disabled",true).css("pointer-events","none"); timeoutNum = data.timeout; getNewTimeoutNum(1); }else{ //alert(data.msg) $container.find(".error-tip").text(data.msg); $container.find(".error-tip").show(); $('.errorMsg').text(data.msg); $('#errorCon').show(); } } }); } var interval; function getNewTimeoutNum(i){ //定时器每秒减1 if(interval) clearInterval(interval); interval = setInterval(function(){ timeoutNum = timeoutNum -i; console.log(timeoutNum); if (timeoutNum == 0) { document.getElementById("sendCode").innerHTML = "重发短信"; $("#sendCode").attr("disabled",false).css("pointer-events","auto"); clearInterval(interval) } else { document.getElementById("sendCode").innerHTML = " "+timeoutNum+" 秒后重发"; } console.log("timeoutNum="+timeoutNum) }, 1000); } //重发短信 function sendCode(){ getTimeOutNum(); } function decorator() { var debug = GetQueryString("debug"); var path; var explorer = getExplorer(); if (explorer != null && explorer.toString().length > 0){ if (debug != null){ window.location.href = path + "/portal/share/security/login.jsp?debug=true" } else { window.location.href = path + "/portal/share/security/login.jsp" } } var Login = { config: {}, container: null, init : function (container) { Login.container = container; Login._renderView(); }, _renderView : function () { var $container = $(Login.container); // Api.getMultiLangWordList().done(function (response) { // result = response; // console.log(result) // }); //判断自动登陆 Api.autoLogin().done(function (response) { result = response; if (result.resultCode == 1){ window.location.href = path + result.url; } }); Api.getMultiLangWordList({"language": "CN"}).done(function(response) { console.log("初始化多语言"); }); //获取企业域 Api.getDomainList().done(function(response) { result = response; if(result.resultCode == 0) { alert(result.msg); } else { var ipos,ListStr1,ListStr2; result= result.result; var list = result.domainList; //判断是否上传了背景图片 if(result.loginBackground){ var url = signonPath + result.loginBackground; $(".bg").find("img").attr("src",url); } var $ul = $("#domain"); if(list.length>1){ var isShowWX = false; var isShowDD = false; var dingdingDefault = false; for(var i=0;iinput[name=defaultDDType]').val(ListStr2); $('.login-fill>input[name=defaultDDName]').val(ListStr1); dingdingDefault = true; } }else if(ListStr2 == 3){ isShowWX = true; isShowDD = true; if(!dingdingDefault){ $('.login-fill>input[name=defaultDDType]').val(ListStr2); $('.login-fill>input[name=defaultDDName]').val(ListStr1); dingdingDefault = true; } } if(ListStr2 != 0){ var $li = $('
  • '+ListStr1+'
  • '); $ul.append($li); } } //判断是否超过11个企业域,超过定高度,出现滚动条,li高度32 var ulHeight = list.length*32; if(ulHeight>250){ $ul.css("height","250px"); } $('.login-fill>input[name=isShowWX]').val(isShowWX); $('.login-fill>input[name=isShowDD]').val(isShowDD); if(!isShowWX && !isShowDD){ $('.wx').hide(); $('.wx_hui').show(); $('.dd').hide(); $('.dd_hui').show(); }else if(isShowWX && isShowDD){ $('.wx').show(); $('.wx_hui').hide(); $('.dd').show(); $('.dd_hui').hide(); }else if(isShowDD){ $('.wx').hide(); $('.wx_hui').show(); $('.dd').show(); $('.dd_hui').hide(); }else if(isShowWX){ $('.wx').show(); $('.wx_hui').hide(); $('.dd').hide(); $('.dd_hui').show(); } $(".login-form-group").hide(); $(".domainLi").show(); } else { ipos = list[0].indexOf("@"); ListStr1=list[0].substring(0,ipos); //取前部分 ListStr2=list[0].substring(ipos,list[0].length).replace(/[^0-9]/ig,"");//取后部分 $("#configType").val(ListStr2); $("#domainList").val(ListStr1); if(ListStr2==0){ $('.wx').hide(); $('.wx_hui').show(); $('.dd').hide(); $('.dd_hui').show(); }else if(ListStr2==1){ $('.wx').show(); $('.wx_hui').hide(); $('.dd').hide(); $('.dd_hui').show(); }else if(ListStr2==2){ $('.wx').hide(); $('.wx_hui').show(); $('.dd').show(); $('.dd_hui').hide(); }else{ $('.wx').show(); $('.wx_hui').hide(); $('.dd').show(); $('.dd_hui').hide(); } } } }); this._bindEvent(); }, _bindEvent : function() { var $container = $(this.container); var that = this; // $container.on('change', '#pwd', function(e) { // processPassword(); // }); //登录 _loginIn = function (){ var userName = $container.find("#userName").val(); processPassword(); var pwd = $container.find("#pwdhidden").val(); //勾选了下次自动登录存储进缓存 var oldpwd = $container.find("#pwd").val(); if($("#remember").is(":checked")){ var obj = { userName : userName, userPwd : oldpwd, } if(!localStorage.getItem("userMessage")){ obj.newTime = new Date().getTime(); }else{ obj.newTime = JSON.parse(localStorage.getItem("userMessage"))[0].newTime; } var arr = []; arr.push(obj) localStorage.setItem("userMessage",JSON.stringify(arr)); }else{ localStorage.removeItem("userMessage"); } var isPC = true; if(window.pathName && window.pathName.indexOf("mobilelogin.html")>=0){ isPC = false; } var remember = $container.find("#remember").prop('checked') ? "1" : "0"; var debug = GetQueryString("debug") != null ? GetQueryString("debug") : "false"; var domainName = $container.find("#domainList").val(); var checkcode = $container.find("#checkcode").val(); var language = $container.find(".select-head-cont").attr("data-lang"); var url; if(staticContextPath){ url = null; }else{ url = isPC ? runtimePath + "/" : runtimePath; } var loginIn = $container.find(".btnOk"); var loginInwrd = loginIn.text(); console.log(loginInwrd) if(loginInwrd != "登录"){ var loginInnewwrod = loginIn.text() +" ing..."; }else{ var loginInnewwrod = loginIn.text() +"中..."; } if(loginInnewwrod == "登录中... ing..."){ return false; } var skin = QueryString(); //判断是不是手机短信登录 if($(".changeLogin").length>0 && !$(".changeLogin").is(":hidden")){ var smsCheckCode = $("#vCode").val(); var telephone = $container.find("#telephone").val(); var domainName = $('.indexLogin').find("#domainList").val(); if(smsCheckCode == ""){ loginIn.text(loginInwrd); //alert("验证码不能为空"); $container.find(".error-tip").text("验证码不能为空"); $container.find(".error-tip").show(); $('.errorMsg').text("验证码不能为空"); $('#errorCon').show(); return; } var data = { telephone : telephone, domainName : domainName, smsCheckCode : smsCheckCode, path : path, url : url } $.ajax({ url: contextPath + "/runtime/login/loginSMS", type: "post", data: JSON.stringify(data), datatype: "json", contentType: 'application/json', success: function (data) { if(data.resultCode == 1){ loginIn.text(loginInwrd); var url; if(staticContextPath){ url = staticContextPath + data.returnUrl; }else{ url = "../obpm" } window.location.href = url; }else{ //alert(data.msg); $container.find(".error-tip").text(data.msg); $container.find(".error-tip").show(); $('.errorMsg').text(data.msg); $('#errorCon').show(); return; } } }); }else { Api.checkin({ username : userName, password : pwd, checkcode : checkcode, }).done(function (response) { var result = response; if(result.resultCode == 0) { $container.find(".error-tip").text(result.msg); $container.find(".error-tip").show(); $('.errorMsg').text(result.msg); $('#errorCon').show(); if(result.checkcodeImg){ $container.find(".verification").show(); $(".login-fill").css("height","470px"); $container.find(".code img").attr("src",result.checkcodeImg) } loginIn.text(loginInwrd); }else{ loginIn.text(loginInwrd); if(result.domains.length == 1){ Api.signin({ userDomainName : userName + "@@" + result.domains[0].name, remember : remember, url: url, checkInToken : result.checkInToken }).done(function (response) { var jumptoUrl = ""; if(skin == "kms"){ jumptoUrl = staticContextPath + "/kms/kmspc/index.html" }else if(skin == "good"){ jumptoUrl = staticContextPath + (staticContextPath ? "" : runtimePath) + "/portal/good/index.html"; }else if(skin == "vue"){ jumptoUrl = staticContextPath + (staticContextPath ? "" : runtimePath) + "/portal/vue/index.html"; }else{ jumptoUrl = staticContextPath + response.returnUrl; } window.location.href = jumptoUrl; }) }else{ var type = "pclogin"; // if(window.pathName && window.pathName.indexOf("mobilelogin.html")>=0){//window.pathName 5.0为undefined // type = "mobilelogin"; // } if(window.location.href && window.location.href.indexOf("mobilelogin.html")>=0){ type = "mobilelogin"; } window.location.href = "./domain.html?url=" + url + "&userName=" + userName + "&remember=" + remember + "&checkInToken="+ result.checkInToken + "&type=" + type; } // window.location.href = path + result.returnUrl; } }) } }; $container.on('click', '.btnOk', function(e) { _loginIn(); }); $(document).keydown(function(e){ if(e.keyCode == "13"){ $container.find("#pwd").blur(); _loginIn(); } }); //企业域下拉 // $(".drop-down").click(function () { // $("#domain").show(); // }); // $("#domainList").click(function () { // $("#domain").show(); // event.stopPropagation(); // }); //$(document).click(function (e) { // if ($(e.target).parents().next().hasClass("domain")){ // } else { // $(".domain").hide(); // if($("#domainList").val()==""){ // $('.wx').hide(); // $('.wx_hui').show(); // $('.dd').hide(); // $('.dd_hui').show(); // } // } //}); $container.find("#domain li").click(function () { var word = $(this).text(); var value = $(this).val(); if(!$(".weixinLogin").is(":hidden")){ $(".weixinLogin").find("#domainList").val(word); $(".weixinLogin").find("#configType").val(value); $(".weixinLogin").find("#domain").hide(); $(".weixinLogin").find("#domainList").next().next().addClass("del-tran"); //$(this).parent().parent().find(".mu-text-field-label").addClass("del-tran"); }else if(!$(".dingdingLogin").is(":hidden")){ $(".dingdingLogin").find("#domainList").val(word); $(".dingdingLogin").find("#configType").val(value); $(".dingdingLogin").find("#domain").hide(); $(".dingdingLogin").find("#domainList").next().next().addClass("del-tran"); //$(this).parent().parent().find(".mu-text-field-label").addClass("del-tran"); }else{ $(".indexLogin").find("#domainList").val(word); $(".indexLogin").find("#configType").val(value); $(".indexLogin").find("#domain").hide(); $(".indexLogin").find("#domainList").next().next().addClass("del-tran"); } if(value==0){ $('.wx').hide(); $('.wx_hui').show(); $('.dd').hide(); $('.dd_hui').show(); }else if(value==1){ $('.wx').show(); $('.wx_hui').hide(); $('.dd').hide(); $('.dd_hui').show(); }else if(value==2){ $('.wx').hide(); $('.wx_hui').show(); $('.dd').show(); $('.dd_hui').hide(); }else{ $('.wx').show(); $('.wx_hui').hide(); $('.dd').show(); $('.dd_hui').hide(); } if(!$(".weixinLogin").is(":hidden")) $('.wx').click(); }); //多语言处理 $container.on("click", ".option-item", function () { var language = $container.find(".select-head-cont").attr("data-lang"); Api.getMultiLangWordList({ language:language }).then(function (response) { var result = response; var domains = result.multiLangWordList.domains; var copyright = result.multiLangWordList.frontPageLoginCopyright; var login = result.multiLangWordList.login; var account = result.multiLangWordList.pageLoginAccount; var password = result.multiLangWordList.pageLoginPassword; var label = result.multiLangWordList.pageLoginRememberLabel; var telephone= result.multiLangWordList.mobile; //手机号 var code=result.multiLangWordList.code; //验证码 var loginway=result.multiLangWordList.loginway; //账号密码登录 var getCode=result.multiLangWordList.getCode; //获取验证码 $container.find(".telephone-word").text(telephone); $container.find(".vCode-word").text(code); $container.find(".changeLogin").text(loginway); $container.find(".sendCode").text(getCode); $container.find(".login-operation h3").text(login); $container.find(".domainword").text(domains); $container.find(".username-word").text(account); $container.find(".pwd-word").text(password); $container.find(".obpm-checkboxLogin").text(label); $container.find(".domainword").text(domains); $container.find(".copyright").text(copyright); $container.find(".btnOk").text(login); }) }); //改变验证码 $container.on("click", ".code", function () { Api.changeCheckcodeImg().done(function(response) { var result = response.checkcode; $container.find(".code img").attr("src",result) }) }); } } return { init: Login.init } } //企业域验证 // function showDomainTips(obj,tips) { // var tipsArea = document.getElementById("tipsdiv_Domain"); // var tipscontain =document.getElementById("easyDomaintip-text"); // tipsArea.style.display="block"; // tipscontain.innerHTML = tips; // var style = "font-size:12px; color:blue;"; // } // function disableDomainTips(obj) { // var tipsArea = document.getElementById("tipsdiv_Domain"); // var tipscontain =document.getElementById("easyDomaintip-text"); // tipsArea.style.display="none"; // tipscontain.innerHTML = " "; // } //验证码验证 // function showCodeTips(obj,tips) { // var tipsArea = document.getElementById("tipsdiv_code"); // var tipscontain =document.getElementById("easyCodetip-text"); // tipsArea.style.display="block"; // tipscontain.innerHTML = tips; // var style = "font-size:12px; color:blue;"; // } // function disableCodeTips(obj) { // var tipsArea = document.getElementById("tipsdiv_code"); // var tipscontain =document.getElementById("easyCodetip-text"); // tipsArea.style.display="none"; // tipscontain.innerHTML = " "; // } // function changeLanguage(){ // var obj = document.getElementById("debug"); // var showCode = document.getElementsByName("_showCode")[0].value; // //切换皮肤不用传输密码,去除密码元素 // /*document.getElementsByName("password")[0].value = "";*/ // var password=document.getElementsByName("password")[0]; // password.parentNode.removeChild(password); // var url = contextPath+'/core/multilanguage/change.action'; // if (obj != null && obj.value != null) // url = url + "?debug="+obj.value; // // if(showCode){ // if(url.indexOf("?")>0){ // url = url + "&showCode=" + showCode; // }else{ // url = url + "?showCode=" + showCode; // } // } // document.forms[0].action = url; // document.forms[0].submit(); // } // var timeout = "";//企业域下拉列表中使用 // function showDomain(){ // document.getElementById('domain').style.display="block"; // var domainHeight = document.getElementById("domain").offsetHeight; // if(domainHeight>350){ // document.getElementById("domain").style.height=350+"px"; // } // } // function hideDomain(){ // timeout = window.setTimeout("document.getElementById('domain').style.display='none'",300); // } // function hiddendoMainOver(){ // window.clearTimeout(timeout); // } // function selectDomain(obj){ // var option = document.getElementsByName('domainName'); // var domain=obj.innerHTML; // option[0].value=domain; // document.getElementById('domain').style.display='none'; // $(obj).parents("#domain").siblings(".selectdoMain").find("div").css("display","none"); // } // function focusOn(obj) { // obj.select(); // obj.focus(); // } // window.onload=function(){ // //要初始化的东西 // //changeWidth(); // } // // window.onresize = function() { // //reSize(); // changeWidth(); // // }; // // function reSize(){ // var obj = document.getElementById("loginform"); // var contentObj = document.getElementById("content"); // var browserHeight = document.documentElement.offsetHeight; // var browserWidth = document.documentElement.offsetWidth; // if(browserWidth<650){ // document.getElementById("bodyid").style.overflow="auto"; // }else{ // document.getElementById("bodyid").style.overflow="hidden"; // } // if(browserHeight<450){ // document.getElementById("bodyid").style.overflow="auto"; // } // if (obj) { // obj.style.height = browserHeight - 30 + "px"; // obj.style.width = browserWidth -3+ "px"; // } // } /** * 加密密码 * @returns */ function processPassword(){ var b = new Base64(); var pw = document.getElementById('pwd'); if(!pw.value){ return; } var obj = { pwd : pw.value } var newPw = JSON.parse(JSON.stringify(obj)).pwd var str = b.encode(newPw); if(str.length>2){ var lp = str.substr(0,2); var rp = str.substr(2,str.length); document.getElementById('pwdhidden').value = rp+lp; } } // // //点击之后,显示“登录中...” // function login_ing(obj){ // processPassword(); // var btn = document.getElementById("tijiao"); // btn.value = btn.value + "ing..."; // btn.onclick = null; // document.forms[0].action = contextPath+"/runtime/login/loginWithCiphertext.action"; // document.forms[0].submit(); // } // // //点击之后,显示“登录中...” // function login_dialog_ing(obj){ // processPassword(); // var btn = document.getElementById("tijiao"); // btn.value = btn.value + "ing..."; // btn.onclick = null; // document.forms[0].action = contextPath+"/runtime/login/loginInDialog.action"; // document.forms[0].submit(); // } //登陆内容的宽度不时改变 // function changeWidth(){ // var loginWidth=0; // var num = document.getElementById("loginInfo").getElementsByTagName("li").length; // var li = document.getElementById("loginInfo").getElementsByTagName("li"); // for(var i=0;i> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63; if (isNaN(chr2)) { enc3 = enc4 = 64; } else if (isNaN(chr3)) { enc4 = 64; } output = output + _keyStr.charAt(enc1) + _keyStr.charAt(enc2) + _keyStr.charAt(enc3) + _keyStr.charAt(enc4); } return output; } // public method for decoding this.decode = function (input) { var output = ""; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); while (i < input.length) { enc1 = _keyStr.indexOf(input.charAt(i++)); enc2 = _keyStr.indexOf(input.charAt(i++)); enc3 = _keyStr.indexOf(input.charAt(i++)); enc4 = _keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 != 64) { output = output + String.fromCharCode(chr2); } if (enc4 != 64) { output = output + String.fromCharCode(chr3); } } output = _utf8_decode(output); return output; } // private method for UTF-8 encoding _utf8_encode = function (string) { string = string.replace(/\r\n/g,"\n"); var utftext = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { utftext += String.fromCharCode(c); } else if((c > 127) && (c < 2048)) { utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); } else { utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return utftext; } // private method for UTF-8 decoding _utf8_decode = function (utftext) { var string = ""; var i = 0; var c = c1 = c2 = 0; while ( i < utftext.length ) { c = utftext.charCodeAt(i); if (c < 128) { string += String.fromCharCode(c); i++; } else if((c > 191) && (c < 224)) { c2 = utftext.charCodeAt(i+1); string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); i += 2; } else { c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2); string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); i += 3; } } return string; } }