login.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  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" 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. <!--<a href="{:url('Login/register')}" title="{$Think.lang.login_register_login_now_4}">{$Think.lang.new_user_registration}</a>-->
  48. </div>
  49. <div class="item">
  50. <input type="submit" class="btn login-btn" value="{$Think.lang.login_register_login_now_2}"/>
  51. </div>
  52. </form>
  53. {if $Think.config.ds_config.sms_login == 1}
  54. <form id="login_mobile_form" method="post" action="{:url('Connectsms/login')}" style="display:none">
  55. <div class="item">
  56. <div class="text-area">
  57. <div class="iconfont ico">&#xe702;</div>
  58. <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"/>
  59. </div>
  60. </div>
  61. <div class="item">
  62. <div class="text-area">
  63. <div class="iconfont ico">&#xe67b;</div>
  64. <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"/>
  65. <a class="send_code valid" id="btn_sms_captcha" ds_type="2" >{$Think.lang.login_get_verification_code}</a>
  66. </div>
  67. </div>
  68. <div class="item">
  69. <a href="{:url('Login/forget_password')}">{$Think.lang.login_index_find_password}?</a>
  70. <!--<a href="{:url('Login/register')}" title="{$Think.lang.login_register_login_now_4}">{$Think.lang.new_user_registration}</a>-->
  71. </div>
  72. <div class="item">
  73. <input type="hidden" value="{$Request.param.ref_url}" name="ref_url">
  74. <input type="submit" class="btn login-btn" value="{$Think.lang.login_register_login_now_2}"/>
  75. </div>
  76. </form>
  77. {/if}
  78. </div>
  79. {if $Think.config.ds_config.qq_isuse =='1' || $Think.config.ds_config.sina_isuse =='1' || $Think.config.ds_config.weixin_isuse =='1'}
  80. <div class="partner-login clearfix">
  81. <h3>{$Think.lang.partner_account_login}</h3>
  82. <p>
  83. {if $Think.config.ds_config.qq_isuse == '1'}
  84. <a class="login_ico ico_qq" href="{:url('Api/oa_qq')}"></a>
  85. {/if}
  86. {if $Think.config.ds_config.sina_isuse == '1'}
  87. <a class="login_ico ico_weibo" href="{:url('Api/oa_sina')}"></a>
  88. {/if}
  89. {if $Think.config.ds_config.weixin_isuse == '1'}
  90. <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>
  91. {/if}
  92. </p>
  93. </div>
  94. {/if}
  95. </div>
  96. </div>
  97. </div>
  98. <script>
  99. $(function () {
  100. $(".login_form .mt a").click(function(){
  101. var index=$(this).index();
  102. $(this).parent().next().find("form").hide().eq(index).show();
  103. $(this).addClass("on").siblings().removeClass("on");
  104. });
  105. $("#login_normal_form").validate({
  106. errorPlacement: function (error, element) {
  107. var error_td = element.parent('.text-area');
  108. error_td.append(error);
  109. element.parents('.text-area:first').addClass('error');
  110. },
  111. success: function (label) {
  112. label.parents('.text-area:first').removeClass('error').find('label').remove();
  113. },
  114. submitHandler:function(form){
  115. ds_ajaxpost('login_normal_form','url','{if $Request.param.ref_url}{$Request.param.ref_url}{else/}{:url("Member/index")}{/if}');
  116. },
  117. onkeyup: false,
  118. rules: {
  119. member_name: "required",
  120. member_password: "required"
  121. {if $Think.config.ds_config.captcha_status_login == '1'},
  122. captcha_normal: {
  123. required: true,
  124. remote: {
  125. url: "{:url('Seccode/check',['reset'=>'false'])}",
  126. type: 'get',
  127. data: {
  128. captcha: function () {
  129. return $('#captcha_normal').val();
  130. }
  131. },
  132. complete: function (data) {
  133. if (data.responseText == 'false') {
  134. document.getElementById('codeimage').src = "{:url('Seccode/makecode')}"+"?" + new Date().getTime();
  135. }
  136. }
  137. }
  138. }
  139. {/if}
  140. },
  141. messages: {
  142. member_name: "<i class='iconfont'>&#xe64c;</i>{$Think.lang.please_enter_registered_name}",
  143. member_password: "<i class='iconfont'>&#xe64c;</i>{$Think.lang.login_index_input_password}"
  144. {if $Think.config.ds_config.captcha_status_login == '1'},
  145. captcha_normal: {
  146. required: '<i class="iconfont" title="{$Think.lang.login_index_input_checkcode}">&#xe64c;</i>{$Think.lang.login_index_input_checkcode}',
  147. remote: '<i class="iconfont" title="{$Think.lang.login_index_wrong_checkcode}">&#xe64c;</i>{$Think.lang.login_index_wrong_checkcode}'
  148. }
  149. {/if}
  150. }
  151. });
  152. });
  153. </script>
  154. {if $Think.config.ds_config.sms_login == 1}
  155. <script type="text/javascript" src="{$Think.HOME_SITE_ROOT}/js/connect_sms.js"></script>
  156. <script>
  157. $(function () {
  158. $("#login_mobile_form").validate({
  159. errorPlacement: function (error, element) {
  160. var error_td = element.parent('.text-area');
  161. error_td.append(error);
  162. element.parents('.text-area:first').addClass('error');
  163. },
  164. success: function (label) {
  165. label.parents('.text-area:first').removeClass('error').find('label').remove();
  166. },
  167. submitHandler:function(form){
  168. ds_ajaxpost('login_mobile_form','url','{if $Request.param.ref_url}{$Request.param.ref_url}{else/}{:url("Member/index")}{/if}');
  169. },
  170. onkeyup: false,
  171. rules: {
  172. sms_mobile: {
  173. required: true,
  174. number:true,
  175. rangelength:[11,11]
  176. },
  177. sms_captcha: {
  178. required: true,
  179. rangelength:[6,6]
  180. }
  181. {if $Think.config.ds_config.captcha_status_login == '1'},
  182. captcha_mobile: {
  183. required: true,
  184. minlength: 4,
  185. remote: {
  186. url: "{:url('Seccode/check',['reset'=>'false'])}",
  187. type: 'get',
  188. data: {
  189. captcha: function () {
  190. return $('#captcha_mobile').val();
  191. }
  192. },
  193. complete: function (data) {
  194. if (data.responseText == 'false') {
  195. document.getElementById('sms_codeimage').src = "{:url('Seccode/makecode')}"+"?" + new Date().getTime();
  196. }
  197. }
  198. }
  199. }
  200. {/if}
  201. },
  202. messages: {
  203. sms_mobile: {
  204. required: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_correct_phone}',
  205. number: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_correct_phone}',
  206. rangelength:'<i class="iconfont">&#xe64c;</i>{$Think.lang.login_correct_phone}'
  207. },
  208. sms_captcha: {
  209. required: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_sms_dynamic_code}',
  210. rangelength: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_sms_dynamic_code}'
  211. }
  212. {if $Think.config.ds_config.captcha_status_login == '1'},
  213. captcha_mobile: {
  214. required: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_correct_verification_code}',
  215. minlength: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_correct_verification_code}',
  216. remote: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_correct_verification_code}'
  217. }
  218. {/if}
  219. }
  220. });
  221. });
  222. </script>
  223. {/if}
  224. {include file='default/base/mall_footer'/}