nodejs+express开发微信公众号--配置微信测试号

1.第一步:申请测试号

地址:https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index
在这声明一下为什么用测试号,因为这个东西作者还踩了坑,总体而言东西不难,主要是入门比较繁杂。
使用测试号的原因:

1.申请订阅号,如果申请的是账号主体为个人,大部分接口不能使用
2.如果账号主体为企业,那就要申请一堆东西,还要付钱,还是使用测试号舒服。

在这里插入图片描述
这就是申请之后的测试号,只不过接口配置信息需要根据自己的情况填写:(又是坑…)

先前用pm2将代码运行在远程主机上,发现要一直改代码比较麻烦,解决办法:
百度之后利用netapp将内网ip映射到外网,使微信公众号的开发直接就可以在本地调试。

2.netapp使用方法

直接去到官网,链接:https://natapp.cn/
在这里插入图片描述
具体使用情况直接参照图文教程,很详细。
配置完成后,复制你的token:
在这里插入图片描述
双击netapp.exe执行以下命令:
在这里插入图片描述

natapp -authtoken=yourtoken

显示这样,内网ip就映射成功了:
在这里插入图片描述

3.配置公众号接口信息

在这里插入图片描述

4.编写后台代码

访问根目录对其进行一个配置,此处利用到了express中间价:
新建一个config目录,目录中新建config.json文件:

{
	"wechat" : {
		"appID": "wx3a5048024725b",
		"appSecret": "33ebc98b3ec02bd8e4bed153c",
		"token": "dsg603"
	}
}

index.js文件中写入:

var express = require('express');
var router = express.Router();
var sha1 = require('sha1');
var config = require("../config/config.json");
router.get('/', function (req, res, next) {
  //1.获取微信服务器Get请求的参数 signature、timestamp、nonce、echostr
  var signature = req.query.signature,//微信加密签名
    timestamp = req.query.timestamp,//时间戳
    nonce = req.query.nonce,//随机数
    echostr = req.query.echostr;//随机字符串

  //2.将token、timestamp、nonce三个参数进行字典序排序
  var array = [config.wechat.token, timestamp, nonce];
  array.sort();

  //3.将三个参数字符串拼接成一个字符串进行sha1加密
  var tempStr = array.join('');
  var resultCode = sha1(tempStr); //对传入的字符串进行加密

  //4.开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
  if (resultCode === signature) {
    res.send(echostr);
  } else {
    res.send('mismatch');
  }
});

module.exports = router;

到这里就配置完成了,看下效果:
在这里插入图片描述
在这里告诫大家多看文档,多上手操作。踩坑踩到哭,后面的坑慢慢踩。。。!!

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值