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;
}
}