fix: 修复添加记录后首页数据不刷新的问题

将缓存清除逻辑从 stats.js 路由移至 app.js 全局中间件,
确保 records.js 路由的写操作也能触发缓存清除。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
lizhilun
2026-03-31 16:59:32 +08:00
co-authored by Claude Opus 4.6
parent d551841035
commit ac2d21a5a0
3 changed files with 82 additions and 41 deletions
+11
View File
@@ -5,6 +5,7 @@ const compression = require('compression');
const config = require('./config');
const logger = require('./utils/logger');
const { clearUserCache } = require('./utils/cache');
const db = require('./db');
const { router: authRouter, auth } = require('./routes/auth');
const statsRouter = require('./routes/stats');
@@ -30,6 +31,16 @@ app.use('/api', (req, res, next) => {
next();
});
// 全局缓存清除中间件:在写操作完成后清除用户缓存
app.use('/api', (req, res, next) => {
res.once('finish', () => {
if (['POST', 'DELETE', 'PUT', 'PATCH'].includes(req.method) && req.user?.id) {
clearUserCache(req.user.id);
}
});
next();
});
app.get('/api/contacts', auth, (req, res) => {
const field = req.query.field;
const allowed = ['boss', 'partner', 'source', 'destination'];