|
@ -0,0 +1,441 @@
|
|
|
|
<!doctype html>
|
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
|
|
<title>身份验证</title>
|
|
|
|
<meta name="format-detection" content="telephone=no"/>
|
|
|
|
<meta name="viewport"
|
|
|
|
content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
|
|
|
|
<meta name="apple-mobile-web-app-capable" content="yes"/>
|
|
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black"/>
|
|
|
|
<link rel="stylesheet" href="../../../css/cross.css" type="text/css"/>
|
|
|
|
<link rel="stylesheet" href="../../../css/cross.ui.css" type="text/css"/>
|
|
|
|
<link rel="stylesheet" type="text/css" href="../../../css/ss-style.css">
|
|
|
|
<link rel="stylesheet" type="text/css" href="../../../iconfont/iconfont.css"/>
|
|
|
|
<style>
|
|
|
|
.n-list-info {
|
|
|
|
position: relative;
|
|
|
|
}
|
|
|
|
|
|
|
|
.searchbar-clear {
|
|
|
|
position: absolute;
|
|
|
|
width: 28px;
|
|
|
|
height: 28px;
|
|
|
|
right: 0;
|
|
|
|
top: 8px;
|
|
|
|
opacity: 0;
|
|
|
|
pointer-events: none;
|
|
|
|
background-position: center;
|
|
|
|
background-repeat: no-repeat;
|
|
|
|
background-image: url(../../../images/delete01_pre.png);
|
|
|
|
-webkit-background-size: 20px 20px;
|
|
|
|
background-size: 20px 20px;
|
|
|
|
-webkit-transition-duration: 300ms;
|
|
|
|
transition-duration: 300ms;
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
|
|
|
|
|
|
|
#div-yzm {
|
|
|
|
width: 80px;
|
|
|
|
height: 29px;
|
|
|
|
border: 1px solid #4DCD70;
|
|
|
|
color: #4DCD70;
|
|
|
|
font-size: 14px;
|
|
|
|
line-height: 29px;
|
|
|
|
text-align: center;
|
|
|
|
border-radius: 10px;
|
|
|
|
margin-top: 7px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.c-btn-dcdcdc {
|
|
|
|
background: #DCDCDC;
|
|
|
|
}
|
|
|
|
|
|
|
|
.c-btn.active {
|
|
|
|
background: #4DCD70;
|
|
|
|
}
|
|
|
|
.mui-content-pad{
|
|
|
|
margin-top: 0px;
|
|
|
|
}
|
|
|
|
.btn-lt {
|
|
|
|
position: absolute;
|
|
|
|
left: 10px;
|
|
|
|
}
|
|
|
|
.btn-rt{
|
|
|
|
position: absolute;
|
|
|
|
right: 10px;
|
|
|
|
}
|
|
|
|
a {
|
|
|
|
text-decoration: none;
|
|
|
|
color: #17b3ec;
|
|
|
|
font-size: 14px;
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<!--<div class="h45">
|
|
|
|
<div class="demo-comtop">
|
|
|
|
<a class="mui-action-back"></a>
|
|
|
|
<h1>登录</h1>
|
|
|
|
</div>
|
|
|
|
</div>-->
|
|
|
|
<div class="main">
|
|
|
|
<div id="idcardBox">
|
|
|
|
<ul class="n-list edit-info registered c-border-tb mt15 c-f15 form-register">
|
|
|
|
<li>
|
|
|
|
<div class="n-list-key" style="width: 2.3em;">
|
|
|
|
<img src="../images/zhanghao_icon.png"
|
|
|
|
style="width: 20px; height: 26px;padding-left: 3px;padding-top: 10px;">
|
|
|
|
<!--<i class="iconfont icon-shouji1"></i>-->
|
|
|
|
</div>
|
|
|
|
<div class="n-list-info">
|
|
|
|
<input id="idcardTxt" maxlength="18" minlength="11" type="text" class="width-100 c-f16 c-5b5b5b"
|
|
|
|
placeholder="身份证号">
|
|
|
|
<a href="#" class="searchbar-clear"></a>
|
|
|
|
</div>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<div class="mb15 mlr15 mt20">
|
|
|
|
<a id="idcardBtn" href="javascript:;" style="font-size: 18px;"
|
|
|
|
class="c-btn c-btn-dcdcdc c-btn-full c-btn-radius c-f16 active">下一步</a>
|
|
|
|
</div>
|
|
|
|
<div class="mui-content-pad">
|
|
|
|
<a id="accounts" class="btn-rt">账号申诉</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id="phoneBox" style="display: none;">
|
|
|
|
<ul class="n-list edit-info registered c-border-tb mt15 c-f15 form-register">
|
|
|
|
<li>
|
|
|
|
<div class="n-list-key" style="width: 2.3em;">
|
|
|
|
<i class="iconfont icon-shouji1"></i>
|
|
|
|
</div>
|
|
|
|
<div class="n-list-info">
|
|
|
|
<input id="txtMobile" type="tel" class="width-100 c-f16 c-5b5b5b" maxlength="11"
|
|
|
|
placeholder="请输入手机号码" disabled hidden/>
|
|
|
|
<input id="txtMobile2" type="tel" class="width-100 c-f16 c-5b5b5b" maxlength="11"
|
|
|
|
placeholder="请输入手机号码" disabled/>
|
|
|
|
<a href="#" class="searchbar-clear"></a>
|
|
|
|
</div>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<div class="n-list-key" style="width: 2.3em;">
|
|
|
|
<i class="iconfont icon-yanzhengma01"></i>
|
|
|
|
</div>
|
|
|
|
<div class="n-list-info">
|
|
|
|
<input id="txtCode" type="text" class="width-100 c-f16 c-5b5b5b" placeholder="请输入验证码"/>
|
|
|
|
<a href="#" class="searchbar-clear"></a>
|
|
|
|
</div>
|
|
|
|
<div id="messageCode1" class="n-list-key pl15 c-17b3ec" onclick="sendCode()">
|
|
|
|
<span>获取短信验证码</span>
|
|
|
|
</div>
|
|
|
|
<div id="messageCode2" class="n-list-key pl15 c-999999" style="display: none;">
|
|
|
|
<span id="message"></span>
|
|
|
|
</div>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
<div class="mb15 mlr15 mt20">
|
|
|
|
<a id="phoneBtn" href="javascript:;" style="font-size: 18px;"
|
|
|
|
class="c-btn c-btn-dcdcdc c-btn-full c-btn-radius c-f16">下一步</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</body>
|
|
|
|
<script type="text/javascript" src="../../../js/jquery/2.1.3/jquery.js"></script>
|
|
|
|
<script type="text/javascript" src="../../../js/common_http.js"></script>
|
|
|
|
<script type="text/javascript" src="../../../js/weixin_common.js"></script>
|
|
|
|
<link rel="stylesheet" type="text/css" href="../../../widget/artDialog/6.0.5/css/ui-dialog.min.css">
|
|
|
|
<script src="../../../widget/artDialog/6.0.5/js/dialog-plus.js"></script>
|
|
|
|
<script type="text/javascript" src="../../../js/commit_validate.js"></script>
|
|
|
|
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
|
|
|
|
<script src="../../../js/mui.min.js"></script>
|
|
|
|
<script type="text/javascript">
|
|
|
|
var dd = dialog({contentType: 'load', skin: 'bk-popup', content: '验证中...'});
|
|
|
|
var Request = new Object();
|
|
|
|
Request = GetRequest();
|
|
|
|
var openid = Request["openid"];
|
|
|
|
var type = Number(Request["type"]);
|
|
|
|
var mobile1 = Request["mobile"];
|
|
|
|
var clock = "";
|
|
|
|
var nums = 60;
|
|
|
|
var loginParams = Request["loginParams"];
|
|
|
|
var $phoneBox = $('#phoneBox');
|
|
|
|
var $idcardBox = $('#idcardBox');
|
|
|
|
|
|
|
|
isValueChange();//判断当前是否有输入值,有输入则登录按钮变亮
|
|
|
|
bindEvents();
|
|
|
|
|
|
|
|
if (loginParams) {
|
|
|
|
loginParams = JSON.parse(decodeURIComponent(Request["loginParams"]));
|
|
|
|
}
|
|
|
|
$(function () {
|
|
|
|
var userAgent = window.localStorage.getItem(agentName);
|
|
|
|
if (userAgent) {
|
|
|
|
var paurl = "";
|
|
|
|
if (type == 0) {
|
|
|
|
paurl = "wx/html/home/html/login.html?type=0&openid=" + openid;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
if (mobile1) {
|
|
|
|
paurl = "wx/html/home/html/login.html?type=" + type + "&openid=" + openid + "&mobile=" + mobile1;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
paurl = "wx/html/home/html/login.html?type=" + type + "&openid=" + openid;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//从后台那边获取签名等信息
|
|
|
|
var params = {};
|
|
|
|
params.pageUrl = window.location.href;
|
|
|
|
$.ajax(server + "weixin/getSign", {
|
|
|
|
data: params,
|
|
|
|
dataType: "json",
|
|
|
|
type: "post",
|
|
|
|
success: function (res) {
|
|
|
|
if (res.status == 200) {
|
|
|
|
var t = res.data.timestamp;
|
|
|
|
var noncestr = res.data.noncestr;
|
|
|
|
var signature = res.data.signature;
|
|
|
|
wx.config({
|
|
|
|
//debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
|
|
|
|
appId: appId, // 必填,公众号的唯一标识
|
|
|
|
timestamp: t, // 必填,生成签名的时间戳
|
|
|
|
nonceStr: noncestr, // 必填,生成签名的随机串
|
|
|
|
signature: signature,// 必填,签名,见附录1
|
|
|
|
jsApiList: [
|
|
|
|
'closeWindow'
|
|
|
|
] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
wx.ready(function () {
|
|
|
|
wx.closeWindow();
|
|
|
|
});
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
if (!openid) {
|
|
|
|
dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: 'openid获取失败'}).show();
|
|
|
|
}
|
|
|
|
if (mobile1) {
|
|
|
|
$("#txtMobile").val(mobile1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
function bindEvents() {
|
|
|
|
$("#idcardBtn").on("click", function () {
|
|
|
|
var idcard = $('#idcardTxt').val();
|
|
|
|
var data = {}
|
|
|
|
if (idcard == "") {
|
|
|
|
dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '身份证不能为空'}).show();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (!isIdcard(idcard)) {
|
|
|
|
dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '请输入正确的身份证号'}).show();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
data.idCard = idcard;
|
|
|
|
sendPost("weixin/getMobile", data, "json", "post", operateFailed, operateSuccesss);
|
|
|
|
function operateSuccesss(res) {
|
|
|
|
if (res.status == -1) {
|
|
|
|
dd.close();
|
|
|
|
if (res && res.msg) {
|
|
|
|
dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: res.msg}).show();
|
|
|
|
setTimeout(function () {
|
|
|
|
mui.openWindow({
|
|
|
|
url: "regist-info.html",
|
|
|
|
waiting: {
|
|
|
|
autoShow: false, //自动显示等待框,默认为true
|
|
|
|
title: '正在加载...'
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
},1500)
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
} else if (res.status == -2) {
|
|
|
|
dd.close();
|
|
|
|
if (res && res.msg) {
|
|
|
|
dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '您还未绑定手机,无法重置密码,请尝试使用默认密码登录。'}).show();
|
|
|
|
setTimeout(function () {
|
|
|
|
mui.openWindow({
|
|
|
|
url: "zhmm-login.html",
|
|
|
|
waiting: {
|
|
|
|
autoShow: false, //自动显示等待框,默认为true
|
|
|
|
title: '正在加载...'
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
},1500)
|
|
|
|
}
|
|
|
|
} else if (res.status == 200) {
|
|
|
|
dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: res.msg}).show();
|
|
|
|
var mobile = res.data.mobile;
|
|
|
|
var phoneNum = mobile.substring(0, 3) + "*****" + mobile.substring(8, 11);
|
|
|
|
$('#txtMobile').val(mobile);
|
|
|
|
$('#txtMobile2').val(phoneNum);
|
|
|
|
$idcardBox.hide();
|
|
|
|
$phoneBox.show();
|
|
|
|
}
|
|
|
|
};
|
|
|
|
function operateFailed(res) {
|
|
|
|
dd.close();
|
|
|
|
if (res && res.msg) {
|
|
|
|
dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: res.msg}).show();
|
|
|
|
} else {
|
|
|
|
dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '校验失败'}).show();
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
})
|
|
|
|
$("#phoneBtn").on("click", function () {
|
|
|
|
if ($(this).hasClass("active")) {
|
|
|
|
commit();
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
$("input").on("focus", function () {
|
|
|
|
$(".searchbar-clear").css("pointer-events", "none").css("opacity", 0);
|
|
|
|
if ($(this).val()) {
|
|
|
|
$(this).next().css("pointer-events", "auto").css("opacity", 1);
|
|
|
|
}
|
|
|
|
}).on("input", function () {
|
|
|
|
$(this).next().css("pointer-events", "auto").css("opacity", 1);
|
|
|
|
});
|
|
|
|
|
|
|
|
$(".n-list-info").on("click", ".searchbar-clear", function () {
|
|
|
|
$(this).prev().val("");
|
|
|
|
$(this).css("pointer-events", "none").css("opacity", 0);
|
|
|
|
$(this).prev().focus();
|
|
|
|
return false;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
function isValueChange() {
|
|
|
|
var self = this;
|
|
|
|
var int = setInterval(function () {
|
|
|
|
if ($("#txtMobile").val() && $("#txtCode").val()) {
|
|
|
|
clearInterval(int);
|
|
|
|
int = null;
|
|
|
|
$("#phoneBtn").addClass("active");
|
|
|
|
}
|
|
|
|
|
|
|
|
}, 300);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function sendCode() {
|
|
|
|
var mobile = document.getElementById("txtMobile").value;
|
|
|
|
if (!mobile) {
|
|
|
|
dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '请输入手机号'}).show();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (!isphone(mobile)) {
|
|
|
|
dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '手机号格式不正确'}).show();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
$("#messageCode1").hide();
|
|
|
|
document.getElementById("message").innerHTML = nums + '秒后可重新获取';
|
|
|
|
$("#messageCode2").show();
|
|
|
|
clock = setInterval(doLoop, 1000); //一秒执行一次
|
|
|
|
var data = {};
|
|
|
|
data.mobile = mobile;
|
|
|
|
data.type = 2;
|
|
|
|
sendPost("common/captcha", data, "json", "post", sendFailed, sendSuccesss);
|
|
|
|
}
|
|
|
|
//失败
|
|
|
|
function sendFailed(res) {
|
|
|
|
clearInterval(clock); //清除js定时器
|
|
|
|
$("#messageCode1").show();
|
|
|
|
$("#messageCode2").hide();
|
|
|
|
nums = 60; //重置时间
|
|
|
|
if (res && res.msg) {
|
|
|
|
dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: res.msg}).show();
|
|
|
|
} else {
|
|
|
|
dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '获取失败'}).show();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function sendSuccesss(res) {
|
|
|
|
if (res.status == 200) {
|
|
|
|
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
sendFailed(res);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function doLoop() {
|
|
|
|
nums--;
|
|
|
|
if (nums > 0) {
|
|
|
|
document.getElementById("message").innerHTML = nums + '秒后可重新获取';
|
|
|
|
} else {
|
|
|
|
clearInterval(clock); //清除js定时器
|
|
|
|
$("#messageCode1").show();
|
|
|
|
$("#messageCode2").hide();
|
|
|
|
nums = 60; //重置时间
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
var mobile;
|
|
|
|
function commit() {
|
|
|
|
mobile = document.getElementById("txtMobile").value;
|
|
|
|
var captcha = document.getElementById("txtCode").value;
|
|
|
|
if (!mobile || !captcha) {
|
|
|
|
dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '手机号和验证码不能为空'}).show();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!isphone(mobile)) {
|
|
|
|
dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '手机号格式不正确'}).show();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
dd.showModal();
|
|
|
|
//拼请求内容
|
|
|
|
var data = {};
|
|
|
|
data.mobile = mobile;
|
|
|
|
data.captcha = captcha;
|
|
|
|
data.type = 2;
|
|
|
|
|
|
|
|
sendPost("common/check_captcha", data, "json", "post", operateFailed, operateSuccesss);
|
|
|
|
}
|
|
|
|
|
|
|
|
//失败
|
|
|
|
function operateFailed(res) {
|
|
|
|
dd.close();
|
|
|
|
if (res && res.msg) {
|
|
|
|
dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: res.msg}).show();
|
|
|
|
} else {
|
|
|
|
dialog({contentType: 'tipsbox', bottom: true, skin: 'bk-popup', content: '验证码验证失败'}).show();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//成功调用登录接口
|
|
|
|
function operateSuccesss(res) {
|
|
|
|
var idcard = $('#idcardTxt').val();
|
|
|
|
if (res.status == 200) {
|
|
|
|
window.location.href = "reset-password.html?type=" + type + "&openid=" + openid + "&mobile=" + mobile + '&idcard=' + idcard;
|
|
|
|
dd.close();
|
|
|
|
} else {
|
|
|
|
//非200则为失败
|
|
|
|
operateFailed(res);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$('#accounts').on('tap',function(){
|
|
|
|
mui.openWindow({
|
|
|
|
id: "account_back",
|
|
|
|
url: "../../yjfk/html/account_back.html",
|
|
|
|
extras: {
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
})
|
|
|
|
|
|
|
|
</script>
|
|
|
|
</html>
|