| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499 | 
							- Namespace.register("U.MD.U.F"); //用户找回帐号
 
- //#region 切换找回方式
 
- /**
 
- * 弹出密码找回
 
- *
 
- */
 
- U.MD.U.F.findPassword = function () {
 
-     var _parent = $("#U_MD_U_L_login"); //登录注册框
 
-     //弹出密码找回
 
-     var _child = _parent.Child(); //获取登录注册找回密码的div
 
-     _child[1].style.display = "none"; //隐藏注册 
 
-     _child[2].style.display = "none";  //隐藏登录
 
-   
 
-     $("div", _child[0])[2].innerHTML = "找回密码";
 
-     //头部设置内容
 
-     var _head = $(_child[0]).childs()[1];
 
-     $(_head).addAttrArray({
 
-         "innerHTML": "",
 
-         "onclick": null,
 
-         "className": "",
 
-         "title": ""
 
-     });
 
-     //调用找回密码的上下部的处理,设置为第一步
 
-     U.MD.U.F.findPasswordProcessing($(_child[3]).Child()[1], 0);
 
-     //显示的默认密保找回处理
 
-     U.MD.U.F.switchEmailOrSecurityFind($("span", _child[3])[0], 'security');
 
-     _child[3].style.display = "block"; //显示找回密码
 
- }
 
- /**
 
- * 手机号找回后的上下步操作处理
 
- *
 
- * @param  {element} 找回密码元素
 
- * @param  {int} 第几步
 
- */
 
- U.MD.U.F.findPasswordProcessing = function (el, displaynum) {
 
-     var _inputs,
 
-         _len,
 
-         _bottom,
 
-         _child = $(el).Child(), //获取找回和确认找回的两个步骤的元素
 
-         _parentel = $(el).Parent();
 
-     //找回密码确认上下步处理
 
-     for (i = 0; i < _child.length; i++) {
 
-         //判断显示的隐藏的区域处理
 
-         if (i == displaynum) { //如果是显示
 
-             _child[i].style.display = "block";
 
-             _inputs = $("input", _child[i]); //获取显示的元素下的input元素
 
-             _len = _inputs.length; //输入框的总长度 
 
-         }
 
-         else { //隐藏
 
-             _child[i].style.display = "none";
 
-         }
 
-     }
 
-     //使用聚焦和释放的方式,重新设置input的初始化样式
 
-     while (_len--) {
 
-         _inputs[_len].value = "";
 
-         _inputs[_len].innerText = "6-20位字符或数字";
 
-         _inputs[_len].focus();
 
-         _inputs[_len].blur();
 
-     }
 
- }
 
- /**
 
- * 切换找回的方式,邮箱,密保,手机切找回的方式
 
- *
 
- */
 
- U.MD.U.F.switchEmailOrSecurityFind = function (el, typename) {
 
-     var _input,
 
-         _tempel,
 
-         _parentel = $(el).Parent(2),
 
-         _childs = $(_parentel).Child(),
 
-         _inputs = $("input", _parentel),
 
-         _span = $("span", _parentel),
 
-         _is = $("i", _parentel),
 
-         _bottom = $(_parentel).Child()[2],
 
-         _code = $("#U_MD_U_L_Overflow_Code")[0]; //验证码框
 
-     //如果是邮箱找回处理
 
-     if (typename == "email") {
 
-         _input = _inputs[1];
 
-         _tempel = $$("input", {
 
-             "type": "text",
 
-             "onblur": function () {
 
-                 U.MD.U.F.checkEmail(this); $(this).parentElement(2).removeClass('U_MD_U_L_Box_Border');
 
-             },
 
-             "onfocus": _input.onfocus,
 
-             "onkeyup": _input.onkeyup
 
-         });
 
-         _input.parentNode.replaceChild(_tempel, _input);
 
-         _is[1].innerText = "请输入邮箱";
 
-         _span[1].className = "U_MD_U_F_T_Hover";
 
-         _span[0].className = "";
 
-         _code.style.display = "none"; //验证码框
 
-         _bottom.onclick = function () {
 
-             U.MD.U.F.findPasswordByEmail(_childs[1]);
 
-         }
 
-     }
 
-     //如果是手机找回处理
 
-     else if (typename == 'security') {//更改style
 
-         _input = _inputs[1];
 
-         _tempel = $$("input", {
 
-             "type": "text",
 
-             "onblur": function () {
 
-                 U.MD.U.F.checkPhone(this); $(this).parentElement(2).removeClass('U_MD_U_L_Box_Border');
 
-             }, //更改onblur事件
 
-             "onfocus": _input.onfocus, //更改onfocus事件
 
-             "onkeyup": _input.onkeyup//更改onkeyup事件
 
-         });
 
-         _input.parentNode.replaceChild(_tempel, _input); //替换
 
-         _is[1].innerText = "请输入手机号";
 
-         _span[0].className = "U_MD_U_F_T_Hover"; //更改class
 
-         _span[1].className = ""; //更改class
 
-         _code.style.display = "block"; //验证码框
 
-         _inputs[3].value = "发送"; //验证码框内的value
 
-         _inputs[3].onclick = function () {//验证码框的点击事件
 
-             U.MD.U.F.userName(U.MD.U.F.phoneSend); //验证用户名是否存在
 
-         }
 
-         _bottom.onclick = function () {//设定提交按钮的点击事件
 
-             U.MD.U.F.phoneConfirm(_childs[1]); //确认验证码
 
-         }
 
-     }
 
- }
 
