loginscript.js 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. var oldpass='',initlogo='images/logo.png',olduser,loginyzm='',mobilejsho='',abcpass='';
  2. function getpassobj(){
  3. return $('input[type=password]');
  4. }
  5. function initbody(){
  6. var ltype = form('logintype').value;
  7. form('adminmobile').value=js.getoption('adminmobile');
  8. if(ltype=='0'){
  9. form('adminuser').focus();
  10. oldpass = getpassobj().val();
  11. olduser = form('adminuser').value;
  12. if(form('adminuser').value!=''){
  13. getpassobj().focus();
  14. }
  15. $(form('adminuser')).change(function(){
  16. changeuserface(this.value);
  17. });
  18. }else{
  19. olduser = form('adminmobile').value;
  20. }
  21. resizewh();
  22. $(window).resize(resizewh);
  23. var sf = js.getoption('loginface');
  24. if(sf)get('imglogo').src=sf;
  25. }
  26. function resizewh(){
  27. var h = ($(document).height()-530)*0.5;
  28. $('#topheih').css('height',''+h+'px');
  29. }
  30. function changeuserface(v){
  31. var sf = js.getoption('loginface');
  32. if(!sf)return;
  33. if(v==''||v!=olduser){
  34. get('imglogo').src=initlogo;
  35. }else{
  36. get('imglogo').src=sf;
  37. }
  38. }
  39. function loginsubmit(){
  40. if(js.bool)return false;
  41. var ltype = form('logintype').value,user='',pass='';
  42. var data = {};
  43. if(!abcpass){
  44. if(ltype=='0'){
  45. user = form('adminuser').value;
  46. pass = getpassobj().val();
  47. if(user==''){
  48. js.setmsg('用户名不能为空','red');
  49. form('adminuser').focus();
  50. return false;
  51. }
  52. if(pass==''){
  53. js.setmsg('密码不能为空','red');
  54. getpassobj().focus();
  55. return false;
  56. }
  57. data.rempass = form('rempass').checked ? '1':'0'; //记住密码?
  58. }else{
  59. user = form('adminmobile').value;
  60. if(user==''){
  61. js.setmsg('手机号不能为空','red');
  62. form('adminmobile').focus();
  63. return false;
  64. }
  65. js.setoption('adminmobile', user);
  66. loginyzm = form('adminmobileyzm').value;
  67. if(loginyzm=='' || loginyzm.length!=6){
  68. js.setmsg('手机验证码格式不对','red');
  69. form('adminmobileyzm').focus();
  70. return false;
  71. }
  72. }
  73. }
  74. js.tanstyle = 1;
  75. js.setmsg('登录中...','blue');
  76. form('button').disabled=true;
  77. if(abcpass){
  78. user = form('adminuser').value;
  79. pass = abcpass;
  80. ltype= '0';
  81. }
  82. var url = js.getajaxurl('check','login');
  83. data.jmpass = 'false';
  84. data.device = device;
  85. data.ltype = ltype;
  86. data.adminuser = jm.base64encode(user);
  87. data.adminpass = jm.base64encode(pass);
  88. data.yanzm = loginyzm;
  89. if(oldpass==pass)data.jmpass= 'true';
  90. js.bool = true;
  91. loginyzm = '';
  92. js.ajax(url,data,function(a){
  93. abcpass = '';
  94. if(a.success){
  95. get('imglogo').src=a.face;
  96. js.setoption('loginface', a.face);
  97. var burl = js.request('backurl');
  98. var curl = (burl=='')?NOWURL:jm.base64decode(burl);
  99. js.setmsg('登录成功,<a href="'+curl+'">跳转中</a>...','green');
  100. js.location(curl);
  101. }else{
  102. js.setmsg(a.msg,'red');
  103. form('button').disabled=false;
  104. js.bool = false;
  105. if(a.shouji){
  106. mobilejsho = a.mobile;
  107. js.prompt('输入手机验证码','手机号:'+a.shouji+'&nbsp;<span><a class="zhu" href="javascript:;" onclick="getcodes(this)">[获取验证码]</a></span>',function(jg,txt){
  108. if(jg=='yes' && txt){
  109. loginyzm = txt;
  110. loginsubmit();
  111. }
  112. });
  113. }
  114. }
  115. },'post,json');
  116. }
  117. function getcodes(o1){
  118. var da = {'mobile':mobilejsho,'device':device};
  119. var o2 = $(o1).parent();
  120. o2.html(js.getmsg('获取中...'));
  121. js.ajax('api.php?m=yanzm',da,function(a){
  122. if(a.success){
  123. o2.html(js.getmsg('获取成功','green'));
  124. }else{
  125. o2.html(js.getmsg(a.msg));
  126. }
  127. },'post,json');
  128. }
  129. //获取验证码
  130. function getyzm(o1){
  131. mobilejsho = form('adminmobile').value;
  132. if(!mobilejsho){
  133. js.setmsg('请输入手机号');
  134. form('adminmobile').focus();
  135. return;
  136. }
  137. var da = {'mobile':mobilejsho,'device':device};
  138. o1.value = '获取中...';
  139. js.setmsg();
  140. o1.disabled=true;
  141. js.ajax('api.php?m=yanzm&a=glogin',da,function(a){
  142. if(a.success){
  143. o1.value = '获取成功';
  144. js.msg('success', '验证码已发送到手机上');
  145. form('adminmobileyzm').value=a.data;
  146. dshitime(60, o1);
  147. }else{
  148. o1.value = '重新获取';
  149. o1.disabled=false;
  150. js.setmsg(a.msg);
  151. }
  152. },'post,json');
  153. }
  154. function dshitime(sj,o1){
  155. if(sj==0){
  156. o1.disabled=false;
  157. o1.value='重新获取';
  158. return;
  159. }
  160. o1.disabled=true;
  161. o1.value=''+sj+'';
  162. setTimeout(function(){dshitime(sj-1, o1)},1000);
  163. }
  164. function changlogin(){
  165. $('#loginview0').hide();
  166. $('#loginview1').show();
  167. form('logintype').value='1';
  168. }
  169. function erwmlogin(){
  170. $('#mainlogin').html('<div style="height:350px" align="center"><div style="padding-top:50px;height:200px;overflow:hidden;"><img src="images/noimg.jpg" id="logeweerew" height="200" width="200"></div><div style="color:#888888;padding-top:5px"><span id="miaoshuv">支持任何扫码登录</span>,还有<span id="miaoshu">60</span>秒,<a class="zhu" href="javascript:;" onclick="js.reload()">使用默认登录</a></div></div>');
  171. var stra = parseInt(Math.random()*999999);
  172. randkey = js.getoption('ewmrandkey', 'ewm'+stra+'');
  173. js.setoption('ewmrandkey', randkey);
  174. get('logeweerew').src='api.php?m=login&a=getewm&randkey='+randkey+'&dfrom=pc';
  175. starttimest(60);
  176. }
  177. function starttimest(ms){
  178. if(!get('miaoshu'))return;
  179. if(ms<0){
  180. $('#miaoshu').parent().html('<font color=#888888>二维码已过期,请重新打开</font>');
  181. return;
  182. }
  183. $('#miaoshu').html(''+ms+'');
  184. if(ms<57){
  185. $.getJSON('api.php?m=login&a=checkewm&randkey='+randkey+'&dfrom=pc',function(ret){
  186. setTimeout('starttimest('+(ms-1)+')',1000);
  187. var dst = ret.data.val;
  188. if(dst=='0'){
  189. $('#miaoshuv').html('<font color=green>请在手机按确认登录</font>');
  190. }
  191. if(dst=='-1'){
  192. $('#miaoshu').parent().html('<font color=#888888>已取消,请重新打开</font>');
  193. }
  194. if(dst>0){
  195. $('#miaoshu').parent().html('<span id="msgview"><font color=#ff6600><img src="images/loadings.gif" align="absmiddle"> 已确认,登录中...</font></span>');
  196. var da = ret.data;
  197. var url= js.getajaxurl('check','login');
  198. var data={};
  199. data.device = device;
  200. data.ltype = 0;
  201. data.adminuser = jm.base64encode(da.user);
  202. data.adminpass = jm.base64encode(da.pass);
  203. js.ajax(url,data,function(a){
  204. if(a.success){
  205. js.setoption('loginface', a.face);
  206. var burl = js.request('backurl');
  207. var curl = (burl=='')?NOWURL:jm.base64decode(burl);
  208. js.setmsg('登录成功,<a href="'+curl+'">跳转中</a>...','green');
  209. js.location(curl);
  210. }else{
  211. js.setmsg(a.msg,'red');
  212. }
  213. },'post,json');
  214. }
  215. });
  216. }else{
  217. setTimeout('starttimest('+(ms-1)+')',1000);
  218. }
  219. }
  220. function reimplatlogin(){
  221. js.loading('登录中...');
  222. js.ajax('api.php?m=login&a=reimplatlogin',false,function(ret){
  223. if(ret.success){
  224. var da = ret.data;
  225. form('adminuser').value = da.user;
  226. abcpass = da.pass;
  227. loginsubmit();
  228. }else{
  229. js.msgerror(ret.msg);
  230. }
  231. },'get,json');
  232. }