index.html 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>登入 - 后台管理中心</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  9. <link rel="stylesheet" href="{{ url_for('static', filename='admin/layui/css/layui.css') }}" media="all">
  10. <link rel="stylesheet" href="{{ url_for('static', filename='admin/login/admin.css') }}" media="all">
  11. <link rel="stylesheet" href="{{ url_for('static', filename='admin/login/login.css') }}" media="all">
  12. <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js?v=1"></script>
  13. <style type="text/css">
  14. .videoBx {width: 100%;height: 100%;position: fixed;top: 0;right: 0;bottom: 0;left: 0;z-index: -1;}
  15. .canvas{position: fixed;left: 0;top: 0;z-index: 0; opacity: .8; height: 100%; width: 100%}
  16. .v-b-shadow{
  17. background: url(static/admin/img/v-b-shadow.jpg) no-repeat 0 bottom;
  18. background-size: cover;
  19. bottom: 0;
  20. height: 100%;
  21. left: 0;
  22. position: absolute;
  23. top: 0;
  24. width: 100%;
  25. z-index: 0;
  26. }
  27. </style>
  28. </head>
  29. <body>
  30. <div class="videoBx">
  31. <div class="v-b-shadow"></div>
  32. <canvas id="canvas" class="canvas"></canvas>
  33. </div>
  34. <div class="layadmin-user-login layadmin-user-display-show" id="LAY-user-login" style="display: none;">
  35. <div class="layadmin-user-login-main">
  36. <div class="layadmin-user-login-box layadmin-user-login-body layui-form" style="background-color: #ddd;border-radius: 5px;">
  37. <div class="layadmin-user-login-box layadmin-user-login-header">
  38. <h2>后台管理系统</h2>
  39. </div>
  40. <div class="layui-form-item">
  41. <label class="layadmin-user-login-icon layui-icon layui-icon-username" for="LAY-user-login-username"></label>
  42. <input type="text" name="username" id="LAY-user-login-username" lay-verify="required" placeholder="用户名" class="layui-input">
  43. </div>
  44. <div class="layui-form-item">
  45. <label class="layadmin-user-login-icon layui-icon layui-icon-password" for="LAY-user-login-password"></label>
  46. <input type="password" name="password" id="LAY-user-login-password" lay-verify="required" placeholder="密码" class="layui-input">
  47. </div>
  48. <!-- <div class="layui-form-item">
  49. <div class="layui-row">
  50. <div class="layui-col-xs7">
  51. <label class="layadmin-user-login-icon layui-icon layui-icon-vercode" for="LAY-user-login-vercode"></label>
  52. <input type="text" name="vercode" id="LAY-user-login-vercode" lay-verify="required" placeholder="图形验证码" class="layui-input" >
  53. </div>
  54. <div class="layui-col-xs5">
  55. <div style="margin-left: 10px;">
  56. <img src="{:captcha_src()}" class="layadmin-user-login-codeimg" id="vercode" onclick="this.src='/index.php/captcha.html?'+Math.random()">
  57. </div>
  58. </div>
  59. </div>
  60. </div> -->
  61. <div class="layui-form-item" style="margin-bottom: 20px;">
  62. <input type="checkbox" name="remember" lay-skin="primary" title="记住密码">
  63. <!-- <a href="forget.html" class="layadmin-user-jump-change layadmin-link" style="margin-top: 7px;">忘记密码?</a> -->
  64. </div>
  65. <div class="layui-form-item">
  66. <button class="layui-btn layui-btn-fluid" lay-submit lay-filter="login" >登 录</button>
  67. </div>
  68. </div>
  69. </div>
  70. <div class="layui-trans layadmin-user-login-footer">
  71. <p>© 2018 <a href="" target="_blank"></a></p>
  72. </div>
  73. </div>
  74. <script src="{{ url_for('static', filename='admin/layui/layui.js') }}"></script>
  75. <script>
  76. //一般直接写在一个js文件中
  77. layui.use(['layer', 'form'], function(){
  78. var layer = layui.layer
  79. ,form = layui.form;
  80. //提交
  81. form.on('submit(login)', function(obj){
  82. $(obj.elem).attr("disabled",true);
  83. //请求登入接口
  84. $.post("/base/syuser!doNotNeedSessionAndSecurity_login.action", obj.field, function(res){
  85. if(res.status=='0'){
  86. layer.msg(res.name);
  87. $("#vercode").click();
  88. $(obj.elem).attr("disabled",false);
  89. }else{
  90. //登入成功的提示与跳转
  91. layer.msg(res.name, {
  92. offset: '15px'
  93. ,icon: 1
  94. ,time: 1000
  95. }, function(){
  96. location.href = res.url;
  97. });
  98. }
  99. },"json");
  100. });
  101. });
  102. </script>
  103. <script>
  104. var WINDOW_WIDTH = document.body.offsetWidth;
  105. var WINDOW_HEIGHT = document.body.offsetHeight;
  106. var canvas,context;
  107. var num = 500;
  108. var stars = [];
  109. var mouseX = WINDOW_WIDTH/2;
  110. var mouseY = WINDOW_HEIGHT/2;
  111. var rnd;
  112. window.onload = function(){
  113. function isIE(){
  114. if (!!window.ActiveXObject || "ActiveXObject" in window) //是IE浏览器
  115. return true;
  116. else //不是IE浏览器
  117. return false;
  118. }
  119. if (isIE()) {
  120. window.location.replace('/static/error.html')
  121. }
  122. canvas = document.getElementById('canvas');
  123. canvas.width = WINDOW_WIDTH;
  124. canvas.height = WINDOW_HEIGHT;
  125. context = canvas.getContext('2d');
  126. addStar();
  127. setInterval(render,33);
  128. liuxing();
  129. // render();
  130. document.body.addEventListener('mousemove',mouseMove);
  131. }
  132. function liuxing(){
  133. var time = Math.round(Math.random()*3000+33);
  134. setTimeout(function(){
  135. rnd = Math.ceil(Math.random()*stars.length)
  136. liuxing();
  137. },time)
  138. }
  139. function mouseMove(e){
  140. //因为是整屏背景,这里不做坐标转换
  141. mouseX = e.clientX;
  142. mouseY = e.clientY;
  143. }
  144. function render(){
  145. context.fillStyle = 'rgba(0,0,0,0.1)';
  146. context.fillRect(0,0,WINDOW_WIDTH,WINDOW_HEIGHT);
  147. // context.clearRect(0,0,WINDOW_WIDTH,WINDOW_HEIGHT)
  148. for(var i =0; i<num ; i++){
  149. var star = stars[i];
  150. if(i == rnd){
  151. star.vx = -5;
  152. star.vy = 20;
  153. context.beginPath();
  154. context.strokeStyle = 'rgba(255,255,255,'+star.alpha+')';
  155. context.lineWidth = star.r;
  156. context.moveTo(star.x,star.y);
  157. context.lineTo(star.x+star.vx,star.y+star.vy);
  158. context.stroke();
  159. context.closePath();
  160. }
  161. star.alpha += star.ra;
  162. if(star.alpha<=0){
  163. star.alpha = 0;
  164. star.ra = -star.ra;
  165. star.vx = Math.random()*0.2-0.1;
  166. star.vy = Math.random()*0.2-0.1;
  167. }else if(star.alpha>1){
  168. star.alpha = 1;
  169. star.ra = -star.ra
  170. }
  171. star.x += star.vx;
  172. if(star.x>=WINDOW_WIDTH){
  173. star.x = 0;
  174. }else if(star.x<0){
  175. star.x = WINDOW_WIDTH;
  176. star.vx = Math.random()*0.2-0.1;
  177. star.vy = Math.random()*0.2-0.1;
  178. }
  179. star.y += star.vy;
  180. if(star.y>=WINDOW_HEIGHT){
  181. star.y = 0;
  182. star.vy = Math.random()*0.2-0.1;
  183. star.vx = Math.random()*0.2-0.1;
  184. }else if(star.y<0){
  185. star.y = WINDOW_HEIGHT;
  186. }
  187. context.beginPath();
  188. var bg = context.createRadialGradient(star.x, star.y, 0, star.x, star.y, star.r);
  189. bg.addColorStop(0,'rgba(255,255,255,'+star.alpha+')')
  190. bg.addColorStop(1,'rgba(255,255,255,0)')
  191. context.fillStyle = bg;
  192. context.arc(star.x,star.y, star.r, 0, Math.PI*2, true);
  193. context.fill();
  194. context.closePath();
  195. }
  196. }
  197. function addStar(){
  198. for(var i = 0; i<num ; i++){
  199. var aStar = {
  200. x:Math.round(Math.random()*WINDOW_WIDTH),
  201. y:Math.round(Math.random()*WINDOW_HEIGHT),
  202. r:Math.random()*3,
  203. ra:Math.random()*0.05,
  204. alpha:Math.random(),
  205. vx:Math.random()*0.2-0.1,
  206. vy:Math.random()*0.2-0.1
  207. }
  208. stars.push(aStar);
  209. }
  210. }
  211. </script>
  212. </body>
  213. </html>