login.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. var canCheck = true, code_timeer = null, canSendSmsVerify = true, checkLoginAction = {
  2. checkAccountIp: function(callback){
  3. var self = this, $loginMsg = document.getElementById("login_msg");
  4. $.ajax({
  5. url: ROOT+'?m=Public&a=check_account_ip',
  6. data: null,
  7. dataType: "json",
  8. success: function(obj){
  9. if(obj.status==1){
  10. (typeof(callback) == 'function') && callback.call(this, 1);
  11. }
  12. else{
  13. (typeof(callback) == 'function') && callback.call(this, 0);
  14. }
  15. }
  16. });
  17. },
  18. code_lefttime_fuc: function(verify_name,code_lefttime){
  19. // 验证码倒计时
  20. var self = this;
  21. clearTimeout(self.code_timeer);
  22. $(verify_name).addClass("disabled");
  23. $(verify_name).html("重新发送 "+code_lefttime);
  24. code_lefttime--;
  25. if(code_lefttime >0){
  26. $(verify_name).attr("disabled","disabled");
  27. canSendSmsVerify = false;
  28. code_timeer = setTimeout(function(){checkLoginAction.code_lefttime_fuc(verify_name,code_lefttime);},1000);
  29. }
  30. else{
  31. code_lefttime = 60;
  32. canSendSmsVerify = true;
  33. $(verify_name).html("发送验证码");
  34. $(verify_name).removeClass("disabled");
  35. }
  36. },
  37. };
  38. $(document).ready(function(){
  39. if(document.getElementsByName("is_check_account")[0].value){
  40. checkLoginAction.checkAccountIp(function(data){
  41. if(data){
  42. canCheck = false;
  43. document.querySelectorAll(".tr_smsVerify")[0] && (document.querySelectorAll(".tr_smsVerify")[0].style.display = 'none');
  44. document.querySelectorAll(".tr_smsVerify")[1] && (document.querySelectorAll(".tr_smsVerify")[1].style.display = 'none');
  45. }
  46. else{
  47. document.querySelectorAll(".tr_smsVerify")[0] && (document.querySelectorAll(".tr_smsVerify")[0].style.display = 'table-row');
  48. document.querySelectorAll(".tr_smsVerify")[1] && (document.querySelectorAll(".tr_smsVerify")[1].style.display = 'table-row');
  49. }
  50. });
  51. }
  52. else{
  53. canCheck = false;
  54. }
  55. //绑定提交按钮
  56. $("input[name='adm_name']").focus();
  57. $(".submit").bind("click",function(){
  58. do_login();
  59. });
  60. $("input[name='adm_name']").bind("keypress",function(event){
  61. if(event.keyCode==13)
  62. {
  63. $("input[name='adm_password']").focus();
  64. }
  65. });
  66. $("input[name='adm_password']").bind("keypress",function(event){
  67. if(event.keyCode==13)
  68. {
  69. if(CHECK_DOG)
  70. $("input[name='adm_dog_key']").focus();
  71. else
  72. $("input[name='adm_verify']").focus();
  73. }
  74. });
  75. $("input[name='adm_dog_key']").bind("keypress",function(event){
  76. if(event.keyCode==13)
  77. {
  78. $("input[name='adm_verify']").focus();
  79. }
  80. });
  81. $("input[name='adm_verify']").bind("keypress",function(event){
  82. if(event.keyCode==13)
  83. {
  84. do_login();
  85. }
  86. })
  87. //绑定提交结束
  88. $("#verify").bind("click",function(){
  89. timenow = new Date().getTime();
  90. $(this).attr("src",$(this).attr("alt")+"&rand="+timenow);
  91. });
  92. // 短信验证码
  93. if(document.getElementById('smsVerify')){
  94. document.getElementById('smsVerify').onclick = function(){
  95. if(canSendSmsVerify){
  96. var $obj = this;
  97. var dataObj = {
  98. adm_name : document.getElementsByName("adm_name")[0].value,
  99. adm_password : document.getElementsByName("adm_password")[0].value
  100. }
  101. var $loginMsg = document.getElementById("login_msg");
  102. $.ajax({
  103. url: ROOT+'?m=Public&a=check_account',
  104. data: dataObj,
  105. dataType: "json",
  106. success: function(obj){
  107. if(obj.status==1){
  108. $.ajax({
  109. url: ROOT+'?m=Public&a=send_account_verify',
  110. data: null,
  111. dataType: "json",
  112. success: function(obj){
  113. if(obj.status==1){
  114. // 验证码倒计时
  115. code_lefttime = 60;
  116. checkLoginAction.code_lefttime_fuc("#smsVerify", code_lefttime);
  117. }
  118. else{
  119. alert(obj.error);
  120. }
  121. }
  122. });
  123. }
  124. else{
  125. $loginMsg.innerHTML = obj.error || '验证失败';
  126. setTimeout(function(){
  127. $loginMsg.innerHTML = '';
  128. }, 2000);
  129. return false;
  130. }
  131. }
  132. });
  133. }
  134. }
  135. }
  136. });
  137. function do_login(){
  138. CHECK_DOG_HASH = $.trim($(".adm_dog_key").val());
  139. if (check_dog() == false) return;
  140. $(this).attr("disabled",true);
  141. //验证帐号
  142. if($.trim($(".adm_name").val())=='')
  143. {
  144. $(".adm_name").val("");
  145. $(".adm_name").focus();
  146. $("#login_msg").html(ADM_NAME_EMPTY);
  147. $("#login_msg").oneTime(2000, function() {
  148. $(this).html("");
  149. $(".submit").attr("disabled",false);
  150. });
  151. return;
  152. }
  153. //验证密码
  154. if($.trim($(".adm_password").val())=='')
  155. {
  156. $(".adm_password").val("");
  157. $(".adm_password").focus();
  158. $("#login_msg").html(ADM_PASSWORD_EMPTY);
  159. $("#login_msg").oneTime(2000, function() {
  160. $(this).html("");
  161. $(".submit").attr("disabled",false);
  162. });
  163. return;
  164. }
  165. //验证密码
  166. if($.trim($(".adm_verify").val())=='')
  167. {
  168. $(".adm_verify").val("");
  169. $(".adm_verify").focus();
  170. $("#login_msg").html(ADM_VERIFY_EMPTY);
  171. $("#login_msg").oneTime(2000, function() {
  172. $(this).html("");
  173. $(".submit").attr("disabled",false);
  174. });
  175. return;
  176. }
  177. //表单参数
  178. var query = new Object();
  179. query.adm_name = $(".adm_name").val();
  180. query.adm_password = $(".adm_password").val();
  181. query.adm_dog_key = $(".adm_dog_key").val();
  182. query.adm_verify = $(".adm_verify").val();
  183. canCheck && (query.mobile_verify = $(".mobile_verify").val());
  184. query.ajax = 1;
  185. url = $("form").attr("action");
  186. $(".adm_name").attr("disabled",true);
  187. $(".adm_password").attr("disabled",true);
  188. $(".adm_dog_key").attr("disabled",true);
  189. $(".adm_verify").attr("disabled",true);
  190. $.ajax({
  191. url: url,
  192. data: query,
  193. type:"post",
  194. dataType: "json",
  195. success: function(obj){
  196. if(obj.status)
  197. {
  198. $("#login_msg").html(obj.info);
  199. $("#login_msg").oneTime(2000, function() {
  200. $(this).html("");
  201. location.href = L_jumpUrl;
  202. });
  203. }
  204. else
  205. {
  206. $("#login_msg").html(obj.info);
  207. $("#login_msg").oneTime(1000, function() {
  208. $(this).html("");
  209. $(".submit").attr("disabled",false);
  210. $(".adm_name").attr("disabled",false);
  211. $(".adm_password").attr("disabled",false);
  212. $(".adm_dog_key").attr("disabled",false);
  213. $(".adm_verify").attr("disabled",false);
  214. $("#verify").click();
  215. });
  216. }
  217. }});
  218. }