前端: 微信小程序(公众号)
具体使用微信开发者工具,首先创建微信开发者工具项目,分析公众号通知的方法
实现方法:
一、首先单开一个微信开发者工具公众号,具体参考官网。也可通过微信公众平台申请测试号编写。
注意:要有自己的服务器,我尝试过内网穿透,但似乎没有用。具体原因未知。
二、其次,在后端编写接口配置,可以使用java,nodejs等,哪个方便用哪个。我用的nodejs:
//严格模式
"use strict"
//引入koa框架
let Koa = require("koa");
//引入sha1模块
let sha1 = require("sha1");
let koa = new Koa();
//微信订阅号的配置信息
let config = {
wechat: {
appID: "wxc3934921fa9xxxxx", // 自己的appID
appsecret: "2ebxxxxxxxxxxe12ade3ecxxxxxxxxxx", //自己的appsecret
//这里你得填写你自己设置的Token值
token: "justtry",
}
};
koa.use(function (ctx) {
//ctx.query获取请求中携带的参数
let token = config.wechat.token;
//获取请求中的signature
let signature = ctx.query.signature;
//获取请求中的timestamp
let timestamp = ctx.query.timestamp;
//获取请求中的nonce
let nonce = ctx.query.nonce;
//获取请求中的echostr
let echostr = ctx.query.echostr;
//将Token,timestamp,nonce按字典排序,排序后链接成一个字符串
let str = [token, timestamp, nonce].sort().join("");
//使用sha1模块进行sha1加密
let sha1Str = sha1(str);
//判断加密后的字符串与请求中signature是否相等
//如果相等返回echostr
if (sha1Str === signature) {
//将echostr返回给微信服务器
ctx.body = echostr;
}
else {
ctx.body = "测试失败";
}
})
//监听服务器的80端口,这里需要注意一下,如果你监听的不是80端口,那么你就得修改url,在url最后加上你要监听的端口号,例如http://www.baidu.com:3000
koa.listen(8081);
console.log("服务器已经跑起来了.....");