0.0.5 • Published 5 years ago
@axolo/node-wechat v0.0.5
node-wechat
Wechat OpenAPI Node.js SDK.
Install
yarn add @axolo/node-wechatAPI
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 callbackTIP: 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 = 7001TODO
- mode: support
miniprogram,work wechat, etc. - test: Assertion Testing with Mocha or Jest.
- cache: support
memory,redis,mysql, etc.
Yueming Fang