|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
|
|
|
|
<head>
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
|
|
<title>统一认证中心</title>
|
|
|
<link rel="stylesheet" type="text/css" href="/dsSso/css/style.css"/>
|
|
|
<script type="text/javascript" src="/dsSso/js/jquery-1.12.4.min.js"></script>
|
|
|
<script src="/dsSso/js/aes.js" type="text/javascript"></script>
|
|
|
</head>
|
|
|
|
|
|
<body>
|
|
|
<div id="header">
|
|
|
<img src="/dsSso/images/hebyesz.png" style="margin-left: 30px;margin-top: 8px;"/>
|
|
|
<span style="font-size:36px;display: block;margin-left: 133px;margin-top: -58px;font-weight:bold"
|
|
|
id="system_name"></span>
|
|
|
</div>
|
|
|
<div class="login-wrap">
|
|
|
<div class="wrap clearfix">
|
|
|
<img src="/dsSso/images/login-img.png" style="margin-top: 22px;"/>
|
|
|
<div class="form-box fr loginV2" style="display: block;">
|
|
|
<ul class="form-tab clearfix">
|
|
|
<li class="tab-li cur">
|
|
|
<a href="javascript:;" tjjj="passport.login_type.login_name">账户登录</a></li>
|
|
|
</ul>
|
|
|
<div class="form-con">
|
|
|
<div class="login-normal" style="display: block;">
|
|
|
<form id="nameLoginForm">
|
|
|
<div class="form-error" style="">
|
|
|
<i>
|
|
|
</i>
|
|
|
<label class="text"></label>
|
|
|
</div>
|
|
|
<dl class="clearfix">
|
|
|
<dt>账<em></em>户:</dt>
|
|
|
<dd>
|
|
|
<input type="text" name="loginName" id="usernameTxt" value="" class="input-text"
|
|
|
autocomplete="off" placeholder="账户名"/></dd>
|
|
|
</dl>
|
|
|
<dl class="top1 clearfix">
|
|
|
<dt>密<em></em>码:</dt>
|
|
|
<dd>
|
|
|
<input type="password" name="password" id="passwordTxt" value="" class="input-text"
|
|
|
placeholder="请输入密码"></dd>
|
|
|
</dl>
|
|
|
<dl class="top2 clearfix" id="yzm">
|
|
|
<dt>验证码:</dt>
|
|
|
<dd>
|
|
|
<input name="smsCaptcha" type="text" id="captchaTxt" class="input-yzm" maxlength="4"
|
|
|
autocomplete="off"/>
|
|
|
<span class="span-yzm">
|
|
|
<img id="userCaptchaImage" src="/dsSso/getCaptcha?id=1" title="点击图片刷新校验码" alt="点击图片刷新校验码"
|
|
|
style="cursor:pointer" onclick="javascript:refreshCaptcha()"/>
|
|
|
<a onclick="javascript:refreshCaptcha()" class="forget-pass" style="cursor:pointer">换一张</a></span>
|
|
|
</dd>
|
|
|
</dl>
|
|
|
<div class="btn-box clearfix" style="margin-top: 10px;">
|
|
|
<input id="loginBtn" class="btn-settlement" type="button" value="登 录"
|
|
|
tjjj="passport.button.login"></div>
|
|
|
</form>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div style="text-align:center" id="copyright">
|
|
|
</div>
|
|
|
|
|
|
</body>
|
|
|
<script type="text/javascript">
|
|
|
$(function () {
|
|
|
$("#loginBtn").click(function () {
|
|
|
doLogin();
|
|
|
});
|
|
|
|
|
|
function getCookie(cname) {
|
|
|
var name = cname + "=";
|
|
|
var ca = document.cookie.split(';');
|
|
|
for (var i = 0; i < ca.length; i++) {
|
|
|
var c = ca[i].trim();
|
|
|
if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
|
|
|
}
|
|
|
return "";
|
|
|
}
|
|
|
window.checkYzm=function(){
|
|
|
//通过阅读cookie中的error_count是否存在,是否大于3来决定是否显示验证码
|
|
|
if (getCookie("error_count") == "" || parseInt(getCookie("error_count")) < 3) {
|
|
|
//隐藏掉验证码
|
|
|
$("#captchaTxt").val("1234");
|
|
|
$("#yzm").hide();
|
|
|
}else{
|
|
|
$("#yzm").show();
|
|
|
$("#captchaTxt").val("");
|
|
|
}
|
|
|
}
|
|
|
checkYzm();
|
|
|
|
|
|
$("#smsLoginBtn").click(function () {
|
|
|
var smsFlag = $("#smsFlagHidden").val();
|
|
|
var smsCode = $("#smsCode").val();
|
|
|
var phonenum = $("#phoneTxt").val();
|
|
|
smsLogin(smsFlag, smsCode, phonenum);
|
|
|
});
|
|
|
|
|
|
//获取页面信息,包括系统名称,版权信息
|
|
|
getPageInfo();
|
|
|
|
|
|
});
|
|
|
|
|
|
$(document).keydown(function (event) {
|
|
|
if (event.keyCode === 13) {//回车键对应code值为13
|
|
|
doLogin();
|
|
|
}
|
|
|
});
|
|
|
|
|
|
function doLogin() {
|
|
|
var username = $("#usernameTxt").val();
|
|
|
var password = $("#passwordTxt").val();
|
|
|
var captcha = $("#captchaTxt").val();
|
|
|
userLogin(username, password, captcha);
|
|
|
}
|
|
|
|
|
|
//用户名登录
|
|
|
function userLogin(username, password, captcha) {
|
|
|
if (userLoginCheck(username, password, captcha)) {
|
|
|
var redirect_url = getUrlParam("redirect_url");
|
|
|
var default_redirect_url = getDefaultRedirectUrl();
|
|
|
if (default_redirect_url.length > 0) {
|
|
|
redirect_url = default_redirect_url;
|
|
|
}
|
|
|
$.ajax({
|
|
|
type: "POST",
|
|
|
dataType: "json",
|
|
|
url: "/dsSso/doLogin",
|
|
|
data: {
|
|
|
"username": username,
|
|
|
"password": aesEncrypt(password),
|
|
|
"captcha": captcha
|
|
|
},
|
|
|
async: false,
|
|
|
success: function (result) {
|
|
|
if (result.success) {
|
|
|
if (redirect_url.indexOf("?") == -1) {
|
|
|
window.location.href = redirect_url
|
|
|
+ "?ds_sso_sessionid=" + result.sessionId;
|
|
|
} else {
|
|
|
window.location.href = redirect_url
|
|
|
+ "&ds_sso_sessionid=" + result.sessionId;
|
|
|
}
|
|
|
} else {
|
|
|
checkYzm();
|
|
|
showError(result.msg);
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//手机号登录
|
|
|
function smsLogin(smsFlag, smsCode, phonenum) {
|
|
|
if (smsLoginCheck(smsFlag, smsCode, phonenum)) {
|
|
|
var redirect_url = getUrlParam("redirect_url");
|
|
|
var default_redirect_url = getDefaultRedirectUrl();
|
|
|
if (default_redirect_url.length > 0) {
|
|
|
redirect_url = default_redirect_url;
|
|
|
}
|
|
|
|
|
|
$.ajax({
|
|
|
type: "POST",
|
|
|
dataType: "json",
|
|
|
url: "/dsSso/phoneSmsCodeFastLogin",
|
|
|
data: {
|
|
|
"smsFlag": smsFlag,
|
|
|
"smsCode": smsCode
|
|
|
},
|
|
|
async: false,
|
|
|
success: function (result) {
|
|
|
if (result.success) {
|
|
|
window.location.href = redirect_url
|
|
|
+ "?ds_sso_sessionid=" + result.sessionId;
|
|
|
} else {
|
|
|
showError(result.msg);
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//用户登录检查
|
|
|
function userLoginCheck(username, password, captcha) {
|
|
|
if (username == null || username == "") {
|
|
|
showError("用户名不允许为空!");
|
|
|
return false;
|
|
|
}
|
|
|
if (password == null || password == "") {
|
|
|
showError("密码不允许为空!");
|
|
|
return false;
|
|
|
}
|
|
|
if (captcha == null || captcha == "") {
|
|
|
showError("验证码不允许为空!");
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
//手机登录检查
|
|
|
function smsLoginCheck(smsFlag, smsCode, phonenum) {
|
|
|
if (phonenum == null || phonenum == "") {
|
|
|
showError("手机号不允许为空!");
|
|
|
return false;
|
|
|
}
|
|
|
if (phonenum.length != 11) {
|
|
|
showError("手机号不正确!");
|
|
|
return false;
|
|
|
}
|
|
|
if (!isPhoneNumber(phonenum)) {
|
|
|
showError("手机号不正确!");
|
|
|
return false;
|
|
|
}
|
|
|
if (smsCode == null || smsCode == "") {
|
|
|
showError("验证码不允许为空!");
|
|
|
return false;
|
|
|
}
|
|
|
if (smsFlag == null || smsFlag == "") {
|
|
|
showError("验证码不正确!");
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
//开启错误提示
|
|
|
function showError(error) {
|
|
|
$(".form-error").find("label").html(error);
|
|
|
$(".form-error").show();
|
|
|
}
|
|
|
|
|
|
//获取参数
|
|
|
function getUrlParam(name) {
|
|
|
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
|
|
|
var r = window.location.search.substr(1).match(reg);
|
|
|
if (r != null)
|
|
|
return unescape(r[2]);
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
//aes加密
|
|
|
function aesEncrypt(content) {
|
|
|
var srcs = CryptoJS.enc.Utf8.parse(content);
|
|
|
var encrypted = CryptoJS.AES.encrypt(srcs, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
|
|
|
return encrypted.toString();
|
|
|
}
|
|
|
|
|
|
//刷新验证码
|
|
|
function refreshCaptcha() {
|
|
|
$("#userCaptchaImage").attr("src", "/dsSso/getCaptcha?id=" + new Date() + Math.floor(Math.random() * 24));
|
|
|
}
|
|
|
|
|
|
//获取默认回调地址
|
|
|
function getDefaultRedirectUrl() {
|
|
|
var DefaultRedirectUrl = "";
|
|
|
$.ajax({
|
|
|
type: "GET",
|
|
|
dataType: "json",
|
|
|
url: "/dsSso/getDefaultRedirectUrl",
|
|
|
async: false,
|
|
|
success: function (result) {
|
|
|
if (result.success) {
|
|
|
DefaultRedirectUrl = result.defaultRedirectUrl;
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
return DefaultRedirectUrl;
|
|
|
}
|
|
|
|
|
|
//发送手机验证码
|
|
|
function sendSms() {
|
|
|
var phonenum = $("#phoneTxt").val();
|
|
|
if (phonenum == null || phonenum == "") {
|
|
|
showError("手机号不允许为空!");
|
|
|
return;
|
|
|
}
|
|
|
if (phonenum.length != 11) {
|
|
|
showError("手机号不正确!");
|
|
|
return false;
|
|
|
}
|
|
|
if (!isPhoneNumber(phonenum)) {
|
|
|
showError("手机号不正确!");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
$.ajax({
|
|
|
type: "POST",
|
|
|
dataType: "json",
|
|
|
url: "/dsSso/sendSmsCode",
|
|
|
data: {
|
|
|
"phonenum": phonenum
|
|
|
},
|
|
|
async: false,
|
|
|
success: function (result) {
|
|
|
if (result.success) {
|
|
|
$("#smsFlagHidden").val(result.smsFlag);
|
|
|
} else {
|
|
|
showError(result.msg);
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
$('.phoneLogin').click(
|
|
|
function () {
|
|
|
$('.loginV2').hide();
|
|
|
$('.shortLogin').show();
|
|
|
$('.form-error').hide();
|
|
|
$("#smsCaptchaImage").attr("src", "/dsSso/getCaptcha?id=" + new Date() + Math.floor(Math.random() * 24));
|
|
|
});
|
|
|
|
|
|
$('.backLogin').click(
|
|
|
function () {
|
|
|
$('.login-normal').show();
|
|
|
$('.loginV2').show();
|
|
|
$('.shortLogin').hide();
|
|
|
$('.form-error').hide();
|
|
|
$("#userCaptchaImage").attr("src", "/dsSso/getCaptcha?id=" + new Date() + Math.floor(Math.random() * 24));
|
|
|
});
|
|
|
|
|
|
//判断是否为手机号
|
|
|
function isPhoneNumber(tel) {
|
|
|
var reg = /^0?1[3|4|5|6|7|8][0-9]\d{8}$/;
|
|
|
return reg.test(tel);
|
|
|
}
|
|
|
|
|
|
//获取页面信息
|
|
|
function getPageInfo() {
|
|
|
$.ajax({
|
|
|
type: "POST",
|
|
|
dataType: "json",
|
|
|
url: "/dsSso/common/getGlobalValueByKey",
|
|
|
data: {
|
|
|
"key": "sso_system_name,sso_copyright"
|
|
|
},
|
|
|
async: false,
|
|
|
success: function (result) {
|
|
|
if (result.success) {
|
|
|
$("#system_name").html(result.sso_system_name);
|
|
|
$("#copyright").html(result.sso_copyright);
|
|
|
$('title').html(result.sso_system_name);
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
// 找回密码
|
|
|
$("#findPwd").click(function () {
|
|
|
window.open('./pwdfind/pwdfind.html');
|
|
|
})
|
|
|
</script>
|
|
|
</html>
|
|
|
|
|
|
|