找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 14524|回复: 4

[插件开发] QQ登陆增强插件

[复制链接]
发表于 2022-3-17 21:53:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
插 件 简 介

本插件在新秀网络验证插件框架环境下开发,本插件无缝整合Discuz内置系统,采用独立式插件开发、分离代码、支持二次扩展。本插件所有功能实现及控制均采用api接口操作,数据输出形式为JSON、XML两种常见形式,达到毫秒级数据快速交换功能。客户端支持Python、Java、C++、易语言、PHP、易安卓、火山移动等所有主流开发语言,适用于各种pc、app、web端功能开发。

功能简介:通过绑定QQ互联,实现QQ与用户数据相互绑定,可实现QQ登陆等其他扩展功能。完全兼容官方QQ互联数据同步!

插件授权:点击购买

安装方式:

1、下载 新秀网络验证管理系统新秀网络验证应用中心 插件,并都安装成功;

2、在网站后台插件“新秀网络验证应用中心”中“应用中心”页面点击对应插件安装。

其他相关:开发交流  =  BUG反馈  =   QQ客服:3188639  QQ交流群:281079920

使 用 指 南

1、申请开发者账号:

QQ互联开发中心申请地址:https://connect.qq.com/

点击应用管理->网站应用->创建应用;

a、创建成功后,按要求填写平台信息:

QQ截图20240506012542.png

例如:

网站地址 :http://www.xinxiuvip.com/

网站回调域 :http://www.xinxiuvip.com/connect.php

主办单位名称 : 如实填写

网站备案号 : 如实填写

b、申请unionid应用接口

申请unid.png

2、后台设置:

QQ截图20240506013250.png

3、插入回调代码:

编辑网站根目录connect.php文件代码!

$discuz->init();代码后面插入下面代码:

[PHP] 纯文本查看 复制代码
#↓↓↓↓↓↓↓此处为新秀网络验证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] 纯文本查看 复制代码
<?php
/*
   [Discuz!] (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解除绑定接口,增加解绑机器码参数code

QQ登陆插件ver1.02

增加:QQ绑定与官方QQ互联插件同步

增加:QQ解绑与官方QQ互联插件同步

增加:回调代码嵌入官方QQ互联调用地址

优化:QQ登录后直接跳转网页代码

优化:回调地址代码

QQ登陆插件ver1.01

优化:QQ绑定接口代码优化

QQ登陆插件ver1.00

增加:QQ登陆接口

增加:QQ绑定接口

增加:QQ解绑接口

增加:QQ登陆跳转接口

增加:后台QQ登陆设置页面

增加:QQ参数采用文本缓存

待续……

 楼主| 发表于 2022-3-17 22:21:27 | 显示全部楼层
第一步: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[string]传输密钥123456
action[string]接口方法qq_login

请求示例(GET)
[PHP] 纯文本查看 复制代码
http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network_plugin:qq&action=qq_login&key=123456

返回参数所有接口返回数据含中文时“\u672c\u6846”,请用USC2进行解码
参数类型是否必含说明示例
code[number]http状态码200
result[string]错误信息状态码OK
count[number]数组成员数1
data[object]数组
data>>url[string]QQ登录地址,直接打开注意删除返回地址中\反斜杠
sqltime[string]页面执行时间(秒)0.00829s

返回示例(JSON)
[PHP] 纯文本查看 复制代码
{
    "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"
}
[PHP] 纯文本查看 复制代码
{
        "code": 200,
        "result": "error00719",
        "count": 1,
        "data": {
                "openid": "31584DB55485A5DA17334471FEBB0040"
        },
        "sqltime": "20413.54679s"
}

额外说明
此接口是获得QQ登录页面,直接打开即可。如果已绑定,则返回登录后token,如果登录QQ未绑定,将返回opendi参数,再进行第二步即可。

错误提示码
错误码查询地址:点击访问
BUG提交:点击提交
QQ交流群:281079920

回复

使用道具 举报

 楼主| 发表于 2022-3-17 22:21:56 | 显示全部楼层
第二步: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[string]传输密钥123456
action[string]接口方法openid_login
openid[string]第一步登录获取的openid46C1A73BC531D7FCD4F6E642D70E715441
username[string]用户名demo
password[string]用户密码demo

请求示例(GET)
[PHP] 纯文本查看 复制代码
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[number]http状态码200
result[string]错误信息状态码OK
count[number]数组成员数12
data[object]数组
data>>uid[string]用户uid2
data>>username[string]注册用户名demo
data>>groupid[string]用户组id15
data>>groupexpiry[number]用户组到期时间,0为永久
data>>adminid[string]管理组id
data>>token[string]token令牌6316voNaDNxnx5mEK7cEYUmL5rBa4O5ZJAfnkM5ZR
rRuUMt0WdFFSwE6EwtSKuwi4uudiiRelhTv
data>>sgin[string]登陆卡号XXC1AD0852289C30AD04C745AE0FAD6E
data>>dateline[string]卡号到期时间(适用于计时模式)2019-04-0301:34:27
data>>phone[string]绑定手机号
data>>qq[string]绑定QQid
data>>status[string]帐号状态0-正常、1-禁止
data>>email[string]邮箱9966662@qq.com
data>>credits[string]软件积分10
data>>jiaoyi[string]交易积分10
data>>weixin[string]绑定微信
sqltime[string]页面执行时间(秒)0.07813s

返回示例(JSON)
[PHP] 纯文本查看 复制代码
{
    "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
回复

使用道具 举报

 楼主| 发表于 2022-3-17 23:35:19 | 显示全部楼层
QQ解除绑定
接口说明:此接口是针对已经绑定QQ的账号,进行解绑操作。

接口详情
请求地址:http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network_plugin:qq
请求方式: GET   
返回格式: JSON\XML     /*默认返回JSON格式,如需返回XML格式,请在接口网址后面增加&output=xml参数*/

