login.html 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. {extend name="$base"/}
  2. {block name="resources"}
  3. <link rel="stylesheet" href="SHOP_CSS/login.css?v=20220628">
  4. <style type="text/css"></style>
  5. {/block}
  6. {block name="body"}
  7. <div class="container">
  8. <div class="head-wrap">
  9. <div class="main-wrap">
  10. <div class="login-wrap">
  11. <!-- {notempty name='$shop_info.logo'}-->
  12. <img src="{:img($shop_info.logo)}" style="width: 100px; height: 80px"/>
  13. <!-- {else/}-->
  14. <!-- <img src="SHOP_IMG/login/logo.png" />-->
  15. <!-- {/notempty}-->
  16. <!-- <img src="__STATIC__/img/logo/login_logo.png" />-->
  17. </div>
  18. {notempty name="port_data"}
  19. <!-- <div class="login-iph">-->
  20. <!-- <div class="show">-->
  21. <!-- <i class="iconfont iconico text-color"></i>-->
  22. <!-- <span>手机管理端</span>-->
  23. <!-- <div class="log-type">-->
  24. <!-- <div class="type-wrap">-->
  25. <!-- {volist name="port_data" id="vo"}-->
  26. <!-- <div class="type-item">-->
  27. <!-- <div class="item-img">-->
  28. <!-- <img src="{:img($vo.img)}" style="width: 100%">-->
  29. <!-- </div>-->
  30. <!-- <span>{$vo.message}</span>-->
  31. <!-- </div>-->
  32. <!-- {/volist}-->
  33. <!-- </div>-->
  34. <!-- </div>-->
  35. <!-- </div>-->
  36. <!-- </div>-->
  37. {/notempty}
  38. </div>
  39. </div>
  40. <div class="body-wrap">
  41. <div class="main-wrap">
  42. <img src="SHOP_IMG/login-left.png" alt="" class="login-leftbg">
  43. <div class="form-wrap layui-form">
  44. <h2 class="login-title">{if isset($store_is_exit)}智慧门店·{/if}管理中心</h2>
  45. <div class="input-wrap">
  46. <div class="icon">
  47. <i class="iconfont iconhuiyuan1"></i>
  48. </div>
  49. <input type="text" name="username" lay-verify="userName" placeholder="请输入用户名" autocomplete="off" class="layui-input input">
  50. </div>
  51. <div class="input-wrap">
  52. <div class="icon">
  53. <i class="iconfont iconmima"></i>
  54. </div>
  55. <input type="password" name="password" lay-verify="password" placeholder="请输入密码" autocomplete="off" class="layui-input input">
  56. </div>
  57. {if $shop_login == 1}
  58. <div class="input-wrap">
  59. <div class="icon">
  60. <i class="iconfont iconyanzhengma"></i>
  61. </div>
  62. <input type="text" name="captcha" lay-verify="verificationCode" placeholder="请输入验证码" autocomplete="off" class="layui-input input">
  63. <img id='verify_img' src="{$captcha['img']}" alt='captcha' onclick="verificationCode()" class="captcha"/>
  64. <input type="hidden" name="captcha_id" value="{$captcha['id']}">
  65. </div>
  66. {/if}
  67. <button type="button" class="layui-btn bg-color login-btn" lay-submit lay-filter="login">登录</button>
  68. </div>
  69. </div>
  70. </div>
  71. <div class="footer-wrap">
  72. <!-- <div class="main-wrap">
  73. <a class="copyright-logo" href="#">
  74. <img src="{if !empty($copyright.logo)} {:img($copyright.logo)} {else /}__STATIC__/img/copyright_logo.png{/if}" style="display: none;" />
  75. <img src="__STATIC__/img/logo/versions_logo.png" />
  76. </a>
  77. <div class="info">
  78. {notempty name="$copyright.company_name"}
  79. <a href="{notempty name='$copyright.copyright_link'}{$copyright.copyright_link}{else/}javascript:;{/notempty}" target="_blank">{$copyright.company_name}</a>
  80. {else/}
  81. <a href="https://www.niushop.com" target="_blank">杭州牛之云科技有限公司</a>
  82. {/notempty}
  83. {notempty name="$copyright.icp"}
  84. <a href="https://beian.miit.gov.cn/" target="_blank">&nbsp;&nbsp;备案号{$copyright.icp}</a>
  85. {/notempty}
  86. </div>
  87. {notempty name="$copyright.gov_record"}
  88. <a class="gov-box" href="{notempty name='$copyright.gov_url'}{$copyright.gov_url}{else/}javascript:;{/notempty}" target="_blank"><img src="SHOP_IMG/gov_record.png" alt="">{$copyright.gov_record}</a>
  89. {/notempty}
  90. </div> -->
  91. </div>
  92. </div>
  93. {/block}
  94. {block name="script"}
  95. <script type="text/javascript">
  96. // 二维码
  97. var tip_index = 0;
  98. $(document).on('mouseover', '#goodTitleMsg', function(data){
  99. var details = data.currentTarget.lastChild.defaultValue;
  100. if(details!=""){
  101. tip_index = layer.tips("<span style='font-size:13px;line-height:20px;'>"+details+"</span>", ($(this)),{ tips: [3, '5CBA59'],time:0,time:0,area: ['200px']});
  102. }
  103. }).on('mouseleave', '#goodTitleMsg', function(){
  104. layer.close(tip_index);
  105. });
  106. var form, login_repeat_flag = false,carousel;
  107. /**
  108. * 验证码
  109. */
  110. function verificationCode(){
  111. $.ajax({
  112. type: "get",
  113. url: "{:url('shop/login/captcha')}",
  114. dataType: "JSON",
  115. async: false,
  116. success: function (res) {
  117. var data = res.data;
  118. $("#verify_img").attr("src",data.img);
  119. $("input[name='captcha_id']").val(data.id);
  120. }
  121. });
  122. }
  123. layui.use(['form','carousel'], function(){
  124. form = layui.form;
  125. carousel = layui.carousel;
  126. form.render();
  127. /* 登录 */
  128. form.on('submit(login)', function(data) {
  129. if (login_repeat_flag) return;
  130. login_repeat_flag = true;
  131. $.ajax({
  132. type: "POST",
  133. dataType: "JSON",
  134. url: '{:url("shop/login/login")}',
  135. data: data.field,
  136. success: function(res) {
  137. if (res.code == 0) {
  138. layer.msg('登录成功',{anim: 5,time: 500},function () {
  139. window.location = data.field.login_module == 'store' ? ns.url('store://store/index/index') : '{:url("shop/index/index")}';
  140. });
  141. } else {
  142. layer.msg(res.message);
  143. login_repeat_flag = false;
  144. verificationCode();
  145. }
  146. }
  147. })
  148. });
  149. /*
  150. * 轮播
  151. * */
  152. carousel.render({
  153. elem: '#logCarousel'
  154. ,width: '100%' //设置容器宽度
  155. ,height: '100%'
  156. ,arrow: 'none' //始终显示箭头
  157. ,anim: 'fade'
  158. ,indicator: 'none'
  159. });
  160. /**
  161. * 表单验证
  162. */
  163. form.verify({
  164. userName: function(value) {
  165. if (!value.trim()) {
  166. return "账号不能为空";
  167. }
  168. },
  169. password: function(value) {
  170. if (!value.trim()) {
  171. return "密码不能为空";
  172. }
  173. },
  174. verificationCode: function(value) {
  175. if (!value.trim()) {
  176. return "验证码不能为空";
  177. }
  178. }
  179. });
  180. });
  181. $("body").on("blur",".login-content .login-input",function(){
  182. $(this).removeClass("login-input-select");
  183. });
  184. $("body").on("focus",".login-content .login-input",function(){
  185. $(this).addClass("login-input-select");
  186. });
  187. $(document).keydown(function (event) {
  188. if (event.keyCode == 13) {
  189. $(".login-btn").trigger("click");
  190. }
  191. });
  192. </script>
  193. {/block}