where('id',$this->user_id)->find()->toArray(); $this->success('获取成功',['detail'=>$user_info]); } /** * @title 编辑个人信息 * @desc 编辑个人信息 * @author qc * @url /api/User_center/updateUserInfo * @method POST * @tag 编辑信息 * @header name:Authorization require:1 desc:Token * @param name:name type:string default:-- desc:昵称 * @param name:headimg type:string default:-- desc:头像地址 * @return name:id type:int default:-- desc:会员id * @return name:phone type:int default:-- desc:手机号 * @return name:openid type:string default:-- desc:openid * @return name:name type:string default:-- desc:昵称 * @return name:headimg type:string default:-- desc:头像地址 */ public function updateUserInfo() { $headimg = input('post.headimg'); $name = trim(input('post.name','')); $update_data= []; $update_data['name'] = $name; $update_data['headimg'] = $headimg; Db::name('store_member')->where('id',$this->user_id)->update($update_data); $field = 'id,phone,name,headimg,openid'; $user_info = Db::name('store_member')->field($field)->where('id',$this->user_id)->find(); $this->success('编辑成功',['detail'=>$user_info]); } /** * @title 绑定手机号 * @desc 绑定手机号 * @author qc * @url /api/User_center/modifyPhone * @method POST * @header name:Authorization require:1 desc:Token * @param name:phone type:int require:1 default:-- desc:手机号 * @param name:code type:int require:1 default:-- desc:手机号验证码 * @return name:phone type:int default:-- desc:手机号 * @return name:name type:string default:-- desc:昵称 * @return name:headimg type:string default:-- desc:头像地址 */ public function modifyPhone() { $uid = $this->user_id; $phone = input('post.phone'); $code = input('post.code'); if(empty($phone) || empty($code) ) $this->error('参数错误'); $field = 'id,phone,name,headimg'; $user_info = Db::name('store_member')->field($field)->where('id',$this->user_id)->find(); if($user_info['phone'] == $phone)$this->error('更换手机号与绑定手机号一致!'); $check_code = $this->checkPhoneCode($phone,$code); if(!$check_code) $this->error('验证码错误'); //判断手机号是否已注册 $member_id = Db::name('store_member') ->where('phone','=',$phone)->where('is_deleted','=',0)->where('id','<>',$this->user_id)->value('id'); if($member_id) $this->error('手机号已注册过'); Db::name('store_member')->where('id',$uid)->update(['phone'=>$phone]); $user_info['phone'] = $phone; $this->updatePhoneCode($check_code); $this->success('绑定成功',$user_info); } /** * @title 授权绑定手机号 * @desc 授权绑定手机号 * @author qc * @url /api/User_center/impowerBindPhone * @method POST * @tag * @header name:Authorization require:1 desc:Token * @param name:code type:int require:1 default:-- desc:code值 */ public function impowerBindPhone() { $code = input('code'); $redis = new Redis(); $access_token = $redis->get('access_token'); if(!$access_token){ $mini_program = config('app.mini_program'); $res = requestGet("https://api.weixin.qq.com/cgi-bin/token?appid={$mini_program['app_id']}&secret={$mini_program['secret']}&code=".$code.'&grant_type=client_credential'); $res = json_decode($res,true); $redis->set('access_token',$res['access_token'],7000); $access_token = $res['access_token']; } $user_info = requestPost('https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token='.$access_token,json_encode(array('code'=>$code))); $user_info = json_decode($user_info,true); if(empty($user_info) || $user_info['errcode'] !=0 ) $this->error('请求错误'); User::where('id',$this->user_id)->update(['phone'=>$user_info['phone_info']['purePhoneNumber']]); $this->success('绑定成功'); } }