请求参数(所有参数值均URL加密后传输【注意GBK与UTF8编码区别】
参数类型是否必填说明示例
key[string]传输密钥123456
action[string]接口方法qq_login
rule[string]规则 例如:del 为解除QQ绑定  
                  code 为解绑机器码(1.03版本以上新增)
del

请求示例(GET)
[PHP] 纯文本查看 复制代码
http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network_plugin:qq&action=qq_login&key=123456&rule=del

返回参数所有接口返回数据含中文时“\u672c\u6846”,请用USC2进行解码
参数类型是否必含说明示例
code[number]http状态码200
result[string]错误信息状态码OK
count[number]数组成员数1
data[object]数组
data>>url[string]QQ登录地址,直接打开注意删除返回地址中\反斜杠
sqltime[string]页面执行时间(秒)0.00829s

返回示例(JSON)
[PHP] 纯文本查看 复制代码
{
    "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"
}
[PHP] 纯文本查看 复制代码
{
        "code": 200,
        "result": "OK",
        "count": 1,
        "data": {
                "uid": "2"
        },
        "sqltime": "534.13489s"
}

额外说明
此接口为解除QQ绑定,解除后按照第一步操作,绑定其他QQ。

错误提示码
错误码查询地址:点击访问
BUG提交:点击提交
QQ交流群:281079920

回复

使用道具 举报

 楼主| 发表于 2022-3-17 23:35:29 | 显示全部楼层
QQ登陆跳转
接口说明:此接口通过QQ登陆绑定账号成功后,采用免登录状态自动跳转本站内指定网址。

接口详情
请求地址:http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network_plugin:qq
请求方式: GET   
返回格式: JSON\XML     /*默认返回JSON格式,如需返回XML格式,请在接口网址后面增加&output=xml参数*/

请求参数(所有参数值均URL加密后传输【注意GBK与UTF8编码区别】
参数类型是否必填说明示例
key[string]传输密钥123456
action[string]接口方法qq_login
rule[string]登陆跳转规则: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[number]http状态码200
result[string]错误信息状态码OK
count[number]数组成员数1
data[object]数组
data>>url[string]QQ登录地址,直接打开注意删除返回地址中\反斜杠
sqltime[string]页面执行时间(秒)0.00829s

返回示例(JSON)
[PHP] 纯文本查看 复制代码
{
    "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|[url=http://demo.xinxiuvip.com/&scope=get_user_info]http://demo.xinxiuvip.com/&scope=get_user_info[/url]"
    },
    "sqltime": "0.00216s"
}


额外说明

错误提示码
错误码查询地址:点击访问
BUG提交:点击提交
QQ交流群:281079920

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|新秀网络验证系统API[软著登字第13061951号] ( 豫ICP备2021033257号-1 )

GMT+8, 2026-1-21 12:27 , Processed in 0.276073 second(s), 61 queries , Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表
slot777
slot qris
atlas123
KAPAK123
MENARA123
BARONG123
VIRGO123
HORAS123
KAKEK123
ION123
PATEN123
SALAM123
TUYUL123
KUNGLO123
PINTU123
JOKI123
INTI123
JADI123
MENANGBET
JADIJP
ACEH123
TINGGIBET
SUMBER4D
PULANG4D
POLAMAXWIN
INTAN123
dingin4d
paten123
slotsultan
slot sultan