123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431 |
- <!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-zczh{width:auto;height:29px;border:0;color:#4DCD70;font-size:14px;line-height:29px;text-align:center;border-radius:10px;color:#17b3ec;margin-left: 20px;}
- .div-zhmmdl{width:auto;height:29px;border:0;color:#4DCD70;font-size:14px;line-height:29px;text-align:center;border-radius:10px;color:#17b3ec;margin-right: 20px;}
- .bgc-fa8888{background-color: #FA8888;}
- .tabox{background: #fff;display: flex}
- .tabcontent{width: 50%;padding-top: 15px;}
- .tabcontent span{padding: 0 5px}
- .fc{display: flex;justify-content: center;align-items: center;}
- .fjs{display:flex;justify-content:space-between}
- .activeTab{border-bottom: 5px solid #ccc}
- .display{display: none}
- .iconImg{width:26px}
- </style>
- </head>
- <body>
- <!--<div class="h45">
- <div class="demo-comtop">.
- <a class="mui-action-back"></a>
- <h1>登录</h1>
- </div>
- </div>-->
- <div class="main">
- <!-- <div class="bgc-fa8888 ptb10 plr10">
- <span class="c-f14 c-fff">已签约居民可直接使用身份证号及默认密码登录</span>
- </div> -->
- <div class="tabox">
- <div class="tabcontent fc " name="fastLogin"><span class="activeTab">手机号快捷登录</span></div>
- <div class="tabcontent fc" name="passwordLogin"><span>账号密码登录</span></div>
- </div>
- <div>
- <ul class="n-list edit-info registered c-border-tb mt15 c-f15 form-register tabList" id="fastLogin">
- <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" onblur="setPhone()" type="tel" class="width-100 c-f16 c-5b5b5b" maxlength="11" placeholder="请输入手机号码" onkeyup="this.value=this.value.replace(/[^\d]/g,'')" value="15980862610"/>
- <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>
- <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>
- </li>
- </ul>
- <ul class="n-list edit-info registered c-border-tb mt15 c-f15 form-register display tabList" id="passwordLogin">
- <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="txtMobile2" maxlength="18" minlength="11" type="text" class="width-100 c-f16 c-5b5b5b" placeholder="身份证号/手机号"/>
- <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="txtCode2" type="password" class="width-100 c-f16 c-5b5b5b" placeholder="初始密码为身份证后6位"/>
- <a href="#" class="searchbar-clear"></a>
- </div>
- <div class="n-list-key fc" >
- <img id="showPass" class="iconImg" src="../images/biyan_icon.png">
- <img id="hidePass" class="iconImg display" src="../images/kanjian_icon.png">
- </div>
- </li>
- </ul>
- </div>
- <div class="fjs">
- <div class="div-zczh" onclick="regist()">新注册</div>
- <div class="div-zhmmdl" onclick="forgetPwd()">忘记密码?</div>
- </div>
- <div class="mb15 mlr15 mt20">
- <a href="javascript:;" style="font-size: 18px;" class="c-btn c-btn-4dcd70 c-btn-full c-btn-radius c-f16" onclick="commit()">登录</a>
- </div>
-
- <!--<p class="c-17b3ec mr15 c-t-right" style="font-size: 16px;" onclick="regist()">立即注册</p>-->
- </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?11=11" ></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/mui.min.js" ></script>
- <script src="../../../js/security.js" type="text/javascript" charset="utf-8"></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 type="text/javascript">
- var dd = dialog({contentType:'load', skin:'bk-popup', content:'登录中...'});
- var Request = new Object();
- Request = GetRequest();
- var openid = Request["openid"] || '123456';
- var type = Number(Request["type"]) || 4;
- var mobile1 = Request["mobile"];
- var idcard = Request["idcard"];
- var clock = "";
- var nums = 60;
- var loginParams = Request["loginParams"],
- loginType = Request["loginType"] || 'yzm';//选择的登录方式
- if(loginParams) {
- loginParams = JSON.parse(decodeURIComponent( Request["loginParams"]));
- }
- $(function (){
- if(loginType = 'yzm'){
- $('.tabcontent[name="fastLogin"]').click();
- }
- else if(loginType = 'password'){
- $('.tabcontent[name="passwordLogin"]').click();
- }
- 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);
- $("#txtMobile2").val(mobile1);
- }
- if(idcard) {
- $("#txtMobile2").val(idcard);
- }
- }
- bindEvents();
- })
- function bindEvents(){
- $("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;
- });
- $('.tabcontent').click(function(){
- var id = $(this).attr('name');
- $('#'+id).removeClass('display').siblings().addClass('display');
- $(this).children().addClass('activeTab');
- $(this).siblings().children().removeClass('activeTab');
- switch (id){
- case 'fastLogin':loginType = 'yzm';break;
- case 'passwordLogin':loginType = 'password';break;
- }
- })
- $('#showPass').click(function(){
- $(this).hide().siblings().show();
- $('#txtCode2').prop('type','text');
- })
- $('#hidePass').click(function(){
- $(this).hide().siblings().show();
- $('#txtCode2').prop('type','password');
- })
- }
- 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 = 4;
- sendPost("common/captcha", data, "json", "post", sendFailed, sendSuccesss);
- }
- //失败
- function sendFailed(res) {
- clearInterval(clock); //清除js定时器
- $("#messageCode1").show();
- $("#messageCode2").hide();
- nums = 60; //重置时间
- if(res && res.msg=="该手机号未注册!" && res.status == -1){
- dialog({
- title: "",
- content: '您的手机尚未注册<br>请完善信息再登录',
- okValue: "去注册",
- ok: function() {
- regist()
- },
- cancelValue: "取消",
- cancel: function(){}
- }).showModal();
- return
- }
- 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; //重置时间
- }
- }
- function commit(){
- if(loginType =='yzm'){
- commitYzm()
- }
- else if(loginType =='password'){
- commitPassword()
- }
- }
- function commitYzm(){
- var 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.openid = openid;
- sendPost("weixin/login", data, "json", "post", operateFailed, operateSuccesss);
- }
- function commitPassword(){
- var mobile = $.trim(document.getElementById("txtMobile2").value);
- if(mobile.length!=15&&mobile.length!=18&&mobile.length!=11){
- dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请输入正确的手机号/身份证号'}).show();
- return;
- }
- if(mobile.length==11&&!isphone(mobile)){
- dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请输入正确的手机号'}).show();
- return;
- }
- if((mobile.length==18||mobile.length==15)&&!isIdcard(mobile)){
- dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请输入正确的身份证号'}).show();
- return;
- }
- var captcha = document.getElementById("txtCode2").value;
- if (!mobile || !captcha) {
- dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'账号和密码不能为空'}).show();
- return;
- }
- dd.showModal();
- //加密设置:获取公钥
- var encryURL = server + "login/public_key";
- var key = RSAUtils.getKeyFromServer(encryURL);
- //拼请求内容
- var data = {};
- data.mobile = mobile;
- data.password = RSAUtils.encryStr(key, captcha);
- if(openid == "undefined"){
- var openidObj = window.localStorage.getItem(OpenidAgent);
- if(openidObj){
- openidObj = JSON.parse(openidObj);
- openid = openidObj.openid
- }else{
- openid = "undefined";
- }
- }
- data.openid = openid;
- sendPost("weixin/login", 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) {
- if (res.status == 200) {
- var id = res.data.id;
- var uid = res.data.uid;
- var name = res.data.name;
- var photo = res.data.photo;
- var token = res.data.token;
- //保存用户信息
- wxSaveUserAgent(id, uid, openid, token);
- wxSaveUserAgent1(uid, name, photo);
- saveAgentOpenid(openid);
- window.location.href = pageUrl[type];
- dd.close();
- // 缓存第一个人的uid和名字,后面账号切换需要用
- window.localStorage.removeItem("firstUid");
- window.localStorage.setItem("firstUid", uid);
- window.localStorage.removeItem("firstName");
- window.localStorage.setItem("firstName", name);
- } else {
- if(res.status == -2){
- dd.close();
- dialog({
- content: res.msg,
- okValue: "我知道了",
- ok: function(){
-
- }
- }).showModal()
- }else{
- //非200则为失败
- operateFailed(res);
- }
- }
- }
- //注册
- function regist(){
- window.location.href = "regist-info.html?type=" + type + "&openid=" + openid;
- }
- //忘记密码
- function forgetPwd(){
- window.location.href = "forgetPwd.html?type=" + type + "&openid=" + openid;
- }
- //将第一个inpput的值同步到第二个Input
- function setPhone(){
- $('#txtMobile2').val($('#txtMobile').val())
- }
- </script>
- </html>
|