public function wxLoginAction() { $code = $this->queryData['code']; $token = Utility::curl('https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx8599ed3526a343ea&secret=bf4aa929f93736b3f09c177ed8e609ab&code=' . $code . '&grant_type=authorization_code', array(), 'get'); $token = json_decode($token, true); if (!empty($token['access_token'])) { $userInfo = Utility::curl('https://api.weixin.qq.com/sns/userinfo?access_token=' . $token['access_token'] . '&openid=' . $token['openid'], array(), 'get'); $userInfo = json_decode($userInfo, true); if (!empty($userInfo['nickname'])) { $nickName = $userInfo['nickname']; $member = array('wxOpenID' => $token['openid']); $exist = $this->memberModel->select($member)->current(); if (empty($exist)) { $this->memberModel->beginTransaction(); $this->memberModel->insert($member); $memberID = $this->memberModel->getLastInsertValue(); $infoData = array('memberID' => $memberID, 'nickName' => $nickName); $this->memberInfoModel->insert($infoData); $this->memberModel->commit(); } else { $memberID = $exist['memberID']; } $memberInfo = $this->memberInfoModel->select(array('memberID' => $memberID))->current(); $loginSession = new Session(self::FRONT_PLATFORM, null, null); $loginSession->write($memberInfo); return $this->redirect()->toUrl('/'); } } return $this->redirect()->toUrl('/login/do-login'); }