开发之前你必须得去qq互联官网上审核账号通过,并创建应用,创建完成了之后会给你一个APP ID和APP Key,后面开发会用到的。
首先在官网上下一个包下来:
然后再把这个包放到服务器上能够访问的地方(本地也可以,尽量放在和你项目一样的环境),访问这个install目录下的index.php。
在这个页面上进行一系列的配置,选择好配置项之后提交,提交之后会在你的API/comm目录下生成一个inc.php,里面装着你刚才的配置。
配置好之后,把API这个文件复制走放到你的项目中去,然后在你项目中引入qqConnectAPI.php就行了
如果你用的是框架,框架里面已经开启session_start()了,那你直接在qqConnectAPI.php中删掉session_start()就好了。
这样就完成配置跟引入了,引入之后用起来就特别简单了。
这里附上代码:
//这个是调起qq登录页面的方法
public function qq_login(){
$qc = new \QC();
$qc->qq_login();
}
//这个是你在登录页面完成之后执行的回调方法,在这里可以处理你自己的业务逻辑实现这个网站的登录作用
public function callback(){
$code = $this->request->param('code','','trim');
if(empty($code)){
$this->error('登录失败','index/index/index');
}
$qc = new \QC();
$access_token = $qc->qq_callback();//获取到access_token值
$openid = $qc->get_openid();
$user = UserModel::where('openid',$openid)->find();
if(!empty(Session::get('user_id'))){
//绑定该登录的账号
$qqid = UserModel::where('id',Session::get('user_id'))->find();
if(!empty($qqid->openid)){
$this->error('该账户已绑定,请不要重复绑定','index/Index/index');
}
$qqid->openid = $openid;
if($qqid->save()){
$this->error('绑定成功','index/Index/index');
}else{
$this->error('绑定失败','index/Index/index');
}
}
if(empty($user)){
$this->error('该账户未绑定账号,请登录账号绑定QQ','index/Index/index');
}else{
Session::set('user_id',$user['id']);
$this->success('登录成功','index/Index/index');
}
这样的话qq登录开发就完成了。希望可以帮助到有需要的小伙伴哦!