password_request.blade.php 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352
  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("success", "邮件发送成功,请前往邮箱操作!");
  161. },
  162. error:function(data){
  163. disapperTooltip("remind", data.message);
  164. $('#email').focus();
  165. return false;
  166. }
  167. });
  168. }else{
  169. console.log('用户主动关闭验证码')
  170. }
  171. console.log('callback:', res);
  172. };
  173. var captcha = new TencentCaptcha('196587903', captcha_callback, {});
  174. var captcha_email = new TencentCaptcha('196587903', captcha_callback_email, {});
  175. //找回用户类型
  176. $('.find_type').click(function(event) {
  177. var indexValue = $('.find_type').index(this);
  178. find_type=indexValue+1;
  179. $('.utype').val(find_type);
  180. console.log(find_type);
  181. });
  182. @if(request('utype')=="user"){
  183. $("#wl_user").click();
  184. }
  185. @endif
  186. // 找回方式切换
  187. $('.find_way').click(function(event) {
  188. var indexValue = $('.find_way').index(this);
  189. $('.J_listitme_group').eq(indexValue).show().siblings('.J_listitme_group').hide();
  190. });
  191. $('#getPassByEmailForm').on('submit', function(event) {
  192. event.preventDefault();
  193. var emailValue = $.trim($('#email').val());
  194. if (emailValue == '') {
  195. disapperTooltip("remind", "请输入邮箱");
  196. $('#email').focus();
  197. return false;
  198. };
  199. if (emailValue != "" && !regularEmail.test(emailValue)) {
  200. disapperTooltip("remind", "请输入正确的邮箱");
  201. $('#email').focus();
  202. return false;
  203. }
  204. captcha_email.show();
  205. });
  206. // $("#email_reset").click(function (event){
  207. // event.preventDefault();
  208. //
  209. // })
  210. // 点击获取验证码先判断是否输入了手机号
  211. $('#J_getverificode').click(function() {
  212. var mobileValue = $.trim($('#mobile').val());
  213. if (mobileValue == '') {
  214. disapperTooltip("remind", "请输入手机号码");
  215. $('#mobile').focus();
  216. return false;
  217. };
  218. if (mobileValue != "" && !regularMobile.test(mobileValue)) {
  219. disapperTooltip("remind", "请输入正确的手机号码");
  220. $('#mobile').focus();
  221. return false;
  222. }
  223. $.ajax({
  224. url: check_url+find_type,
  225. cache: false,
  226. async: false,
  227. type: 'post',
  228. dataType: 'json',
  229. data: { type: 'mobile', param: mobileValue },
  230. success: function(json) {
  231. disapperTooltip("remind", "该手机号没有注册账号");
  232. $('#mobile').focus();
  233. return false;
  234. },
  235. error:function(data){
  236. var error_obj=eval('(' + data.responseText + ')');
  237. if(data.status==400) {//业务错误
  238. captcha.show();
  239. }
  240. }
  241. });
  242. });
  243. // 发送手机验证码
  244. function toSetSms(result) {
  245. function settime(countdown) {
  246. if (countdown == 0) {
  247. $('#J_getverificode').prop("disabled", 0);
  248. $('#J_getverificode').removeClass('btn_disabled hover');
  249. $('#J_getverificode').val('获取验证码');
  250. countdown = 180;
  251. return;
  252. } else {
  253. $('#J_getverificode').prop("disabled", !0);
  254. $('#J_getverificode').addClass('btn_disabled');
  255. $('#J_getverificode').val('重新发送' + countdown + '秒');
  256. countdown--;
  257. }
  258. setTimeout(function() {
  259. settime(countdown)
  260. },1000)
  261. }
  262. $('#J_getverificode').prop("disabled", !0);
  263. $('#J_getverificode').addClass('btn_disabled');
  264. $('#J_getverificode').val('发送中...');
  265. result.mobile= $.trim($('#mobile').val());
  266. result.type= "check";
  267. $.ajax({
  268. url: sms_url,
  269. type: 'POST',
  270. dataType: 'json',
  271. data: result,
  272. success: function (data) {
  273. // console.log(data);
  274. setTimeout(function() {
  275. disapperTooltip("success", "验证码已发送,请注意查收");
  276. // 开始倒计时
  277. var countdowns = 180;
  278. settime(countdowns);
  279. },800)
  280. },
  281. error: function (errorData) {
  282. // console.log(errorData);
  283. setTimeout(function() {
  284. $('#J_getverificode').prop("disabled", 0);
  285. $('#J_getverificode').removeClass('btn_disabled hover');
  286. $('#J_getverificode').val('获取验证码');
  287. disapperTooltip("remind", data.msg);
  288. },1500)
  289. }
  290. });
  291. }
  292. </script>
  293. <script>
  294. $('#mobile_reset').click(function(){
  295. $('#mobile_reset').val('处理中...').addClass('btn_disabled').prop('disabled', !0);
  296. $.ajax({
  297. url: $('#getPassByMobileForm').action,
  298. type: 'POST',
  299. dataType: 'json',
  300. data: $('#getPassByMobileForm').serialize(),
  301. success: function (data) {
  302. //disapperTooltip("success","注册成功,正在为你跳转..");
  303. setTimeout(function () {
  304. window.location.href = data.data.url;
  305. }, 1000)
  306. },
  307. error: function (data) {
  308. var error_obj = eval('(' + data.responseText + ')');
  309. $('#mobile_reset').val('下一步').removeClass('btn_disabled').prop('disabled', 0);
  310. if (data.status == 422) {//验证错误
  311. $.each(error_obj.errors, function (key, val) {
  312. disapperTooltip("remind", val[0]);
  313. return;
  314. });
  315. }
  316. else if (data.status == 400) {//业务错误
  317. disapperTooltip("remind", error_obj.message);
  318. }
  319. }
  320. });
  321. return false;
  322. });
  323. </script>
  324. {{--<script type="text/javascript" src="{{ theme_asset('app/js/members/jquery.validate.getpass.js') }}"></script>--}}
  325. @endsection