qq

来自于:官方

installed login logout getUserInfo shareText shareImage shareNews shareMusic shareVideo

概述

本模块已停止更新。请使用升级版QQPlus

腾讯QQ(简称“QQ”)是腾讯公司开发的一款基于Internet的即时通信(IM)软件。腾讯QQ支持在线聊天、视频通话、点对点断点续传文件、共享文件、网络硬盘、自定义面板、QQ邮箱等多种功能,并可与多种通讯终端相连。2015年,QQ继续为用户创造良好的通讯体验!其标志是一只戴着红色围巾的小企鹅。

qq 模块封装了 qq 开放平台的移动端 SDK,开发者集成此模块可以实现登陆、获取用户信息、分享内容到 QQ 客户端等功能。登陆授权时,模块内部会先判断当前设备是否已安装 QQ 客户端,若没安装则弹出网页版登陆页面,若已安装则跳转到 QQ 客户端提示用户登陆授权。

开发者使用本模块之前需要先到腾讯开放平台申请开发者账号,并在账号内填写相应信息创建自己的 APP,从而获取 APP ID。

实例widget下载地址

模块使用攻略

使用此模块之前需先配置config文件的Feature,方法如下:

  • 名称:qq
  • 参数:urlScheme、apiKey
  • 配置示例:
  1. <feature name="qq">
  2. <param name="urlScheme" value="tencent101064640" />
  3. <param name="apiKey" value="101064640" />
  4. </feature>
  • 字段描述:

    urlScheme:(必须配置)用于实现应用间跳转及数据交换,本应用可以启动QQ客户端,也可以从QQ客户端跳回本应用。urlScheme 的 value 值是从腾讯开放平台获取的 APP ID 与 tencent 拼接而成。

    apiKey:(必须配置)从腾讯开放平台获取的 APP ID qq - 图1 qq - 图2

模块接口

installed

判断当前设备是否安装了 QQ 客户端

installed(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //布尔类型,是否安装了QQ客户端
  3. }

