会员中心

当前位置:首页 >> pbootcms文章

pbootCms的会员控制器微信 login方法

来源:本站 发布时间:2023-04-24 12:17:28 热度:290 ℃
 public function wxlogin(){
        
          
     define('APPID', 'wx*****');
         define('SECRET', '83******');
         
         if(!isset($_GET@['code'])){
             
              $redirect_uri = urlencode('https://wx.xxx.com/member/wxlogin');
        header('Location:https://open.weixin.qq.com/connect/oauth2/authorize?appid='.APPID.'&redirect_uri='.$redirect_uri.'&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect');
        exit;
             
         }

        $code=$_GET@['code'];
        
        //获取access_token值
        $get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.APPID.'&secret='.SECRET.'&code='.$code.'&grant_type=authorization_code'; 
        $data = json_decode(curl_get($get_token_url),true); 
        // 得到用户信息
        $get_user_info = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$data["access_token"].'&openid='.$data["openid"].'&lang=zh_CN';
        $userinfo = json_decode(curl_get($get_user_info),true); 
        
        $openid=$userinfo['openid'];
        
          $login =$this->model->login("wxid='$openid'");
          
              if($login){
                session('pboot_uid', $login->id);
                session('pboot_ucode', $login->ucode);
                session('pboot_username', $login->username);
                session('pboot_useremail', $login->seremail);
                session('pboot_usermobile', $login->usermobile);
                session('pboot_gid', $login->gid);
                session('pboot_gcode', $login->gcode);
                session('pboot_gname', $login->gname);
                
                alert_location('登录成功!', Url::home('member/ucenter'), 1);
        
                
        }else{
            
            
            $score = $this->config('register_score') ?: 0;
            
            $group = $this->model->getFirstGroup();
            $gid = $this->model->getGroupID($this->config('register_gcode')) ?: $group->id;
            
            $password="123456";
            $ucode = get_auto_code($this->model->getLastUcode(), 1);
            $username = $userinfo['nickname']; // 接受用户名、邮箱、手机三种方式
            $nickname = $userinfo['nickname'];
            $password = md5(md5($password));
            $rpassword =md5(md5($password));
            
            $useremail = '';
            $usermobile = '';
              // 构建数据
            $data = array(
                'ucode' => $ucode,
                'username' => $username,
                'useremail' => $useremail,
                'usermobile' => $usermobile,
                'nickname' => $nickname,
                'password' => $password,
                'headpic' => $userinfo['headimgurl'],
                'status' => 1,
                'gid' => $gid,
                'wxid' => $userinfo['openid'],
                'qqid' => '',
                'wbid' => '',
                'activation' => 1,
                'score' => $score,
                'register_time' => get_datetime(),
                'login_count' => 0,
                'last_login_ip' => 0,
                'last_login_time' => 0
            );
            
             if ($this->model->register($data)) {
                 
                 
                  $login =$this->model->login("wxid='$openid'");
          
                session('pboot_uid', $login->id);
                session('pboot_ucode', $login->ucode);
                session('pboot_username', $login->username);
                session('pboot_useremail', $login->seremail);
                session('pboot_usermobile', $login->usermobile);
                session('pboot_gid', $login->gid);
                session('pboot_gcode', $login->gcode);
                session('pboot_gname', $login->gname);
                 
                  alert_location('登陆成功!', Url::home('member/ucenter'), 1);
             }
        }
        
   
        
    }

image.png

如果你的问题还没有解决,点击{label:qqq} 加入交流群一起学习交流。支持与鼓励站长,请扫码赞赏一下站长最后那几根倔强的头发。

  • 微信支付

    微信扫一扫

  • 支付宝支付

    支付宝扫一扫

 
QQ在线咨询
售前客服
仿站/建站