教程 其他 框架 组件 接口

QQ 账户 1010+

接口声明

{
  "name": "service.qqaccount",
  "params": {
    "appId": "your app id",
    "clientId": "you client id"
  }
}

参数

参数值类型说明
appIdString腾讯开放平台 申请移动应用时分配的 appId
clientIdStringQQ 互联 申请网页应用时分配的 clientId

导入模块

import qqaccount from '@service.qqaccount'const qqaccount = require("@service.qqaccount")

接口定义

qqaccount.getType()

获取当前的 QQ 登陆方式

参数:

返回值:

返回值备注
APPQQ 的 app 登陆方式,使用在腾讯开放平台注册信息进行登陆,参考QQ 登录和注销
WEBQQ 的网页登陆方式,使用QQ 互联的注册信息进行登陆,参考OAuth2.0 开发文档
NONE当前无可用的 QQ 登陆方式

qqaccount.authorize(OBJECT)

发起 qq 登陆,不同的登陆方式下,应该传入不同的参数,调用之前应该先使用 getType 函数查询当前的登陆方式.

参数:

参数名类型必填说明
stateStringclient 端的状态值。用于第三方应用防止 CSRF 攻击,成功授权后回调时会原样带回。请务必严格按照流程检查用户与 state 参数状态的绑定。app 方式下不使用该参数
redirectUriString授权回调地址,APP 方式下,不使用该参数
scopeString请求用户授权时向用户显示的可进行授权的列表。可填写的值是API 文档中列出的接口,以及一些动作型的授权(目前仅有:do_like),如果要填写多个接口名称,请用逗号隔开。
successFunction成功回调
failFunction失败回调
cancelFunction取消回调

success 返回值:

参数名类型说明
urlStringQQ 回调给出的完整 url,仅在网页方式下会返回
codeString用于换取 accessToken 的 Authorization_Code,仅在网页方式下会返回,通过 code 换取 AccessToken 的方法参考QQ 的文档
stateString原始的 state 值,仅在网页方式下会返回
openIdStringQQ 登陆后给该用户的唯一标示,仅在 app 方式下会返回
accessTokenString用于访问 api 的 accessToken,仅在 app 方式下会返回
expiresInNumberaccessToken 的有效时长,以秒为单位

fail 返回错误代码:

错误码说明
1000来自 QQ 的未知错误

示例

useQQLogin: function() {
    var type = qqaccount.getType();
    if (type == 'APP') {
        qqaccount.authorize({
            scope: 'all',
            success: function(data) {
                console.log("qqaccount authorize success, data:" + JSON.stringify(data));
            },
            fail: function(data, code) {
                console.log("qqaccount authorize fail, data:" + data + ", code:" + code);
            },
            cancel: function() {
                console.log("qqaccount authorize cancelled.");
            }
        });
    } else if (type == 'WEB') {
        qqaccount.authorize({
            state: 'random2234',
            scope: 'all',
            redirectUri: 'https://your.redirect.url/path',
            success: function(data) {
                console.log("qqaccount authorize success, data:" + JSON.stringify(data));
            },
            fail: function(data, code) {
                console.log("qqaccount authorize fail, data:" + data + ", code:" + code);
            },
            cancel: function() {
                console.log("qqaccount authorize cancelled.");
            }
        });
    } else {
        console.log("qqaccount not available.");
    }
}

支持明细

厂商支持备注
小米YES-
中兴YES仅支持 WEB 方式
华为no-
金立YES-
联想no-
魅族YES仅支持 WEB 方式
努比亚YES-
OPPOYES仅支持 WEB 方式
vivoYES仅支持 WEB 方式
一加--
预览版YES仅支持 WEB 方式

条匹配 "" 的结果

    没有搜索到与 "" 相关的内容