login_company.blade.php 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346
  1. @extends('mobile.module.layouts.content')
  2. @push('meta')
  3. @endpush
  4. @push('css')
  5. <link href="{{ theme_asset('mobile/css/members.css') }}" rel="stylesheet">
  6. @endpush
  7. @push('js')
  8. <script type="text/javascript" src="{{ theme_asset('gt/gt.js') }}"></script>
  9. <script type="text/javascript" src="{{ theme_asset('gt/gt.handle.js') }}"></script>
  10. @endpush
  11. @section('content')
  12. <div class="qs-top-nav x2 list_height">
  13. <div class="n-cell active">账号密码登录<div class="b-line"></div></div>
  14. <div class="clear"></div>
  15. </div>
  16. <div class="split-block"></div>
  17. <form action="{{route($sub_site.'mobile.login.company')}}" id="form_company">
  18. {{csrf_field()}}
  19. <div class="loging-input-group">
  20. <div class="group-list">
  21. <div class="g-close"></div>
  22. <input id="company_account" name="company_account" type="text" class="l-input j-l-input font14" placeholder="请输入用户名/手机/邮箱" autocomplete="off">
  23. </div>
  24. <div class="group-list pwd">
  25. <div class="g-close"></div>
  26. <input id="company_password" name="company_password" type="text" onfocus="this.type='password'" class="l-input j-l-input font14" placeholder="请输入密码" autocomplete="off">
  27. </div>
  28. </div>
  29. <div class="l-tool-bar list_height">
  30. <div class="auto-loging">
  31. <div class="for-checkbox active" id="for-checkbox">下次自动登录</div>
  32. </div>
  33. <div class="for-pwd link_gray6"><a href="{{route($sub_site.'mobile.password.request')}}">忘记密码</a></div>
  34. <div class="clear"></div>
  35. </div>
  36. <div id="pop" style="display:none"></div>
  37. <input type="hidden" name="autoLogin" id="autoLogin" value="1" >
  38. </form>
  39. <div class="btn-spacing"><a id="loginBtn" href="javascript:;" class="qs-btn qs-btn-blue font18 login-company">登录</a></div>
  40. <div class="qs-center login-btn-group">
  41. <div class="login-btn-group-box">
  42. <a href="{{route($sub_site.'mobile.register.index')}}" class="qs-btn qs-btn-medium qs-btn-border-orange font14" style="width: 2.45rem;">立即注册</a>
  43. <a href="{{route($sub_site.'mobile.login')}}" class="qs-btn qs-btn-medium qs-btn-border-blue font14" style="width: 2.45rem;margin-left: .5rem">个人用户登录</a>
  44. <div class="clear"></div>
  45. </div>
  46. </div>
  47. <div class="qs-center coop-title">使用合作账号登录/注册</div>
  48. <div class="coop-group qs-center" >
  49. <div class="coop-cell" id="other-thirdlogin">
  50. </div>
  51. <div class="clear"></div>
  52. </div>
  53. @endsection
  54. @section('script')
  55. @include('mobile.module.widgets.thirdlogin')
  56. <script>
  57. $(function () {
  58. var is_need_geetest=0;//全局,是否使用极验.
  59. var login_type=1;//登录模式,1用户账号登录,2用户手机登录,3企业登录.
  60. var gt_call_back=function(captchaObj) {
  61. captchaObj.onReady(function () {
  62. //极验加载完成
  63. });
  64. captchaObj.onSuccess(function () {
  65. ajax_login(login_type,captchaObj);
  66. });
  67. captchaObj.onError(function () {
  68. qsToast({type:2,context: "请先进行验证"});
  69. });
  70. captchaObj.onClose(function () {
  71. qsToast({type:2,context: "请先进行验证"});
  72. });
  73. $('.login-account').on('click', function () {
  74. var usernameValue = $.trim($('input[name=account]').val());
  75. var passwordValue = $.trim($('input[name=password]').val());
  76. if (usernameValue == '') {
  77. qsToast({type:2,context: '请输入用户名/手机号'});
  78. return false;
  79. }
  80. if (passwordValue == '') {
  81. qsToast({type:2,context: '请输入密码'});
  82. return false;
  83. }
  84. login_type=1;
  85. //clean_message();
  86. if (is_need_geetest==1){
  87. captchaObj.bindForm("#form_account");
  88. captchaObj.verify();
  89. }
  90. else{
  91. ajax_login(login_type,captchaObj);
  92. }
  93. });
  94. $('.login-mobile').on('click', function () {
  95. login_type=2;
  96. //clean_message();
  97. if (is_need_geetest==1){
  98. captchaObj.bindForm("#form_mobile");
  99. captchaObj.verify();
  100. }
  101. else{
  102. ajax_login(login_type,captchaObj);
  103. }
  104. });
  105. $('.login-company').on('click', function () {
  106. var usernameValue = $.trim($('input[name=company_account]').val());
  107. var passwordValue = $.trim($('input[name=company_password]').val());
  108. if (usernameValue == '') {
  109. qsToast({type:2,context: '请输入用户名/手机号/邮箱'});
  110. return false;
  111. }
  112. if (passwordValue == '') {
  113. qsToast({type:2,context: '请输入密码'});
  114. return false;
  115. }
  116. login_type=3;
  117. //clean_message();
  118. if (is_need_geetest==1){
  119. captchaObj.bindForm("#form_company");
  120. captchaObj.verify();
  121. }
  122. else{
  123. ajax_login(login_type,captchaObj);
  124. }
  125. });
  126. };
  127. gt_init(gt_call_back);//初始化极验
  128. $(".input-login").keydown(function(ev){
  129. ev = ev || window.event;
  130. var code = (ev.keyCode || ev.which);
  131. if (code == 10 || code == 13) {
  132. $(this).closest("form").find(".btn-group").click();
  133. }
  134. });
  135. // 自动登录
  136. $('#for-checkbox').on('click', function() {
  137. $(this).toggleClass('active');
  138. if ($(this).hasClass('active')) {
  139. $('#autoLogin').val('1');
  140. } else {
  141. $('#autoLogin').val('0');
  142. }
  143. })
  144. $('.btn-getcode').on('click', function () {
  145. submit_data={
  146. "mobile":$("input[name='mobile']").val(),
  147. "type":"login"
  148. };
  149. $.ajax({
  150. method: 'post',
  151. url: '{{route('sms.send')}}',
  152. data: submit_data,
  153. beforeSend:function () {
  154. // console.log('请求开始');
  155. $(".errinfo").text("");
  156. $(".errinfo").removeClass("errinfo");
  157. },
  158. complete:function() {
  159. console.log('请求结束');
  160. },
  161. success: function (data) {
  162. // console.log(data);
  163. $("#message_mobile").addClass("successinfo");
  164. $("#message_mobile").text("发送成功,请注意查收");
  165. settime();
  166. },
  167. error: function (errorData) {
  168. // console.log(errorData);
  169. if (errorData.status==422) {//验证错误
  170. $.each(errorData.responseJSON.errors,function (key,val) {
  171. $("#"+key).addClass("errinfo");
  172. $("#"+key).text(val[0]);
  173. });
  174. }
  175. else if(errorData.status==400) {//业务错误
  176. $("#message_mobile").addClass("errinfo");
  177. $("#message_mobile").text(errorData.responseJSON.message);
  178. }
  179. }
  180. });
  181. });
  182. function ajax_login(type, captchaObj) {
  183. if (type==1) {
  184. $.ajax({
  185. type: 'post',
  186. url: $("#form_account").attr('action'),
  187. data: $("#form_account").serialize(),
  188. beforeSend:function () {
  189. //console.log('请求开始');
  190. },
  191. complete:function() {
  192. //console.log('请求结束');
  193. },
  194. success: function (data) {
  195. //console.log(data);
  196. qsToast({type:2,context: "登录成功, 正在跳转..."});
  197. location.href=data.data.redirect_url;
  198. },
  199. error: function (errorData) {
  200. //console.log(errorData);
  201. var response=$.parseJSON(errorData.response);
  202. if (is_need_geetest==1){
  203. captchaObj.reset();
  204. }
  205. if (errorData.status==422) {//验证错误
  206. $.each(response.errors,function (key,val) {
  207. qsToast({type:2,context: val[0]});
  208. return false;
  209. });
  210. }
  211. else if(errorData.status==400) {//业务错误
  212. qsToast({type:2,context: response.message});
  213. is_need_geetest=response.errors.is_need_geetest;
  214. }
  215. }
  216. });
  217. }
  218. else if (type==2) {
  219. $.ajax({
  220. method: 'post',
  221. url: $("#form_mobile").attr('action'),
  222. data: $("#form_mobile").serialize(),
  223. beforeSend:function () {
  224. //console.log('请求开始');
  225. clean_message();
  226. $('.login-mobile').addClass("btn-disabled").prop('disabled', true);
  227. $('.login-mobile').val("登录中...");
  228. },
  229. complete:function() {
  230. //console.log('请求结束');
  231. $('.login-mobile').val("登录");
  232. $('.login-mobile').removeClass("btn-disabled").prop('disabled', false);
  233. },
  234. success: function (data) {
  235. //console.log(data);
  236. $("#message_mobile").addClass("successinfo");
  237. $("#message_mobile").text("登录成功, 正在跳转...");
  238. location.href=data.data.redirect_url;
  239. },
  240. error: function (errorData) {
  241. //console.log(errorData);
  242. if (is_need_geetest==1){
  243. captchaObj.reset();
  244. }
  245. if (errorData.status==422) {//验证错误
  246. $.each(errorData.responseJSON.errors,function (key,val) {
  247. $("#"+key).addClass("errinfo");
  248. $("#"+key).text(val[0]);
  249. });
  250. }
  251. else if(errorData.status==400) {//业务错误
  252. $("#message_mobile").addClass("errinfo");
  253. $("#message_mobile").text(errorData.responseJSON.message);
  254. is_need_geetest=errorData.responseJSON.errors.is_need_geetest;
  255. }
  256. }
  257. });
  258. }
  259. else if (type==3){
  260. $.ajax({
  261. type: 'post',
  262. url: $("#form_company").attr('action'),
  263. data: $("#form_company").serialize(),
  264. beforeSend:function () {
  265. //console.log('请求开始');
  266. },
  267. complete:function() {
  268. //console.log('请求结束');
  269. },
  270. success: function (data) {
  271. //console.log(data);
  272. qsToast({type:2,context: "登录成功, 正在跳转..."});
  273. location.href=data.data.redirect_url;
  274. },
  275. error: function (errorData) {
  276. //console.log(errorData);
  277. var response=$.parseJSON(errorData.response);
  278. if (is_need_geetest==1){
  279. captchaObj.reset();
  280. }
  281. if (errorData.status==422) {//验证错误
  282. $.each(response.errors,function (key,val) {
  283. qsToast({type:2,context: val[0]});
  284. return false;
  285. });
  286. }
  287. else if(errorData.status==400) {//业务错误
  288. qsToast({type:2,context: response.message});
  289. is_need_geetest=response.errors.is_need_geetest;
  290. }
  291. }
  292. });
  293. }
  294. };
  295. });
  296. // 倒计时
  297. var countdown = 60;
  298. function settime() {
  299. if (countdown == 0) {
  300. $('.btn-getcode').prop("disabled", false);
  301. $('.btn-getcode').removeClass('btn-disabled');
  302. $('.btn-getcode').val('获取验证码');
  303. countdown = 60;
  304. return;
  305. } else {
  306. $('.btn-getcode').prop("disabled", true);
  307. $('.btn-getcode').addClass('btn-disabled');
  308. $('.btn-getcode').val('重新发送' + countdown + '秒');
  309. countdown--;
  310. }
  311. setTimeout(function() {
  312. settime()
  313. },1000)
  314. }
  315. $('.gohome').on('click', function () {
  316. location.href="{{route($sub_site.'home')}}";
  317. });
  318. </script>
  319. @endsection