login.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. {include file='default/base/mall_top'/}
  2. <link rel="stylesheet" href="{$Think.HOME_SITE_ROOT}/css/home.css">
  3. <div class="header-login clearfix">
  4. <div class="w1200">
  5. <div class="logo">
  6. <a href="{$Think.HOME_SITE_URL}"><img src="{:ds_get_pic(ATTACH_COMMON,$Think.config.ds_config.site_logo)}"/></a>
  7. </div>
  8. </div>
  9. </div>
  10. <div class="page_login clearfix" style="background-image: url('{$Think.HOME_SITE_ROOT}/images/login/login-bg.jpg');background-position: center center;">
  11. <div class="w1000">
  12. <div class="login_form">
  13. <div class="mt">
  14. <a href="javascript:void(0)" class="on"><span>{$Think.lang.login_account}</span><i></i></a>
  15. {if $Think.config.ds_config.sms_login == 1}
  16. <a href="javascript:void(0)" ><span>{$Think.lang.login_mobile}</span><i></i></a>
  17. {/if}
  18. </div>
  19. <div class="mc">
  20. <form id="login_normal_form" method="post" action="{:url('Login/login')}">
  21. <div class="item">
  22. <div class="text-area">
  23. <div class="iconfont ico">&#xe702;</div>
  24. <input type="text" id="member_name" name="member_name" class="text" placeholder="{$Think.lang.login_type}" tabindex="1"/>
  25. </div>
  26. </div>
  27. <div class="item">
  28. <div class="text-area">
  29. <div class="iconfont ico">&#xe67b;</div>
  30. <input type="password" id="member_password" name="member_password" autocomplete="new-password" class="text" placeholder="{$Think.lang.login_password}" tabindex="2"/>
  31. </div>
  32. </div>
  33. {if $Think.config.ds_config.captcha_status_login == '1'}
  34. <div class="item">
  35. <div class="text-area">
  36. <div class="iconfont ico">&#xe67b;</div>
  37. <input type="text" id="captcha_normal" name="captcha_normal" class="text" style="width:130px;float:left" placeholder="{$Think.lang.login_register_code}" tabindex="2" maxlength="4"/>
  38. <span class="span">
  39. <img style="position: absolute;top: 0;height:46px;" src="{:url('Seccode/makecode')}" title="{$Think.lang.login_index_change_checkcode}" id="codeimage">
  40. <a class="makecode" href="javascript:void(0);" onclick="javascript:document.getElementById('codeimage').src='{:url('Seccode/makecode')}'+'?'+(new Date().getTime());">{$Think.lang.login_password_change_code}</a>
  41. </span>
  42. </div>
  43. </div>
  44. {/if}
  45. <div class="item">
  46. <a href="{:url('Login/forget_password')}">{$Think.lang.login_index_find_password}?</a>
  47. {if $Think.config.ds_config.member_normal_register==1 || $Think.config.ds_config.sms_register==1}
  48. <a href="{:url('Login/register')}" title="{$Think.lang.login_register_login_now_4}">{$Think.lang.new_user_registration}</a>
  49. {/if}
  50. </div>
  51. <div class="item">
  52. <input type="submit" class="btn login-btn" value="{$Think.lang.login_register_login_now_2}"/>
  53. </div>
  54. </form>
  55. {if $Think.config.ds_config.sms_login == 1}
  56. <form id="login_mobile_form" method="post" action="{:url('Connectsms/login')}" style="display:none">
  57. <div class="item">
  58. <div class="text-area">
  59. <div class="iconfont ico">&#xe702;</div>
  60. <input type="text" id="sms_mobile" name="sms_mobile" class="text" placeholder="{$Think.lang.login_mobile_phone}" oninput = "value=value.replace(/[^\d]/g,'')" maxlength="11" tabindex="1"/>
  61. </div>
  62. </div>
  63. <div class="item">
  64. <div class="text-area">
  65. <div class="iconfont ico">&#xe67b;</div>
  66. <input type="text" oninput="value=value.replace(/[^\d]/g,'')" id="sms_captcha" name="sms_captcha" class="text" placeholder="{$Think.lang.login_mobile_verification_code}" tabindex="2" style="width:130px;float:left" maxlength="6"/>
  67. <a class="send_code valid" id="btn_sms_captcha" ds_type="2" >{$Think.lang.login_get_verification_code}</a>
  68. </div>
  69. </div>
  70. <div class="item">
  71. <a href="{:url('Login/forget_password')}">{$Think.lang.login_index_find_password}?</a>
  72. {if $Think.config.ds_config.member_normal_register==1 || $Think.config.ds_config.sms_register==1}
  73. <a href="{:url('Login/register')}" title="{$Think.lang.login_register_login_now_4}">{$Think.lang.new_user_registration}</a>
  74. {/if}
  75. </div>
  76. <div class="item">
  77. <input type="hidden" value="{$ref_url}" name="ref_url">
  78. <input type="submit" class="btn login-btn" value="{$Think.lang.login_register_login_now_2}"/>
  79. </div>
  80. </form>
  81. {/if}
  82. </div>
  83. {if $Think.config.ds_config.qq_isuse =='1' || $Think.config.ds_config.sina_isuse =='1' || $Think.config.ds_config.weixin_isuse =='1'}
  84. <div class="partner-login clearfix">
  85. <h3>{$Think.lang.partner_account_login}</h3>
  86. <p>
  87. {if $Think.config.ds_config.qq_isuse == '1'}
  88. <a class="login_ico ico_qq" href="{:url('Api/oa_qq')}"></a>
  89. {/if}
  90. {if $Think.config.ds_config.sina_isuse == '1'}
  91. <a class="login_ico ico_weibo" href="{:url('Api/oa_sina')}"></a>
  92. {/if}
  93. {if $Think.config.ds_config.weixin_isuse == '1'}
  94. <a class="login_ico ico_weixin" onclick="ajax_form('weixin_form', '{$Think.lang.wechat_account_login}', '{:url('Connectwx/index')}', 360);" title="{$Think.lang.wechat_account_login}"></a>
  95. {/if}
  96. </p>
  97. </div>
  98. {/if}
  99. </div>
  100. </div>
  101. </div>
  102. <script>
  103. $(function () {
  104. $(".login_form .mt a").click(function(){
  105. var index=$(this).index();
  106. $(this).parent().next().find("form").hide().eq(index).show();
  107. $(this).addClass("on").siblings().removeClass("on");
  108. });
  109. $("#login_normal_form").validate({
  110. errorPlacement: function (error, element) {
  111. var error_td = element.parent('.text-area');
  112. error_td.append(error);
  113. element.parents('.text-area:first').addClass('error');
  114. },
  115. success: function (label) {
  116. label.parents('.text-area:first').removeClass('error').find('label').remove();
  117. },
  118. submitHandler:function(form){
  119. ds_ajaxpost('login_normal_form','url','{if $ref_url}{$ref_url}{else/}{:url("Member/index")}{/if}');
  120. },
  121. onkeyup: false,
  122. rules: {
  123. member_name: "required",
  124. member_password: "required"
  125. {if $Think.config.ds_config.captcha_status_login == '1'},
  126. captcha_normal: {
  127. required: true,
  128. remote: {
  129. url: "{:url('Seccode/check',['reset'=>'false'])}",
  130. type: 'get',
  131. data: {
  132. captcha: function () {
  133. return $('#captcha_normal').val();
  134. }
  135. },
  136. complete: function (data) {
  137. if (data.responseText == 'false') {
  138. document.getElementById('codeimage').src = "{:url('Seccode/makecode')}"+"?" + new Date().getTime();
  139. }
  140. }
  141. }
  142. }
  143. {/if}
  144. },
  145. messages: {
  146. member_name: "<i class='iconfont'>&#xe64c;</i>{$Think.lang.please_enter_registered_name}",
  147. member_password: "<i class='iconfont'>&#xe64c;</i>{$Think.lang.login_index_input_password}"
  148. {if $Think.config.ds_config.captcha_status_login == '1'},
  149. captcha_normal: {
  150. required: '<i class="iconfont" title="{$Think.lang.login_index_input_checkcode}">&#xe64c;</i>{$Think.lang.login_index_input_checkcode}',
  151. remote: '<i class="iconfont" title="{$Think.lang.login_index_wrong_checkcode}">&#xe64c;</i>{$Think.lang.login_index_wrong_checkcode}'
  152. }
  153. {/if}
  154. }
  155. });
  156. });
  157. </script>
  158. {if $Think.config.ds_config.sms_login == 1}
  159. <script type="text/javascript" src="{$Think.HOME_SITE_ROOT}/js/connect_sms.js"></script>
  160. <script>
  161. $(function () {
  162. $("#login_mobile_form").validate({
  163. errorPlacement: function (error, element) {
  164. var error_td = element.parent('.text-area');
  165. error_td.append(error);
  166. element.parents('.text-area:first').addClass('error');
  167. },
  168. success: function (label) {
  169. label.parents('.text-area:first').removeClass('error').find('label').remove();
  170. },
  171. submitHandler:function(form){
  172. ds_ajaxpost('login_mobile_form','url','{if $ref_url}{$ref_url}{else/}{:url("Member/index")}{/if}');
  173. },
  174. onkeyup: false,
  175. rules: {
  176. sms_mobile: {
  177. required: true,
  178. number:true,
  179. rangelength:[11,11]
  180. },
  181. sms_captcha: {
  182. required: true,
  183. rangelength:[6,6]
  184. }
  185. {if $Think.config.ds_config.captcha_status_login == '1'},
  186. captcha_mobile: {
  187. required: true,
  188. minlength: 4,
  189. remote: {
  190. url: "{:url('Seccode/check',['reset'=>'false'])}",
  191. type: 'get',
  192. data: {
  193. captcha: function () {
  194. return $('#captcha_mobile').val();
  195. }
  196. },
  197. complete: function (data) {
  198. if (data.responseText == 'false') {
  199. document.getElementById('sms_codeimage').src = "{:url('Seccode/makecode')}"+"?" + new Date().getTime();
  200. }
  201. }
  202. }
  203. }
  204. {/if}
  205. },
  206. messages: {
  207. sms_mobile: {
  208. required: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_correct_phone}',
  209. number: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_correct_phone}',
  210. rangelength:'<i class="iconfont">&#xe64c;</i>{$Think.lang.login_correct_phone}'
  211. },
  212. sms_captcha: {
  213. required: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_sms_dynamic_code}',
  214. rangelength: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_sms_dynamic_code}'
  215. }
  216. {if $Think.config.ds_config.captcha_status_login == '1'},
  217. captcha_mobile: {
  218. required: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_correct_verification_code}',
  219. minlength: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_correct_verification_code}',
  220. remote: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_correct_verification_code}'
  221. }
  222. {/if}
  223. }
  224. });
  225. });
  226. </script>
  227. {/if}
  228. {include file='default/base/mall_footer'/}