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.

192 lines
6.6 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>绑定账户</title>
<link href="/dsssoserver/css/binduser.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../css/weadmin.css">
</head>
<body>
<section id="getintouch">
<div class="login">
<div class="message">—— &nbsp;账户绑定 &nbsp; ——</div>
<div id="darkbannerwrap"></div>
<form class="contact layui-form">
<div class="row clearfix">
<!--<div class="lbl">-->
<!--<label>用户名:</label>-->
<!--</div>-->
<div class="ctrl layui-form-item">
<input type="text" id="usernameTxt" value="" lay-verify="required" autocomplete="off" placeholder="请输入用户名" class="layui-input" />
</div>
</div>
<div class="row clearfix">
<!--<div class="lbl">-->
<!--<label>密&nbsp&nbsp&nbsp码</label>-->
<!--</div>-->
<div class="ctrl pwd layui-form-item">
<input type="password" class="layui-input" id="passwordTxt" value="" lay-verify="required" minlength="6" maxlength="18" autocomplete="off" placeholder="请输入密码"/>
</div>
</div>
<div id="errInfo" style="color:#F00;font-size:12px"></div>
<div class="row clearfix">
<div class="span10 offset2">
<!--<input type="button" id="bind" class="submit" value="绑 定">-->
<div class="layui-btn" lay-filter="save" lay-submit="" id="save" style="width: 100%;font-size: 17px;">&nbsp;&nbsp;&nbsp;</div>
</div>
</div>
<hr class="hr20">
<div style="color:#808080;">
支持教师,学生,家长账号绑定,不支持基础数据库的各级管理员账号进行绑定
</div>
</form>
</div>
</section>
</body>
<script src="/dsssoserver/js/jquery-3.6.0.min.js" type="text/javascript"></script>
<script src="/dsssoserver/js/aes.js" type="text/javascript"></script>
<script src="/dsssoserver/js/base64.js" type="text/javascript"></script>
<script src="../js/persist-min.js"></script>
<script src="../js/layui/layui.js"></script>
<script type="text/javascript">
layui.use(['form', 'jquery','layer'], function () {
var form = layui.form,
$ = layui.jquery,
layer = layui.layer;
var openId = Base64.decode(getUrlParam("open_id"));
var typeId = getUrlParam("type_id");
var redirectUrl = getUrlParam("redirect_url");
// console.log("openId="+openId);
// console.log("typeId="+typeId);
console.log("redirectUrl="+redirectUrl);
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 getUserInfo(userName, passWord, typeId) {
var personInfo;
$.ajax({
type : "GET",
dataType : "json",
url : "/dsssoserver/third/getUserInfoByUserNamePwd",
data : {
"userName" : userName,
"passWord" : aesEncrypt(passWord),
"typeId" : typeId
},
async : false,
success : function(result) {
personInfo = result;
}
});
return personInfo;
}
//进行绑定
function bindUser(personId, openId, typeId) {
var bindInfo;
$.ajax({
type : "POST",
dataType : "json",
url : "/dsssoserver/third/bindUser",
data : {
"personId" : aesEncrypt(personId),
"openId" : openId,
"typeId" : typeId
},
async : false,
success : function(result) {
bindInfo = result;
}
});
return bindInfo;
}
//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();
}
var store = new Persist.Store('store_name');
//提交
form.on('submit(save)', function (data) {
var f = data.field;
var userName = $("#usernameTxt").val();
var passWord = $("#passwordTxt").val();
var sessionId;
var personId;
var personInfo = getUserInfo(userName, passWord, typeId);
if (personInfo.success) {
sessionId = personInfo.sessionId;
personId = personInfo.personId;
} else {
// $("#errInfo").html(personInfo.msg);
layer.msg(personInfo.msg,{icon:0,time:2000,shade:0.3});
return
}
var bindInfo = bindUser(personId, openId, typeId);
if (bindInfo.success) {
alert(store.get("url")+ "?ds_sso_sessionid=" + sessionId);
window.location.href = store.get("url") + "?ds_sso_sessionid=" + sessionId;
store.set("url","")
} else {
// $("#errInfo").html("绑定异常!");
layer.msg("绑定异常!",{icon:0,time:2000,shade:0.3});
store.set("url","")
return;
}
return false;
});
})
// $(function() {
// var openId = Base64.decode(getUrlParam("open_id"));
// var typeId = getUrlParam("type_id");
// var redirectUrl = getUrlParam("redirect_url");
//
//
// $("#bind").click(function() {
//
// var userName = $("#usernameTxt").val();
// var passWord = $("#passwordTxt").val();
// var sessionId;
// var personId;
//
// var personInfo = getUserInfo(userName, passWord, typeId);
// if (personInfo.success) {
// sessionId = personInfo.sessionId;
// personId = personInfo.personId;
// } else {
// $("#errInfo").html(personInfo.msg);
// return
// }
//
// var bindInfo = bindUser(personId, openId, typeId);
// if (bindInfo.success) {
// window.location.href = redirectUrl + "?ds_sso_sessionid=" + sessionId;
// } else {
// $("#errInfo").html("绑定异常!");
// return;
// }
// });
//
// });
</script>
</html>