QQ账户 1010+

接口声明

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

参数

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

导入模块

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

接口定义

qqaccount.getType()

获取当前的登陆方式

参数:

返回值:

返回值 备注
NONE 当前无可用的QQ登陆方式
APP QQ的app登陆方式,使用在腾讯开放平台注册信息进行登陆,参考QQ文档
WEB QQ的网页登陆方式,使用QQ互联的注册信息进行登陆,参考QQ文档

qqaccount.authorize(OBJECT)

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

参数:

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

success返回值:

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

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.");
    }
}

条匹配 "" 的结果

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