Files
AI/server.js

27 lines
811 B
JavaScript

const express = require('express');
const crypto = require('crypto');
const app = express();
const TOKEN = "AD2D2ECDC73C8065"; // 必须和公众号后台填写一致
app.get('/wechat/callback', (req, res) => {
const { signature, timestamp, nonce, echostr } = req.query;
if (!signature || !timestamp || !nonce || !echostr) {
return res.send('failed'); // 参数不完整
}
const arr = [TOKEN, timestamp, nonce].sort();
const str = arr.join('');
const sha1 = crypto.createHash('sha1').update(str).digest('hex');
console.log('微信签名验证', { signature, sha1, timestamp, nonce });
if (sha1 === signature) {
res.send(echostr); // 成功返回 echostr
} else {
res.send('failed'); // 验证失败
}
});
app.listen(3000, () => console.log('Server running on port 3000'));