profile.blade.php 14 KB

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