private function _saveWxInfo($res, $username, $oauthToken, $password, $openId, $email, $gender, $act, $platformId) { if ($act == 'register') { $regInfo = UserUtils::register($username, $password, $email); if ($regInfo['errcode']) { return $this->makeErrorInfo($res, $regInfo['message']); } $uid = $regInfo['info']['uid']; $member = UserUtils::getUserInfo($uid); $userInfo = AppbymeUserAccess::registerProcess($regInfo['info']['uid'], $password); $data = array('uid' => $uid, 'openid' => $openId, 'status' => 1, 'type' => 1); AppbymeConnection::insertMobcentWx($data); $res['body']['uid'] = (int) $uid; $res['body']['token'] = (string) $userInfo['token']; $res['body']['secret'] = (string) $userInfo['secret']; } elseif ($act == 'bind') { global $_G; $logInfo = UserUtils::login($username, $password); if ($logInfo['errcode']) { UserUtils::delUserAccessByUsername($username); return $this->makeErrorInfo($res, 'mobcent_bind_error'); } $isBind = AppbymeConnection::getUserBindInfo($_G['uid']); if ($isBind) { return $this->makeErrorInfo($res, 'mobcent_bind_error_repeat'); } $data = array('uid' => $_G['uid'], 'openid' => $openId, 'status' => 1, 'type' => 1); AppbymeConnection::insertMobcentWx($data); $userInfo = AppbymeUserAccess::loginProcess($_G['uid'], $password); $userAvatar = UserUtils::getUserAvatar($_G['uid']); $res['body']['token'] = (string) $userInfo['token']; $res['body']['secret'] = (string) $userInfo['secret']; $res['body']['uid'] = (int) $_G['uid']; $res['body']['avatar'] = (string) $userAvatar; $res['body']['userName'] = (string) $_G['username']; } return $res; }
private function _wxInfo($res, $openId, $oauthToken, $platformId) { $wxLogin = AppbymeConnection::getMobcentWxinfoByOpenId($openId); if ($wxLogin) { $member = getuserbyuid($wxLogin['uid']); UserUtils::updateCookie($member, $member['uid']); $userAccess = AppbymeUserAccess::loginProcess($member['uid'], $this->password); $res['body']['register'] = 0; $res['body']['uid'] = (int) $member['uid']; $res['body']['userName'] = (string) $member['username']; $res['body']['avatar'] = (string) UserUtils::getUserAvatar($member['uid']); $res['body']['token'] = (string) $userAccess['token']; $res['body']['secret'] = (string) $userAccess['secret']; } else { // 检查是否有微信登陆的插件 $isWechat = AppbymeConnection::isWechat(); if ($isWechat) { $dzWxLogin = AppbymeConnection::getWXinfoByOpenId($openId); if (!empty($dzWxLogin)) { $member = getuserbyuid($dzWxLogin['uid']); UserUtils::updateCookie($member, $member['uid']); $data = array('uid' => $uid, 'openid' => $openId, 'status' => 1, 'type' => 1); AppbymeConnection::insertMobcentWx($data); $userAccess = AppbymeUserAccess::loginProcess($member['uid'], $this->password); $res['body']['register'] = 0; $res['body']['uid'] = (int) $member['uid']; $res['body']['userName'] = (string) $member['username']; $res['body']['avatar'] = (string) UserUtils::getUserAvatar($member['uid']); $res['body']['token'] = (string) $userAccess['token']; $res['body']['secret'] = (string) $userAccess['secret']; } else { $res['body']['register'] = 1; $res['body']['openId'] = (string) $openId; $res['body']['oauthToken'] = (string) $oauthToken; $res['body']['platformId'] = (int) $platformId; } } else { // 低版本的discuz!或者是没有装微信插件 $res['body']['register'] = 1; $res['body']['openId'] = (string) $openId; $res['body']['oauthToken'] = (string) $oauthToken; $res['body']['platformId'] = (int) $platformId; } } return $res; }