# QQ登錄
QQ登錄組件可以讓我們快速實現網站中qq登錄的功能。
### 重要提示
開發者QQ號碼一旦注冊不能變更,建議使用公司公共QQ號碼而不是員工私人號碼注冊,以免遇到員工離職等情況造成不必要的麻煩。
申請地址:[http://connect.qq.com/](http://connect.qq.com/)
其他產品也可以使用該組件,請登錄 [GITHUB](https://github.com/houdunwang/qq) 查看源代碼與說明文檔。
[TOC]
# 開始使用
#### 登錄模板
```
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>QQ登錄頁面</title>
<script type="text/javascript">
var childWindow;
function toQzoneLogin() {
childWindow = window.open("login.php", "TencentLogin", "width=850,height=520,menubar=0,scrollbars=1, resizable=1,status=1,titlebar=0,toolbar=0,location=1");
}
function closeChildWindow() {
childWindow.close();
}
</script>
</head>
<body>
<a href="#" onclick='toQzoneLogin()'>qq登錄</a>
</body>
</html>
```
#### 后臺提交代碼
本代碼是在點擊前臺模板的QQ登錄按鈕后執行的后臺代碼,用于向QQ發起登錄請求。
login.php 就是前臺登錄模板中填寫的后臺地址。
```
<?php
$config = [
"appid" => "",//qq互聯提供的的APP ID
"appkey" => "", //qq互聯提供的的APP KEY
"callback" => "http://www.houdunren.com/callback.php" //登錄成功的回調地址
];
$obj = new \houdunwang\qq\Qq($config);
$obj->qq_login();
```
#### 登錄回調代碼
QQ處理完登錄后的回調地址
文件為配置項定義的文件 callback.php
```
/**
* Qq::qq_callback 方法將 access_token 與 openid 儲存到session
* 用于其他控制器或模塊調用api使用
* Qq::token 方法將accesss_token與openid 儲入對象屬性
* 這樣才可以在本函數中執行 get_user_info 接口,否則需要刷新頁面使session有效
**/
$config = [
"appid" => "",//qq互聯提供的的APP ID
"appkey" => "", //qq互聯提供的的APP KEY
"callback" => "http://www.houdunren.com/callback.php" //登錄成功的回調地址
];
$obj = new \houdunwang\qq\Qq($config);
$access_token = obj->qq_callback();
$openid = obj->get_openid();
obj->token($access_token,$openid);
//調用獲取用戶信息 api 功能,qqcallback()回調中必須執行Qq::token()才可執行接口
print_r(obj->get_user_info());
```
## 方法列表
除了登錄回調函數其他Api函數就不需要執行 $obj->token()方法了,可直接調用接口,因為access_token已經存在了session中了。
#### 獲取 open_id
```
Qq::get_openid();
```
#### 獲取用戶昵稱、頭像、性別
```
Qq::get_user_info();
```
####獲取登錄用戶在騰訊微博詳細資料
```
Qq::get_info();
```
#### 獲取微博用戶信息
```
Qq::get_info();
```
> 框架集成了官方Api全部方法,使用方法就不一一列出了,大家請參考 [官方PHP sdk](http://wiki.connect.qq.com/api%E5%88%97%E8%A1%A8) 使用方法。
- 文檔已經遷移到后盾人
- 介紹
- 框架特性
- 開發規范
- 許可協議
- 作者向軍
- 安裝框架
- 更新框架
- 基礎
- 入口文件
- 應用配置
- 優雅鏈接
- 目錄結構
- 系統常量
- 自動加載
- 應用密鑰
- 系統函數
- CSRF保護
- 依賴注入
- 跨域訪問
- 配置
- 配置文件
- 基本功能
- 擴展配置
- c 函數
- 控制器
- 定義聲明
- 基本使用
- 相關函數
- 響應消息
- 路由
- 基礎知識
- 基礎路由
- 路由參數
- 參數檢測
- 依賴注入
- 控制器
- 分組路由
- RESTful
- 別名路由
- 數據
- 配置相關
- 核心操作
- 查詢構造器
- 日志記錄
- 分頁處理
- 事務處理
- 函數相關
- 數據庫
- 數據遷移
- 數據填充
- 模型
- 定義模型
- 模型動作
- 模型驗證
- 自動完成
- 自動過濾
- 字段保護
- 數據填充
- 多表關聯
- 分頁處理
- 倉庫
- 數據倉庫
- 查詢規則
- 視圖
- 基礎知識
- 模板配置
- 模板文件
- 分配數據
- 系統標簽
- 擴展標簽
- 緩存模板
- 模板繼承
- 視圖函數
- widget
- vue組件
- 中間件
- 中間件
- 緩存
- 基本操作
- 文件緩存
- 數據表緩存
- 服務
- 服務容器
- 定制服務
- 相關函數
- 請求
- 基本使用
- 請求擴展
- 測試
- 基礎知識
- 基本使用
- HTTP測試
- 調試
- 調試模式
- 日志管理
- 組件
- 多語言
- 響應處理
- Cookie
- Session
- 驗證碼
- XML
- 自動驗證
- 文件處理
- 壓縮解壓
- RBAC
- 數組增強
- 分頁管理
- 圖像處理
- 生成靜態
- 加密解密
- 字符串
- 數據集合
- 工具服務
- 目錄操作
- 郵件發送
- CURL
- QQ登錄
- 數據備份
- 購物車
- 日志處理
- 命令組件
- 二維碼
- 后盾云
- 日期處理
- 阿里
- 支付寶
- 阿里云直播
- 阿里云短信
- 阿里云郵件
- 阿里云OSS
- SOCKET
- 啟動與關閉
- 前端
- 微信