Ejemplo n.º 1
0
 /**
  * 新用户从微信注册
  */
 public function getNewOpenID()
 {
     $weObj = new \System\lib\Wechat\Wechat($this->config("WEIXIN_CONFIG"));
     $this->weObj = $weObj;
     if (empty($_GET['code']) && empty($_GET['state'])) {
         $callback = getHostUrl();
         $reurl = $weObj->getOauthRedirect($callback, "1");
         redirect($reurl, 0, '正在发送验证中...');
         exit;
     } elseif (intval($_GET['state']) == 1) {
         $accessToken = $weObj->getOauthAccessToken();
         $mobile = $_GET['phone'];
         //用户信息
         $userInfo = $this->getUserInfo($accessToken);
         $saveUser = $this->saveUser($userInfo, $mobile);
         //插入新会员数据
         if (!$saveUser) {
             $this->R('', '40001');
         }
         header("LOCATION:http://onebuy.ping-qu.com");
     } else {
         //用户取消授权
         $this->R('', '90006');
     }
 }
 /**
  * 授权
  */
 private function getOpenID()
 {
     if (isset($_GET['wechat_refer'])) {
         //回跳地址
         $_SESSION['wechat_refer'] = urldecode($_GET['wechat_refer']);
     }
     $weObj = new \System\lib\Wechat\Wechat($this->config("WEIXIN_CONFIG"));
     $this->weObj = $weObj;
     if (empty($_GET['code']) && empty($_GET['state'])) {
         $callback = getHostUrl();
         $reurl = $weObj->getOauthRedirect($callback, "1");
         redirect($reurl, 0, '正在发送验证中...');
         exit;
     } elseif (intval($_GET['state']) == 1) {
         $accessToken = $weObj->getOauthAccessToken();
         $isUser = $this->getUserInfo($accessToken);
         $_SESSION['userInfo'] = ['openid' => $isUser['openid'], 'nickname' => $isUser['nickname']];
         // header("LOCATION:".$_SESSION['wechat_refer']);
     } else {
         //用户取消授权
         $this->R('', '90006');
     }
 }
Ejemplo n.º 3
0
 /**
  * 新用户从微信注册
  */
 public function getNewOpenID()
 {
     $refer = $_GET['refer'];
     $weObj = new \System\lib\Wechat\Wechat($this->config("WEIXIN_CONFIG"));
     $this->weObj = $weObj;
     if (empty($_GET['code']) && empty($_GET['state'])) {
         $callback = getHostUrl();
         $reurl = $weObj->getOauthRedirect($callback, "1");
         redirect($reurl, 0, '正在发送验证中...');
         exit;
     } elseif (intval($_GET['state']) == 1) {
         $accessToken = $weObj->getOauthAccessToken();
         $mobile = $_GET['phone'];
         $user = $this->table('user')->where(['is_on' => 1, 'phone' => $mobile])->get(['id'], true);
         if (!$user) {
             //用户信息
             $userInfo = $this->getUserInfo($accessToken);
             $saveUser = $this->saveUser($userInfo, $mobile);
             //插入新会员数据
             if (!$saveUser) {
                 $this->R('', '40001');
             }
             //header("LOCATION:".getHost()."/Api/User/getOpenID");
             $userInfo = $this->getUserInfo($accessToken);
             // 是否有用户记录
             $isUser = $this->table('user')->where(["openid" => $accessToken['openid'], "is_on" => 1])->get(null, true);
             /*var_dump($isUser);exit();*/
             if ($isUser == null) {
                 //没有此用户跳转至输入注册的页面
                 header("LOCATION:" . getHost() . "/register.html?refer=" . $_GET['refer']);
             } else {
                 $userID = $isUser['id'];
                 $updateUser = $this->table('user')->where(['id' => $userID])->update(['last_login' => time(), 'last_ip' => ip2long(getClientIp()), 'nickname' => $userInfo['nickname'], 'user_img' => $userInfo['headimgurl']]);
                 $_SESSION['userInfo'] = ['openid' => $isUser['openid'], 'userid' => $isUser['id'], 'nickname' => $isUser['nickname'], 'user_img' => $isUser['user_img']];
                 header("LOCATION:" . $refer);
                 //进入网站成功
             }
         } else {
             $this->R('', '70000');
             //手机已注册
         }
     } else {
         //用户取消授权
         $this->R('', '90006');
     }
 }
Ejemplo n.º 4
0
 /**
  * 新用户从微信注册
  */
 public function getNewOpenID()
 {
     $weObj = new \System\lib\Wechat\Wechat($this->config("WEIXIN_CONFIG"));
     $this->weObj = $weObj;
     if (empty($_GET['code']) && empty($_GET['state'])) {
         $callback = getHostUrl();
         $reurl = $weObj->getOauthRedirect($callback, "1");
         redirect($reurl, 0, '正在发送验证中...');
         exit;
     } elseif (intval($_GET['state']) == 1) {
         $accessToken = $weObj->getOauthAccessToken();
         $mobile = $_GET['phone'];
         $user = $this->table('user')->where(['is_on' => 1, 'phone' => $mobile])->get(['id'], true);
         if (!$user) {
             //用户信息
             $userInfo = $this->getUserInfo($accessToken);
             $saveUser = $this->saveUser($userInfo, $mobile);
             //插入新会员数据
             if (!$saveUser) {
                 $this->R('', '40001');
             }
             header("LOCATION:" . getHost() . "/Api/User/getOpenID");
             //
         } else {
             $this->R('', '70000');
             //手机已注册
         }
     } else {
         //用户取消授权
         $this->R('', '90006');
     }
 }