npm 包 @gaoding/co-wechat 使用教程

阅读时长 4 分钟读完

简介

@gaoding/co-wechat 是一个基于 Node.js 的微信开发库,可以方便的在 Node.js 环境下使用微信的相关功能。该库支持企业号、公众号和小程序的开发,提供了完整的公众号 API、基于 Express 的 Web 服务开发框架、企业号 API、微信支付(企业支付、公众号支付、红包等)等功能。

安装和配置

@gaoding/co-wechat 可以通过 npm 直接安装:

安装完成后,我们需要配置相关参数让 @gaoding/co-wechat 可以正确地获取微信的相关数据和接口。这些配置包括:

  1. appid: 微信的开发者ID,也是后面的认证部分需要用到的
  2. token: 微信公众号配置中的 Token
  3. encodingAESKey: 微信公众号配置中的 EncodingAESKey
  4. agentid: 企业号中的应用ID
  5. corpId: 企业号的ID
  6. secret: 企业号或公众号的 Secret
  7. mch_id: 微信支付中的商户号
  8. mch_key: 微信支付中的商户 Key

使用说明

创建 API 实例

使用@gaoding/co-wechat 的第一步是创建一个 API 实例,代码如下:

-- -------------------- ---- -------
----- --------- - ------------------------------
----- --- - --- ------------------ --------- ----- -------- -- -
  -- -- ----------- -- ------------
  ------ ----- ------------
-- ----- -------- ------- -
  -- -- ----------- -- ------------
  ------ ----- ------------------
---

其中,第一个参数是我们在配置时设置的 appid,第二个参数是我们在配置时设置的 secret。第三个参数是用于加载 access_token 的方法,必须是一个异步方法,用来获取 access_token。第四个参数也是一个异步方法,用于保存 access_token。

获取 access_token

在调用所有微信API之前,我们必须先调用 getAccessToken 方法获取 access_token。该方法返回一个 Promise 对象,代码如下:

获取用户信息

我们可以使用 getUser 方法获取用户的基本信息,代码如下:

其中,openid 为用户的唯一标识符。

发送消息

我们可以使用 sendTextMessage、sendImageMessage 等方法发送各种类型的消息。以 sendTextMessage 方法为例,代码如下:

其中,openid 为用户的唯一标识符,content 为消息内容。

微信支付

我们可以使用企业支付、公众号支付、红包等方式进行微信支付。以企业支付为例,代码如下:

-- -------------------- ---- -------
----- ------- - -
  ----------------- -------------  -- -----
  ------- ------------------------------- -- -------------
  ----------- -------------- -- -------------
  ------- ----  -- -----------
  ----- --------- -- ------
  ----------------- ------------- -- -----------
--
----- ------ - ----- ----------------------

其中,payInfo 包含了一些支付相关的信息,包括商户订单号、接受转账的用户 openid、是否强制验证收款人真实姓名、企业付款金额、企业付款备注和调用接口的机器Ip地址。

总结

@gaoding/co-wechat 提供了完整的微信开发相关的功能支持,我们可以很方便的进行微信公众号、企业号和小程序的开发、消息发送、客服、用户管理、素材管理、微信支付等操作。使用该库需要注意配置相关参数,以及按照API使用说明进行编码,期待更多开发者能够使用该库进行 Node.js 下的微信开发。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/129679