uid; $field = 'id,phone,name,headimg,status,crystal,crystal_cash'; $user_info = Db::name('store_member')->field($field)->where('id',$uid)->find(); if(empty($user_info)) $this->error('用户信息不正确'); if($user_info['status'] == 0) $this->error('该用户已被禁用'); $coupon_num = Db::table('user_coupon_list') ->field('id,past_at') ->where('user_id','=',$this->uid) ->where('status','=',1) ->where('past_at','> time',date('Y-m-d H:i:s')) ->order('id desc') ->count(); $user_info['coupon_num'] = $coupon_num ? $coupon_num:0; $this->success('获取成功',$user_info); } /** * @title 编辑个人信息 * @desc 编辑个人信息 * @author qc * @url /api/Usercenter/updateUserInfo * @method POST * @tag 编辑信息 * @header name:Authorization require:1 desc:Token * @param name:type type:int require:1 default:1 desc:修改的类型(1:昵称,2:头像) * @param name:name type:string require:0 default:-- desc:昵称(type为1时必传) * @param name:headimg type:string require:0 default:-- desc:头像地址(type为2时必传) * @return name:phone type:int default:-- desc:手机号 * @return name:name type:string default:-- desc:姓名 * @return name:headimg type:string default:-- desc:头像地址 */ public function updateUserInfo() { $type = input('post.type',1); $headimg = input('post.headimg'); $name = input('post.name'); if(!in_array($type,[1,2])) $this->error('参数错误'); $update_data= []; if($type == 1 && $name) $update_data['name'] = $name; if($type == 2 && $headimg) $update_data['headimg'] = $headimg; if(empty($update_data)) $this->error('参数错误'); Db::name('store_member')->where('id',$this->uid)->update($update_data); $field = 'phone,name,headimg'; $user_info = Db::name('store_member')->field($field)->where('id',$this->uid)->find(); $this->success('编辑成功',$user_info); } /** * @title 绑定手机号 * @desc 绑定手机号 * @author qc * @url /api/Usercenter/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:头像地址 * @return name:password type:string default:-- desc:不加密 * @return name:decode_password type:string default:-- desc:加密后 */ public function modifyPhone() { $uid = $this->uid; $phone = input('post.phone'); $code = input('post.code'); if(empty($phone) || empty($code) ) $this->error('参数错误'); $store_member_sms = Db::name('store_member_sms') ->field('id,code')->where('phone',$phone) ->where('used',0)->order('id desc') ->find(); if($store_member_sms['code'] != $code) $this->error('验证码错误'); //判断手机号是否已注册 $member_id = Db::name('store_member')->where('phone','=',$phone)->where('id','<>',$this->uid)->value('id'); if($member_id) $this->error('手机号已注册过'); $up = ['phone'=>$phone]; $res = Db::name('store_member')->where('id',$uid)->update($up); $field = 'phone,name,headimg,status,decode_password,password'; $user_info = Db::name('store_member')->field($field)->where('id',$this->uid)->find(); if($res !==false){ Db::name('store_member_sms')->where('id',$store_member_sms['id'])->update(['used'=>1]); $this->success('绑定成功',$user_info); }else{ $this->error('绑定失败'); } } /** * @title 发送短信验证码 * @desc 发送短信验证码 * @author QGF * @url /api/Usercenter/sendSms * @method POST * @tag 短信验证码 * @param name:phone type:int require:1 default:-- desc:要获取验证码的手机号 * @return name:code type:string default:-- desc:验证码 */ public function sendSms(){ $phone = input('post.phone'); if(empty($phone)) $this ->error('参数错误'); $code = rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9); AlibabaCloud::accessKeyClient('LTAI5tSFmMzKUQC4zJjc3Guu', 'gdEyLTubu0KT6WzR26upX3dgiu5FD6') ->regionId('cn-hangzhou')->asDefaultClient(); try { $result = AlibabaCloud::rpc() ->product('Dysmsapi') ->version('2017-05-25') ->action('SendSms') ->method('POST') ->host('dysmsapi.aliyuncs.com') ->options([ 'query' => [ 'RegionId' => "cn-hangzhou", 'PhoneNumbers' => $phone, 'SignName' => "验证码", 'TemplateCode' => "SMS_204845304", 'TemplateParam' => json_encode(array("code"=>$code)), ], ])->request(); $result = $result->toArray(); var_dump($result); if($result['Code'] == "OK") { $sms_data = array( 'phone'=>$phone, 'code'=>$code, 'result'=>$result['Message'] ); Db::name('store_member_sms')->insert($sms_data); $this->error('发送成功',$code); }else{ $this->error('发送失败'); } } catch (ClientException $e) { echo $e->getErrorMessage() . PHP_EOL; } catch (ServerException $e) { echo $e->getErrorMessage() . PHP_EOL; } } }