tpl_login_xina.html 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title><?=$da['title']?></title>
  5. <meta name="description" content="">
  6. <meta name="keywords" content="">
  7. <meta name="apple-mobile-web-app-capable" content="yes"/>
  8. <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
  9. <meta name="format-detection" content="telephone=no"/>
  10. <meta name="format-detection" content="email=no"/>
  11. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"/>
  12. <link rel="stylesheet" type="text/css" href="webmain/css/rock.css?<?=time()?>"/>
  13. <link rel="shortcut icon" id="icon_show" href="favicon.ico" />
  14. <script type="text/javascript" src="js/jquery.js"></script>
  15. <script type="text/javascript" src="js/js.js"></script>
  16. <script type="text/javascript" src="js/base64-min.js"></script>
  17. <script type="text/javascript" src="web/res/js/nwjs.js"></script>
  18. <style>
  19. .lmaisft{text-align:center;-webkit-app-region:no-drag;}
  20. .close{height:20px;width:20px;display:block;text-align:center;line-height:18px;cursor:pointer;font-size:16px}
  21. .close:hover{background:#ff1118;color:white}
  22. .inputlog{height:40px;width:220px;border-radius:5px;}
  23. </style>
  24. <?php
  25. echo c('color')->getApptheme();
  26. ?>
  27. <script>
  28. CFROM = 'reim';
  29. var temp_token='';
  30. var logifouct=false;
  31. function initbody(){
  32. nwjs.init();
  33. resize();
  34. $(window).resize(resize);
  35. var face = js.getoption('loginface');
  36. if(face)get('myface').src=face;
  37. if(get('checkautologin')){
  38. get('checkautologin').checked = js.getoption('autologin')=='1';
  39. form('adminuser').value = js.getoption('adminuser');
  40. getpassobj().val(js.getoption('adminpass'));
  41. autologin(3);
  42. }
  43. if(form('adminmobile'))form('adminmobile').value=js.getoption('adminmobile');
  44. if(nwjsgui){
  45. $('#footerts').append('<a style="font-size:12px" onclick="return clearchater()" href="javascript:;">清缓存</a>');
  46. }
  47. //禁止后退
  48. try{
  49. history.pushState(null, null, document.URL);
  50. window.addEventListener('popstate', function (){
  51. history.pushState(null, null, document.URL);
  52. });
  53. }catch(e){}
  54. if(winWb()>400)rewinheight(400,380);
  55. if(jisxobo()){
  56. }
  57. }
  58. //是不是xp和win7的版本
  59. function jisxobo(){
  60. var llq = navigator.userAgent.toLowerCase();
  61. if(llq.indexOf('windows nt 5')>0 || llq.indexOf('windows nt 6.1')>0){
  62. return true;
  63. }
  64. return false;
  65. }
  66. function clearchater(){
  67. nwjsgui.App.clearCache();
  68. localStorage.clear();
  69. var na = nwjsgui.App.manifest.name;
  70. js.confirm('基本缓存已删除,更多缓存删除,是否打开对应['+na+']目录?需手动全部删除目录。',function(jg){
  71. if(jg=='yes'){
  72. var naea = nwjsgui.App.dataPath;
  73. var oru= naea.split(na)[0]+na;
  74. nwjsgui.Shell.openItem(oru);
  75. nwjsgui.App.quit();
  76. }
  77. });
  78. }
  79. function autologin(ms){
  80. if(!logifouct && get('checkautologin') && get('checkautologin').checked && form('adminuser').value!='' && getpassobj().val()){
  81. form('submitbtn').value=''+ms+'秒后自动登录';
  82. if(ms==0){
  83. loginsubmit();
  84. }else{
  85. setTimeout('autologin('+(ms-1)+')',1000);
  86. }
  87. }else{
  88. form('submitbtn').value = '登录';
  89. }
  90. }
  91. function bodyunload(){
  92. nwjs.removetray();
  93. }
  94. function resize(){
  95. var tt=$(window).height()-$('.lmaisft').height();
  96. var ts=(tt*0.5)-20;
  97. if(ts<10)ts=10;
  98. var lx1 = 0;
  99. if(jisxobo())lx1=10;
  100. $('#mindivshow').css('height',''+(winHb()-42+lx1)+'px');
  101. }
  102. var loginyzm = '';
  103. function loginsubmit(lx){
  104. var ltype= form('logintype').value,user='',pass='';
  105. if(ltype=='0'){
  106. user = form('adminuser').value;
  107. pass = getpassobj().val();
  108. if(user==''){
  109. js.msg('msg','用户名不能为空');
  110. form('adminuser').focus();
  111. return false;
  112. }
  113. if(pass==''){
  114. js.msg('msg','密码不能为空');
  115. getpassobj().focus();
  116. return false;
  117. }
  118. }else{
  119. user = form('adminmobile').value;
  120. if(user==''){
  121. js.msg('msg','手机号不能为空');
  122. form('adminmobile').focus();
  123. return false;
  124. }
  125. js.setoption('adminmobile', user);
  126. loginyzm = form('adminmobileyzm').value;
  127. if(loginyzm=='' || loginyzm.length!=6){
  128. js.msg('msg','手机验证码格式不对');
  129. form('adminmobileyzm').focus();
  130. return false;
  131. }
  132. }
  133. js.setoption('adminuser', user);
  134. js.setoption('adminpass', pass);
  135. var btnobj = form('submitbtn');
  136. btnobj.value='登录中...';
  137. btnobj.disabled=true;
  138. var data = {};
  139. var url = js.getajaxurl('check','login');
  140. data.device = device;
  141. data.cfrom = 'reim';
  142. data.ltype = ltype;
  143. data.adminuser = jm.base64encode(user);
  144. data.adminpass = jm.base64encode(pass);
  145. data.yanzm = loginyzm;
  146. js.bool = true;
  147. loginyzm = '';
  148. js.ajax(url,data,function(a){
  149. if(a.success){
  150. get('myface').src=a.face;
  151. btnobj.value='登录成功';
  152. js.setoption('loginface', a.face);
  153. var curl = '?d=reim&a=xina';
  154. loginsuccess(a);
  155. js.location(curl);
  156. }else{
  157. btnobj.value='登录';
  158. js.msg('msg',a.msg);
  159. btnobj.disabled=false;
  160. if(a.shouji){
  161. mobilejsho = a.mobile;
  162. js.prompt('输入手机验证码','手机号:'+a.shouji+'&nbsp;<span><a class="zhu" href="javascript:;" onclick="getcodes(this)">[获取验证码]</a></span>',function(jg,txt){
  163. if(jg=='yes' && txt){
  164. loginyzm = txt;
  165. loginsubmit();
  166. }
  167. });
  168. }
  169. }
  170. },'post,json');
  171. }
  172. function loginsuccess(a){
  173. $('#mindivshows').hide();
  174. js.setoption('admintoken', a.token);
  175. if(nwjsgui){
  176. rewinheight(600, 900);
  177. }
  178. }
  179. function getpassobj(){
  180. return $('input[type=password]');
  181. }
  182. function changeauto(o){
  183. var oi = '0';
  184. if(o.checked)oi='1';
  185. js.setoption('autologin', oi);
  186. }
  187. function winclose(){
  188. nwjs.closebool=true;
  189. nwjs.win.close();
  190. }
  191. function rewinheight(hei, wid){
  192. var l = (screen.width-wid)*0.5;
  193. var t = (screen.height-hei)*0.5-20;
  194. nwjs.win.moveTo(parseInt(l),parseInt(t));
  195. nwjs.win.resizeTo(wid,hei);
  196. }
  197. function getcodes(o1){
  198. var da = {'mobile':mobilejsho,'device':device};
  199. var o2 = $(o1).parent();
  200. o2.html(js.getmsg('获取中...'));
  201. js.ajax('api.php?m=yanzm',da,function(a){
  202. if(a.success){
  203. o2.html(js.getmsg('获取成功','green'));
  204. }else{
  205. o2.html(js.getmsg(a.msg));
  206. }
  207. },'post,json');
  208. }
  209. //获取验证码
  210. function getyzm(o1){
  211. mobilejsho = form('adminmobile').value;
  212. if(!mobilejsho){
  213. js.msg('msg','请输入手机号');
  214. form('adminmobile').focus();
  215. return;
  216. }
  217. var da = {'mobile':mobilejsho,'device':device};
  218. o1.value = '获取中...';
  219. js.setmsg();
  220. o1.disabled=true;
  221. js.ajax('api.php?m=yanzm&a=glogin',da,function(a){
  222. if(a.success){
  223. o1.value = '获取成功';
  224. js.msg('success', '验证码已发送到手机上');
  225. dshitime(60, o1);
  226. }else{
  227. o1.value = '重新获取';
  228. o1.disabled=false;
  229. js.msg('msg',a.msg);
  230. }
  231. },'post,json');
  232. }
  233. function dshitime(sj,o1){
  234. if(sj==0){
  235. o1.disabled=false;
  236. o1.value='重新获取';
  237. return;
  238. }
  239. o1.disabled=true;
  240. o1.value=''+sj+'';
  241. setTimeout(function(){dshitime(sj-1, o1)},1000);
  242. }
  243. function changlogin(){
  244. $('#loginview0').hide();
  245. $('#loginview1').show();
  246. form('logintype').value='1';
  247. }
  248. </script>
  249. </head>
  250. <body style="overflow:hidden">
  251. <div >
  252. <div style="height:30px;overflow:hidden;-webkit-app-region:drag;margin-right:30px;user-select:none;">&nbsp;</div>
  253. <div align="center" id="mindivshow" style="height:348px;overflow:hidden;">
  254. <div id="mindivshows">
  255. <div class="lmaisft">
  256. <div id="topblank" style="height:5px;overflow:hidden"></div>
  257. <div style="user-select:none;-webkit-user-select: none;" align="center"><img onclick="location.reload()" title="<?=URL?>" src="images/logo.png" id="myface" style="border-radius:50%;" align="absmiddle" height="80" width="80"></div>
  258. <div class="blank10"></div>
  259. <form style="padding:10px;" name="myform" autocomplete="off">
  260. <?php if($loginyzm!=3){?>
  261. <div id="loginview0">
  262. <div>
  263. <div><input type="text" onfocus="logifouct=true" class="input inputlog" onKeyUp="if(event.keyCode==13)getpassobj().focus()" placeholder="请输入用户名/姓名/手机号" id="adminuser" name="adminuser" ></div>
  264. </div>
  265. <div class="blank20"></div>
  266. <div>
  267. <div><input onfocus="logifouct=true" class="input inputlog" onKeyUp="if(event.keyCode==13)loginsubmit(1)" value="" type="password" placeholder="请输入密码"></div>
  268. </div>
  269. <div class="blank10"></div>
  270. <div align="center">
  271. <div style="width:190px" align="left"><label><input onclick="changeauto(this)" id="checkautologin" type="checkbox">下次自动登录</label><?php if($loginyzm>0){?>&nbsp;<a href="javascript:;" onclick="changlogin()">验证码登录</a><?php }?></div>
  272. </div>
  273. </div>
  274. <div id="loginview1" style="display:none">
  275. <input type="hidden" name="logintype" value="0">
  276. <?php }else{?>
  277. <div id="loginview1">
  278. <input type="hidden" name="logintype" value="1">
  279. <?php }?>
  280. <div>
  281. <input type="text" class="input inputlog" onKeyUp="if(event.keyCode==13)get('adminmobileyzm').focus()" maxlength="11" name="adminmobile" placeholder="请输入手机号">
  282. </div>
  283. <div class="blank20"></div>
  284. <div align="center">
  285. <input class="input" style="height:40px;width:130px;border-radius:5px 0px 0px 5px;" name="adminmobileyzm" id="adminmobileyzm" onKeyUp="if(event.keyCode==13)loginsubmit(1)" maxlength="6" placeholder="请输入验证码"><input type="button" onclick="getyzm(this)" style="height:40px;width:90px;border-radius:0px 5px 5px 0px" value="获取验证码" class="webbtn" >
  286. </div>
  287. </div>
  288. <div class="blank20"></div>
  289. <div align="center">
  290. <input type="button" id="btn0" style="height:40px;width:190px;border-radius:5px;font-size:16px" onClick="loginsubmit(1)" class="btn" name="submitbtn" value="登录">
  291. </div>
  292. <span id="msgview"></span>
  293. </form>
  294. </div>
  295. <div align="center" id="footerts" style="color:#888888;font-size:12px"></div>
  296. </div>
  297. </div>
  298. </div>
  299. </body>
  300. </html>
粤ICP备19079148号