| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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}`);
- });
|