# cordova-plugin-qq **Repository Path**: juniu_trade/cordova-plugin-qq ## Basic Information - **Project Name**: cordova-plugin-qq - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-06-10 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # cordova-plugin-qqsdk [![npm](https://img.shields.io/npm/v/cordova-plugin-qqsdk.svg)](https://www.npmjs.com/package/cordova-plugin-qqsdk) [![npm](https://img.shields.io/npm/dm/cordova-plugin-qqsdk.svg)](https://www.npmjs.com/package/cordova-plugin-qqsdk) [![platform](https://img.shields.io/badge/platform-iOS%2FAndroid-lightgrey.svg?style=flat)](https://github.com/iVanPan/Cordova_QQ) [![GitHub license](https://img.shields.io/github/license/mashape/apistatus.svg?style=flat)](https://github.com/iVanPan/Cordova_QQ/blob/master/LICENSE) 这个一个 QQ SDK 的 Cordova 插件。 [English](https://github.com/iVanPan/Cordova_QQ) 如果你希望使用一个微博的 Cordova 插件可以查看[这里](https://github.com/iVanPan/cordova_weibo).                     ## Table of Contents - [功能](#功能) - [安装要求](#安装要求) - [安装](#安装) - [文档](#文档) - [支持的接口](#支持的接口) - [错误码](#错误码) - [关于图片](#关于图片) - [使用方式](#使用方式) - [检查客户端是否安装](#检查客户端是否安装) - [登录](#登录) - [登出](#登出) - [分享文字](#分享文字) - [分享图片](#分享图片) - [分享新闻](#分享音乐) - [分享音乐](#分享音乐) - [获取用户信息](#获取用户信息) - [关于SDK](#关于sdk) - [注意事项 ](#注意事项 ) - [Demo](#demo) - [贡献代码](#贡献代码) - [开源证书](#开源证书) ## 功能 - QQ 登录 - QQ 登出 - QQ 分享(文字、图片、新闻网页、音乐) - QQ 空间分享(文字、图片、新闻网页、音乐) - QQ 收藏(文字、图片、新闻网页、音乐) - 检查 QQ 手机客户端端是否安装 ## 安装要求 - Cordova Version 3.5+ - Cordova-Android >= 7.0 - Cordova-iOS >= 4.0 ## 安装 1. 命令行运行 ```cordova plugin add cordova-plugin-qqsdk --variable QQ_APP_ID=YOUR_QQ_APPID``` 2. 命令行运行 cordova build ## 文档 ### 支持的接口 1. ssoLogin 2. Logout 3. checkClientInstalled 4. Share(see form below) | Platform | iOS | iOS   | iOS   | Android | Android | Android | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | ShareScene  |  QQ   |   QQZone | QQ Favorite |  QQ   |   QQZone | QQ Favorite | | Text     |    √   |     √    | √       |    ✕    |     √    | √       | | Image     |    √   |   √  | √     |    √  |   √  | √     | |     News       |    √   |     √    |     √       |    √    |     √    |     √       | |      Audio       |    √   |     √    |     √       |    √    |     √    |     √       | ### 错误码 使用 SDK 时,所有结果都会通过回调返回给应用。在回调的结果中,会包含每次调用结果的返回码。 正常情况下返回码为 0,表示调用成功。 如果返回码不为 0,说明调用出错,需要根据返回码的值来定位错误原因。 110201:未登陆 110405:登录请求被限制 110404:请求参数缺少 appid 110401:请求的应用不存在 110407:应用已经下架 110406:应用没有通过审核 100044:错误的 sign 110500:获取用户授权信息失败 110501:获取应用的授权信息失败 110502:设置用户授权失败 110503:获取 token 失败 110504:系统内部错误 详情查看[这里](http://wiki.open.qq.com/wiki/mobile/API%E8%B0%83%E7%94%A8%E8%AF%B4%E6%98%8E#6._.E8.BF.94.E5.9B.9E.E7.A0.81.E8.AF.B4.E6.98.8E%E3%80%82) ### 关于图片 这个插件中的图片分享、新闻分享、音乐分享功能都要使用到图片,以下类型的图片在这些功能中都支持 1. 网络图片 2. Base64 3. 本地图片(图片的绝对路径) ### 使用方式 ##### 检查客户端是否安装 ```js var args = {}; args.client = QQSDK.ClientType.QQ;//QQSDK.ClientType.QQ,QQSDK.ClientType.TIM; QQSDK.checkClientInstalled(function () { alert('client is installed'); }, function () { // if installed QQ Client version is not supported sso,also will get this error alert('client is not installed'); }, args); ``` ##### 登录 ```js var args = {}; args.client = QQSDK.ClientType.QQ;//QQSDK.ClientType.QQ,QQSDK.ClientType.TIM; QQSDK.ssoLogin(function (result) { alert('token is ' + result.access_token); alert('userid is ' + result.userid); alert('expires_time is ' + new Date(parseInt(result.expires_time)) + ' TimeStamp is ' + result.expires_time); }, function (failReason) { alert(failReason); }, args); ``` ##### 登出 ```js QQSDK.logout(function () { alert('logout success'); }, function (failReason) { alert(failReason); }); ``` ##### 分享文字 ```js var args = {}; args.client = QQSDK.ClientType.QQ;//QQSDK.ClientType.QQ,QQSDK.ClientType.TIM; args.scene = QQSDK.Scene.QQ;//QQSDK.Scene.QQZone,QQSDK.Scene.Favorite args.text = '这个是 Cordova QQ 分享文字'; QQSDK.shareText(function () { alert('shareText success'); }, function (failReason) { alert(failReason); }, args); ``` ##### 分享图片 ```js var args = {}; args.client = QQSDK.ClientType.QQ;//QQSDK.ClientType.QQ,QQSDK.ClientType.TIM; args.scene = QQSDK.Scene.QQ;//QQSDK.Scene.QQZone,QQSDK.Scene.Favorite args.title = '这个是 Cordova QQ 图片分享的标题'; args.description = '这个是 Cordova QQ 图片分享的描述'; args.image = 'https://cordova.apache.org/static/img/cordova_bot.png'; QQSDK.shareImage(function () { alert('shareImage success'); }, function (failReason) { alert(failReason); }, args); ``` ##### 分享新闻 ```js var args = {}; args.client = QQSDK.ClientType.QQ;//QQSDK.ClientType.QQ,QQSDK.ClientType.TIM; args.scene = QQSDK.Scene.QQ;//QQSDK.Scene.QQZone,QQSDK.Scene.Favorite args.url = 'https://cordova.apache.org/'; args.title = '这个是 Cordova QQ 新闻分享的标题'; args.description = '这个是 Cordova QQ 新闻分享的描述'; args.image = 'https://cordova.apache.org/static/img/cordova_bot.png'; QQSDK.shareNews(function () { alert('shareNews success'); }, function (failReason) { alert(failReason); }, args); ``` ##### 分享音乐 ```js var args = {}; args.client = QQSDK.ClientType.QQ;//QQSDK.ClientType.QQ,QQSDK.ClientType.TIM; args.scene = QQSDK.Scene.QQ;//QQSDK.Scene.QQZone,QQSDK.Scene.Favorite args.url = 'https://y.qq.com/portal/song/001OyHbk2MSIi4.html'; args.title = '十年'; args.description = '陈奕迅'; args.image = 'https://y.gtimg.cn/music/photo_new/T001R300x300M000003Nz2So3XXYek.jpg'; args.flashUrl = 'http://stream20.qqmusic.qq.com/30577158.mp3'; QQSDK.shareAudio(function () { alert('shareAudio success'); }, function (failReason) { alert(failReason); }, args); ``` ##### 获取用户信息 ```js var url = 'https://graph.qq.com/user/get_user_info?access_token=' + accessToken + '&oauth_consumer_key=' + QQ_APP_ID + '&openid=' + userId; http.get(url) ``` ## 关于SDK 本插件 Android SDK 的版本是 3.2.1,iOS SDK 的版本是 3.2.3,你可以在[这里](http://wiki.open.qq.com/wiki/mobile/SDK%E4%B8%8B%E8%BD%BD)下载最新版本的 SDK ## 注意事项 **请认真阅读文档,请认真阅读文档,请认真阅读文档** 1. 这个插件要求 Cordova-Android 的版本 >= 4.0,推荐使用 Cordova 5.0 或更高的版本,因为从 Cordova 5.0 开始 Cordova-Android 4.0 是默认使用的 Android 版本 2. 请在 Cordova 的 deviceready 事件触发以后再调用本插件!!! 3. 在低于 5.1.1 的 Cordova 版本中存在一个 Bug,如果你有多个插件要修改 iOS 工程中的 “*-Info.plist” CFBundleURLTypes, 只有第一个安装的插件才会生效.所以安装完插件请务必在你的 Xcode 工程里面检查一下 URLTypes。 关于这个 bug 的详情你可以在 [这里](https://issues.apache.org/jira/browse/CB-8007)找到 建议安装使用 5.1.1 及以上的 Cordova 版本 4. Android 版本请确保你的签名是正确的 5. 分享的 URL 长度不要过长,图片不要太大,不然会分享失败,因为 SDK 做了限制 ## Demo 在安装完这个插件以后,把 Cordova 工程中的代码替换为 example_www 中的代码,安装 Cordova 相机插件,在 build 以后可以进行各个功能测试,以下为运行效果图:
example
## 贡献代码 欢迎提交 PR,贡献你的代码,如果有新功能,请提供 Demo。 ## 开源证书 **cordova-plugin-qqsdk** 遵照了 **MIT** 证书. 详情可以查看 [证书](https://github.com/iVanPan/Cordova_QQ/blob/master/LICENSE) 文件