1. 域名、服务器和localtunnel 的配置
1.1 应用服务器通过域名与微信服务器实现连接最终与微信实现连接

1.2 本地测试阶段时可以通过localtunnel 搭建本地服务器以充作应用服务器

npm install -g loacltunnel
安装localtunnel 映射工具
python -m SimpleHttpSever 3100
通过python 开启一个本地服务

lt --port 端口号
通过localtunnel 工具把服务影射到外网


2. 配置、接入微信公众号
2.1 配置微信公众号
登陆微信开发者平台配置微信开发者接口信息

微信公众号的验证逻辑


2.2 通过code 接入微信开发者平台
先是创建app.js 文件
'use strict'
const Koa = require('koa');
const app = new Koa();
var sha1 = require('sha1')
var config = {
wechat: {
appID: 'wx5b71b0f7a4dac611',
appSecret: 'e0eac8fcaca226c23d94ca379aab77aa',
token: 'gufanyuanyingbikongjin'
}
}
app.use(async function (ctx, next) {
// console.log(ctx)
console.log(ctx.query)
var token = config.wechat.token
var signature = ctx.query.signature
var nonce = ctx.query.nonce
var timestamp = ctx.query.timestamp
var echostr = ctx.query.echostr
var str = [token, timestamp, nonce].sort().join('')
var sha = sha1(str)
if (sha === signature){
ctx.body = echostr + ''
}
else {
ctx.body = 'wrong'
}
});
app.listen(3721)
console.log('listening: 3721')
然后运行app.js
接着通过localtunnel 将本地的服务的IP地址影射到外网
最后把影射的IP地址填写在Wechat 配置文件里进行验证
网友评论