const express = require('express'); const cors = require('cors'); const app = express(); app.use(cors()); app.use(express.json()); // 模拟照片数据 const photos = [ { id: 1, src: '/placeholder.jpg', title: '城市夜景', description: '繁华都市中的宁静夜晚', category: 'city', tags: ['夜景', '城市', '建筑'], date: '2024-01-15', exif: { camera: 'Canon EOS R5', lens: '24-70mm f/2.8', settings: 'f/4, 1/60s, ISO 800', location: '上海外滩' } }, { id: 2, src: '/placeholder.jpg', title: '自然风光', description: '山川河流间的诗意景色', category: 'nature', tags: ['风景', '自然', '山水'], date: '2024-01-10', exif: { camera: 'Sony A7R IV', lens: '16-35mm f/2.8', settings: 'f/8, 1/125s, ISO 200', location: '张家界' } }, { id: 3, src: '/placeholder.jpg', title: '人像摄影', description: '捕捉真实的情感瞬间', category: 'portrait', tags: ['人像', '情感', '生活'], date: '2024-01-05', exif: { camera: 'Nikon D850', lens: '85mm f/1.4', settings: 'f/2.8, 1/200s, ISO 400', location: '工作室' } } ]; // 获取所有照片 app.get('/api/photos', (req, res) => { res.json(photos); }); // 获取单张照片 app.get('/api/photos/:id', (req, res) => { const photo = photos.find(p => p.id === parseInt(req.params.id)); if (photo) { res.json(photo); } else { res.status(404).json({ error: 'Photo not found' }); } }); // 获取分类 app.get('/api/categories', (req, res) => { const categories = [...new Set(photos.map(p => p.category))]; res.json(categories); }); const PORT = 3001; app.listen(PORT, () => { console.log(`Mock API server running on http://localhost:${PORT}`); });