goCheck(); //解密手机号和验证码验证 $telnum = $this->rsaDecipher($telnum = input('telnum')); /* $code = input('code'); $codeCache = Cache::store('redis')->get($telnum); if($code != $codeCache){ throw new ParamException([ 'code' => 400, 'msg' => '验证码错误', 'errorCode' => 10000 ]); }*/ //手机号正则验证 $check = '/^(1(([35789][0-9])|(47)))\d{8}$/'; if (!preg_match($check, $telnum)){ throw new ParamException([ 'code' => 400, 'msg' => '手机号格式不正确', 'errorCode' => 10000 ]); } //查询数据库是否有该用户,有获取token,无新增并获取token $userInfo = User::getUserInfoByPhone($telnum); if($userInfo){ $ut = new UserToken(''); $token['token'] = $ut->LoginToken($userInfo['uid']); $userInfo['token'] = $token['token']; $userInfo['phone'] = substr_replace($userInfo['phone'],'****',3,4); //查看用户数据库是否有分数,没有返回false,前端判断给弹出填志愿信息框 if(empty($userInfo['score'])){ $res['phone'] = $userInfo['phone']; $res['user_name'] = $userInfo['user_name']; $res['token'] = $token['token']; return api_return('分数必填',$res); } return api_return('获取成功',$userInfo); }else{ //定义数组 $array = input(''); $array['phone'] = $telnum; //参数再次验证 $this->checkUserParam($array); //数据库插入数据 $userInfo = User::addUserInfo($array); $ut = new UserToken(''); $userInfo['token'] = $ut->LoginToken($userInfo['uid']); return api_return('登录成功',$userInfo); } } /* * 修改用户信息 * */ public function modifyUserInfo(){ $user_id = $this->verifyToken(); $array = input(''); //参数验证 $this->checkUserParam($array); $array['user_id'] = $user_id; $array['token'] = $this->request->header('token',''); $result = User::editUserInfo($array); if($result){ return api_return("修改成功",$result); }else{ return api_return("修改失败",$result); } } /** * @url api/sendCode * 发送手机号验证码 * @return \think\response\Json */ public function sendMobileCode() { $telnum = input('telnum'); if(empty($telnum)){ throw new ParamException([ 'code' => 400, 'msg' => '手机号参数必须', 'errorCode' => 10000 ]); } //解密手机号 $telnum = $this->rsaDecipher($telnum); //手机号正则验证 $check = '/^(1(([35789][0-9])|(47)))\d{8}$/'; if (!preg_match($check, $telnum)){ return api_error('手机号格式错误'); } $code = rand(1000,9999); Cache::store("redis")->set($telnum,$code,300); $res = SendMessage::sendAliMessage($telnum,config('alidayu.signName'),config('alidayu.msgSms'),['code'=>$code]); if($res['status'] == 1) return api_return('发送成功'); else return api_error('发送失败'); } }