Initial commit: lottery project structure

Add core project files including:
- Client and server directories
- Backup script
- Package configuration
- Git ignore rules

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Developer
2026-03-12 11:26:49 +08:00
co-authored by Claude Opus 4.6
commit 7b1073e23b
73 changed files with 7736 additions and 0 deletions
+43
View File
@@ -0,0 +1,43 @@
const express = require('express');
const cors = require('cors');
const path = require('path');
// 初始化数据库
require('./db/init');
const authRoutes = require('./routes/auth');
const ticketRoutes = require('./routes/tickets');
const lotteryRoutes = require('./routes/lottery');
const ocrRoutes = require('./routes/ocr');
const app = express();
const PORT = process.env.PORT || 4444;
// 中间件
app.use(cors());
app.use(express.json());
app.use('/uploads', express.static(path.join(__dirname, 'uploads')));
// API 路由
app.use('/api/auth', authRoutes);
app.use('/api/tickets', ticketRoutes);
app.use('/api/lottery', lotteryRoutes);
app.use('/api/ocr', ocrRoutes);
// 健康检查
app.get('/api/health', (req, res) => {
res.json({ status: 'ok', time: new Date().toISOString() });
});
// 静态文件服务 - 前端构建产物
const clientDist = path.join(__dirname, '../client/dist');
app.use(express.static(clientDist));
// SPA 路由 - 所有非 API 请求返回 index.html
app.get('*', (req, res) => {
res.sendFile(path.join(clientDist, 'index.html'));
});
app.listen(PORT, '0.0.0.0', () => {
console.log(`服务器运行在 http://0.0.0.0:${PORT}`);
});