|
|
@@ -1,12 +1,14 @@
|
|
|
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 = [
|
|
|
@@ -14,12 +16,11 @@ let members = [
|
|
|
{ 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,
|
|
|
@@ -30,7 +31,6 @@ app.post('/api/members', (req, res) => {
|
|
|
res.status(201).json(newMember);
|
|
|
});
|
|
|
|
|
|
-// 记录考勤
|
|
|
app.post('/api/attendance', (req, res) => {
|
|
|
const { memberId, date } = req.body;
|
|
|
const member = members.find(m => m.id === memberId);
|
|
|
@@ -42,7 +42,6 @@ app.post('/api/attendance', (req, res) => {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
-// 获取考勤记录
|
|
|
app.get('/api/attendance/:memberId', (req, res) => {
|
|
|
const memberId = parseInt(req.params.memberId);
|
|
|
const member = members.find(m => m.id === memberId);
|
|
|
@@ -53,6 +52,11 @@ app.get('/api/attendance/:memberId', (req, res) => {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
+// 处理所有其他路由,返回 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}`);
|
|
|
});
|