快应用 QQ账户
接口声明
{
"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()
获取当前的 QQ 登陆方式
参数:
无
返回值:
返回值 |
备注 |
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返回错误代码:
示例
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 | - |
OPPO | YES | 仅支持 WEB 方式 |
vivo | YES | 仅支持 WEB 方式 |
一加 | - | - |
预览版 | YES | 仅支持 WEB 方式 |