@axolo/node-wechat
v0.0.5
Published
Wechat OpenAPI Node.js SDK.
Downloads
3
Maintainers
Readme
node-wechat
Wechat OpenAPI Node.js SDK.
Install
yarn add @axolo/node-wechat
API
please see src
and test
for more api usage.
constructor(config)
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.
execute(api, request = {}, scope = {})
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.
callback({ signature, timestamp, nonce, echostr })
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.
Example
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);
});
Test
yarn test ./test/execute.test.js # test execute
yarn test ./test/callback-koa.test.js # test callback
TIP: Please create .env
and .env.test
in project root before test.
.env
appMode = mp
appId = APP_ID
appSecret = APP_SECRET
.env.test
## http server for http event callback
httpPort = 7001
TODO
- mode: support
miniprogram
,work wechat
, etc. - test: Assertion Testing with Mocha or Jest.
- cache: support
memory
,redis
,mysql
, etc.
Yueming Fang