快应用 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 方式 |