React-Native-Wechat
React Native bridging library that integrates WeChat SDKs:
- iOS SDK 1.7.2
- Android SDK 221
And react-native-wechat has the following tracking data in open source world:
NPM | Dependency | Downloads | Build |
---|---|---|---|
Table of Contents
Get Startted
API Documentation
react-native-wechat exposes the promise-based, therefore you could use Promise
or async/await
to manage your dataflow.
registerApp(appid)
appid
{String} the appid you get from WeChat dashboard- returns {Boolean} explains if your application is registered done
This method should be called once globally.
; WeChat;
registerAppWithDescription(appid, description)
appid
{String} the appid you get from WeChat dashboarddescription
{String} the description of your app- returns {Boolean} explains if your application is registered done
This method is only available on iOS.
isWXAppInstalled()
- returns {Boolean} if WeChat is installed.
Check if wechat installed in this app.
isWXAppSupportApi()
- returns {Boolean} Contain the result.
Check if wechat support open url.
getApiVersion()
- returns {String} Contain the result.
Get api version of WeChat SDK.
openWXApp()
- returns {Boolean}
Open the WeChat app from your application.
sendAuthRequest([scope[, state]])
scope
{Array|String} Scopes of auth request.state
{String} the state of OAuth2- returns {Object}
Send authentication request, and it returns an object with the following fields:
field | type | description |
---|---|---|
errCode | Number | Error Code |
errStr | String | Error message if any error occurred |
openId | String | |
code | String | Authorization code |
url | String | The URL string |
lang | String | The user language |
country | String | The user country |
ShareMetadata
class type
{Number} type of this message. Can be {news|text|imageUrl|imageFile|imageResource|video|audio|file}thumbImage
{String} Thumb image of the message, which can be a uri or a resource id.description
{String} The description about the sharing.webpageUrl
{String} Required if type equalsnews
. The webpage link to share.imageUrl
{String} Provide a remote image if type equalsimage
.videoUrl
{String} Provide a remote video if type equalsvideo
.musicUrl
{String} Provide a remote music if type equalsaudio
.filePath
{String} Provide a local file if type equalsfile
.fileExtension
{String} Provide the file type if type equalsfile
.
shareToTimeline(message)
message
{ShareMetadata} This object saves the metadata for sharing- returns {Object}
Share a ShareMetadata
message to timeline(朋友圈) and returns:
name | type | description |
---|---|---|
errCode | Number | 0 if authorization successed |
errStr | String | Error message if any error occurred |
These example code need 'react-native-chat' and 'react-native-fs' plugin.
;;let resolveAssetSource = ; // Code example to share text message:try let result = await WeChat; console; catch e if e instanceof WeChatWechatError console; else throw e; // Code example to share image url:// Share raw http(s) image from web will always fail with unknown reason, please use image file or image resource insteadtry let result = await WeChat; console; catch e if e instanceof WeChatWechatError console; else throw e; // Code example to share image file:try let rootPath = fsDocumentDirectoryPath; let savePath = rootPath + '/email-signature-262x100.png'; console; /* * savePath on iOS may be: * /var/mobile/Containers/Data/Application/B1308E13-35F1-41AB-A20D-3117BE8EE8FE/Documents/email-signature-262x100.png * * savePath on Android may be: * /data/data/com.wechatsample/files/email-signature-262x100.png **/ await fs; let result = await WeChat; console; catch e if e instanceof WeChatWechatError console; else throw e; // Code example to share image resource:try let imageResource = ; let result = await WeChat; console;catch e if e instanceof WeChatWechatError console; else throw e; // Code example to download an word file from web, then share it to WeChat session// only support to share to session but time line// iOS code use DocumentDirectoryPathtry let rootPath = fsDocumentDirectoryPath; let fileName = 'signature_method.doc'; /* * savePath on iOS may be: * /var/mobile/Containers/Data/Application/B1308E13-35F1-41AB-A20D-3117BE8EE8FE/Documents/signature_method.doc **/ let savePath = rootPath + '/' + fileName; await fs; let result = await WeChat; console; catch e if e instanceof WeChatWechatError console; else throw e; //android code use ExternalDirectoryPathtry let rootPath = fsExternalDirectoryPath; let fileName = 'signature_method.doc'; /* * savePath on Android may be: * /storage/emulated/0/Android/data/com.wechatsample/files/signature_method.doc **/ let savePath = rootPath + '/' + fileName; await fs; let result = await WeChat; console;catch e if e instanceof WeChatWechatError console; else throw e;
shareToSession(message)
message
{ShareMetadata} This object saves the metadata for sharing- returns {Object}
Similar to shareToTimeline
but send message to a friend or chat group.
pay(payload)
payload
{Object} the payment datapartnerId
{String} 商家向财付通申请的商家IDprepayId
{String} 预支付订单IDnonceStr
{String} 随机串timeStamp
{String} 时间戳package
{String} 商家根据财付通文档填写的数据和签名sign
{String} 商家根据微信开放平台文档对数据做的签名
- returns {Object}
Sends request for proceeding payment, then returns an object:
name | type | description |
---|---|---|
errCode | Number | 0 if authorization successed |
errStr | String | Error message if any error occurred |
Installation
$ npm install react-native-wechat --save
Community
IRC
Tutorials
Who use it
Authors
GitHub | Role | |
---|---|---|
@yorkie | Author | yorkiefixer@gmail.com |
@xing-zheng | Emeriti | |
@tdzl2003 | Emeriti | tdzl2003@gmail.com |
License
MIT