找回密码逻辑
先验证身份是否正确存在
获取验证码
修改密码
html部分
<form class="form-forgot zform" name="Form" novalidate> <div class="form-group" ng-class="{'has-error':Form.telephone.$dirty && Form.telephone.$invalid, 'has-success':Form.telephone.$valid}"> <span>手机:</span> <span class="input-icon"> <input type="text" class="form-control" name="telephone" placeholder="手机号码" ng-model="telephone" ng-pattern="/^(((13[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\d{8})$/" required> <!--手机号格式 required必须的--> </span> </div> <div class="form-group" ng-class="{'has-error':Form.sms.$dirty && Form.sms.$invalid, 'has-success':Form.sms.$valid}"> <span>验证码:</span> <span class="input-icon padding-right-5"> <input type="text" class="form-control" name="sms" placeholder="验证码" ng-model="smsCode" required> </span> </div> <div class="form-group"> <button class="btn btn-primary zgetcode" ng-click="getSmsCode()" ng-disabled="state.indexOf('s') != -1"> {{slogan}} {{state}}</button> </div> <div class="form-group zlogin"> <button ng-disabled="Form.$invalid" ng-click="forgot()" class="btn btn-primary" >提交</button> </div> <div class="form-group"> <span>密码:</span> <span class="input-icon"> <input type="password" class="form-control" placeholder="密码" ng-model="password"> </span> </div> <div class="form-group form-actions"> <span>确认密码:</span> <span class="input-icon"> <input type="password" class="form-control password" placeholder="确认密码" ng-model="password_again"> </span> </div> <div class="form-group zlogin"> <button ng-click="confirm()" class="btn btn-primary" >确认</button> </div> </form>
js部分
.controller('forgotCtrl',function($scope,Account,SweetAlert,$http,$state,$interval,$stateParams){ $scope.forgot = function(){ Account.userVerified({Mobile:$scope.telephone,smsCode:$scope.smsCode},function(data){ if(data.code === "200"){ SweetAlert.swal({ title:'', text: "身份验证成功,是否进行重置密码?", type: "success", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "是", cancelButtonText: "否", closeOnConfirm: true, closeOnCancel: true },function(isConfirm){ if (isConfirm) { var params = data.msg.split("-"); } }); }else{ SweetAlert.swal("",data.msg,"info"); } }) }; $scope.state = "获取验证码"; $scope.slogan = ""; $scope.getSmsCode = function(){ if($scope.telephone){ var number = 60; $scope.state = number + ' s'; $scope.slogan = "请等待"; var timer = $interval(function(){ if(number === 0){ $scope.slogan = ""; $scope.state = "重新发送"; $interval.cancel(timer); }else{ number --; $scope.state = number + ' s'; } },1000); Account.sendSmsCode({telephone:$scope.telephone},function(data){ console.log(data); }) }else{ SweetAlert.swal("","请输入手机号码","info"); } }; $scope.confirm = function(){ if($scope.password_again === $scope.password){ var userId = $stateParams.userId; var token = $stateParams.accessToken;var password= $scope.password;}).then(function(data){ if(data.data.msg === 'success'){ SweetAlert.swal({ title:'', text: "密码修改成功,是否跳转到登录页面", type: "success", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "是", cancelButtonText: "否", closeOnConfirm: true, closeOnCancel: true },function(isConfirm){ if (isConfirm) { $state.go('account.login'); } }); } }) }else{ SweetAlert.swal("","两次密码不一致,请重新输入","warning"); } }});