- //#endregion
 
- //#region 手机找回
 
- /**
 
- * 手机号设置
 
- *
 
- * @param  {element} 手机号设置处理
 
- */
 
- U.MD.U.F.checkSecurityCode = function (el) {
 
-     var _inputs = $("input", el), //输入框
 
-         _username = _inputs[0], //密码
 
-         _phone = _inputs[1]; //确认手机号
 
-     if (U.MD.U.F.checkUserName(_username) && U.MD.U.F.checkPhone(_phone)) {//判断账号和手机号是否输入指定格式
 
-         U.MD.U.F.phoneCheckSecurityCode(["", el, _username, _phone])//调用后台处理用户的修改密码
 
-     }
 
- }
 
- /**
 
- * 手机发送验证码
 
- *
 
- */
 
- U.MD.U.F.phoneSend = function () {
 
-     var _username = $("#U_MD_U_L_Box_height")[0].children[0].children[0].value; //用户名
 
-     U.A.Request(US.CD, [US.DB, "UseStudio_Users", "GetUserinfoByUserName", _username], function (r) {//根据用户名获取用户信息
 
-         if (r.value[0] == undefined) { //判断是否输入手机号
 
-             U.MD.U.R.setInputStyle($("#userphone")[0].children[0], {//给$("#userphone")[0].children[0] 设置 一个红色边框的样式 让用户知道你输入的手机号与账号设置的手机号不匹配
 
-                 "color": "red",
 
-                 "textAlign": "right",
 
-                 "display": "block"
 
-             }, "输入的手机号与账号不匹配");
 
-             return false; //如果输入手机号与账号设置的手机号不匹配 return false
 
-         }
 
-         if (r.value[0].UserTelephoneNumber != $("#userphone")[0].children[0].children[0].value) {//如果输入手机号与账号设置的手机号不匹配)
 
-             U.MD.U.R.setInputStyle($("#userphone")[0].children[0], {//给$("#userphone")[0].children[0] 设置 一个红色边框的样式 让用户知道你输入的手机号与账号设置的手机号不匹配
 
-                 "color": "red",
 
-                 "textAlign": "right",
 
-                 "display": "block"
 
-             }, "输入的手机号与账号不匹配");
 
-             return false; //如果输入手机号与账号设置的手机号不匹配 return false
 
-         }
 
-         else {//如果输入手机号与账号匹配 向手机发送验证码
 
-             //        U.A.Request("http://api.cloudsql.1473.cn/postnumber", [$("#userphone")[0].children[0].children[0].value], function (r) {
 
-             //            console.log(r);
 
-             //        });
 
-             var _xhttp = new XMLHttpRequest(); //XMLHttpRequest 对象用于在后台与服务器交换数据
 
-             _xhttp.onreadystatechange = function () {//每当 readyState 属性改变时,就会调用该函数。
 
-                 if (this.readyState == 4) {//发送成功后
 
-                     if (this.status == 201) {
 
-                         U.Alert('发送成功'); //弹出发送成功
 
-                         U.MD.U.F.setTime($("#U_MD_U_L_Overflow_Code")[0].children[1].children[0]); //60秒倒计时
 
-                     } else {
 
-                         U.Alert(JSON.parse(this.response).err || '验证码发送失败,请重新发送...');
 
-                     }
 
-                 }
 
-             };
 
-             _xhttp.open("POST", "http://api.cloudsql.1473.cn/postnumber", true); //指定和服务器端交互的HTTP方法,URL地址及其他请求信息
 
-             _xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); //向一个打开但未发送的请求设置或添加一个 HTTP 请求
 
-             _xhttp.withCredentials = true; //发送cookie等认证信息到服务端
 
-             _xhttp.send("number=" + $("#userphone")[0].children[0].children[0].value); //$("#userphone")[0].children[0].children[0].value 发送的手机号输入的框
 
-             //            U.A.Request.Post("http://api.cloudsql.1473.cn/postnumber", { number: $("#userphone")[0].children[0].children[0].value }, function () {
 
-             //                U.MD.U.F.setTime($("#U_MD_U_L_Overflow_Code")[0].children[1].children[0]); //60秒倒计时
 
-             //                U.Alert('发送成功'); //弹出发送成功
 
-             //            });
 
-         }
 
-     })
 
