You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
1.8 KiB
70 lines
1.8 KiB
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<script src="/dsssoserver/js/jquery-1.12.4.min.js"></script>
|
|
<script src="/dsssoserver/js/base64.js" type="text/javascript"></script>
|
|
<script src="/dsssoserver/js/aes.js" type="text/javascript"></script>
|
|
<script src="../js/persist-min.js"></script>
|
|
</head>
|
|
<body>
|
|
|
|
</body>
|
|
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
var code = getUrlParam("code");
|
|
var default_redirect_url = getDefaultRedirectUrl();
|
|
var store = new Persist.Store('store_name');
|
|
$.ajax({
|
|
type : "POST",
|
|
dataType : "json",
|
|
url : "/dsssoserver/third/wxLogin",
|
|
data : {
|
|
"code" : code
|
|
},
|
|
async : false,
|
|
success : function(result) {
|
|
if (result.success) {
|
|
window.location.href = store.get("url") + "?ds_sso_sessionid=" + result.sessionId;
|
|
store.set("url","")
|
|
} else {
|
|
var open_id = Base64.encode(aesEncrypt(result.openid));
|
|
window.location.href = "bindUser.html?open_id="+open_id+"&type_id="+aesEncrypt("2")+"&redirect_url="+default_redirect_url;
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
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;
|
|
}
|
|
|
|
function getDefaultRedirectUrl() {
|
|
var DefaultRedirectUrl = "";
|
|
$.ajax({
|
|
type : "GET",
|
|
dataType : "json",
|
|
url : "/dsssoserver/third/getQqWxRedirectUrl",
|
|
async : false,
|
|
success : function(result) {
|
|
if (result.success) {
|
|
DefaultRedirectUrl = result.defaultRedirectUrl;
|
|
}
|
|
}
|
|
});
|
|
return DefaultRedirectUrl;
|
|
}
|
|
|
|
//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();
|
|
}
|
|
</script>
|
|
</html> |