public function successCallback($client) { $mTplogin = new UserThirdPartyLogin(); $id = $client->getId(); $key = $client->openid(); $userAttrs = $client->getUserAttributes(); $userProfile = $client->getUserInfo(); $openid = $userAttrs[$key]; // TODO: 需要调整为获取当前登录用户 $userid = 100; $data = ['type' => $id, 'user_id' => $userid, 'open_id' => $openid, 'profile_info' => json_encode($userProfile)]; if (isset($userAttr['expire_in'])) { $data['expire_time'] = $userAttr['expire_in']; } try { if (!$mTplogin->checkBindByOpenid($openid, $userid)) { if ($userAr = $mTplogin->bind($data)) { $userAr['profile'] = $userProfile; $this->setTplSessionToUser($userAr); } else { // TODO: 绑定失败 } } else { $this->setTplSessionToUser(['type' => $id, 'open_id' => $openid, 'profile' => $userProfile]); // TODO: 已经绑定 } } catch (oxception $e) { // TODO: 登录异常 } }
public function actionCheckticode() { $params = Yii::$app->request->post(); // 联调时需要改成post $sid = isset($params['sid']) ? intval($params['sid']) : ''; $user = PublicLibrary::is_login(); if (!$user) { $output['status'] = 1000; $output['res'] = ''; $output['info'] = 'no login'; $backurl = Yii::$app->params['idaiyan'] . "/baiying/gamestar?sid=" . $sid; $backurl = Publiclibrary::encode_callback($backurl); $output['url'] = '/baiying/auth?backurl=' . $backurl; $output = PublicLibrary::format_res_encode($output['status'], $output['info'], $output['url']); // var_dump($output); echo $output; exit; } $session = Yii::$app->session; $session->isActive ? '' : $session->open(); $output = array(); if ($params) { $mobile = intval($params['mobile']); $rel_id = isset($params['rel_id']) ? intval($params['rel_id']) : ''; $truename = isset($params['truename']) ? strip_tags($params['truename']) : ''; $openid = $_SESSION['user']['openid']; // $openid = 'oKeG4jqOTo-wyqSqXAA4hfTFvtZI'; if (empty($mobile) || empty($openid)) { $output['status'] = 1000; $output['res'] = ''; $output['info'] = 'no login'; $backurl = Yii::$app->params['idaiyan'] . "/baiying/gamestar?sid=" . $sid; $backurl = Publiclibrary::encode_callback($backurl); $output['url'] = '/baiying/auth?backurl=' . $backurl; $output = PublicLibrary::format_res_encode($output['status'], $output['info'], $output['url']); // var_dump($output); echo $output; exit; } $mutpl = new UserThirdPartyLogin(); $thirdone = $mutpl->getByOpenId($openid); $member_model = new Member(); $userone = $member_model->getByUserName($mobile); //通过手机号查询用户信息 if ($thirdone) { $userone = $member_model->getByUid($thirdone['user_id']); } if (!empty($userone)) { //ru guo $output['status'] = 1001; $output['res'] = $userone; if ($thirdone) { $output['info'] = '该微信号已被绑定!'; } else { $output['info'] = '是注册,请输入密码或者验证码'; } $output['url'] = ''; } else { $output['status'] = 1002; $output['res'] = ''; $output['info'] = '验证通过,登录成功!'; $output['url'] = ''; //注册 $usercontent = array("mobile" => $mobile, "truename" => $truename, "address" => '', "comefrom" => '一呼百应'); $member = new Member(); $res = $member->registration($usercontent); if ($res['userid']) { // $_SESSION['user']['nickname'] = 'hongye'; // $_SESSION['user']['headimgurl'] = 'http://wx.qlogo.cn/mmopen/Q3auHgzwzM6LiaSic2iaLbgGGQMadoac3M6g3vfEd7CLQVPyWficA679jxbI2OZwVxxExA8ibKopLO4EHKFvnx6yy8IFP2PmiaL8laJHAtw3wiaWNU/0'; //绑定第三方信息 $thirdone = $mutpl->getByOpenId($openid); if (!$thirdone) { $wxarr['nickname'] = $_SESSION['user']['nickname']; $wxarr['headimgurl'] = $_SESSION['user']['headimgurl']; $thirdcontent['open_id'] = $openid; $thirdcontent['user_id'] = $res['userid']; $thirdcontent['type'] = 'weixin'; $thirdcontent['profile_info'] = json_encode($wxarr); $thirdcontent['status'] = 1; $mutpl->store($thirdcontent); } //设置登录状态 $_SESSION['user']['uid'] = $res['userid']; $_SESSION['user']['mobile'] = $mobile; $_SESSION['user']['truename'] = $truename; $_SESSION['user']['admin'] = 0; //普通用户登录 // $sms_model = new Sms(); // $sms_model->mobile = $mobile; // $sms_model->content = '您的密码是'.$res['password'].',您可以使用手机号:'.$mobile.'登录i代言官网,如非本人操作请及时联系客服人员。【i代言】'; // $sms_model->from = 'findpassword'; //调用来源 // $return = $sms_model->SoapSend(); $sms = Yii::$app->dcSMS; $userID = $res['userid']; $data = ['uid' => $userID, 'mobile' => $mobile, 'business' => 'H_AUTO_REG', 'tplno' => 1, 'password' => $res['password'], 'mobile' => $mobile]; $resp = $sms->send($data); } } } else { $output['status'] = 1003; $output['res'] = ''; $output['info'] = '签名验证出错!'; $output['url'] = ''; } $output = PublicLibrary::format_res_encode($output['status'], $output['info'], $output['url']); // var_dump($output); echo $output; }