var express = require('express'); var createError = require('http-errors') var router = express.Router(); const models = require('../../models'); // API路由 // 获取已批准的评论 router.get('/', function (req, res, next) { (async function () { let query = { approved: true }; let page = req.query.page; if (page) query.page = page; const comments = await models.Comment.find(query).sort({ createdAt: -1 }); res.json(comments); })().catch(next); }); // 提交评论 router.post('/', async (req, res) => { try { // 验证输入 const { page, name, email, comment } = req.body; if (!page || !name || !email || !comment) throw createError(404, 'Name, email, and comment are required'); // 创建新评论(默认未批准) const newComment = new models.Comment({ page, name, email, comment }); // 保存评论 await newComment.save(); res.status(201).json({ message: 'Comment submitted successfully. It will appear after moderation.' }); } catch (error) { console.error('Error submitting comment:', error); res.status(500).json({ message: 'Internal server error' }); } }); module.exports = router;