login.html 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>春秋代理中心</title>
  6. <!-- 样 式 文 件 -->
  7. <link rel="stylesheet" href="component/pear/css/pear.css" />
  8. <link rel="stylesheet" href="admin/css/other/login.css?v=v2.0.3" />
  9. <script>
  10. var _APP_ENV_ = 'prod';
  11. </script>
  12. </head>
  13. <!-- 代 码 结 构 -->
  14. <body background="admin/images/background.svg" style="background-size: cover;">
  15. <form class="layui-form" action="javascript:void(0);">
  16. <div class="layui-form-item">
  17. <img class="logo" src="admin/images/logo.png" />
  18. <div class="title">春秋代理中心</div>
  19. </div>
  20. <div class="layui-form-item">
  21. <input placeholder="账 户 : admin " name="account" lay-verify="required|account" hover class="layui-input" />
  22. </div>
  23. <div class="layui-form-item">
  24. <input placeholder="密 码 : admin " name="password" type="password" lay-verify="required|password" hover class="layui-input" />
  25. </div>
  26. <!-- <div class="layui-form-item">
  27. <input placeholder="验证码 : " name="verify" id="verify" hover lay-verify="required" class="code layui-input layui-input-inline" />
  28. <input type="hidden" name="captcha_key" id="captcha_key" value="" />
  29. <img src="" id="verify_img" class="codeImage" onclick="javascript:refreshCaptcha();" />
  30. </div> -->
  31. <div class="layui-form-item">
  32. <input type="checkbox" name="is_remember" title="记住密码" lay-skin="primary" checked>
  33. </div>
  34. <div class="layui-form-item">
  35. <p></p>
  36. <br>
  37. <button type="button" class="pear-btn pear-btn-success login" lay-submit lay-filter="login">
  38. 登 入
  39. </button>
  40. </div>
  41. </form>
  42. <!-- 资 源 引 入 -->
  43. <script src="component/layui/layui.js"></script>
  44. <script src="component/pear/pear.js"></script>
  45. <script src="app/app.js?v=v2.0.3"></script>
  46. <script>
  47. function refreshCaptcha() {
  48. var url = getMyApiUrl('/chunqiu/captcha') + "?tmp=" + Math.random() * 1000000;
  49. fetch(url, {
  50. method: 'GET'
  51. }).then(res => res.json()).then(data => {
  52. // document.getElementById('verify_img').setAttribute('src', data.img);
  53. // document.getElementById('captcha_key').setAttribute('value', data.key);
  54. // console.log('刷新验证码');
  55. });
  56. // document.getElementById('verify_img').setAttribute('src', url + "?tmp=" + Math.random() * 1000000);
  57. }
  58. layui.use(['form', 'button', 'popup', 'jquery', 'element', 'madmin', 'mhttp','layer'], function() {
  59. var form = layui.form;
  60. var button = layui.button;
  61. var popup = layui.popup;
  62. var $ = layui.jquery;
  63. var admin = layui.madmin;
  64. var mhttp = layui.mhttp;
  65. var layer = layui.layer;
  66. admin.getConfig();
  67. refreshCaptcha();
  68. // if (localStorage.getItem(window._AUTH_INFO_)){
  69. // location.href = "index.html"
  70. // }
  71. //自定义验证规则
  72. // form.verify({
  73. // account: function (value, item) {
  74. // var minSize = 6;
  75. // if (value.length < minSize) {
  76. // return '账号至少'+ minSize + '个字';
  77. // }
  78. // },
  79. // password: function (value, item) {
  80. // var minSize = 6;
  81. // if (value.length < minSize) {
  82. // return '密码至少6个字';
  83. // }
  84. // }
  85. // });
  86. // 登 录 提 交
  87. form.on('submit(login)', function(data) {
  88. let btnLoad = button.load({
  89. elem: '.login'
  90. })
  91. /// 验证
  92. var postData = {
  93. "username": data.field.account,
  94. "password": data.field.password,
  95. // "verify": data.field.verify ?? '',
  96. // "captcha_key": data.field.captcha_key ?? '',
  97. // "ggcode": data.field.ggcode ?? ''
  98. };
  99. let loading = layer.msg('登陆中...', {icon: 16, time: 0, shade: 0.3, shadeClose: false});
  100. // 异步请求登陆.
  101. var ret = mhttp.ajax({
  102. url: "/auth/login",
  103. data : postData
  104. });
  105. ret.then((data) => {
  106. layer.close(loading);
  107. if (data.code == 200) {
  108. var ret2 = mhttp.ajax({
  109. url: "/agent/detail/me",
  110. headers: {
  111. "AUTH-TOKEN" : data.data.token
  112. }
  113. });
  114. ret2.then((data2) => {
  115. if (data2.code == 200) {
  116. var tmpInfo = {
  117. "manager_uid": data2.data.manager_uid,
  118. "detail" : data2.data,
  119. "token": data.data.token
  120. };
  121. localStorage.setItem(window._AUTH_INFO_, JSON.stringify(tmpInfo));
  122. // 设置token
  123. mhttp.ajax.setToken(data.data.token);
  124. // 正确逻辑
  125. popup.success("登录成功", function() {
  126. location.href = "index.html"
  127. });
  128. } else {
  129. btnLoad.stop();
  130. localStorage.removeItem(window._AUTH_INFO_);
  131. mhttp.ajax.delToken(data.data.token);
  132. // 错误提示.
  133. popup.failure('['+ data2.code +']' + data2.message);
  134. }
  135. });
  136. } else {
  137. refreshCaptcha();
  138. btnLoad.stop();
  139. localStorage.removeItem(window._AUTH_INFO_);
  140. mhttp.ajax.delToken(data.data.token);
  141. // 错误提示.
  142. popup.failure('['+ data.code +']' + data.message);
  143. }
  144. });
  145. /// 登录
  146. /// 动画
  147. // button.load({
  148. // elem: '.login',
  149. // time: 1500,
  150. // done: function() {
  151. // popup.success("登录成功", function() {
  152. // location.href = "index.html"
  153. // });
  154. // }
  155. // })
  156. return false;
  157. });
  158. })
  159. </script>
  160. </body>
  161. </html>