- }
 
- /**
 
- * 手机确认验证码
 
- *
 
- * @param  {element} 确认验证码的按钮
 
- */
 
- U.MD.U.F.phoneConfirm = function (el) {
 
-     var _xhttp = new XMLHttpRequest(); //XMLHttpRequest 对象用于在后台与服务器交换数据
 
-     _xhttp.onreadystatechange = function () {//每当 readyState 属性改变时,就会调用该函数
 
-         if (this.readyState == 4) {//验证成功后
 
-             if (this.status == 201) {
 
-                 U.MD.U.F.checkSecurityCode(el); //手机号设置
 
-                 U.Alert("验证成功"); //弹出验证成功
 
-             } else {
 
-                 U.Alert(JSON.parse(this.response).err || "验证码有误");
 
-             }
 
-         }
 
-     };
 
-     _xhttp.open("POST", "http://api.cloudsql.1473.cn/verifi", true); ////指定和服务器端交互的HTTP方法,URL地址及其他请求信息
 
-     _xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); //向一个打开但未发送的请求设置或添加一个 HTTP 请求
 
-     _xhttp.withCredentials = true; //发送cookie等认证信息到服务端
 
-     _xhttp.send("code=" + $("#U_MD_U_L_Overflow_Code")[0].children[0].children[0].value); //$("#U_MD_U_L_Overflow_Code")[0].children[0].children[0].value 验证码输入的框
 
- }
 
- /**
 
- * 手机重新发送验证码倒计时
 
- * @param  {object} 倒计时的对象
 
- * @param  {number} 倒计时的时间(秒数)
 
- */
 
- U.MD.U.F.setTime = function (obj, countdown) {
 
-     var countdown = 60;
 
-     var _settime = setInterval(function () { //setInterval(需要执行的javascript代码,在执行代码前需等待的毫秒数)
 
-         if (countdown == 0) { //倒计时变量为0 
 
-             obj.removeAttribute("disabled"); //让obj可以使用
 
-             obj.value = "重新获取验证码";
 
-             clearInterval(_settime); //停止倒计时
 
-             return;
 
-         } else {//如果countdown不等于零 每秒countdown会减少1
 
-             obj.setAttribute("disabled", true); //禁用obj
 
-             obj.value = "重新发送(" + countdown + ")"; //显示倒计时的事件
 
-             countdown--; //倒计时时间 -1S
 
-         }
 
-     }, 1000);
 
- }
 
- /**
 
- * 验证用户名是否存在
 
- *
 
- * @param  {function} cb  回调函数
 
- */
 
- U.MD.U.F.userName = function (cb) {
 
-     U.A.Request(US.USER, ["CheckUserName", U_MD_U_L_Box_height.children[0].children[0].value], //验证用户名是否存在
 
-     function (r) {//回调函数
 
-         var _str = U.UF.C.jsonToStr(r.value); //序列化json为字符串
 
-         if (_str == "false") {//如果用户名不存在
 
-             U.MD.U.R.setInputStyle(U_MD_U_L_Box_height, {//如果不存在 用户名的框变红色 并且提示 用户名不存在
 
-                 "color": "red",
 
-                 "textAlign": "right",
 
-                 "display": "block"
 
-             }, "用户名不存在");
 
-         }
 
-         cb(); //回调函数
 
-     })
 
- }
 
- /**
 
- * 手机号设置处理
 
- *
 
- * @param  {object} 数据库匹配手机号是否正确
 
- */
 
- U.MD.U.F.phoneCheckSecurityCode = function (r) {
 
-     var _bottom,
 
-         _childs,
 
-         _username = r[2], //输入密码框
 
-         _enterpassword = r[3], //确认密码框
 
-         _el = $(_username).Parent(4)
 
-     ;
 
-     //如果密保匹配成功处理
 
-     if (r) {
 
-         //如果账号和手机号匹配成功的处理
 
-         U.MD.U.F.findPasswordProcessing(_el, 1); //手机找回的步骤
 
-         _bottom = $(_el.parentNode).Child()[2]; //得到确认框
 
-         _childs = $("input", _el); //获取所有的输入
 
-         //点击事件处理
 
-         _bottom.onclick = function () {
 
-             U.MD.U.F.setNewUserPassword(r, _childs[1]); //新密码设置
 
-         };
 
-     }
 
-     else {
 
-         //账号或者密保错误
 
-         U.MD.U.R.setInputStyle(_enterpassword, {//给_enterpassword 设置 一个红色边框的样式 让用户知道用户输入账号或者密保错误
 
-             "color": "red",
 
-             "textAlign": "right",
 
-             "display": "block"
 
-         }, "账号或者密保错误");
 
-     }
 
- }
 
