tpl_login_xina.html 10.0 KB

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