password_request.blade.php 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355
  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. $('#getPassByEmailForm').on('submit', 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_email.show();
  207. });
  208. // $("#email_reset").click(function (event){
  209. // event.preventDefault();
  210. //
  211. // })
  212. // 点击获取验证码先判断是否输入了手机号
  213. $('#J_getverificode').click(function() {
  214. var mobileValue = $.trim($('#mobile').val());
  215. if (mobileValue == '') {
  216. disapperTooltip("remind", "请输入手机号码");
  217. $('#mobile').focus();
  218. return false;
  219. };
  220. if (mobileValue != "" && !regularMobile.test(mobileValue)) {
  221. disapperTooltip("remind", "请输入正确的手机号码");
  222. $('#mobile').focus();
  223. return false;
  224. }
  225. $.ajax({
  226. url: check_url+find_type,
  227. cache: false,
  228. async: false,
  229. type: 'post',
  230. dataType: 'json',
  231. data: { type: 'mobile', param: mobileValue },
  232. success: function(json) {
  233. disapperTooltip("remind", "该手机号没有注册账号");
  234. $('#mobile').focus();
  235. return false;
  236. },
  237. error:function(data){
  238. var error_obj=eval('(' + data.responseText + ')');
  239. if(data.status==400) {//业务错误
  240. captcha.show();
  241. }
  242. }
  243. });
  244. });
  245. // 发送手机验证码
  246. function toSetSms(result) {
  247. function settime(countdown) {
  248. if (countdown == 0) {
  249. $('#J_getverificode').prop("disabled", 0);
  250. $('#J_getverificode').removeClass('btn_disabled hover');
  251. $('#J_getverificode').val('获取验证码');
  252. countdown = 180;
  253. return;
  254. } else {
  255. $('#J_getverificode').prop("disabled", !0);
  256. $('#J_getverificode').addClass('btn_disabled');
  257. $('#J_getverificode').val('重新发送' + countdown + '秒');
  258. countdown--;
  259. }
  260. setTimeout(function() {
  261. settime(countdown)
  262. },1000)
  263. }
  264. $('#J_getverificode').prop("disabled", !0);
  265. $('#J_getverificode').addClass('btn_disabled');
  266. $('#J_getverificode').val('发送中...');
  267. result.mobile= $.trim($('#mobile').val());
  268. result.type= "check";
  269. $.ajax({
  270. url: sms_url,
  271. type: 'POST',
  272. dataType: 'json',
  273. data: result,
  274. success: function (data) {
  275. // console.log(data);
  276. setTimeout(function() {
  277. disapperTooltip("success", "验证码已发送,请注意查收");
  278. // 开始倒计时
  279. var countdowns = 180;
  280. settime(countdowns);
  281. },800)
  282. },
  283. error: function (errorData) {
  284. // console.log(errorData);
  285. setTimeout(function() {
  286. $('#J_getverificode').prop("disabled", 0);
  287. $('#J_getverificode').removeClass('btn_disabled hover');
  288. $('#J_getverificode').val('获取验证码');
  289. disapperTooltip("remind", data.msg);
  290. },1500)
  291. }
  292. });
  293. }
  294. </script>
  295. <script>
  296. $('#mobile_reset').click(function(){
  297. $('#mobile_reset').val('处理中...').addClass('btn_disabled').prop('disabled', !0);
  298. $.ajax({
  299. url: $('#getPassByMobileForm').action,
  300. type: 'POST',
  301. dataType: 'json',
  302. data: $('#getPassByMobileForm').serialize(),
  303. success: function (data) {
  304. //disapperTooltip("success","注册成功,正在为你跳转..");
  305. setTimeout(function () {
  306. window.location.href = data.data.url;
  307. }, 1000)
  308. },
  309. error: function (data) {
  310. var error_obj = eval('(' + data.responseText + ')');
  311. $('#mobile_reset').val('下一步').removeClass('btn_disabled').prop('disabled', 0);
  312. if (data.status == 422) {//验证错误
  313. $.each(error_obj.errors, function (key, val) {
  314. disapperTooltip("remind", val[0]);
  315. return;
  316. });
  317. }
  318. else if (data.status == 400) {//业务错误
  319. disapperTooltip("remind", error_obj.message);
  320. }
  321. }
  322. });
  323. return false;
  324. });
  325. </script>
  326. {{--<script type="text/javascript" src="{{ theme_asset('app/js/members/jquery.validate.getpass.js') }}"></script>--}}
  327. @endsection