微信开放平台-扫码登录

admin1年前Laravel460

public function wx_info()
{
   $code = request()->input('code');
   if (!empty($code))  //有code
   {
       //通过code获得 access_token + openid
       $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" . $this->appid
           . "&secret=" . $this->secret . "&code=" . $code . "&grant_type=authorization_code";
       $jsonResult = file_get_contents($url);
       $resultArray = json_decode($jsonResult, true);

       $access_token = $resultArray["access_token"];
       $openid = $resultArray["openid"];
       $infoUrl = "https://api.weixin.qq.com/sns/userinfo?access_token=" . $access_token . "&openid=" . $openid;

       $infoResult = file_get_contents($infoUrl);
       $infoArray = json_decode($infoResult, true);

       $data['openid'] = $infoArray['openid'];
       $data['wx_nickname'] = $infoArray['nickname'];
       $data['avatar'] = $infoArray['headimgurl'];

       Db::beginTransaction();
       $info = Db::table('user')->where(array('id' => $this->user_id))->update($data);
       if ($info !== false) {
           Db::commit();
           return $this->success('ok', $infoArray);
       } else {
           Db::rollBack();
           return $this->error('error');
       }
   } else {
       return $this->error('请传入code值');
   }
}

相关文章

查找下级所有数据

public function bottom($mid = 3){    $members = DB::select('select id,parent_id,`level...

两个经纬度之间的距离

    public function haversineGreatCircleDistance($latitude1, $longitude1, $latitude2, $lon...

关注公众号并登录

/* * 服务端生成带唯一标识二维码并将唯一标识返回给前端 */ public function wx_code() { $scene_str = $this->get_...

压缩图片

public static function size($id, $img) { try { list($width, $height, $img_type, $attr) = @getimages...

解密微信绑定的手机号

public function mobile() { $code = request()->input('code'); if (!$code) { return $this-&...

编辑用户信息

*/public function useredit(){    $avatar = request()->input('avatar');   &...