| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- 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;
|