@axolo/node-wechat
Version:
Wechat OpenAPI Node.js SDK.
127 lines (90 loc) • 3.48 kB
Markdown
[] Node.js SDK.
```bash
yarn add @axolo/node-wechat
```
please see `src` and `test` for more api usage.
> params
| config | description |
| ------------ | --------------------------------------------------- |
| appMode | mp = MiniProgram, oa = OfficialAccount |
| appId | Wechat appId |
| appSecret | Wechat AppSecret |
| eventToken | [http event callback] token |
| eventAesKey | [http event callback] encode aes key |
| baseUrl | base url of [Wechat OpenAPI] |
| authTokenUrl | url of get wechat access token |
| error | throw error settings |
| axios | HTTP Client, use [axios] |
| cache | cache settings, `cache.manager` use [cache-manager] |
| logger | logger settings, use [log4js] |
> return
A instance of `Wechat` OpenAPI Node.js SDK.
more request options see [axios].
> params
| parmas | description |
| -------------- | -------------------------------------- |
| api | querystring, Wechat OpenAPI |
| request.method | HTTP Method |
| request.params | HTTP querystring as Object by GET |
| request.body | HTTP body as Object by POST/PATCH/PUT |
| scope | scope or other options of api |
> return
Get data with [return code] from [Wechat OpenAPI].
See [http event callback] for help.
This method use as middleware usualy.
> params
| params | description |
| --------- | ---------------- |
| signature | signature string |
| timestamp | timestamp string |
| nonce | random number |
| echostr | random string |
> return
event decrypted of callback. response `echostr` if callback success.
```js
const WechatSdk = require('@axolo/node-wechat');
const config = { appId: 'APP_ID', appSecret: 'APP_SECRET' };
const wechat = new WechatSdk(config);
wechat.execute('/user/info', {
params: { openid: 'openid' }
}).catch(err => {
console.log(err);
}).then(res => {
console.log(res);
});
```
```bash
yarn test ./test/execute.test.js
yarn test ./test/callback-koa.test.js
```
**TIP**: Please create `.env` and `.env.test` in project root before test.
```ini
appMode = mp
appId = APP_ID
appSecret = APP_SECRET
```
```ini
httpPort = 7001
```
- mode: support `miniprogram`, `work wechat`, etc.
- test: Assertion Testing with Mocha or Jest.
- cache: support `memory`, `redis`, `mysql`, etc.
> Yueming Fang
[]: https://github.com/axios/axios
[]: https://github.com/BryanDonovan/node-cache-manager
[]: https://log4js-node.github.io/log4js-node
[]: https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html
[]: https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Access_Overview.html
[]: https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Global_Return_Code.html