request->post('username'); $code =Yii::$app->request->post('code'); if(empty($username)||empty($code)) { return Apireturn::sent(1,'参数错误'); } if(!User::is_tel($username)) { return Apireturn::sent(1,'请输入正确的手机号'); } $count = User::find()->where(array('username'=>$username))->count(); if($count>0) { return Apireturn::sent(1,'手机号已存在'); } //判断验证码是否正确 $result = TelcodeController::existCode($username,TelcodeController::TYPE_REGISTER,$code); if($result==false) { return Apireturn::sent(1,'验证码错误'); } return Apireturn::sent(0,'验证通过'); } //注册步骤2 确认密码 public function actionRegister2() { $username =Yii::$app->request->post('username'); $password =Yii::$app->request->post('password'); $password2 =Yii::$app->request->post('password2'); $recommend =Yii::$app->request->post('recommend'); if(empty($username)||empty($password)||empty($password2)) { return Apireturn::sent(1,'参数错误'); } if(!User::is_tel($username)) { return Apireturn::sent(1,'请输入正确的手机号'); } if(!User::is_pwd($password)) { return Apireturn::sent(1,'请输入6到16位的密码'); } if($password!=$password2) { return Apireturn::sent(1,'两次密码输入不一致'); } if(User::find()->where(['username'=>$username])->count()>0) { return Apireturn::sent(1,'账号已经存在'); } //添加用户 $model = new User(); $model->username=$username; //添加推荐人信息 if(!empty($recommend)){ $recommendname = User::find()->where(['id'=>$recommend,'role'=>User::ROLE_CUSTOMER])->one(); if(!empty($recommendname)){ $model->recommendation=isset($recommendname->username)?$recommendname->username:''; } } $model->setPassword($password); $model->generateAuthKey(); $model->role = User::ROLE_CUSTOMER; $model->created_at = time(); if($model->save()){ $customer = new Customer(); $customer->uid = $model->id; $customer->updated_at = time(); $customer->save(); return Apireturn::sent(0,'注册成功'); }else{ return Apireturn::sent(1,'注册失败'); } } //登录 public function actionLogin() { $username = Yii::$app->request->post('username'); $password = Yii::$app->request->post('password'); if(empty($username)||empty($password)) { return Apireturn::sent(1,'参数错误',200); } $user = User::find()->where(array('username'=>$username))->one(); if(empty($user)) { return Apireturn::sent(1,'用户不存在',200); } if($user->status==User::STATUS_DELETED) { return Apireturn::sent(1,'用户被删除',200); } if($user->role!=User::ROLE_CUSTOMER) return Apireturn::sent(1,'账号类型不是用户',200); if(!Yii::$app->getSecurity()->validatePassword($password,$user->password_hash)) { return Apireturn::sent(1,'密码错误',200); } $access_token = md5($user->id.$user->auth_key.time()); $user->access_token = $access_token; if($user->save()) { return Apireturn::sent(0,'登录成功',200,array('token'=>$access_token)); }else{ return Apireturn::sent(1,'登录失败',200); } } //找回密码 1 public function actionFindpass() { $username =Yii::$app->request->post('username'); $code =Yii::$app->request->post('code'); if(empty($username)||empty($code)) { return Apireturn::sent(1,'参数错误'); } $count = User::find()->where(array('username'=>$username))->count(); if($count==0) { return Apireturn::sent(1,'手机号未注册'); } //判断验证码是否正确 $result = TelcodeController::existCode($username,TelcodeController::TYPE_FIND,$code); if($result==false) { return Apireturn::sent(1,'验证码错误'); } return Apireturn::sent(0,'验证通过'); } //找回密码 2 public function actionFindpass2() { $username =Yii::$app->request->post('username'); $password =Yii::$app->request->post('password'); $password2 =Yii::$app->request->post('password2'); if(empty($username)||empty($password)||empty($password2)) { return Apireturn::sent(1,'参数错误'); } $user = User::find()->where(array('username'=>$username))->one(); if(empty($user)) { return Apireturn::sent(1,'用户不存在'); } if($password!=$password2) { return Apireturn::sent(1,'两次密码不一致'); } if(!User::is_pwd($password)) { return Apireturn::sent(1,'请输入6到16位的密码'); } $user->password_hash = Yii::$app->security->generatePasswordHash($password); $user->updated_at = time(); if($user->save()) { return Apireturn::sent(0,'重置成功'); }else{ return Apireturn::sent(1,'重置密码失败'); } } }