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