Merge pull request #140 from hengkx/master

docs: improve
This commit is contained in:
snowfox 2021-01-18 17:55:38 +08:00 committed by GitHub
commit fa9d15cd55
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

214
README.md
View File

@ -40,7 +40,7 @@ react-native link react-native-wechat-lib
- [iOS 安装](./docs/build-setup-ios.md)
- [Android 安装](./docs/build-setup-android.md)
## API文档
## API 文档
本库支持 `TypeScript`,使用 `Promise``async/await` 来接收返回。
@ -71,7 +71,7 @@ Check if the WeChat app is installed on the device.
Check if wechat support open url.
#### getApiVersion() 获取API版本号
#### getApiVersion() 获取 API 版本号
- returns {String} Contains the result.
@ -93,7 +93,7 @@ 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 | |
@ -102,32 +102,29 @@ following fields:
| lang | String | The user language |
| country | String | The user country |
#### ShareText(ShareTextMetadata) 分享文本
ShareTextMetadata
| name | type | description |
|---------|--------|----------------------------------|
| ----- | ------ | ------------------------------ |
| text | String | 分享文本 |
| scene | Number | 分享到, 0:会话 1:朋友圈 2:收藏 |
Return:
| name | type | description |
|---------|--------|-------------------------------------|
| ------- | ------ | ----------------------------------- |
| errCode | Number | 0 if authorization succeed |
| errStr | String | Error message if any error occurred |
```js
import * as WeChat from 'react-native-wechat-lib';
WeChat.shareText({
text: 'Text content.',
scene: 0
})
scene: 0,
});
```
#### ShareImage(ShareImageMetadata) 分享图片
@ -135,26 +132,24 @@ WeChat.shareText({
ShareImageMetadata
| name | type | description |
|---------|--------|-------------------------------------|
| imageUrl| String | 图片地址 |
| -------- | ------ | ------------------------------ |
| imageUrl | String | 图片地址 |
| scene | Number | 分享到, 0:会话 1:朋友圈 2:收藏 |
Return:
| name | type | description |
|---------|--------|-------------------------------------|
| ------- | ------ | ----------------------------------- |
| errCode | Number | 0 if authorization succeed |
| errStr | String | Error message if any error occurred |
```js
import * as WeChat from 'react-native-wechat-lib';
WeChat.shareImage({
imageUrl: 'https://google.com/1.jpg',
scene: 0
})
scene: 0,
});
```
#### ShareLocalImage(ShareImageMetadata) 分享本地图片
@ -162,52 +157,66 @@ WeChat.shareImage({
ShareImageMetadata
| name | type | description |
|---------|--------|-------------------------------------|
| imageUrl| String | 图片地址 |
| -------- | ------ | ------------------------------ |
| imageUrl | String | 图片地址 |
| scene | Number | 分享到, 0:会话 1:朋友圈 2:收藏 |
Return:
| name | type | description |
|---------|--------|-------------------------------------|
| ------- | ------ | ----------------------------------- |
| errCode | Number | 0 if authorization succeed |
| errStr | String | Error message if any error occurred |
#### ShareFile(ShareFileMetadata) 分享文件
ShareFileMetadata
| name | type | description |
| ----- | ------ | -------------- |
| url | String | 文件地址 |
| title | String | 文件标题 |
| scene | Number | 分享到, 0:会话 |
Return:
| name | type | description |
| ------- | ------ | ----------------------------------- |
| errCode | Number | 0 if authorization succeed |
| errStr | String | Error message if any error occurred |
```js
import * as WeChat from 'react-native-wechat-lib';
WeChat.ShareLocalImage({
imageUrl: '/sdcard/test.png',
scene: 0
})
WeChat.shareFile({
imageUrl: 'https://sdcard/test.png',
title: '测试文件.pdf',
scene: 0,
});
```
注意:图片路径必须在一个 Public 目录里,例如 Download 目录,否则微信没权限读取这张图片,导致图片发不出去。
#### ShareMusic(ShareMusicMetadata) 分享音乐
ShareMusicMetadata
| name | type | description |
|---------------------|--------|-------------------------------|
| ------------------- | ------ | ------------------------------------- |
| title | String | 标题 |
| description | String | 描述 |
| thumbImageUrl | String | 缩略图地址本库会自动压缩到32KB |
| musicUrl | String | 音频网页的URL地址 |
| musicLowBandUrl | String | 供低带宽环境下使用的音频网页URL地址 |
| musicDataUrl | String | 音频数据的URL地址 |
| musicLowBandDataUrl | String | 供低带宽环境下使用的音频数据URL地址 |
| thumbImageUrl | String | 缩略图地址,本库会自动压缩到 32KB |
| musicUrl | String | 音频网页的 URL 地址 |
| musicLowBandUrl | String | 供低带宽环境下使用的音频网页 URL 地址 |
| musicDataUrl | String | 音频数据的 URL 地址 |
| musicLowBandDataUrl | String | 供低带宽环境下使用的音频数据 URL 地址 |
| scene | Number | 分享到, 0:会话 1:朋友圈 2:收藏 |
Return:
| name | type | description |
|---------|--------|-------------------------------------|
| ------- | ------ | ----------------------------------- |
| errCode | Number | 0 if authorization succeed |
| errStr | String | Error message if any error occurred |
```js
import * as WeChat from 'react-native-wechat-lib';
@ -215,9 +224,8 @@ WeChat.shareMusic({
title: 'Good music.',
musicUrl: 'https://google.com/music.mp3',
thumbImageUrl: 'https://google.com/1.jpg',
scene: 0
})
scene: 0,
});
```
#### ShareVideo(ShareVideoMetadata) 分享视频
@ -225,22 +233,21 @@ WeChat.shareMusic({
ShareVideoMetadata
| name | type | description |
|---------|--------|-------------------------------------|
| title| String | 标题 |
| description| String | 描述 |
| thumbImageUrl| String | 缩略图地址本库会自动压缩到32KB |
| videoUrl| String | 视频链接 |
| videoLowBandUrl| String | 供低带宽的环境下使用的视频链接 |
| --------------- | ------ | --------------------------------- |
| title | String | 标题 |
| description | String | 描述 |
| thumbImageUrl | String | 缩略图地址,本库会自动压缩到 32KB |
| videoUrl | String | 视频链接 |
| videoLowBandUrl | String | 供低带宽的环境下使用的视频链接 |
| scene | Number | 分享到, 0:会话 1:朋友圈 2:收藏 |
Return:
| name | type | description |
|---------|--------|-------------------------------------|
| ------- | ------ | ----------------------------------- |
| errCode | Number | 0 if authorization succeed |
| errStr | String | Error message if any error occurred |
```js
import * as WeChat from 'react-native-wechat-lib';
@ -248,9 +255,8 @@ WeChat.shareVideo({
title: 'Interesting video.',
videoUrl: 'https://google.com/music.mp3',
thumbImageUrl: 'https://google.com/1.jpg',
scene: 0
})
scene: 0,
});
```
#### ShareWebpage (ShareWebpageMetadata) 分享网页
@ -258,21 +264,20 @@ WeChat.shareVideo({
ShareWebpageMetadata
| name | type | description |
|---------|--------|-------------------------------------|
| title| String | 标题 |
| description| String | 描述 |
| thumbImageUrl| String | 缩略图地址本库会自动压缩到32KB |
| webpageUrl| String | HTML 链接 |
| ------------- | ------ | --------------------------------- |
| title | String | 标题 |
| description | String | 描述 |
| thumbImageUrl | String | 缩略图地址,本库会自动压缩到 32KB |
| webpageUrl | String | HTML 链接 |
| scene | Number | 分享到, 0:会话 1:朋友圈 2:收藏 |
Return:
| name | type | description |
|---------|--------|-------------------------------------|
| ------- | ------ | ----------------------------------- |
| errCode | Number | 0 if authorization succeed |
| errStr | String | Error message if any error occurred |
```js
import * as WeChat from 'react-native-wechat-lib';
@ -280,9 +285,8 @@ WeChat.shareWebpage({
title: 'Interesting web.',
videoUrl: 'https://google.com/music.mp3',
thumbImageUrl: 'https://google.com/1.jpg',
scene: 0
})
scene: 0,
});
```
#### ShareMiniProgram(ShareMiniProgramMetadata) 分享小程序
@ -290,26 +294,25 @@ WeChat.shareWebpage({
ShareMiniProgram
| name | type | description |
|---------|--------|-------------------------------------|
| title| String | 标题 |
| description| String | 描述 |
| thumbImageUrl| String | 缩略图地址本库会自动压缩到32KB |
| userName| String | 小程序的 userName填小程序原始id |
| path| String | 小程序的页面路径 |
| hdImageUrl| String | 小程序新版本的预览图二进制数据6.5.9及以上版本微信客户端支持 |
| withShareTicket| String | 是否使用带shareTicket的分享 |
| miniProgramType| Number | 小程序的类型默认正式版1.8.1及以上版本开发者工具包支持分享开发版和体验版小程序 |
| webpageUrl| String | 兼容低版本的网页链接 |
| --------------- | ------ | ---------------------------------------------------------------------------------- |
| title | String | 标题 |
| description | String | 描述 |
| thumbImageUrl | String | 缩略图地址,本库会自动压缩到 32KB |
| userName | String | 小程序的 userName填小程序原始 id |
| path | String | 小程序的页面路径 |
| hdImageUrl | String | 小程序新版本的预览图二进制数据6.5.9 及以上版本微信客户端支持 |
| withShareTicket | String | 是否使用带 shareTicket 的分享 |
| miniProgramType | Number | 小程序的类型默认正式版1.8.1 及以上版本开发者工具包支持分享开发版和体验版小程序 |
| webpageUrl | String | 兼容低版本的网页链接 |
| scene | Number | 分享到, 0:会话 1:朋友圈 2:收藏 |
Return:
| name | type | description |
|---------|--------|-------------------------------------|
| ------- | ------ | ----------------------------------- |
| errCode | Number | 0 if authorization succeed |
| errStr | String | Error message if any error occurred |
```js
import * as WeChat from 'react-native-wechat-lib';
@ -318,9 +321,8 @@ WeChat.shareMiniProgram({
userName: 'gh_d39d10000000',
webpageUrl: 'https://google.com/show.html',
thumbImageUrl: 'https://google.com/1.jpg',
scene: 0
})
scene: 0,
});
```
#### LaunchMiniProgram (LaunchMiniProgramMetadata) 跳到小程序
@ -328,34 +330,71 @@ WeChat.shareMiniProgram({
LaunchMiniProgramMetadata
| name | type | description |
|---------|--------|-------------------------------------|
| userName| String | 填小程序原始id |
| miniProgramType| Number | 可选打开 开发版,体验版和正式版 |
| path| String | 拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar" |
| --------------- | ------ | -------------------------------------------------------------------------------------------------------------------------- |
| userName | String | 填小程序原始 id |
| miniProgramType | Number | 可选打开 开发版,体验版和正式版 |
| path | String | 拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar" |
Return:
| name | type | description |
|---------|--------|-------------------------------------|
| ------- | ------ | ----------------------------------- |
| errCode | Number | 0 if authorization succeed |
| errStr | String | Error message if any error occurred |
```js
import * as WeChat from 'react-native-wechat-lib';
WeChat.launchMiniProgram({
userName: 'gh_d39d10000000',
miniProgramType: 1
})
miniProgramType: 1,
});
```
#### ChooseInvoice (ChooseInvoice) 跳到小程序
ChooseInvoice
| name | type | description |
| --------- | ------ | ----------- |
| cardSign | String | 签名 |
| signType | String | 签名类型 |
| timeStamp | Number | 当前时间戳 |
| nonceStr | String | 随机字符串 |
Invoice
| name | type | description |
| ----------- | ------ | ----------- |
| appId | String | |
| cardId | String | 发票 Id |
| encryptCode | String | 加密串 |
Return:
| name | type | description |
| ------- | --------- | ----------------------------------- |
| errCode | Number | 0 if authorization succeed |
| cards | Invoice[] | 发票数据 |
| errStr | String | Error message if any error occurred |
```js
import * as WeChat from 'react-native-wechat-lib';
// ios 什么都不填都可以android可以填写以下假的内容都可以正常运行具体参数获取可以去看微信文档
WeChat.chooseInvoice({
cardSign: 'cardSign',
signType: 'SHA256',
timeStamp: Date.now(),
nonceStr: `${Date.now()}`,
});
```
#### pay(payload) 支付
- `payload` {Object} the payment data
- `partnerId` {String} 商家向财付通申请的商家ID
- `prepayId` {String} 预支付订单ID
- `partnerId` {String} 商家向财付通申请的商家 ID
- `prepayId` {String} 预支付订单 ID
- `nonceStr` {String} 随机串
- `timeStamp` {String} 时间戳
- `package` {String} 商家根据财付通文档填写的数据和签名
@ -365,7 +404,7 @@ WeChat.launchMiniProgram({
Sends request for proceeding payment, then returns an object:
| name | type | description |
|---------|--------|-------------------------------------|
| ------- | ------ | ----------------------------------- |
| errCode | Number | 0 if authorization succeed |
| errStr | String | Error message if any error occurred |
@ -373,15 +412,16 @@ Sends request for proceeding payment, then returns an object:
- returns {Object}
| name | type | description |
|---------|--------|-------------------------------------|
| ---------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| scene | Number | 重定向后会带上 scene 参数,开发者可以填 0-10000 的整形值,用来标识订阅场值 |
| templateId | String | 订阅消息模板 ID在微信开放平台提交应用审核通过后获得 |
| reserved | String | 用于保持请求和回调的状态,授权请后原样带回给第三方。该参数可用于防止 csrf 攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加 session 进行校验,开发者可以填写 a-zA-Z0-9 的参数值,最多 128 字节,要求做 urlencode |
#### 回调事件订阅
从小程序回到APP或者支付成功回到APP都会触发回调事件来返回相应信息请在触发相应方法前提前添加事件队列。
从小程序回到 APP或者支付成功回到 APP 都会触发回调事件来返回相应信息,请在触发相应方法前提前添加事件队列。
```
WeChat.registerApp(Global.APP_ID, Global.UNIVERSAL_LINK);
DeviceEventEmitter.addListener('WeChat_Req', req => {