password_request.blade.php 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353
  1. @extends('module.layouts.auth')
  2. @push('meta')
  3. @endpush
  4. @push('css')
  5. <link href="{{ theme_asset('app/css/members/common.css') }}" rel="stylesheet">
  6. <link href="{{ theme_asset('app/css/aix.css') }}" rel="stylesheet">
  7. @endpush
  8. @push('js')
  9. {{--<script type="text/javascript" src="{{ theme_asset('gt/gt.js') }}"></script>--}}
  10. {{-- <script type="text/javascript" src="{{ theme_asset('gt/gt.handle.js') }}"></script>--}}
  11. <script type="text/javascript" src="{{ theme_asset('jquery/jquery.min.js') }}"></script>
  12. @endpush
  13. @section('content')
  14. <div class="find_pwd">
  15. <div class="step s1"></div>
  16. <div class="steptxt">
  17. <div class="tli font_blue">1.验证账号信息</div>
  18. <div class="tli">2.设置新密码</div>
  19. <div class="tli">3.找回成功</div>
  20. <div class="clear"></div>
  21. </div>
  22. <div class="rl J_focus">
  23. <div class="td1">
  24. <div class="input_295_34 select_input J_dropdown J_listitme_parent">
  25. <span class="J_listitme_text">找回企业账号</span>
  26. <div class="dropdowbox1 J_dropdown_menu">
  27. <div class="dropdow_inner1">
  28. <ul class="nav_box">
  29. <li><a class="J_listitme find_type" href="javascript:;" data-code="">找回企业账号</a></li>
  30. <li><a class="J_listitme find_type" href="javascript:;" data-code="" id="wl_user">找回个人账号</a></li>
  31. </ul>
  32. </div>
  33. </div>
  34. </div>
  35. </div>
  36. <div class="clear"></div>
  37. <div class="td1">
  38. <div class="input_295_34 select_input J_dropdown J_listitme_parent">
  39. <span class="J_listitme_text">通过手机找回密码</span>
  40. <div class="dropdowbox1 J_dropdown_menu">
  41. <div class="dropdow_inner1">
  42. <ul class="nav_box">
  43. <li><a class="J_listitme find_way" href="javascript:;" data-code="">通过手机找回密码</a></li>
  44. <li><a class="J_listitme find_way" href="javascript:;" data-code="">通过注册邮箱找回密码</a></li>
  45. </ul>
  46. </div>
  47. </div>
  48. </div>
  49. </div>
  50. <div class="clear"></div>
  51. <div class="mobileshow J_listitme_group">
  52. <form id="getPassByMobileForm" action="{{route('password.request')}}" method="post" onkeydown="if(event.keyCode==13){return false;}">
  53. <div class="selecttip">系统将发送验证码短信到您的手机上,请注意查收</div>
  54. <div class="J_validate_group">
  55. <div class="td1">
  56. <input class="input_295_34" name="mobile" id="mobile" type="text" placeholder="请输入手机号">
  57. </div>
  58. <div class="td2 J_showtip_box"></div>
  59. <div class="clear"></div>
  60. </div>
  61. <div class="J_validate_group">
  62. <div class="td1">
  63. <div class="code">
  64. <input name="mobile_vcode" id="mobile_vcode" type="text" class="input_295_34" placeholder="请输入短信验证码">
  65. </div>
  66. <div class="codebtn">
  67. <input type="button" class="btn_yellow J_hoverbut" id="J_getverificode" value="获取验证码">
  68. <input type="hidden" id="origin_btnCheck" style="display: none;"><input type="hidden" id="btnCheck">
  69. </div>
  70. <div class="clear"></div>
  71. </div>
  72. <div class="td2 J_showtip_box"></div>
  73. <div class="clear"></div>
  74. </div>
  75. <div class="btnbox">
  76. <input class="utype" type="hidden" name="utype" value="1">
  77. <input type="hidden" name="type" value="mobile">
  78. {{csrf_field()}}
  79. <input id="mobile_reset" type="submit" value="下一步" class="btn_reg J_hoverbut">
  80. </div>
  81. </form>
  82. </div>
  83. <div class="emailshow J_listitme_group">
  84. <form id="getPassByEmailForm" action="{{route('password.request')}}" method="post" onkeydown="if(event.keyCode==13){return false;}">
  85. <div class="selecttip">系统将发出一封验证邮件到您的注册(或绑定的)邮箱,<br>通过验证邮件就可以重新设置密码了</div>
  86. <div class="J_validate_group">
  87. <div class="td1">
  88. <input class="input_295_34" name="email" id="email" type="text" placeholder="请输入邮箱">
  89. </div>
  90. <div class="td2 J_showtip_box"></div>
  91. <div class="clear"></div>
  92. </div>
  93. <div class="btnbox">
  94. <input type="hidden" name="ticket" id="ticket">
  95. <input type="hidden" name="bizState" id="bizState">
  96. <input type="hidden" name="randstr" id="randstr">
  97. <input class="utype" type="hidden" name="utype" value="1">
  98. <input type="hidden" name="type" value="email">
  99. {{csrf_field()}}
  100. <input id="email_reset" type="submit" value="下一步" class="btn_reg J_hoverbut">
  101. </div>
  102. </form>
  103. </div>
  104. <div class="bottom_appeal_tip link_blue"><strong>上面的方式都不可用?</strong><br>
  105. 你还可以进行 <a href="{{route('appeal')}}">账号申诉</a> 或 电话联系我们 <span class="font_blue">{{config('aix.system.site.site.bootom_tel')}}</span>
  106. </div>
  107. </div>
  108. </div>
  109. @endsection
  110. @section('script')
  111. <script type="text/javascript" src="{{ theme_asset('app/js/regular.js') }}"></script>
  112. <script type="text/javascript" src="{{ theme_asset('app/js/jquery.listitem.js') }}"></script>
  113. <script type="text/javascript" src="{{ theme_asset('app/js/jquery.validate.js') }}"></script>
  114. <script type="text/javascript" src="{{ theme_asset('app/js/jquery.dropdown.js') }}"></script>
  115. <script type="text/javascript" src="{{ theme_asset('app/js/jquery.placeholder.min.js') }}"></script>
  116. <script src="{{ theme_asset('app/js/members/jquery.common.js') }}"></script>
  117. <script src="{{ theme_asset('app/js/jquery.listitem.js') }}"></script>
  118. <script type="text/javascript">
  119. var qscms={
  120. base:"",
  121. root:""
  122. }
  123. var check_url="/auth/register/check/";
  124. var register_url="{{route('register.person')}}";
  125. var login_url="{{route('login')}}";
  126. var sms_url="{{route('sms.send')}}";
  127. var find_type=1;
  128. var captcha_open ={{config('aix.system.site_safety.site_vo_code.captcha_open', 0) }};
  129. var captcha_callback = function(res){
  130. if(res.hasOwnProperty('errorMessage')){
  131. alert(res.errorMessage)
  132. }
  133. if(res.ret == 0){
  134. console.log('行为验证通过');
  135. $("#ticket_mobile").val(res.ticket);
  136. $("#bizState_mobile").val(res.bizState);
  137. $("#randstr_mobile").val(res.randstr);
  138. toSetSms(res);
  139. }else{
  140. console.log('用户主动关闭验证码')
  141. }
  142. console.log('callback:', res);
  143. };
  144. var captcha_callback_email = function(res){
  145. if(res.hasOwnProperty('errorMessage')){
  146. alert(res.errorMessage)
  147. }
  148. if(res.ret == 0){
  149. $("#ticket").val(res.ticket);
  150. $("#bizState").val(res.bizState);
  151. $("#randstr").val(res.randstr);
  152. $.ajax({
  153. url: '{{route('password.request')}}',
  154. cache: false,
  155. async: false,
  156. type: 'post',
  157. dataType: 'json',
  158. data: $('#getPassByEmailForm').serialize(),
  159. success: function(json) {
  160. disapperTooltip("remind", "该邮箱没有注册账号");
  161. $('#email').focus();
  162. return false;
  163. },
  164. error:function(data){
  165. var error_obj=eval('(' + data.responseText + ')');
  166. if(data.status==400) {//业务错误
  167. }
  168. }
  169. });
  170. }else{
  171. console.log('用户主动关闭验证码')
  172. }
  173. console.log('callback:', res);
  174. };
  175. var captcha = new TencentCaptcha('196587903', captcha_callback, {});
  176. var captcha_email = new TencentCaptcha('196587903', captcha_callback_email, {});
  177. //找回用户类型
  178. $('.find_type').click(function(event) {
  179. var indexValue = $('.find_type').index(this);
  180. find_type=indexValue+1;
  181. $('.utype').val(find_type);
  182. console.log(find_type);
  183. });
  184. @if(request('utype')=="user"){
  185. $("#wl_user").click();
  186. }
  187. @endif
  188. // 找回方式切换
  189. $('.find_way').click(function(event) {
  190. var indexValue = $('.find_way').index(this);
  191. $('.J_listitme_group').eq(indexValue).show().siblings('.J_listitme_group').hide();
  192. });
  193. $("#email_reset").click(function (event){
  194. event.preventDefault();
  195. var emailValue = $.trim($('#email').val());
  196. if (emailValue == '') {
  197. disapperTooltip("remind", "请输入邮箱");
  198. $('#email').focus();
  199. return false;
  200. };
  201. if (emailValue != "" && !regularEmail.test(emailValue)) {
  202. disapperTooltip("remind", "请输入正确的邮箱");
  203. $('#email').focus();
  204. return false;
  205. }
  206. captcha.show();
  207. })
  208. // 点击获取验证码先判断是否输入了手机号
  209. $('#J_getverificode').click(function() {
  210. var mobileValue = $.trim($('#mobile').val());
  211. if (mobileValue == '') {
  212. disapperTooltip("remind", "请输入手机号码");
  213. $('#mobile').focus();
  214. return false;
  215. };
  216. if (mobileValue != "" && !regularMobile.test(mobileValue)) {
  217. disapperTooltip("remind", "请输入正确的手机号码");
  218. $('#mobile').focus();
  219. return false;
  220. }
  221. $.ajax({
  222. url: check_url+find_type,
  223. cache: false,
  224. async: false,
  225. type: 'post',
  226. dataType: 'json',
  227. data: { type: 'mobile', param: mobileValue },
  228. success: function(json) {
  229. disapperTooltip("remind", "该手机号没有注册账号");
  230. $('#mobile').focus();
  231. return false;
  232. },
  233. error:function(data){
  234. var error_obj=eval('(' + data.responseText + ')');
  235. if(data.status==400) {//业务错误
  236. captcha.show();
  237. }
  238. }
  239. });
  240. });
  241. // 发送手机验证码
  242. function toSetSms(result) {
  243. function settime(countdown) {
  244. if (countdown == 0) {
  245. $('#J_getverificode').prop("disabled", 0);
  246. $('#J_getverificode').removeClass('btn_disabled hover');
  247. $('#J_getverificode').val('获取验证码');
  248. countdown = 180;
  249. return;
  250. } else {
  251. $('#J_getverificode').prop("disabled", !0);
  252. $('#J_getverificode').addClass('btn_disabled');
  253. $('#J_getverificode').val('重新发送' + countdown + '秒');
  254. countdown--;
  255. }
  256. setTimeout(function() {
  257. settime(countdown)
  258. },1000)
  259. }
  260. $('#J_getverificode').prop("disabled", !0);
  261. $('#J_getverificode').addClass('btn_disabled');
  262. $('#J_getverificode').val('发送中...');
  263. result.mobile= $.trim($('#mobile').val());
  264. result.type= "check";
  265. $.ajax({
  266. url: sms_url,
  267. type: 'POST',
  268. dataType: 'json',
  269. data: result,
  270. success: function (data) {
  271. // console.log(data);
  272. setTimeout(function() {
  273. disapperTooltip("success", "验证码已发送,请注意查收");
  274. // 开始倒计时
  275. var countdowns = 180;
  276. settime(countdowns);
  277. },800)
  278. },
  279. error: function (errorData) {
  280. // console.log(errorData);
  281. setTimeout(function() {
  282. $('#J_getverificode').prop("disabled", 0);
  283. $('#J_getverificode').removeClass('btn_disabled hover');
  284. $('#J_getverificode').val('获取验证码');
  285. disapperTooltip("remind", data.msg);
  286. },1500)
  287. }
  288. });
  289. }
  290. </script>
  291. <script>
  292. $('#mobile_reset').click(function(){
  293. $('#mobile_reset').val('处理中...').addClass('btn_disabled').prop('disabled', !0);
  294. $.ajax({
  295. url: $('#getPassByMobileForm').action,
  296. type: 'POST',
  297. dataType: 'json',
  298. data: $('#getPassByMobileForm').serialize(),
  299. success: function (data) {
  300. //disapperTooltip("success","注册成功,正在为你跳转..");
  301. setTimeout(function () {
  302. window.location.href = data.data.url;
  303. }, 1000)
  304. },
  305. error: function (data) {
  306. var error_obj = eval('(' + data.responseText + ')');
  307. $('#mobile_reset').val('下一步').removeClass('btn_disabled').prop('disabled', 0);
  308. if (data.status == 422) {//验证错误
  309. $.each(error_obj.errors, function (key, val) {
  310. disapperTooltip("remind", val[0]);
  311. return;
  312. });
  313. }
  314. else if (data.status == 400) {//业务错误
  315. disapperTooltip("remind", error_obj.message);
  316. }
  317. }
  318. });
  319. return false;
  320. });
  321. </script>
  322. {{--<script type="text/javascript" src="{{ theme_asset('app/js/members/jquery.validate.getpass.js') }}"></script>--}}
  323. @endsection