login.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="renderer" content="webkit">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  7. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  8. <title>{:lang('admin/index/login/title')}</title>
  9. <link rel="stylesheet" href="__STATIC__/layui/css/layui.css?v=1024">
  10. <link rel="stylesheet" href="__STATIC__/css/admin_style.css?v=1024">
  11. <link rel="stylesheet" href="__STATIC__/css/tailwindcssOutput.css?{$MAC_VERSION}">
  12. </head>
  13. <style>
  14. .layui-form-item {
  15. display: flex;
  16. flex-direction: column;
  17. margin-bottom: 30px;
  18. }
  19. .layui-form-pane .layui-form-label {
  20. width: fit-content;
  21. color: #4B5563;
  22. padding: 8px 0;
  23. }
  24. .layui-form-pane .layui-input-block {
  25. margin-left: 0;
  26. position: relative;
  27. }
  28. .layui-form-pane .layui-input {
  29. border-radius: 4px;
  30. padding-left: 38px;
  31. }
  32. .fix-icon {
  33. width: 16px !important;
  34. height: 16px !important;
  35. position: absolute;
  36. top: 12px;
  37. left: 12px;
  38. margin: 0 !important;
  39. }
  40. </style>
  41. <body class="w-full h-full">
  42. <div class="login-body body hidden lg:flex w-full h-full">
  43. <div class="fixbox">
  44. <div class="login-head">
  45. {:lang('admin/index/login/tip_welcome')}
  46. </div>
  47. <div class="login-box">
  48. <form class="layui-form layui-form-pane" method="post" action="">
  49. <div class="layui-form-item mt-[20px]">
  50. <h3>{:lang('admin/index/login/tip_sys')}</h3>
  51. </div>
  52. <div class="layui-form-item">
  53. <label class="layui-form-label">{:lang('account')}:</label>
  54. <div class="layui-input-block">
  55. <img class="fix-icon" src="__STATIC__/images/signin_ic_account.png" alt="" srcset="">
  56. <input type="text" name="admin_name" class="layui-input" lay-verify="admin_name"
  57. placeholder="" autocomplete="on" maxlength="20" />
  58. </div>
  59. </div>
  60. <div class="layui-form-item">
  61. <label class="layui-form-label">{:lang('pass')}:</label>
  62. <div class="layui-input-block">
  63. <img class="fix-icon" src="__STATIC__/images/signin_ic_password.png" alt="" srcset="">
  64. <input type="password" name="admin_pwd" class="layui-input" lay-verify="admin_pwd"
  65. placeholder="" maxlength="20" />
  66. </div>
  67. </div>
  68. {if condition="$GLOBALS['config']['app']['admin_login_verify'] neq '0'"}
  69. <div class="layui-form-item">
  70. <label class="layui-form-label">{:lang('verify')}:</label>
  71. <div class="layui-input-block">
  72. <img class="fix-icon" src="__STATIC__/images/signin_ic_code.png" alt="" srcset="">
  73. <input type="number" name="verify" class="layui-input" lay-verify="verify" placeholder=""
  74. maxlength="4" max="9999" /><img id="verify_img"
  75. src="__ROOT__/index.php/verify/index.html" onclick="this.src = this.src+'?'">
  76. </div>
  77. </div>
  78. {/if}
  79. <button type="button" class="layui-btn btn-submit pc-submit" lay-submit=""
  80. lay-filter="sub">{:lang('admin/index/login/btn_submit')}</button>
  81. </form>
  82. <div class="copyright">
  83. {:lang('maccms_copyright')}
  84. </div>
  85. <div class="flex flex-col gap-[10px]">
  86. <div class="text-[#1F2937] text-[14px]">{:lang('admin/index/login/tip_declare')}</div>
  87. <div class="text-[#1F2937] text-[14px]">
  88. {:lang('admin/index/login/tip_declare_txt')}
  89. </div>
  90. </div>
  91. </div>
  92. </div>
  93. </div>
  94. <div class="lg:hidden pb-20 pt-10">
  95. <div class="w-full flex flex-col">
  96. <div class="text-[32px] text-center leading-9 text-[#40CC92] font-medium">
  97. {:lang('admin/index/login/tip_welcome')}
  98. </div>
  99. <div class="w-full h-full px-10">
  100. <form class="layui-form layui-form-pane" method="post" action="">
  101. <div class="layui-form-item mt-[20px] text-center">
  102. <h3 class="font-medium text-lg">{:lang('admin/index/login/tip_sys')}</h3>
  103. </div>
  104. <div class="layui-form-item">
  105. <label class="layui-form-label">{:lang('account')}:</label>
  106. <div class="layui-input-block">
  107. <img class="fix-icon" src="__STATIC__/images/signin_ic_account.png" alt="" srcset="">
  108. <input type="text" name="admin_name" class="layui-input" lay-verify="admin_name"
  109. placeholder="" autocomplete="on" maxlength="20" />
  110. </div>
  111. </div>
  112. <div class="layui-form-item">
  113. <label class="layui-form-label">{:lang('pass')}:</label>
  114. <div class="layui-input-block">
  115. <img class="fix-icon" src="__STATIC__/images/signin_ic_password.png" alt="" srcset="">
  116. <input type="password" name="admin_pwd" class="layui-input" lay-verify="admin_pwd"
  117. placeholder="" maxlength="20" />
  118. </div>
  119. </div>
  120. {if condition="$GLOBALS['config']['app']['admin_login_verify'] neq '0'"}
  121. <div class="layui-form-item">
  122. <label class="layui-form-label">{:lang('verify')}:</label>
  123. <div class="layui-input-block flex gap-5">
  124. <img class="fix-icon" src="__STATIC__/images/signin_ic_code.png" alt="" srcset="">
  125. <input type="number" name="verify" class="layui-input" lay-verify="verify" placeholder=""
  126. maxlength="4" max="9999" />
  127. <img id="verify_img" src="__ROOT__/index.php/verify/index.html"
  128. onclick="this.src = this.src+'?'">
  129. </div>
  130. </div>
  131. {/if}
  132. <button type="button" class="layui-btn btn-submit w-full" lay-submit=""
  133. lay-filter="sub1">{:lang('admin/index/login/btn_submit')}</button>
  134. </form>
  135. <div class="copyright text-center py-5 text-lg">
  136. {:lang('maccms_copyright')}
  137. </div>
  138. <div class="flex flex-col gap-1">
  139. <div class="text-[#1F2937] text-[14px]">{:lang('admin/index/login/tip_declare')}</div>
  140. <div class="text-[#1F2937] text-[14px]">
  141. {:lang('admin/index/login/tip_declare_txt')}
  142. </div>
  143. </div>
  144. </div>
  145. </div>
  146. </div>
  147. <script type="text/javascript" src="__STATIC__/layui/layui.js"></script>
  148. <script type="text/javascript" src="__STATIC__/js/admin_common.js"></script>
  149. <script type="text/javascript">
  150. layui.use(['form', 'layer'], function () {
  151. // 操作对象
  152. var form = layui.form
  153. , layer = layui.layer
  154. , $ = layui.jquery;
  155. // 验证
  156. form.verify({
  157. admin_name: function (value) {
  158. if (value == "") {
  159. return "{:lang('admin/index/login/verify_no')}";
  160. }
  161. },
  162. admin_pwd: function (value) {
  163. if (value == "") {
  164. return "{:lang('admin/index/login/verify_pass')}";
  165. }
  166. },
  167. verify: function (value) {
  168. if (value == "") {
  169. return "{:lang('admin/index/login/verify_verify')}";
  170. }
  171. }
  172. });
  173. // 提交监听
  174. form.on('submit(sub)', function (data) {
  175. layer.msg("{:lang('wait_submit')}", { time: 500000 });
  176. $.post("{:url('index/login')}", data.field, function (r) {
  177. if (r.code == 1) {
  178. location.href = "{:url('index/index')}";
  179. }
  180. else {
  181. layer.msg(r.msg, { time: 1800 });
  182. $('#verify_img').click();
  183. }
  184. });
  185. return false;
  186. });
  187. // 提交监听
  188. form.on('submit(sub1)', function (data) {
  189. layer.msg("{:lang('wait_submit')}", { time: 500000 });
  190. $.post("{:url('index/login')}", data.field, function (r) {
  191. if (r.code == 1) {
  192. location.href = "{:url('index/index')}";
  193. }
  194. else {
  195. layer.msg(r.msg, { time: 1800 });
  196. $('#verify_img').click();
  197. }
  198. });
  199. return false;
  200. });
  201. $("input[name='admin_name']").bind('keypress', function (event) {
  202. if (event.keyCode == "13") {
  203. if ($("input[name='admin_name']").val() != '') {
  204. $("input[name='admin_pwd']").focus();
  205. }
  206. }
  207. });
  208. $("input[name='admin_pwd']").bind('keypress', function (event) {
  209. if (event.keyCode == "13") {
  210. if ($("input[name='admin_pwd']").val() != '') {
  211. $("input[name='verify']").focus();
  212. }
  213. }
  214. });
  215. $("input[name='verify']").bind('keypress', function (event) {
  216. if (event.keyCode == "13") {
  217. if ($("input[name='verify']").val() != '') {
  218. $('.pc-submit').click();
  219. // form.submit();
  220. }
  221. }
  222. });
  223. });
  224. </script>
  225. </body>
  226. </html>