feat: add wechat message push route for URL verification

This commit is contained in:
Developer
2026-05-12 22:48:46 +08:00
parent 8bab5d67b2
commit 519f4c2def
2 changed files with 44 additions and 1 deletions
+18 -1
View File
@@ -12,6 +12,14 @@ const authRoutes = require('./routes/auth');
const equityRoutes = require('./routes/equity'); const equityRoutes = require('./routes/equity');
const userRoutes = require('./routes/user'); const userRoutes = require('./routes/user');
const tradeRoutes = require('./routes/trade'); const tradeRoutes = require('./routes/trade');
const userEquityRoutes = require('./routes/userEquity');
const ocrRoutes = require('./routes/ocr');
const presetRoutes = require('./routes/preset');
const equityDetailRoutes = require('./routes/equityDetail');
const membershipRoutes = require('./routes/membership');
const settingsRoutes = require('./routes/settings');
const subscribeRoutes = require('./routes/subscribe');
const wechatMessageRoutes = require('./routes/wechatMessage');
const app = express(); const app = express();
@@ -38,6 +46,15 @@ app.use('/api/auth', authRoutes);
app.use('/api/equity', equityRoutes); app.use('/api/equity', equityRoutes);
app.use('/api/user', userRoutes); app.use('/api/user', userRoutes);
app.use('/api/trade', tradeRoutes); app.use('/api/trade', tradeRoutes);
app.use('/api/user-equity', userEquityRoutes);
app.use('/api/ocr', ocrRoutes);
app.use('/api/presets', presetRoutes);
app.use('/api/equity-detail', equityDetailRoutes);
app.use('/api/membership', membershipRoutes);
app.use('/api/settings', settingsRoutes);
app.use('/api/subscribe', subscribeRoutes);
app.use('/wechat-message', wechatMessageRoutes);
app.use(notFound); app.use(notFound);
app.use(errorHandler); app.use(errorHandler);
@@ -47,7 +64,7 @@ const PORT = process.env.PORT || 3000;
app.listen(PORT, '0.0.0.0', () => { app.listen(PORT, '0.0.0.0', () => {
console.log(`🚀 权益小助手后端服务运行在端口 ${PORT}`); console.log(`🚀 权益小助手后端服务运行在端口 ${PORT}`);
console.log(`📊 环境: ${process.env.NODE_ENV || 'development'}`); console.log(`📊 环境: ${process.env.NODE_ENV || 'development'}`);
console.log(`🌐 访问地址: http://192.168.3.250:${PORT}`); console.log(`🌐 访问地址: https://api.dxz99wyr.cn`);
}); });
module.exports = app; module.exports = app;
+26
View File
@@ -0,0 +1,26 @@
const express = require('express');
const crypto = require('crypto');
const router = express.Router();
const WECHAT_TOKEN = 'QuanYiXiaoZhuShou2026';
router.get('/', (req, res) => {
const { signature, timestamp, nonce, echostr } = req.query;
const sortedArr = [WECHAT_TOKEN, timestamp, nonce].sort();
const tmpStr = sortedArr.join('');
const hashedStr = crypto.createHash('sha1').update(tmpStr).digest('hex');
if (hashedStr === signature) {
res.send(echostr);
} else {
res.status(401).send('验证失败');
}
});
router.post('/', (req, res) => {
res.send('success');
});
module.exports = router;