0.0.5 • Published 5 years ago

@axolo/node-wechat v0.0.5

Weekly downloads
5
License
MIT
Repository
github
Last release
5 years ago

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

configdescription
appModemp = MiniProgram, oa = OfficialAccount
appIdWechat appId
appSecretWechat AppSecret
eventTokenhttp event callback token
eventAesKeyhttp event callback encode aes key
baseUrlbase url of Wechat OpenAPI
authTokenUrlurl of get wechat access token
errorthrow error settings
axiosHTTP Client, use axios
cachecache settings, cache.manager use cache-manager
loggerlogger settings, use log4js

return

A instance of Wechat OpenAPI Node.js SDK.

execute(api, request = {}, scope = {})

more request options see axios.

params

parmasdescription
apiquerystring, Wechat OpenAPI
request.methodHTTP Method
request.paramsHTTP querystring as Object by GET
request.bodyHTTP body as Object by POST/PATCH/PUT
scopescope 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

paramsdescription
signaturesignature string
timestamptimestamp string
noncerandom number
echostrrandom 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