import { Router } from 'express'; import db from '../db.js'; import { auth } from '../middleware.js'; const router = Router(); // 二手闲置列表 router.get('/', auth, (req, res) => { const items = db .prepare('SELECT s.*, u.nickname, u.avatar FROM secondhand s JOIN users u ON s.user_id = u.id ORDER BY s.created_at DESC') .all(); res.json(items.map(i => ({ ...i, images: JSON.parse(i.images || '[]') }))); }); // 发布闲置 router.post('/', auth, (req, res) => { const { title, description, price, images } = req.body; if (!title || !description) { return res.status(400).json({ message: '请填写标题和描述' }); } const info = db .prepare('INSERT INTO secondhand (user_id, title, description, price, images) VALUES (?, ?, ?, ?, ?)') .run(req.user.id, title, description, price || 0, JSON.stringify(images || [])); res.json(db.prepare('SELECT * FROM secondhand WHERE id = ?').get(info.lastInsertRowid)); }); // 更新状态(下架/售出) router.put('/:id', auth, (req, res) => { const item = db.prepare('SELECT * FROM secondhand WHERE id = ?').get(req.params.id); if (!item) return res.status(404).json({ message: '物品不存在' }); if (item.user_id !== req.user.id && req.user.role !== 'admin') { return res.status(403).json({ message: '无权操作' }); } const { status } = req.body; db.prepare('UPDATE secondhand SET status = ? WHERE id = ?').run(status, req.params.id); res.json(db.prepare('SELECT * FROM secondhand WHERE id = ?').get(req.params.id)); }); // 删除闲置 router.delete('/:id', auth, (req, res) => { const item = db.prepare('SELECT * FROM secondhand WHERE id = ?').get(req.params.id); if (!item) return res.status(404).json({ message: '物品不存在' }); if (item.user_id !== req.user.id && req.user.role !== 'admin') { return res.status(403).json({ message: '无权删除' }); } db.prepare('DELETE FROM secondhand WHERE id = ?').run(req.params.id); res.json({ message: '删除成功' }); }); export default router;