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) }) }, accountsSignInxx: function (data) {//国产密码--旧版本 return $.ajax({ url: path + "/v2/accounts/sign-in", type: 'post', async: false, dataType: 'json', contentType: 'application/json', data: JSON.stringify(data) }) }, accountsSignIn: function (data) {//国产密码--新版本v3 return $.ajax({ url: contextPathV3 + "/identity/sign-in", 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", url:`/obpm/api/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.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) { $('.hunan-login-button').on('click', function(e) { window.open('https://65.25.0.56:9042/v3/identity/ca/login', '_self') }); document.addEventListener("keydown", function(event) { if (event.key === 'k' || event.key === 'K') { $('.hunnan-login-box').hide() if(result.homeTemplateBoradType=='rtpayTemplate'){//rt环境 $('.login-box').hide() $('.login-rtbox').show() }else{ $('.logintips').show() $('.login-box').show() $('.login-rtbox').hide() } } }); // $(".bg").append('') result = response; if(result.resultCode == 0) { alert(result.msg); } else { var ipos,ListStr1,ListStr2; result= result.result; // var list = result.domainList; // 判断免费付费版本 localStorage.removeItem('homeTemplateBoradType') localStorage.setItem('homeTemplateBoradType',result.homeTemplateBoradType||'') if(result.homeTemplateBoradType=='rtpayTemplate'){//rt环境 $('.hunnan-login-box').hide() $('.login-box').hide() $('.login-rtbox').show() }else{ if(location.origin.indexOf('hnba.qiye.baibaodun.com.cn')>-1){//湖南保安服务监管信息系统 $('.hunnan-login-box').show() $('.logintips').hide() $('.login-box').hide() $('.login-rtbox').hide() }else{ $('.hunnan-login-box').hide() $('.logintips').show() $('.login-box').show() $('.login-rtbox').hide() } } //判断是否上传了背景图片 if(result.loginBackground){ var url = result.loginBackground; $(".bg").append('') } //判断是否上传logo if(location.origin.indexOf('nxba.qiye.baibaodun.com.cn')>-1){//宁夏保安服务监管信息系统 $(".login-logo").append('') }else if(location.origin.indexOf('bjba.qiye.baibaodun.com.cn')>-1){//北京保安服务监管信息系统 $(".login-logo").append('') }else if(location.origin.indexOf('hnba.qiye.baibaodun.com.cn')>-1){//湖南保安服务监管信息系统 $(".login-logo").append('') } else if(result.loginLogo){ var loginLogo = result.loginLogo; $(".login-logo").append('') } // 页面标题 if(location.origin.indexOf('nxba.qiye.baibaodun.com.cn')>-1){//宁夏保安服务监管信息系统 document.title='宁夏保安服务监管信息系统' }else if(location.origin.indexOf('bjba.qiye.baibaodun.com.cn')>-1){//北京保安服务监管信息系统 document.title='北京保安服务监管信息系统' }else if(location.origin.indexOf('hnba.qiye.baibaodun.com.cn')>-1){//湖南保安服务监管信息系统 document.title='湖南保安服务监管信息系统' } else if(result.loginTitle){ document.title = result.loginTitle; } // 是否显示注册按钮 if(result.isRegister == 1){ $(".natural").css("display", "block"); }else{ $(".natural").css("display", "none"); } // 注册按钮名称 if(result.registerTitle){ $(".natural").text(result.registerTitle) } // 注册链接 if(result.registerUrl){ $(".natural").attr("href",result.registerUrl) } // 判断是否是监管端 if(result.isSupervise==undefined||result.isSupervise=="0"||result.isSupervise==""){ $("#record").css("display", "inline-block") $("#rec-browser").css("display", "none") localStorage.setItem("__network__",true)//外网 }else{ $("#record").css("display", "none") $("#rec-browser").css("display", "inline-block") localStorage.setItem("__network__",false)//监管内网 } // 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; //登录 _loginIn = function (){ var userName,pwd,oldpwd; processPassword(); if(localStorage.getItem('homeTemplateBoradType')=='rtpayTemplate'){ userName = $container.find("#userNameRT").val().trim(); pwd = $container.find("#pwdhiddenRT").val().trim(); oldpwd = $container.find("#pwdRT").val().trim(); }else{ userName = $container.find("#userName").val().trim(); pwd = $container.find("#pwdhidden").val().trim(); oldpwd = $container.find("#pwd").val().trim(); } //勾选了下次自动登录存储进缓存 // 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 loginIn = $container.find(".btnOk"); // 国产密码登录 Api.accountsSignIn({ userName : userName, password : pwd, }).done(function (response) { sessionStorage.clear()//清除接口缓存-用户信息,应用信息,应用所属的菜单信息 localStorage.removeItem("token") localStorage.removeItem("accessToken") localStorage.removeItem("domainList") localStorage.setItem("userName",userName)//保存userName,用户vue项目修改密码要用 console.log(response) var result = response; if(result.data&&result.data.token){ var token=result.data.token localStorage.setItem("token",token) } if(result.status != 200) {//新版本修改,旧版本result.code!=1 $(".error-tip").text(result.message); $(".error-tip").show(); $(".rt-error-tip").text(err.responseJSON.message); $(".rt-error-tip").show(); $('.errorMsg').text(result.message); $('#errorCon').show(); // if(result.checkCodeImg){ // $container.find(".verification").show(); // $(".login-fill").css("height","470px"); // $container.find(".code img").attr("src",result.checkCodeImg) // } }else{ if(location.pathname.indexOf('mobilelogin.html')>-1){//移动端进入,来源移动端 localStorage.setItem('FromPCMobile',1) } window.location.href = "/static/signon/dispatcher.html?v="+ Date.now(); //登录页登录---跳转中转页面判断--前端pc端或移动端 } }).fail(function (err){ $(".error-tip").text(err.responseJSON.message); $(".error-tip").show(); $(".rt-error-tip").text(err.responseJSON.message); $(".rt-error-tip").show(); $('.errorMsg').text(err.responseJSON.message); $('#errorCon').show(); }) }; $container.on('click', '.btnOk', function(e) { _loginIn(); }); $(document).keydown(function(e){ if(e.keyCode == "13"){ if(localStorage.getItem('homeTemplateBoradType')=='rtpayTemplate'){ $container.find("#pwdRT").blur(); }else{ $container.find("#pwd").blur(); } _loginIn(); } }); // $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", ".code", function () { // Api.changeCheckcodeImg().done(function(response) { // var result = response.checkcode; // $container.find(".code img").attr("src",result) // }) // }); } } return { init: Login.init } } /** * 加密密码 * @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; // } // } /** * 加密密码 * @returns */ var PUBLIC_KEY="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+TWzUflAOqz7cFOCe06IECO3Jq6kV5rPrVhhUbKHc5xqUr2ruW69UXCz3EOjFXhWf/Ubr2ysDexxV8lLP5kP9buk3Bvz+caepRR5K5DlBh8oF11AwlcGTSVetMrzm4nyDHVCq2pF7NeF/J/sFZr+tlU/xnI6blq+ZTlIIVubRkmsUttFQamX3L9ACUukaanHv9AFrTwPtzCb1wSULJCEgo32UKK2pBh5I0XxL8JoBP/PuBDSsVp/sysh9bPdptPGRE5DgqTQAk+rz25+1xTtlWyIIhpMCHpJXlIdDqVq8x9d3NsLGpVH7FYXiLiPil07h/KkPAM3pnUQUTQ7SI6YmQIDAQAB" function processPassword(){ var pw; if(localStorage.getItem('homeTemplateBoradType')=='rtpayTemplate'){ pw = document.getElementById('pwdRT'); }else{ pw = document.getElementById('pwd'); } if(!pw.value){ return; } var obj = { pwd : pw.value } var newPw = JSON.parse(JSON.stringify(obj)).pwd var encrypt = new JSEncrypt(); encrypt.setPublicKey(PUBLIC_KEY); var encrypted = encrypt.encrypt(newPw); console.log(encrypted) if(localStorage.getItem('homeTemplateBoradType')=='rtpayTemplate'){ document.getElementById('pwdhiddenRT').value=encrypted }else{ document.getElementById('pwdhidden').value=encrypted } } function Base64() { // private property _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; // public method for encoding this.encode = function (input) { var output = ""; var chr1, chr2, chr3, enc1, enc2, enc3, enc4; var i = 0; input = _utf8_encode(input); while (i < input.length) { chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++); enc1 = chr1 >> 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; } }