- /**
 
- * 新密码设置
 
- *
 
- * @param  {string} 用户id
 
- * @param  {string} 密码
 
- * @param  {string} 确认密码
 
- * @param  {string} 用户id
 
- */
 
- U.MD.U.F.setNewUserPassword = function (userinfo, phone) {
 
-     //判断用户输入的密码是否正确的处理
 
-     var _newpassword = userinfo[1].children[1].children[0].children[0].children[0].value; //密码
 
-     var _newpasswordt = userinfo[1].children[1].children[1].children[0].children[0].value; //再次输入密码
 
-     if (U.MD.U.F.checkConfirmPassword(_newpassword, _newpasswordt)) {//如果 密码和再次输入的密码 相同
 
-         U.A.Request(US.USER, ["UpdateUserPasswordByOldPhoneNumber", phone.value, _newpassword], //修改密码
 
-                     U.MD.U.F.asynSetNewUserPassword); //修改密码成功后执行的函数
 
-     }
 
- }
 
- /**
 
- * 新密码设置
 
- *
 
- * @param  {object} 设置密码成功的异步ajax对象
 
- */
 
- U.MD.U.F.asynSetNewUserPassword = function (r) {
 
-     if (r.value) {
 
-         U.alert("修改密码成功,请登录");
 
-         U.MD.U.L.login(); //直接回到登录页面
 
-     };
 
- }
 
- //#endregion
 
- //#region 通过邮箱找回
 
- /**
 
- * 通过邮箱找回
 
- *
 
- * @param  {element} 输入框所在的位置
 
- */
 
- U.MD.U.F.findPasswordByEmail = function (el) {
 
-     var _inputs = $("input", el),
 
-         _username = _inputs[0],
 
-         _email = _inputs[1];
 
-     //判断是否发送邮箱
 
-     if (U.MD.U.F.checkEmail(_email) && U.MD.U.F.checkUserName(_username)) {
 
-         U.A.Request(US.USER, ["FindPasswordByEmail", _username.value, _email.value], U.MD.U.F.asynFindPasswordByEmail);
 
-     }
 
- }
 
- /**
 
- * 通过邮箱找回
 
- *
 
- * @param  {object} ajax返回的值
 
- */
 
- U.MD.U.F.asynFindPasswordByEmail = function (r) {
 
-     //成功发送
 
-     if (r.value == "2") {
 
-         U.alert("已经发送邮箱,请及时查看密码");
 
-         U.MD.U.L.init();
 
-         //U.MD.U.L.login(); //直接回到登录页面
 
-     }
 
-     //账号不存在处理
 
-     else if (r.value == "0") {
 
-         U.alert("您输入的账号不存在");
 
-     }
 
-     //邮箱和账号不匹配处理
 
-     else if (r.value == "1") {
 
-         U.alert("邮箱账号不匹配");
 
-     }
 
- }
 
- //#endregion
 
- //#region 密码和密保检查
 
- /**
 
- *  判断有限是否正确
 
- *
 
- * @param  {object} 输入用户名的框
 
- */
 
- U.MD.U.F.checkEmail = function (inputel) {
 
-     var _email = inputel.value; //获取用户名
 
-     //输入为空不做变化
 
-     if (_email == "") {
 
-         U.MD.U.R.setInputStyle(inputel, { "display": "block", 'textAlign': 'left', 'marginRight': '0px' }, "请输入邮箱"); //输入的用户名为空的样式处理
 
-     }
 
-     //注册的用户不符合要求
 
-     else if (!U.UF.S.Email.test(_email)) {
 
-         U.MD.U.R.setInputStyle(inputel, { "display": "block", 'textAlign': 'right' }, "请输入正确邮箱"); //注册用户名不符合提示
 
-     }
 
-     else {
 
-         return true;
 
-     }
 
-     return false;
 
- }
 
- /**
 
- *  手机号输入格式检查
 
- *
 
- * @param  {object} 输入手机号的框
 
- */
 
