/** * 新用户从微信注册 */ 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'); } }
/** * 新用户从微信注册 */ 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'); } }
/** * 新用户从微信注册 */ 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'); } }