login.blade.php 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. @extends('auth.layouts')
  2. @section('title', sysConfig('website_name').' - '.trans('auth.login'))
  3. @section('content')
  4. <form action="{{request()->routeIs('login', 'admin.login')? Request::url() : route('login')}}" method="post" id="login-form">
  5. @csrf
  6. @if($errors->any())
  7. <x-alert type="danger" :message="$errors->all()"/>
  8. @endif
  9. @if (Session::get('successMsg'))
  10. <x-alert type="success" :message="Session::get('successMsg')"/>
  11. @endif
  12. <div class="form-group form-material floating" data-plugin="formMaterial">
  13. <input type="text" class="form-control" name="username" value="{{old('username')}}" required/>
  14. <label class="floating-label" for="username">
  15. {{sysConfig('username_type') === 'email' || sysConfig('username_type') === null ? trans('validation.attributes.email') : trans('validation.attributes.username')}}
  16. </label>
  17. </div>
  18. <div class="form-group form-material floating" data-plugin="formMaterial">
  19. <input type="password" class="form-control" name="password" value="{{old('password')}}" autocomplete required/>
  20. <label class="floating-label" for="password">{{trans('validation.attributes.password')}}</label>
  21. </div>
  22. @yield('captcha', view('auth.captcha'))
  23. <div class="form-group clearfix">
  24. <div class="checkbox-custom checkbox-inline checkbox-primary checkbox-lg float-left">
  25. <input type="checkbox" id="inputCheckbox" name="remember">
  26. <label for="inputCheckbox" for="remember">{{trans('auth.remember_me')}}</label>
  27. </div>
  28. <a href="{{route('resetPasswd')}}" class="btn btn-xs bg-red-500 text-white float-right">
  29. {{trans('auth.password.forget')}}
  30. </a>
  31. </div>
  32. <button type="submit" class="btn btn-lg btn-block mt-40 bg-indigo-500 text-white">{{trans('auth.login')}}</button>
  33. </form>
  34. @if(sysConfig('oauth_path'))
  35. <div class="pb-5">
  36. <div class="line">
  37. <span> 一键登录 </span>
  38. </div>
  39. @foreach (json_decode(sysConfig('oauth_path')) as $item)
  40. @if ($item === 'telegram')
  41. <div>
  42. {!! Socialite::driver('telegram')->getButton() !!}
  43. </div>
  44. @else
  45. <a class="btn btn-icon btn-pure" href="{{route('oauth.route', ['type' => $item, 'action' => 'login'])}}">
  46. <i class="fa-brands {{config('common.oauth.icon')[$item]}} fa-lg" aria-hidden="true"></i>
  47. </a>
  48. @endif
  49. @endforeach
  50. </div>
  51. @endif
  52. @if(sysConfig('is_register'))
  53. <p>
  54. {{trans('auth.register.promotion')}}
  55. <a href="{{route('register')}}" class="btn btn-xs bg-purple-500 text-white">
  56. {{trans('auth.register.attribute')}}<i class="icon wb-arrow-right" aria-hidden="true"></i>
  57. </a>
  58. </p>
  59. @endif
  60. @endsection
  61. @section('javascript')
  62. <script>
  63. $('#login-form').submit(function(event) {
  64. @switch(sysConfig('is_captcha'))
  65. @case(3)
  66. // 先检查Google reCAPTCHA有没有进行验证
  67. if ($('#g-recaptcha-response').val() === '') {
  68. swal.fire({title: '{{trans('auth.captcha.required')}}', icon: 'error'});
  69. return false;
  70. }
  71. @break
  72. @case(4)
  73. // 先检查Google reCAPTCHA有没有进行验证
  74. if ($('#h-captcha-response').val() === '') {
  75. swal.fire({title: '{{trans('auth.captcha.required')}}', icon: 'error'});
  76. return false;
  77. }
  78. @break
  79. @default
  80. @endswitch
  81. });
  82. </script>
  83. @endsection