# QQ互联
~~~
DROP TABLE IF EXISTS `shop_user`;
CREATE TABLE IF NOT EXISTS `shop_user`(
`userid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`username` VARCHAR(32) NOT NULL DEFAULT '',
`userpass` CHAR(32) NOT NULL DEFAULT '',
`useremail` VARCHAR(100) NOT NULL DEFAULT '',
`openid` CHAR(32) NOT NULL DEFAULT '0',
`createtime` INT UNSIGNED NOT NULL DEFAULT '0',
UNIQUE shop_user_username_userpass(`username`,`userpass`),
UNIQUE shop_user_useremail_userpass(`useremail`,`userpass`),
PRIMARY KEY(`userid`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
~~~
## 申请QQ接口权限
> 1.页面QQ登陆按钮跳转方法
> 2.方法中new Qc 使用qq_login方法return QQ接口页面(##Qqlogin)
> 3.QQ登陆后,会跳转到回调方法qqcallback,传入一个accessToken,使用OAuth对象的get_openid()可以获取用户的openid
> 4.new Qc($accessToken,$openid)的get_user_info();可以获取用户通过QQ登陆后的所有信息
~~~
<?php
class A {
public function Qqlogin(){
require_once("../vendor/qqlogin/qqConnectAPI.php");
$qc = new \Qc();
$qc->qq_login();
}
public function QqcallBack(){
require_once "../vendor/qqlogin/qqConnectAPI.php";
$auth = new OAuth();
$accessToken = $auth->qq_callback();
$openid = $auth->get_openid();
$qc = new \QC($accessToken,$openid);
$userInfo = $qc->get_user_info();
//判断数据库中是否查询到对应的openid
// 查询的到说明已经绑定,获取用户信息后存入session中,即标识已登陆并跳转
// 查询不到跳转到绑定页面
}
}
~~~
~~~
## 申请QQ接口权限,获取
1.页面QQ登陆按钮跳转方法
2.方法中new Qc 使用qq_login方法return QQ接口页面(##Qqlogin)
3.QQ登陆后,会跳转到回调方法qqcallback
~~~
~~~
<?php
class A {
public function Qqlogin(){
require_once("../vendor/qqlogin/qqConnectAPI.php");
$qc = new \Qc();
$qc->qq_login();
}
public function QqcallBack(){
require_once "../vendor/qqlogin/qqConnectAPI.php";
$auth = new OAuth();
$accessToken = $auth->qq_callback();
$openid = $auth->get_openid();
$qc = new \QC($accessToken,$openid);
$userInfo = $qc->get_user_info();
//判断数据库中是否查询到对应的openid
// 查询的到说明已经绑定,获取用户信息后存入session中,即标识已登陆并跳转
// 查询不到跳转到绑定页面
}
}
~~~
