$(function () { var isSSo = location.search.length > 0;//是否单点登录 if (isSSo) { $('.container').hide(); login(); } var hasClick = false; //是否已经点击过登录按钮 // 兼容ie的placeholder $('input, textarea').placeholder(); // 获取验证码 function getVerificationCodeImg(){ $('#verificationCodeImg').attr('src', baseUrl + "auth/getCaptcha?" + Date.now()); } getVerificationCodeImg(); // 点击刷新验证码 $("#verificationCodeImg").on('click', getVerificationCodeImg); //aes加密 function encryptByEnAESLogin(data) { data = CryptoJS.enc.Utf8.parse(data); let Key = CryptoJS.enc.Utf8.parse('Aes2Util666AQWER'); let tmpAES = CryptoJS.AES.encrypt(data, Key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7, }); return tmpAES.toString(); } // 登录点击 $('#login').on('click', login); // 登录方法 function login() { if (hasClick) return; hasClick = true; var name = $('#name').val() var pwd = $('#pwd').val() var captcha = $('#captcha').val() var data = { username: name, password: pwd, captcha: captcha } // 单点登录 start var ssoStr = ''; var ssoJson; if (isSSo) { ssoStr = location.search.replace('?', '').split('&')[0].split('=')[1]; ssoStr = Base64.decode(decodeURIComponent(ssoStr)); ssoJson = JSON.parse(ssoStr); }else if(!name || !name.trim()){ alert("请输入用户名"); hasClick = false; return; }else if(!pwd || !pwd.trim()){ alert("请输入密码"); hasClick = false; return; }else if(!captcha || !captcha.trim()){ alert("请输入验证码"); hasClick = false; return; } var postData = isSSo ? { username: ssoJson.a, password: ssoJson.r, t: false } : data; postData = { k: encryptByEnAESLogin(JSON.stringify(postData)) }; // 单点登录 end $.ajax({ type: "POST", contentType: "application/json;charset=UTF-8", url: baseUrl + "auth/reqlogin", data: JSON.stringify(postData), success: function (res) { if (res.state == 200) { if (isSSo) { sessionStorage.setItem('isSSo', '1');//单点登录 } else { sessionStorage.setItem('isSSo', '0');//正常登录 } sessionStorage.setItem('loginUser', JSON.stringify(res.data.requester)); //判断版本类别 $.ajax({ type: "POST", contentType: "application/json;charset=UTF-8", url: baseUrl + "sysinfo/data/fetchDataList/systemConfiguration", data: JSON.stringify({ "idx": 0, "sum": 1000 }), success: function (result) { if (result.status == 200) { var list = result.list; var repairMain = list.find((v) => v.keyconfig == "repairMain"); //报修主体 var incidentWithConsumable = list.find( (v) => v.keyconfig == "incidentWithConsumable" ); //是否绑定耗材 var wxIncidentWithCmdb = list.find( (v) => v.keyconfig == "wxIncidentWithCmdb" ); //是否绑定资产 var reqHasCategory = list.find( (v) => v.keyconfig == "reqHasCategory" ); //获取是否自动建单 sessionStorage.setItem( "repair_main", JSON.stringify(repairMain) ); sessionStorage.setItem( "incidentWithConsumable", incidentWithConsumable.valueconfig ); sessionStorage.setItem( "wxIncidentWithCmdb", wxIncidentWithCmdb.valueconfig ); sessionStorage.setItem("reqHasCategory", JSON.stringify(reqHasCategory)); window.location.href = 'index.html'; } hasClick = false; }, //请求失败,包含具体的错误信息 error: function (e) { console.log(e.status); console.log(e.responseText); } }); } else if(res.state == 403){ alert('验证码错误'); hasClick = false; getVerificationCodeImg(); } else { alert('用户名或密码错误,请重试!'); hasClick = false; } }, //请求失败,包含具体的错误信息 error: function (e) { console.log(e.status); console.log(e.responseText); } }); } // enter登录 $(document).bind('keypress', function (e) { var keyCode; if (window.event) { keyCode = e.keyCode } else if (e.which) { keycode = e.which; } if (e.keyCode != 13) { return; } $("#login").trigger("click"); return false; }); })