composer require wycto/login
//登录方法
$name = 'qq',$config = array()
$login = \login\Login::getApp($name,$config);
$login->login();
//登录回调
$name = 'qq',$config = array()
$login = \login\Login::getApp($name,$config);
$login->getUserInfo();
$config['framework'] = 'tp';//framework为空使用原生$_SESSION, tp使用thinkphp的session助手函数
$name = 'qq';
$config = array(
//开发平台获取
'app_id' => '101389004',
//开发平台获取
'app_key' => '5023acb17c76531a664e995b89e5de07',
//回掉地址,需要在腾讯开发平台填写
'callback' => "/index/user/qqcallback",
'scope' => 'get_user_info',
'expires_in' => 7775000
);
/**
* QQ登录
*/
function qqLoginAction()
{
// qq登录
$this->_set_referer();
$login = \login\Login::getApp($name,$config);
$login->login();
}
/**
* QQ登录回调
*/
function qqCallbackAction()
{
$login = \login\Login::getApp($name,$config);
// 获取用户信息
$userinfo = $login->getUserInfo();
if (! isset($userinfo['openid']) || empty($userinfo['openid'])) {
return $this->redirect(url("index/index/index"));
}
// 查询是否存在
$user = User::get(array(
'qq_openid' => $userinfo['openid']
));
if ($user) {
// 账号存在去登录
return $this->_toLogin($user, false);
} else {
// 新注册该用户
Session::set("qq_userinfo", $userinfo);
return $this->redirect(url("index/user/newAccount"));
}
}
$name = 'weixin';
$config = array(
//开发平台获取
'app_id' => 'wx587351c59b2fbca4',
//开发平台获取
'app_secret' => '382b75b03fa71c5691555c65037598dc',
//回掉地址,需要在腾讯开发平台填写
'callback' => "/default/user/wxcallback",
//终端类型
'terminal' => "pc",//pc为电脑端扫码登录,否则微信公众号登录
//手机端回调地址
'callback_wx' => "/wap/user/wxcallback",
//订阅号appid
'app_id_d' => 'wxae475941e485a3a8',
//订阅号app_secret
'app_secret_d' => '3ca2f30daa500012a51b0d126e83eefe'
);
//登录
$login = \login\Login::getApp($name,$config);
$login->login();
//回调获取信息
$login = \login\Login::getApp($name,$config);
$userinfo = $login->getUserInfo();