QQ登陆增强插件
插 件 简 介
本插件在新秀网络验证插件框架环境下开发,本插件无缝整合Discuz内置系统,采用独立式插件开发、分离代码、支持二次扩展。本插件所有功能实现及控制均采用api接口操作,数据输出形式为JSON、XML两种常见形式,达到毫秒级数据快速交换功能。客户端支持Python、Java、C++、易语言、PHP、易安卓、火山移动等所有主流开发语言,适用于各种pc、app、web端功能开发。
功能简介:通过绑定QQ互联,实现QQ与用户数据相互绑定,可实现QQ登陆等其他扩展功能。完全兼容官方QQ互联数据同步!
插件授权:点击购买
安装方式:1、下载 新秀网络验证管理系统、新秀网络验证应用中心 插件,并都安装成功;2、在网站后台插件“新秀网络验证应用中心”中“应用中心”页面点击对应插件安装。
其他相关:开发交流=BUG反馈= QQ客服:3188639QQ交流群:281079920
使 用 指 南
1、申请开发者账号:
QQ互联开发中心申请地址:https://connect.qq.com/;点击应用管理->网站应用->创建应用;a、创建成功后,按要求填写平台信息:例如:网站地址 :http://www.xinxiuvip.com/网站回调域 :http://www.xinxiuvip.com/connect.php主办单位名称 : 如实填写网站备案号 : 如实填写b、申请unionid应用接口
2、后台设置:
3、插入回调代码:
编辑网站根目录connect.php文件代码!在$discuz->init();代码后面插入下面代码:#↓↓↓↓↓↓↓此处为新秀网络验证QQ登录插件接口,勿删!!!
if (empty($_GET['op']) && empty($_GET['mod'])){
global $_G;
$url = $_G['siteurl'].'plugin.php?id=xinxiuvip_network_plugin:qqcallback'.'&code='.$_GET['code'].'&state='.$_GET['state'];
header("Location:$url");
exit();
}
#↑↑↑↑↑↑↑此处为新秀网络验证QQ登录插件接口,勿删!!!
懒人操作:discuz3.5版本connect.php全代码直接复制粘贴。<?php
/*
(C)2001-2099 Comsenz Inc.
This is NOT a freeware, use is subject to license terms
$Id: connect.php 26424 2011-12-13 03:02:20Z zhouxiaobo $
*/
if(isset($_GET['mod']) && $_GET['mod'] == 'register') {
$_GET['mod'] = 'connect';
$_GET['action'] = 'register';
require_once 'member.php';
exit;
}
define('APPTYPEID', 126);
define('CURSCRIPT', 'connect');
define('NOT_IN_MOBILE_API', 1);
require_once './source/class/class_core.php';
require_once './source/function/function_home.php';
$discuz = C::app();
$mod = $discuz->var['mod'];
$discuz->init();
#↓↓↓↓↓↓↓此处为新秀网络验证QQ登录插件接口,勿删!!!
if (empty($_GET['op']) && empty($_GET['mod'])){
global $_G;
$url = $_G['siteurl'].'plugin.php?id=xinxiuvip_network_plugin:qqcallback'.'&code='.$_GET['code'].'&state='.$_GET['state'];
header("Location:$url");
exit();
}
#↑↑↑↑↑↑↑此处为新秀网络验证QQ登录插件接口,勿删!!!
if(!in_array($mod, array('config', 'login', 'feed', 'check', 'user'))) {
showmessage('undefined_action');
}
if(!$_G['setting']['connect']['allow']) {
showmessage('qqconnect:qqconnect_closed');
}
define('CURMODULE', $mod);
runhooks();
require_once DISCUZ_ROOT.'/source/plugin/qqconnect/lib/Connect.php';
$connectService = new Cloud_Service_Connect();
require_once libfile('connect/'.$mod, 'plugin/qqconnect');
?>
QQ登录模块
1、QQ登录接口-第一步 /*此接口是获取QQ登录地址,直接打开即可。如果已绑定帐号,直接返回token,可获取Token令牌,否则返回可绑定openid,进行第二步,*/
2、QQ登录绑定-第二步 /*通过第一步获取的openid值,进行账号绑定。绑定成功后,获取Token令牌。*/
3、QQ解除绑定 /*此接口是针对已经绑定QQ的账号,进行解绑操作,解绑后可重新绑定其他QQ。*/
4、QQ登陆跳转接口 /*此接口通过QQ登陆绑定账号成功后,采用免登录状态自动跳转本站内指定网址*/
更 新 日 志
QQ登陆插件ver1.03增加:QQ解除绑定接口,增加解绑机器码参数codeQQ登陆插件ver1.02增加:QQ绑定与官方QQ互联插件同步增加:QQ解绑与官方QQ互联插件同步增加:回调代码嵌入官方QQ互联调用地址优化:QQ登录后直接跳转网页代码优化:回调地址代码QQ登陆插件ver1.01优化:QQ绑定接口代码优化QQ登陆插件ver1.00 增加:QQ登陆接口增加:QQ绑定接口增加:QQ解绑接口增加:QQ登陆跳转接口增加:后台QQ登陆设置页面增加:QQ参数采用文本缓存
待续……
第一步:QQ登录地址
接口说明:此接口是获取QQ登录地址,直接打开即可。如果已绑定,则返回登录后token,如果登录QQ未绑定,则返回QQ专属openid参数,再进行第二步用openid接口绑定即可。
接口详情
请求地址:http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network_plugin:qq
请求方式: GET
返回格式: JSON\XML /*默认返回JSON格式,如需返回XML格式,请在接口网址后面增加&output=xml参数*/
请求参数(所有参数值均URL加密后传输【注意GBK与UTF8编码区别】)
参数类型是否必填说明示例
key是传输密钥123456
action是接口方法qq_login
请求示例(GET)
http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network_plugin:qq&action=qq_login&key=123456
返回参数(所有接口返回数据含中文时“\u672c\u6846”,请用USC2进行解码)
参数类型是否必含说明示例
code是http状态码200
result是错误信息状态码OK
count是数组成员数1
data是数组
data>>url是QQ登录地址,直接打开注意删除返回地址中\反斜杠
sqltime是页面执行时间(秒)0.00829s
返回示例(JSON)
{
"code": 200,
"result": "OK",
"count": 1,
"data": {
"url": "https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=101994861&redirect_uri=http://demo.xinxiuvip.com/plugin.php?id=xinxiu_network_plugin:qqcallback&state=3b37faccbc5f9322da41ae780b756559&scope=get_user_info"
},
"sqltime": "0.00274s"
}
{
"code": 200,
"result": "error00719",
"count": 1,
"data": {
"openid": "31584DB55485A5DA17334471FEBB0040"
},
"sqltime": "20413.54679s"
}
额外说明
此接口是获得QQ登录页面,直接打开即可。如果已绑定,则返回登录后token,如果登录QQ未绑定,将返回opendi参数,再进行第二步即可。
错误提示码
错误码查询地址:点击访问
BUG提交:点击提交
QQ交流群:281079920
第二步:QQ登录绑定
接口说明: 利用QQ登录第一步获取的openid进行用户名绑定。
接口详情
请求地址:http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network_plugin:qq
请求方式: GET
返回格式: JSON\XML /*默认返回JSON格式,如需返回XML格式,请在接口网址后面增加&output=xml参数*/
请求参数(所有参数值均URL加密后传输【注意GBK与UTF8编码区别】)
参数类型是否必含说明示例
key是传输密钥123456
action是接口方法openid_login
openid是第一步登录获取的openid46C1A73BC531D7FCD4F6E642D70E715441
username是用户名demo
password是用户密码demo
请求示例(GET)
http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network_plugin:qq&key=123456&action=openid_login&openid=31584DB55485A5DA17334471FEBB0040&username=demo&password=demo
返回参数(所有接口返回数据含中文时“\u672c\u6846”,请用USC2进行解码)
参数类型是否必含说明示例
code是http状态码200
result是错误信息状态码OK
count是数组成员数12
data是数组
data>>uid是用户uid2
data>>username是注册用户名demo
data>>groupid是用户组id15
data>>groupexpiry是用户组到期时间,0为永久
data>>adminid是管理组id
data>>token是token令牌6316voNaDNxnx5mEK7cEYUmL5rBa4O5ZJAfnkM5ZR
rRuUMt0WdFFSwE6EwtSKuwi4uudiiRelhTv
data>>sgin是登陆卡号XXC1AD0852289C30AD04C745AE0FAD6E
data>>dateline是卡号到期时间(适用于计时模式)2019-04-0301:34:27
data>>phone是绑定手机号
data>>qq是绑定QQid
data>>status是帐号状态0-正常、1-禁止
data>>email是邮箱9966662@qq.com
data>>credits是软件积分10
data>>jiaoyi是交易积分10
data>>weixin是绑定微信
sqltime是页面执行时间(秒)0.07813s
返回示例(JSON)
{
"code": 200,
"result": "OK",
"count": 16,
"data": {
"uid": "2",
"username": "demo",
"email": "demo@qq.com",
"credits": "120",
"jiaoyi": "0",
"groupid": "11",
"grouptitle": "注册会员",
"groupexpiry": 0,
"adminid": "0",
"token": "86a1_xx_2JDj92seLDbupmBBnsw1T26TieG_xx_2vomPvUebcB10ObDW2P_x_x_3QM0vAgEbA3P_xx_2h",
"sgin": "38593A0D-DCF1-97A3-30EE-CBC41FC9",
"dateline": "2022-11-01 00:00:00",
"phone": "",
"qq": "31584DB55485A5DA17334471FEBB0040",
"weixin": "",
"status": "0"
},
"sqltime": "0.03287s"
}
额外说明
无
错误提示码
错误码查询地址:点击访问
BUG提交:点击提交
QQ交流群:281079920
QQ解除绑定
接口说明:此接口是针对已经绑定QQ的账号,进行解绑操作。
接口详情
请求地址:http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network_plugin:qq
请求方式: GET
返回格式: JSON\XML /*默认返回JSON格式,如需返回XML格式,请在接口网址后面增加&output=xml参数*/
请求参数(所有参数值均URL加密后传输【注意GBK与UTF8编码区别】)
参数类型是否必填说明示例
key是传输密钥123456
action是接口方法qq_login
rule是规则 例如:del 为解除QQ绑定
code 为解绑机器码(1.03版本以上新增)del
请求示例(GET)
http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network_plugin:qq&action=qq_login&key=123456&rule=del
返回参数(所有接口返回数据含中文时“\u672c\u6846”,请用USC2进行解码)
参数类型是否必含说明示例
code是http状态码200
result是错误信息状态码OK
count是数组成员数1
data是数组
data>>url是QQ登录地址,直接打开注意删除返回地址中\反斜杠
sqltime是页面执行时间(秒)0.00829s
返回示例(JSON)
{
"code": 200,
"result": "OK",
"count": 1,
"data": {
"url": "https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=101994861&redirect_uri=http://demo.xinxiuvip.com/plugin.php?id=xinxiu_network_plugin:qqcallback&state=del&scope=get_user_info"
},
"sqltime": "0.00239s"
}
{
"code": 200,
"result": "OK",
"count": 1,
"data": {
"uid": "2"
},
"sqltime": "534.13489s"
}
额外说明
此接口为解除QQ绑定,解除后按照第一步操作,绑定其他QQ。
错误提示码
错误码查询地址:点击访问
BUG提交:点击提交
QQ交流群:281079920
QQ登陆跳转
接口说明:此接口通过QQ登陆绑定账号成功后,采用免登录状态自动跳转本站内指定网址。
接口详情
请求地址:http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network_plugin:qq
请求方式: GET
返回格式: JSON\XML /*默认返回JSON格式,如需返回XML格式,请在接口网址后面增加&output=xml参数*/
请求参数(所有参数值均URL加密后传输【注意GBK与UTF8编码区别】)
参数类型是否必填说明示例
key是传输密钥123456
action是接口方法qq_login
rule是登陆跳转规则:url|http://demo.xinxiuvip.com/
注意:网址必须带http://url|http://demo.xinxiuvip.com/
请求示例(GET)
http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network_plugin:qq&action=qq_login&key=123456&rule=url|http://demo.xinxiuvip.com
返回参数(所有接口返回数据含中文时“\u672c\u6846”,请用USC2进行解码)
参数类型是否必含说明示例
code是http状态码200
result是错误信息状态码OK
count是数组成员数1
data是数组
data>>url是QQ登录地址,直接打开注意删除返回地址中\反斜杠
sqltime是页面执行时间(秒)0.00829s
返回示例(JSON)
{
"code": 200,
"result": "OK",
"count": 1,
"data": {
"url": "https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=101994861&redirect_uri=http://demo.xinxiuvip.com/plugin.php?id=xinxiu_network_plugin:qqcallback&state=url|http://demo.xinxiuvip.com/&scope=get_user_info"
},
"sqltime": "0.00216s"
}
额外说明
无
错误提示码
错误码查询地址:点击访问
BUG提交:点击提交
QQ交流群:281079920
页:
[1]