微信测试号接入微信公众开发,并且在向测试公众号发送消息后,公众号收到之后自动回复功能
- 创建一个express 项目
App.js
/**
* express 入门程序
* 第一个程序,认识express开发步骤
*/
// 引入express
const express = require("express");
const sha1 = require("sha1");
const auths = require("./wechat/auth");
const app = express();
app.use(express.urlencoded({
extended: true }));
app.use(auths());
// 启动应用
app.listen(8052, (err) => {
console.log("服务已经在http://localhost:...");
});
/** 1.
* auth.js
* 该模块处理请求
* 1.验证服务器有效性
* 2.获取用户输入信息
*/
/**2
* utils.js ,解析收到的数据
* // 该模块用于解析数据
*/
/**3
* replyCon.js
* // 维护一个对象
*具体业务逻辑或者说发送消息内容
*/
/**4
* replyTem.js
* 发送信息
*/
- 新建
config/index.js
// 存储开发者机密 信息配置
module.exports = {
appID: "xxx",
appsecret: "xxx",
token: "xxx",
};
// 这里的配置要与公众平台一致
- 新建
wechats/auth.js
安装
sha1
模块npm
安装 我安装的版本–"sha1": "^1.1.1",
/**
* 该模块处理请求
* 1.验证服务器有效性
* 2.获取用户输入信息
*/
const config = require("../config/index");
const sha1 = require("sha1");
const {
getXmlData, parseXmlData, formattingData } = require("../tools/utils");
const {
buildRep } = require("../reply/replyCon");
const {
concreteData } = require("../reply/replyTem");
module.exports = () => {
return async (req, res, next) => {
// 获取参数
const {
signature, echostr, timestamp, nonce } = req.query;
console.log(req.query, "00");
const {
token } = config;
// 排序后
// let sortArr = [timestamp, nonce, token].sort();
// 拼接字符串
let sha1Str = sha1