Namespace.register("U.MD.U.L"); //用户登录的命名空间 /* 问题: 1、验证码的接口问题 2、无窗体的接口 */ //#region 配置数据 //U.MD.U.L.loginCallBack; //登录后的回调使用 //U.MD.U.L.isLogining = false; //判断用户登录状态。cookie登录状态为cookie,账号登录为true,没有登录为false //#endregion //#region 登录 U.MD.U.L.init = function () { var _parent = $("#U_MD_U_L_login"); //登录注册框 var _child = _parent.Child(); //获取登录注册找回密码的div _child[1].style.display = "none"; //隐藏注册框 _child[2].style.display = "block"; //显示登录 _child[3].style.display = "none"; //隐藏找回密码 //标题修改 $("div", _child[0])[2].innerHTML = "登录"; //头部设置内容 var _head = $(_child[0]).childs()[1]; $(_head).addAttrArray({ innerHTML: "", "className": "", title: "" }); var _username = U.UF.Cookie.get("usestudiosso", "username")[0]; //上次登录的用户名 var _input = $("input", _child[2]); if (_username) { //cookie存在 登录处理 _input[0].focus(); //聚焦处理 _input[0].value = _username; //设置cookie用户名 _input = _input[1]; //当前需要聚焦 } else { //注册 找回密码 聚焦元素处理 _input = _input[0]; } _input.focus(); } /** * 判断用户是否登录如果未登陆则弹出登陆框 * @param {element} 输入框 * @param {element} 确定框 * */ U.MD.U.L.loginEnter = function (inputel, bottomel) { var i, _parentel = $(inputel).Parent(3), //获取父亲层 _inputs = $("input", _parentel); //获取所有的输入框 //循环input for (i = 0; i < _inputs.length; i++) { if (_inputs[i].value == "") { //如果没有输入文字的处理 _inputs[i].focus(); return; } } //回车处理 bottomel.onclick(); } //#endregion //#region 登录数据使用 /** * 1473桌面直接登录,单击登录按钮时触发的函数 * @param {object} ajax返回值 * */ U.MD.U.L.clickLogin = function (bottomel) { var _parentel = $(bottomel).Parent(), //类名为"U_MD_U_L_T"的div元素 _inputel = $("input", _parentel), //获取里面的input,共三个 _username = _inputel[0].value, //第一个input为用户名 _password = _inputel[1].value, //第二个input为密码 _static = _inputel[2].checked ? "1" : "0"; //第三个input为状态 //以前已经登录过,则直接跳转回调函数 if (_username && _username == US.userInfo.username) { $("#U_MD_HomeC_Pop")[0].close(); //关闭登陆款 } //以前没有登录过,则清空密码输入 等待用户登录 else if (U.MD.U.L.loginAjax(_username, _password, _static, $(_parentel).Parent())) { _inputel[1].value = ""; //密码清空 } } /* 功能:用户登录云端接口,向后台发送请求,记录用户名和密码,后面还有一个登陆获取用户个人信息。好友信息,及消息通知 参数一:用户名 参数二:密码 参数三:登录窗口div元素,做loading的位置 参数四:回调函数 */ U.MD.U.L.loginAjax = function (username, password, static, loading, fun) { var _logaddress = US.city.userAllLocation || ""; //登录地址; //加载用户信息 且进行异步处理 if (username.removeP() && password.removeP()) { if (fun) { U.MD.U.L.loginCallBack = fun; } //设置回调函数 U.MD.U.L.isLogining = true; //电脑卡的时候,用户一直点登录,此处判断用户是否已经按下了登录按钮。 //此处指返回用户基本信息, U.A.Request(US.USER, ["UserLogin", username, password, static], U.MD.U.L.asynLoginAjax, [loading, _logaddress, username, password]); return true; } } /** * 用户登录执行事件 * @param {object} ajax返回的对象 * @param {boolean} 是否是cookie登陆 * */ U.MD.U.L.asynLoginAjax = function (r, iscookie) { if ($('#U_MD_U_L_Login_B')[0]) { $('#U_MD_U_L_Login_B')[0].innerHTML = '登录'; } if (U.MD.U.L.loginCallBack) { U.MD.U.L.loginCallBack(r, iscookie); //回调处理 } } /** * 判断用户名是否符合要求 * */ U.MD.U.L.checkUserName = function (inputel) { var _username = inputel.value; //获取用户名 //输入为空不做变化 $('.U_MD_U_L_Box_B').removeClass('U_MD_U_L_Box_mistakeBorder'); if ($('.U_MD_U_L_Box_checkUseNameFormat')[0]) {//检测账号格式提示是否存在 $('.U_MD_U_L_Box_checkUseNameFormat')[0].parentNode.removeChild($('.U_MD_U_L_Box_checkUseNameFormat')[0]); } if (_username == "") { U.MD.U.R.setInputStyle(inputel, { "display": "block", 'textAlign': 'left', 'marginRight': '0px' }, "用户账号"); //输入的用户名为空的样式处理 return false; } //注册的用户不符合要求 else if (!U.UF.S.UserName.test(_username)) { $$("div", { className: 'checkUseNameFormat' }, $(".U_MD_U_L_Box_B")[0]); $('.U_MD_U_L_Box_B').addClass(" U_MD_U_L_Box_mistakeBorder"); U_MD_U_L_createFormat($('.U_MD_U_L_LB')[1], $('.U_MD_U_L_Box_P_B')[1]); //U.MD.U.R.setInputStyle(inputel, { "display": "block", 'textAlign': 'right', 'marginRight': '15px' }, "2-10汉字或4-20字符"); //注册用户名不符合提示 return false; } return true; } /** *创建用户账号是否标准提醒 * */ U_MD_U_L_createFormat = function (parentnode, beforenode) { if ($('.U_MD_U_L_Box_checkUseNameFormat')[0]) { $('.U_MD_U_L_Box_checkUseNameFormat')[0].parentNode.removeChild($('.U_MD_U_L_Box_checkUseNameFormat')[0]); } var _format = document.createElement('div'); _format.className = "U_MD_U_L_Box_checkUseNameFormat"; _format.innerText = "2-10汉字或4-20字符"; parentnode.insertBefore(_format, beforenode); } /** * 判断用户名是否符合要求 * */ U.MD.U.L.checkpassword = function (inputel) { var _password = inputel.value; //获取用户名 //输入为空不做变化 if (_password == "") { U.MD.U.R.setInputStyle(inputel, { "display": "block", 'textAlign': 'left', 'marginRight': '0px' }, "用户密码"); //输入的用户名为空的样式处理 } } //#endregion