profile.blade.php 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. @extends('user.layouts')
  2. @section('content')
  3. <div class="page-content container">
  4. <div class="row">
  5. <div class="col-lg-5">
  6. <div class="card">
  7. <div class="card-header white bg-cyan-600 p-30 clearfix">
  8. <span class="avatar avatar-100 float-left mr-20">
  9. <!--<x-avatar :user="Auth::getUser()"/>-->
  10. <img src="/assets/images/avatar.svg" alt="头像" title="" style="">
  11. </span>
  12. <div class="float-left">
  13. <div class="font-size-20 mb-15">{{Auth::getUser()->email}}</div>
  14. <p class="mb-5 text-nowrap"><i class="icon bd-webchat mr-10" aria-hidden="true"></i>
  15. <span class="text-break">{{trans('common.payment.wechat')}}:
  16. @if(Auth::getUser()->wechat) {{Auth::getUser()->wechat}} @else {{trans('common.none')}} @endif
  17. </span>
  18. </p>
  19. <p class="mb-5 text-nowrap"><i class="icon bd-qq mr-10" aria-hidden="true"></i>
  20. <span class="text-break">QQ
  21. @if(Auth::getUser()->qq) {{Auth::getUser()->qq}} @else {{trans('common.none')}} @endif
  22. </span>
  23. </p>
  24. </div>
  25. </div>
  26. </div>
  27. </div>
  28. <div class="col-lg-7">
  29. <div class="panel">
  30. @if (Session::has('successMsg'))
  31. <x-alert type="success" :message="Session::get('successMsg')"/>
  32. @endif
  33. @if($errors->any())
  34. <x-alert type="danger" :message="$errors->all()"/>
  35. @endif
  36. @if(!Auth::user()->google2fa_enable)
  37. <div class="alert alert-warning">
  38. <i class="icon wb-warning" aria-hidden="true"></i>
  39. <strong>安全提示:</strong> 您必须先<a href="/2fa" class="alert-link">开启双重验证</a>才能修改个人资料。这是为了保护您的账户安全。
  40. </div>
  41. @endif
  42. <div class="panel-body nav-tabs-animate nav-tabs-horizontal" data-plugin="tabs">
  43. <ul class="nav nav-tabs nav-tabs-line" role="tablist">
  44. <li class="nav-item" role="presentation">
  45. <a class="active nav-link" data-toggle="tab" href="#tab_1" aria-controls="tab_1" role="tab">{{trans('validation.attributes.password')}}</a>
  46. </li>
  47. <li class="nav-item" role="presentation">
  48. <a class="nav-link" data-toggle="tab" href="#tab_2" aria-controls="tab_2" role="tab">{{trans('user.contact')}}</a>
  49. </li>
  50. <li class="nav-item" role="presentation">
  51. <a class="nav-link" data-toggle="tab" href="#tab_3" aria-controls="tab_3" role="tab">{{trans('user.node.setting')}}</a>
  52. </li>
  53. </ul>
  54. <div class="tab-content py-10">
  55. <div class="tab-pane active animation-slide-left" id="tab_1" role="tabpanel">
  56. <form action="{{route('profile')}}" method="post" enctype="multipart/form-data" class="form-horizontal" autocomplete="off">
  57. @csrf
  58. <div class="form-group row">
  59. <label for="password" class="col-md-2 col-form-label">{{trans('auth.password.original')}}</label>
  60. <input type="password" class="form-control col-md-5 round" name="password" id="password" autofocus required {{ !Auth::user()->google2fa_enable ? 'disabled' : '' }}/>
  61. </div>
  62. <div class="form-group row">
  63. <label for="new_password" class="col-md-2 col-form-label">{{trans('auth.password.new')}}</label>
  64. <input type="password" class="form-control col-md-5 round" name="new_password" id="new_password" required {{ !Auth::user()->google2fa_enable ? 'disabled' : '' }}/>
  65. </div>
  66. @if(Auth::user()->google2fa_enable)
  67. <div class="form-group row">
  68. <label for="code" class="col-md-2 col-form-label">双重验证码</label>
  69. <input type="text" class="form-control col-md-5 round" name="code" id="code" placeholder="请输入 Google Authenticator 生成的验证码" />
  70. <div class="col-md-5">
  71. <small class="form-text text-muted">修改密码需要输入双重验证码</small>
  72. </div>
  73. </div>
  74. @endif
  75. <div class="form-actions">
  76. <button type="submit" class="btn btn-info" {{ !Auth::user()->google2fa_enable ? 'disabled' : '' }}>{{trans('common.submit')}}</button>
  77. </div>
  78. @if(!Auth::user()->google2fa_enable)
  79. <div class="alert alert-info mt-3">
  80. <i class="icon wb-info-circle" aria-hidden="true"></i>
  81. 为了提高账户安全性,建议您 <a href="/2fa" class="alert-link">启用双重验证</a>。
  82. </div>
  83. @endif
  84. </form>
  85. </div>
  86. <div class="tab-pane animation-slide-left" id="tab_2" role="tabpanel">
  87. <form action="{{route('profile')}}" method="post" enctype="multipart/form-data" class="form-horizontal">
  88. @csrf
  89. <div class="form-group row">
  90. <label for="email" class="col-md-2 col-form-label">邮箱</label>
  91. <input type="text" class="form-control col-md-5 round" name="email" id="email" value="{{Auth::getUser()->email}}" {{ !Auth::user()->google2fa_enable ? 'disabled' : '' }}/>
  92. </div>
  93. <div class="form-group row">
  94. <label for="newemail" class="col-md-2 col-form-label">新邮箱</label>
  95. <input type="text" class="form-control col-md-5 round" name="newemail" id="newemail" value="" {{ !Auth::user()->google2fa_enable ? 'disabled' : '' }}/>
  96. </div>
  97. @if(Auth::user()->google2fa_enable)
  98. <div class="form-group row">
  99. <label for="code" class="col-md-2 col-form-label">双重验证码</label>
  100. <input type="text" class="form-control col-md-5 round" name="code" id="code" placeholder="请输入 Google Authenticator 生成的验证码" />
  101. <div class="col-md-5">
  102. <small class="form-text text-muted">修改邮箱需要输入双重验证码</small>
  103. </div>
  104. </div>
  105. @endif
  106. {{-- <div class="form-group form-material floating" data-plugin="formMaterial">--}}
  107. {{-- <div class="input-group" data-plugin="inputGroupFile">--}}
  108. {{-- <input type="text" class="form-control" name="verify_code" value="{{Request::old('verify_code')}}" required/>--}}
  109. {{-- <label class="floating-label" for="verify_code">{{trans('auth.captcha.attribute')}}</label>--}}
  110. {{-- <span class="input-group-btn">--}}
  111. {{-- <button class="btn btn-success" id="sendCode" onclick="sendVerifyCode()">--}}
  112. {{-- {{trans('auth.request')}}--}}
  113. {{-- </button>--}}
  114. {{-- </span>--}}
  115. {{-- </div>--}}
  116. {{-- </div>--}}
  117. <div class="form-group row">
  118. <label for="username" class="col-md-2 col-form-label">{{trans('validation.attributes.username')}}</label>
  119. <input type="text" class="form-control col-md-5 round" name="username" id="username" value="{{Auth::getUser()->username}}" {{ !Auth::user()->google2fa_enable ? 'disabled' : '' }}/>
  120. </div>
  121. <div class="form-group row">
  122. <label for="wechat" class="col-md-2 col-form-label">{{trans('common.payment.wechat')}}</label>
  123. <input type="text" class="form-control col-md-5 round" name="wechat" id="wechat" value="{{Auth::getUser()->wechat}}" {{ !Auth::user()->google2fa_enable ? 'disabled' : '' }}/>
  124. </div>
  125. <div class="form-group row">
  126. <label for="qq" class="col-md-2 col-form-label">QQ</label>
  127. <input type="number" class="form-control col-md-5 round" name="qq" id="qq" value="{{Auth::getUser()->qq}}" {{ !Auth::user()->google2fa_enable ? 'disabled' : '' }}/>
  128. </div>
  129. <div class="form-actions">
  130. <button type="submit" class="btn btn-info" {{ !Auth::user()->google2fa_enable ? 'disabled' : '' }}>{{trans('common.submit')}}</button>
  131. </div>
  132. @if(!Auth::user()->google2fa_enable)
  133. <div class="alert alert-info mt-3">
  134. <i class="icon wb-info-circle" aria-hidden="true"></i>
  135. 为了提高账户安全性,建议您 <a href="/2fa" class="alert-link">启用双重验证</a>。
  136. </div>
  137. @endif
  138. </form>
  139. </div>
  140. <div class="tab-pane animation-slide-left" id="tab_3" role="tabpanel">
  141. <form action="{{route('profile')}}" method="post" enctype="multipart/form-data" class="form-horizontal">
  142. @csrf
  143. <div class="form-group row">
  144. <label for="passwd" class="col-md-2 col-form-label"> {{trans('user.account.connect_password')}} </label>
  145. <input type="text" class="form-control col-md-5 round" name="passwd" id="passwd" value="{{Auth::getUser()->passwd}}" required {{ !Auth::user()->google2fa_enable ? 'disabled' : '' }}/>
  146. </div>
  147. <div class="form-actions">
  148. <button type="submit" class="btn btn-info" {{ !Auth::user()->google2fa_enable ? 'disabled' : '' }}> {{trans('common.submit')}} </button>
  149. </div>
  150. </form>
  151. </div>
  152. </div>
  153. </div>
  154. </div>
  155. </div>
  156. </div>
  157. </div>
  158. @endsection
  159. @section('javascript')
  160. <script src="/assets/custom/jump-tab.js"></script>
  161. {{-- <script>--}}
  162. {{-- // 发送注册验证码--}}
  163. {{-- function sendVerifyCode() {--}}
  164. {{-- let flag = true; // 请求成功与否标记--}}
  165. {{-- let email = $('#email').val().trim();--}}
  166. {{-- if (email === '') {--}}
  167. {{-- swal.fire({title: '{{trans('validation.required', ['attribute' => trans('validation.attributes.email')])}}', icon: 'warning', timer: 1500});--}}
  168. {{-- return false;--}}
  169. {{-- }--}}
  170. {{-- $.ajax({--}}
  171. {{-- method: 'POST',--}}
  172. {{-- url: '{{route('sendVerificationCode')}}',--}}
  173. {{-- dataType: 'json',--}}
  174. {{-- data: {_token: '{{csrf_token()}}', email: email},--}}
  175. {{-- success: function(ret) {--}}
  176. {{-- if (ret.status === 'success') {--}}
  177. {{-- swal.fire({title: ret.message, icon: 'success'});--}}
  178. {{-- $('#sendCode').attr('disabled', true);--}}
  179. {{-- flag = true;--}}
  180. {{-- } else {--}}
  181. {{-- swal.fire({title: ret.message, icon: 'error', timer: 1000, showConfirmButton: false});--}}
  182. {{-- $('#sendCode').attr('disabled', false);--}}
  183. {{-- flag = false;--}}
  184. {{-- }--}}
  185. {{-- },--}}
  186. {{-- error: function() {--}}
  187. {{-- swal.fire({title: '发送失败', icon: 'error'});--}}
  188. {{-- flag = false;--}}
  189. {{-- },--}}
  190. {{-- });--}}
  191. {{-- // 请求成功才开始倒计时--}}
  192. {{-- if (flag) {--}}
  193. {{-- // 60秒后才能重新申请发送--}}
  194. {{-- let left_time = 60;--}}
  195. {{-- const tt = window.setInterval(function() {--}}
  196. {{-- left_time--;--}}
  197. {{-- if (left_time <= 0) {--}}
  198. {{-- window.clearInterval(tt);--}}
  199. {{-- $('#sendCode').removeAttr('disabled').text('{{trans('auth.request')}}');--}}
  200. {{-- } else {--}}
  201. {{-- $('#sendCode').text(left_time + ' s');--}}
  202. {{-- }--}}
  203. {{-- }, 1000);--}}
  204. {{-- }--}}
  205. {{-- }--}}
  206. {{-- </script>--}}
  207. @endsection