const express = require('express'); const cors = require('cors'); const bodyParser = require('body-parser'); const path = require('path'); const app = express(); const PORT = process.env.PORT || 3000; app.use(cors()); app.use(bodyParser.json()); app.use(express.static(path.join(__dirname, 'public'))); // 模拟数据 let members = [ { id: 1, name: '张三', attendance: [] }, { id: 2, name: '李四', attendance: [] }, ]; // API 路由 app.get('/api/members', (req, res) => { res.json(members); }); app.post('/api/members', (req, res) => { const newMember = { id: members.length + 1, name: req.body.name, attendance: [] }; members.push(newMember); res.status(201).json(newMember); }); app.post('/api/attendance', (req, res) => { const { memberId, date } = req.body; const member = members.find(m => m.id === memberId); if (member) { member.attendance.push(date); res.json(member); } else { res.status(404).json({ message: '会员不存在' }); } }); app.get('/api/attendance/:memberId', (req, res) => { const memberId = parseInt(req.params.memberId); const member = members.find(m => m.id === memberId); if (member) { res.json(member.attendance); } else { res.status(404).json({ message: '会员不存在' }); } }); // 处理所有其他路由,返回 index.html app.get('*', (req, res) => { res.sendFile(path.join(__dirname, 'public', 'index.html')); }); app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); });