🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## 1. 下载官方接入类库 ## 2.生成配置文件 > 在线访问官方类库入口文件-index.php,填写相关配置和回调地址并生成配置文件 ~~~ D:\\phpStudy\\WWW\\it123org\\Api\\Connect\\QQ\\API\\comm\\inc.php Inc配置生成后如: <?php die('forbidden'); ?> {"appid":"xxxxxx", "appkey":"xxxxxx", "callback":"http://www.it123.org/index.php/", "scope":"get_user_info", "errorReport":true, "storageType":"file", "host":"localhost", "user":"root", "password":"root", "database":"test" } ~~~ ## 3.引入类库 ~~~ require_once('./Api/Connect/QQ/API/qqConnectAPI.php'); ~~~ ## 4.发起qq登录请求,即:qq登录的请求连接在这个方法上来 ~~~ public function qq(){ $qc = new QC(); $qc->qq_login(); } ~~~ ## 5.根据callback获取到的token信息得到唯一的openid 并与数据库作比较,有则是登录,无记录则是新用户注册 ~~~ if(isset($_GET['code']) && isset($_GET['state'])) { $qc = new QC(); $acs = $qc->qq_callback();//callback主要是验证 code和state,返回token信息,并写入到文件中存储,方便get_openid从文件中度 $oid = $qc->get_openid();//根据callback获取到的token信息得到openid,所以callback必须在openid前调用 if(!$oid){ $this->error('请升级qq后再试!'); } if(strlen($oid)!=32){ $this->error('请升级qq后再试!'); } //处理登录或者是注册的逻辑。。。。。 } ~~~