error(__('Invalid parameters')); } $ret = $this->auth->login($mobile, $password); if ($ret) { $data = $this->auth->getUserinfo(); $this->success(__('Logged in successful'), $data); } else { $this->error($this->auth->getError()); } } /** * 修改密码 * * @ApiMethod (POST) * @param string $newpassword 新密码 * @param string $oldpassword 旧密码 */ public function changepwd(){ $newpassword = input('newpassword'); $oldpassword = input('oldpassword',''); if (!$newpassword) { $this->error('请输入新密码'); } if($this->auth->password && empty($oldpassword)){ $this->error('旧密码必填'); } if(empty($this->auth->password)){ $ret = $this->auth->changepwd($newpassword, '', true); }else{ $ret = $this->auth->changepwd($newpassword,$oldpassword,false); } if ($ret) { $this->success(__('Reset password successful')); } else { $this->error($this->auth->getError()); } } /** * 退出登录 * @ApiMethod (POST) */ public function logout() { if (!$this->request->isPost()) { $this->error(__('Invalid parameters')); } $this->auth->logout(); $this->success(__('Logout successful')); } //用户详细资料 public function getUserinfo($type = 1){ $info = $this->auth->getUserinfo(); if($type == 'return'){ return $info; } $this->success(__('success'),$info); } /** * 重置密码 * * @ApiMethod (POST) * @param string $mobile 手机号 * @param string $captcha 验证码 * @param string $newpassword 新密码 */ /*public function resetpwd() { $mobile = $this->request->post('mobile'); $captcha = $this->request->post('captcha'); $newpassword = $this->request->post("newpassword"); if (!$mobile || !$captcha || !$newpassword) { $this->error(__('Invalid parameters')); } //验证Token if (!Validate::make()->check(['newpassword' => $newpassword], ['newpassword' => 'require|regex:\S{6,30}'])) { $this->error(__('Password must be 6 to 30 characters')); } if (!Validate::regex($mobile, "^1\d{10}$")) { $this->error(__('Mobile is incorrect')); } $user = \app\common\model\CompanyStaff::getByMobile($mobile); if (!$user) { $this->error(__('User not found')); } $ret = Sms::check($mobile, $captcha, 'resetpwd'); if (!$ret) { $this->error(__('Captcha is incorrect')); } Sms::flush($mobile, 'resetpwd'); //模拟一次登录 $this->auth->direct($user->id); $ret = $this->auth->resetpwd($newpassword, '', true); if ($ret) { $this->success(__('Reset password successful')); } else { $this->error($this->auth->getError()); } }*/ /** * 修改会员个人信息 * * @ApiMethod (POST) * @param string $avatar 头像地址 * @param string $username 用户名 * @param string $nickname 昵称 * @param string $bio 个人简介 */ public function profile() { $field = [ 'mobile', //'email', 'avatar', 'firstname', 'lastname', 'lang', ]; $data = request_post_hub($field); /*if(isset($data['email'])){ $check_email = Db::name('coach')->where('email',$data['email'])->where('id','neq',$this->auth->id)->find(); if($check_email){ $this->error('邮箱已被其他人使用'); } }*/ if(isset($data['mobile'])){ $check_mobile = Db::name('coach')->where('mobile',$data['mobile'])->where('id','neq',$this->auth->id)->find(); if($check_mobile){ $this->error('手机号已被其他人使用'); } } $update_rs = Db::name('coach')->where('id',$this->auth->id)->update($data); $this->success('资料更新完成'); } }