const jwt = require('jsonwebtoken'); const auth = (req, res, next) => { try { const token = req.header('Authorization')?.replace('Bearer ', ''); if (!token) { return res.status(401).json({ success: false, message: '未提供访问令牌' }); } const decoded = jwt.verify(token, process.env.JWT_SECRET); req.user = decoded; next(); } catch (error) { res.status(401).json({ success: false, message: '无效的访问令牌' }); } }; // 可选身份验证中间件 const optionalAuth = (req, res, next) => { try { const token = req.header('Authorization')?.replace('Bearer ', ''); if (token) { const decoded = jwt.verify(token, process.env.JWT_SECRET); req.user = decoded; } next(); } catch (error) { // 忽略错误,继续执行 next(); } }; module.exports = { auth, optionalAuth };