Skip to content

saqqdy/node-wxcrypto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-wxcrypto

微信消息加解密 nodejs 版本

NPM version Codacy Badge typescript npm download License

安装

# 使用pnpm
$ pnpm i node-wxcrypto

# 使用yarn
$ yarn add node-wxcrypto

使用

引入和使用

  1. require 引入
const { WxCrypto } = require('node-wxcrypto')

const wxCrypto = new WxCrypto(token, aesKey, appID, options)
const data = await wxCrypto.decrypt(encrypt, timestamp, nonce, options)
  1. import 引入
import { WxCrypto } from 'node-wxcrypto'

const wxCrypto = new WxCrypto(token, aesKey, appID, options)
const data = await wxCrypto.decrypt(encrypt, timestamp, nonce, options)

使用配置

在实例化和加解密方法均支持传入 options: normalizeTags, buildXmlOptions, xmlOptions,加解密方法里面传入的 options 优先级更高。

normalizeTags 支持将 xml 属性由驼峰转下划线分隔的小写形式;buildXmlOptions 透传用于生成 xml 字符串的配置;xmlOptions 透传用于解析 xml 字符串的配置。

注意:normalizeTags 会全量覆盖 xmlOptions 里面的 tagNameProcessors 方法,如果想要自定义 tagNameProcessors,请不要传入 normalizeTags

持将 xml 属性由驼峰转下划线分隔的小写形式:ComponentVerifyTicket => component_verify_ticket

// normalizeTags可传入布尔值或者字符串,传入字符串时使用该字符串分隔,例如:normalizeTags = "__",得到:`ComponentVerifyTicket => component__verify__ticket`
const wxCrypto = new WxCrypto(token, aesKey, appID, {
  normalizeTags: true,
  buildXmlOptions: {}, // 透传用于生成 xml 字符串的配置
  xmlOptions: {} // 透传用于解析 xml 字符串的配置
})
const data = await wxCrypto.decrypt(encrypt, timestamp, nonce, options)

API

详见:API说明文档

类型

  1. Interface Options
  2. Interface BuildXMLOptions
  3. Class WxCrypto
  4. Variable default

问题和支持

Please open an issue here.

License

MIT