示例代码

  1. var qq = api.require('qq');
  2. qq.installed(function(ret, err) {
  3. if (ret.status) {
  4. api.alert({ msg: "安装" });
  5. } else {
  6. api.alert({ msg: "没有安装" });
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.2及更高版本

login

登陆qq

login({parmas},callback(ret, err))

params

apiKey:

  • 类型:字符串
  • 描述:(可选项)从腾讯开放平台申请的APP ID,为空则从当前widget的config文件读取

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔类型;操作成功状态值
  3. accessToken:'' //字符串类型;返回token
  4. openId:'' //字符串类型;返回openID
  5. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg:'' //字符串类型;错误描述
  3. }

示例代码

  1. var qq = api.require('qq');
  2. qq.login(function(ret, err) {
  3. api.alert({
  4. title: 'id和token',
  5. msg: ret.openId + ret.accessToken
  6. });
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

logout

登出qq

logout(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔类型;操作成功状态值
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg:'' //字符串类型;错误描述
  3. }

示例代码

  1. var qq = api.require('qq');
  2. qq.logout(function(ret, err) {
  3. if (ret.status) {
  4. api.alert({ msg: '登出成功' });
  5. } else {
  6. api.alert({ msg: err.msg });
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getUserInfo

获取用户信息

getUserInfo(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔类型;操作成功状态值
  3. info: //JSON对象;包含用户信息描述,内部字段如下:
  4. // city :用户所在城市
  5. // figureurl :空间小头像(30)地址
  6. // figureurl_1 :空间中头像(50)地址
  7. // figureurl_2 :空间大头像(100)地址
  8. // figureurl_qq_1 :用户小头像(40)地址
  9. // figureurl_qq_2 :用户大头像(100)地址
  10. // gender :用户性别
  11. // is_yellow_vip :是否为黄钻用户
  12. // level :用户账号级别
  13. // nickname :用户昵称
  14. // province :用户所在省份
  15. // yellow_vip_level :用户账户黄钻等级
  16. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg:'' //字符串类型;错误描述
  3. }

示例代码

  1. var qq = api.require('qq');
  2. qq.getUserInfo(function(ret, err) {
  3. if (ret.status) {
  4. api.alert({ msg: '获取成功' });
  5. } else {
  6. api.alert({ msg: err.msg });
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

shareText

分享纯文本到好友,在 android 平台上此接口不支持回调

shareText({params}, callback(ret, err))

params

text:

  • 类型:字符串
  • 描述:要分享的文本

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔类型;操作成功状态值
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg:'' //字符串类型;错误描述
  3. code //数字类型;错误码,错误码说明:
  4. 0 //EQQAPISENDSUCESS
  5. 1 //EQQAPIQQNOTINSTALLED
  6. 2 //EQQAPIQQNOTSUPPORTAPI
  7. 3 //EQQAPIMESSAGETYPEINVALID
  8. 4 //EQQAPIMESSAGECONTENTNULL
  9. 5 //EQQAPIMESSAGECONTENTINVALID
  10. 6 //EQQAPIAPPNOTREGISTED
  11. 7 //EQQAPIAPPSHAREASYNC
  12. -1 //EQQAPISENDFAILD
  13. -4 //用户取消分享
  14. 10000 //qzone分享不支持text类型分享
  15. 10001 //qzone分享不支持image类型分享
  16. 10009 //当前设备未安装qq客户端
  17. }

示例代码

  1. var qq = api.require('qq');
  2. qq.shareText({
  3. text: 'testtext'
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

shareImage

分享图片(本地)到好友

shareImage({params}, callback(ret, err))

params

title:

  • 类型:字符串
  • 描述:要分享的图片标题

description:

  • 类型:字符串
  • 描述:要分享的图片描述

imgPath:

  • 类型:字符串
  • 描述:要分享的图片路径,要求本地路径(widget://、fs://)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔类型;操作成功状态值
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg:'' //字符串类型;错误描述
  3. code //数字类型;错误码,错误码说明:
  4. 0 //EQQAPISENDSUCESS
  5. 1 //EQQAPIQQNOTINSTALLED
  6. 2 //EQQAPIQQNOTSUPPORTAPI
  7. 3 //EQQAPIMESSAGETYPEINVALID
  8. 4 //EQQAPIMESSAGECONTENTNULL
  9. 5 //EQQAPIMESSAGECONTENTINVALID
  10. 6 //EQQAPIAPPNOTREGISTED
  11. 7 //EQQAPIAPPSHAREASYNC
  12. -1 //EQQAPISENDFAILD
  13. -4 //用户取消分享
  14. 10000 //qzone分享不支持text类型分享
  15. 10001 //qzone分享不支持image类型分享
  16. 10009 //当前设备未安装qq客户端
  17. }

示例代码

  1. var qq = api.require('qq');
  2. qq.shareImage({
  3. title: 'test',
  4. description: 'testd',
  5. imgPath: 'widget://res/filterMe.png'
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

shareNews

分享新闻到空间/好友

shareNews({params}, callback(ret, err))

params

url:

  • 类型:字符串
  • 描述:要分享的新闻链接地址

title:

  • 类型:字符串
  • 描述:要分享的新闻标题

description:

  • 类型:字符串
  • 描述:要分享的新闻描述

imgUrl:

  • 类型:字符串
  • 描述:要分享的新闻缩略图的url(网络/本地资源图片),若 type 为 QZone 则本参数在 Android 上仅支持网络图片

type:

  • 类型:字符串
  • 默认值:QZone
  • 描述:分享内容到好友或空间,取值范围:QZone、QFriend

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔类型;操作成功状态值
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg:'' //字符串类型;错误描述
  3. code //数字类型;错误码,错误码说明:
  4. 0 //EQQAPISENDSUCESS
  5. 1 //EQQAPIQQNOTINSTALLED
  6. 2 //EQQAPIQQNOTSUPPORTAPI
  7. 3 //EQQAPIMESSAGETYPEINVALID
  8. 4 //EQQAPIMESSAGECONTENTNULL
  9. 5 //EQQAPIMESSAGECONTENTINVALID
  10. 6 //EQQAPIAPPNOTREGISTED
  11. 7 //EQQAPIAPPSHAREASYNC
  12. -1 //EQQAPISENDFAILD
  13. -4 //用户取消分享
  14. 10000 //qzone分享不支持text类型分享
  15. 10001 //qzone分享不支持image类型分享
  16. 10009 //当前设备未安装qq客户端
  17. }

示例代码

  1. var qq = api.require('qq');
  2. qq.shareNews({
  3. url: 'http://www.uzmap.com',
  4. title: '新闻分享',
  5. description: '新闻描述',
  6. imgUrl: 'http://upload.wabei.cn/2011/0807/20110807025817844.jpg'
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

shareMusic

分享音乐到空间/好友

shareMusic({params}, callback(ret, err))

params

url:

  • 类型:字符串
  • 描述:要分享的音乐链接地址

title:

  • 类型:字符串
  • 描述:要分享的音乐名

description:

  • 类型:字符串
  • 描述:要分享的音乐描述

imgUrl:

  • 类型:字符串
  • 描述:要分享的音乐缩略图url(网络/本地资源图片),若 type 为 QZone 则本参数在 Android 上仅支持网络图片

type:

  • 类型:字符串
  • 默认值:QZone
  • 描述:分享内容到好友或空间,取值范围:QZone、QFriend

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔类型;操作成功状态值
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg:'' //字符串类型;错误描述
  3. code //数字类型;错误码,错误码说明:
  4. 0 //EQQAPISENDSUCESS
  5. 1 //EQQAPIQQNOTINSTALLED
  6. 2 //EQQAPIQQNOTSUPPORTAPI
  7. 3 //EQQAPIMESSAGETYPEINVALID
  8. 4 //EQQAPIMESSAGECONTENTNULL
  9. 5 //EQQAPIMESSAGECONTENTINVALID
  10. 6 //EQQAPIAPPNOTREGISTED
  11. 7 //EQQAPIAPPSHAREASYNC
  12. -1 //EQQAPISENDFAILD
  13. -4 //用户取消分享
  14. 10000 //qzone分享不支持text类型分享
  15. 10001 //qzone分享不支持image类型分享
  16. 10009 //当前设备未安装qq客户端
  17. }

示例代码

  1. var qq = api.require('qq');
  2. qq.shareMusic({
  3. url: 'http://7xq864.com1.z0.glb.clouddn.com/apicloud/591bde468d4e44b21cc225b7b6e1129a.mp3',
  4. title: '桔子香水',
  5. description: '任贤齐',
  6. imgUrl: 'http://upload.wabei.cn/2011/0807/20110807025817844.jpg'
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

shareVideo

分享视频到空间/好友

shareVideo({params}, callback(ret, err))

params

url:

  • 类型:字符串
  • 描述:要分享的视频链接地址

title:

  • 类型:字符串
  • 描述:要分享的视频标题

description:

  • 类型:字符串
  • 描述:要分享的视频描述

imgUrl:

  • 类型:字符串
  • 描述:要分享的视频缩略图路径(网络/本地资源图片),若 type 为 QZone 则本参数在 Android 上仅支持网络图片

type:

  • 类型:字符串
  • 默认值:QZone
  • 描述:分享内容到好友或空间,取值范围:QZone、QFriend

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔类型;操作成功状态值
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg:'' //字符串类型;错误描述
  3. code //数字类型;错误码,错误码说明:
  4. 0 //EQQAPISENDSUCESS
  5. 1 //EQQAPIQQNOTINSTALLED
  6. 2 //EQQAPIQQNOTSUPPORTAPI
  7. 3 //EQQAPIMESSAGETYPEINVALID
  8. 4 //EQQAPIMESSAGECONTENTNULL
  9. 5 //EQQAPIMESSAGECONTENTINVALID
  10. 6 //EQQAPIAPPNOTREGISTED
  11. 7 //EQQAPIAPPSHAREASYNC
  12. -1 //EQQAPISENDFAILD
  13. -4 //用户取消分享
  14. 10000 //qzone分享不支持text类型分享
  15. 10001 //qzone分享不支持image类型分享
  16. 10009 //当前设备未安装qq客户端
  17. }

示例代码

  1. var qq = api.require('qq');
  2. qq.shareVideo({
  3. url: 'http://7xq864.com1.z0.glb.clouddn.com/apicloud/903ca10851a482ccd1383b62abb3ec5c.mp4',
  4. title: '视频',
  5. description: '王力宏',
  6. imgUrl: 'widget://res/filterMe.png'
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本