- U.MD.U.F.checkPhone = function (inputel) {
 
-     var _password = inputel.value; //输入手机号的value
 
-     //如果没有输入手机号
 
-     if (_password == "") {
 
-         U.MD.U.R.setInputStyle(inputel, { "display": "block", 'textAlign': 'left', 'marginRight': '0px' }, "请输入手机号"); //没有输入手机号的提示
 
-     }
 
-     //输入的手机号的格式不对
 
-     else if (!/^1[3|4|5|8][0-9]\d{4,8}$/.test(_password)) {
 
-         U.MD.U.R.setInputStyle(inputel, { "display": "block", "color": "red", 'textAlign': 'right' }, "请输入有效手机号"); //输入的手机号有问题
 
-     }
 
-     else {
 
-         return true;
 
-     }
 
-     return false;
 
- }
 
- /**
 
- *  密码输入格式检查
 
- *
 
- * @param  {object} 输入密码的框
 
- */
 
- U.MD.U.F.checkPass = function (inputel) {
 
-     var _password = inputel.value;
 
-     //如果没有输入密码
 
-     if (_password == "") {
 
-         U.MD.U.R.setInputStyle(inputel, { "display": "block", 'textAlign': 'left', 'marginRight': '0px' }, "6-20位字符或数字"); //没有输入密码的提示
 
-     }
 
-     //输入的密码的格式不对
 
-     else if (!U.UF.S.PassWord.test(_password)) {
 
-         U.MD.U.R.setInputStyle(inputel, { "display": "block", "color": "red", 'textAlign': 'right' }, "6-20位字符或数字"); //输入的密码有问题
 
-     }
 
-     else {
 
-         return true;
 
-     }
 
-     return false;
 
- }
 
- /**
 
- *  验证码输入格式
 
- *
 
- */
 
- U.MD.U.F.Verification = function (inputel) {
 
-     var _code = inputel.value;
 
-     //如果没有输入验证码
 
-     if (_code == "") {
 
-         U.MD.U.R.setInputStyle(inputel, { "display": "block", 'textAlign': 'left', 'marginRight': '0px' }, "请输入验证码"); //没有输入验证码的提示
 
-     }
 
-     //输入的验证码的格式不对
 
-     else if (!/^\d{4,6}$/.test(_code)) {
 
-         U.MD.U.R.setInputStyle(inputel, { "display": "block", "color": "red", 'textAlign': 'right' }, "请输入4-6位数的验证码"); //输入的验证码有问题
 
-     }
 
-     else {
 
-         return true;
 
-     }
 
-     return false;
 
- }
 
- /**
 
- *  判断输入框的值是否是账号或者邮箱
 
- *
 
- */
 
- U.MD.U.F.checkUserName = function (inputel) {
 
-     var _username = inputel.value; //获取用户名
 
-     //输入为空不做变化
 
-     if (_username == "") {
 
-         U.MD.U.R.setInputStyle(inputel, { "display": "block", 'textAlign': 'left', 'marginRight': '0px' }, "云端账号"); //输入的用户名为空的样式处理
 
-     }
 
-     //注册的用户不符合要求
 
-     else if (!U.UF.S.UserName.test(_username)) {
 
-         U.MD.U.R.setInputStyle(inputel, { "display": "block", 'textAlign': 'right' }, "4-14位数字或者字母"); //注册用户名不符合提示
 
-     }
 
-     else {
 
-         return true;
 
-     }
 
-     return false;
 
- }
 
- /**
 
- * 判断输入密码和确认密码是否一致处理
 
- *
 
- * @param  {element} 密码
 
- * @param  {element} 确认密码
 
- */
 
- U.MD.U.F.checkConfirmPassword = function (inputo, inputt) {
 
-     var _password = inputt.value;
 
-     //如果没有输入密码
 
-     if (_password == "") {
 
-         U.MD.U.R.setInputStyle(inputt, { "display": "block", 'textAlign': 'left', 'marginRight': '0px' }, "6-20位字符或数字"); //没有输入密码的提示
 
-     }
 
-     //输入的密码的格式不对
 
-     else if (!U.UF.S.PassWord.test(_password)) {
 
-         U.MD.U.R.setInputStyle(inputt, { "display": "block", "color": "red", 'textAlign': 'right' }, "6-20位字符或数字"); //输入的密码有问题
 
-     }
 
-     //输入密码和确认密码不相同
 
-     else if (inputo.value != inputt.value) {
 
-         U.MD.U.R.setInputStyle(inputt, { "display": "block", "color": "red", 'textAlign': 'right' }, "密码不一致"); //输入的密码有问题
 
-     }
 
-     else {
 
-         return true;
 
-     }
 
-     return false;
 
- }
 
- //#endregion
 
 
  |