各种消息交互

简介

TNWX: TypeScript + Node.js + WeiXin 微信系开发脚手架,支持微信公众号、微信支付、微信小游戏、微信小程序、企业号/企业微信。最最最重要的是能快速的集成至任何 Node.js 框架(Express、Nest、Egg、Koa 等)

开启开发者模式

如何开启开发者模式

接收各种消息

在 TNWX 中实现企业微信各种消息交互非常简单,步骤如下:

  • 接收各种消息
  • 调用 QyWeChat.handleMsg(…) 方法处理分发消息
  • 实现 MsgAdapter 接口,实现业务逻辑以及各种消息回复开发者 URL 的 POST 方法下接收各种消息 具体实现代码如下

Express 示例

  1. // 接收微信消息入口
  2. app.post('/qymsg', function (req: any, res: any) {
  3. console.log('post...', req.query);
  4. let appId: string = req.query.appId;
  5. let corpId: string = req.query.corpId;
  6. if (appId && corpId) {
  7. QyApiConfigKit.setCurrentAppId(appId,corpId);
  8. }
  9. let msgSignature = req.query.msg_signature,
  10. timestamp = req.query.timestamp,
  11. nonce = req.query.nonce;
  12. //监听 data 事件 用于接收数据
  13. let buffer: Uint8Array[] = [];
  14. req.on('data', function (data: any) {
  15. buffer.push(data);
  16. });
  17. req.on('end', function () {
  18. let msgXml = Buffer.concat(buffer).toString('utf-8');
  19. console.log(`接收到的消息msgXml:${msgXml}`)
  20. QyWeChat.handleMsg(msgAdapter, msgXml, msgSignature, timestamp, nonce)
  21. .then(data => {
  22. res.send(data);
  23. })
  24. .catch((error) => console.log(error));
  25. });
  26. });

处理响应消息以及事件

与微信公众号相关 请参考 微信公众号各种消息交互

开源推荐