@axolo/node-wechat-mp

0.0.4 • Public • Published

node-wechat-mp

Wechat mini program SDK for Node.js.

install

yarn install @axolo/node-wechat-mp

api

constructor(config)

config params

param description
appId Wechat miniprogram appId, required
appSecret Wechat miniprogram appSecret, required
error error class, default WechatMpError
cache token cache, default cache-manager single memory caching, ttl 7200
http http client, default axios
url request url of api
url.base base url, default https://api.weixin.qq.com/cgi-bin
url.token get token, default https://api.weixin.qq.com/cgi-bin/token
url.code2session code2Session, default https://api.weixin.qq.com/sns/jscode2session

code2session(params)

see code2Session

param description
jsCode code of wx.login() result
grantType authorization_code
method GET

return Promise of auth session

decrypt(params)

see signature

param description
sessionKey sessionKey of auth.code2session()
encryptedData encrypted data
iv iv

return Object of decrypted data

token(options)

get access token from caching or request

param description
options.method http method, default GET
options.grantType OAuth2 grant type, default client_credential

return Object of access token

request(options)

request wechat api with access token by short url without base url

params description
options usage like axios, but aliases NOT support

return response data of wechat api

example

decrypt data.

'use strict';

const WechatMp = require('@axolo/node-wechat-mp');

const config = {
  appId: 'YOUR_WECHAT_MINIPROGRAM_APPID',
  appSecret: 'YOUR_WECHAT_MINIPROGRAM_APPSECRET',
};

const wechatMp = new WechatMp(config);

const decrypted = wechatMp.decrypt({
  sessionKey: 'session_key of code2session()',
  encryptedData: 'base64 encrypted data',
  iv: 'base64 iv',
});

console.log(decrypted);

test

config

Add git ignored test/config.json as:

{
  "appId": "YOUR_WECHAT_MINIPROGRAM_APPID",
  "appSecret": "YOUR_WECHAT_MINIPROGRAM_APPSECRET"
}

run

See Wechat miniprogram code2Session to get js_code.

node test/code2session.test.js WECHAT_MINIPROGRAM_JS_CODE

result

Success output like this:

{
  session_key: 'WechatMiniprogram==',
  openid: 'WechatMiniprogramOpenid',
  unionid: 'WechatMiniprogramUnionid'
}

Readme

Keywords

Package Sidebar

Install

npm i @axolo/node-wechat-mp

Weekly Downloads

2

Version

0.0.4

License

MIT

Unpacked Size

10.1 kB

Total Files

5

Last publish

Collaborators

  • axolo