feat: 羚牛 BI 报表服务初始版本
All checks were successful
ci/woodpecker/manual/woodpecker Pipeline was successful

- Hono + TypeScript 后端,连接 MySQL 数据库
- React + Vite + Tailwind 前端
- 车辆资产实时汇总(按车型/品牌型号分组)
- 本周交车/还车/替换统计(关联业务单据)
- 车牌号详情弹窗
- Dockerfile + Woodpecker CI 流水线

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
kkfluous
2026-03-26 14:02:49 +08:00
commit 0cc5024132
23 changed files with 5783 additions and 0 deletions

26
src/server/index.ts Normal file
View File

@@ -0,0 +1,26 @@
import { serve } from '@hono/node-server';
import { serveStatic } from '@hono/node-server/serve-static';
import { Hono } from 'hono';
import { cors } from 'hono/cors';
import dotenv from 'dotenv';
import vehiclesRouter from './routes/vehicles.js';
dotenv.config();
const app = new Hono();
app.use('/api/*', cors());
app.route('/api/vehicles', vehiclesRouter);
app.get('/api/health', (c) => c.json({ status: 'ok', time: new Date().toISOString() }));
// Serve static files in production
app.use('/*', serveStatic({ root: './dist' }));
app.use('/*', serveStatic({ root: './dist', path: 'index.html' }));
const port = Number(process.env.SERVER_PORT) || 3001;
console.log(`Server starting on port ${port}...`);
serve({ fetch: app.fetch, port }, () => {
console.log(`Server running at http://localhost:${port}`);
});