前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TNW-开启公众号开发者模式

TNW-开启公众号开发者模式

作者头像
Javen
发布2019-04-25 10:34:18
4670
发布2019-04-25 10:34:18
举报
文章被收录于专栏:酷玩时刻酷玩时刻酷玩时刻

TNW-开启公众号开发者模式

简介

TNW: TypeScript(The) + Node.js(Next) + WeChat 微信公众号开发脚手架,支持 http 模块扩展、支持任何 Node.js 的服务端框架(Express、NestJS 等)

安装
NPM 依赖方式

1、下载

$ npm i tnw

2、Express 示例

3、Nest 示例

源码方式

1、下载项目并安装依赖

$ git clone https://github.com/Javen205/TNW.git 
或者 
$ git clone https://gitee.com/Javen205/TNW.git 
$ cd TNW
$ npm install 

2、编译并运行

$ npm run build 
$ npm run dev

3、完整示例

配置公众号参考
  // 亦可以读取配置文件
  let apiConfig = new ApiConfig("Javen", "wx614c453e0d1dcd12", "19a02e4927d346484fc70327970457f9");
  // 支持多公众号
  ApiConfigKit.putApiConfig(apiConfig);
  // 开启开发模式,方便调试
  ApiConfigKit.devMode = true;

特别说明

  1. 支持多公众号配置,如需要可以多实例化 ApiConfig 然后调用 ApiConfigKit.putApiConfig(apiConfig) 进行设置。
  2. ApiConfig 参数说明 第一个参数:令牌 Token 可以任意填写 第二个参数:开发者ID appId 第三个参数:开发者密码 appScrect 第四个参数:是否开启加密 encryptMessage 默认值为 false 第五个参数:消息加解密密钥 encodingAesKey 非必须
  3. 设置多个公众号配置时默认使用第一个 ApiConfig
  4. 切换公众号配置可以调用 ApiConfigKit.setCurrentAppId(appId)
公众号开启开发者模式

TNW 中验证签名的关键接口如下:

WeChat.checkSignature(signature, timestamp,nonce, echostr)

Express 示例如下:

app.get('/msg', (req: any, res: any) => {
    console.log('get query...', req.query);

    let appId: string = req.query.appId;
    if (appId) {
        ApiConfigKit.setCurrentAppId(appId);
    }

    let signature = req.query.signature,//微信加密签名
        timestamp = req.query.timestamp,//时间戳
        nonce = req.query.nonce,//随机数
        echostr = req.query.echostr;//随机字符串
    res.send(WeChat.checkSignature(signature, timestamp,
        nonce, echostr));
});

Nest 示例如下:

@Get('/msg')
getMsg(@Req() request: Request, @Res() response: Response) {
  let appId: string = request.query.appId;
  if (appId) {
    ApiConfigKit.setCurrentAppId(appId);
  }

  let signature = request.query.signature,//微信加密签名
      timestamp = request.query.timestamp,//时间戳
      nonce = request.query.nonce,//随机数
      echostr = request.query.echostr;//随机字符串
  response.send(WeChat.checkSignature(signature, timestamp,nonce, echostr));
}

特别说明:

  1. 开发者URL为:http/https://域名/msg 或者 http/https://域名/msg?appId=xxxxx
  2. 测试号的加密模式必须设置为 false (上文提到的 ApiConfig 第四个参数)
  3. 正式号推荐开启加密模式并设置为 安全模式
本地端口映射工具

推荐使用 FRP 目前Github Start 已超越 2.2w。如有更好的工具欢迎推荐(留言区见)

开源推荐
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.04.17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 安装
    • NPM 依赖方式
      • 源码方式
      • 配置公众号参考
      • 公众号开启开发者模式
      • 本地端口映射工具
      • 开源推荐
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档