ice-static 4 mesi fa
parent
commit
a06d06898b
5 ha cambiato i file con 87 aggiunte e 1 eliminazioni
  1. 1 1
      .gitignore
  2. 21 0
      api/module/test/routes-html.ts
  3. 13 0
      api/module/test/routes-number.ts
  4. 16 0
      api/module/test/routes.ts
  5. 36 0
      api/routes.ts

+ 1 - 1
.gitignore

@@ -5,7 +5,7 @@
 /tmp
 /out-tsc
 /bazel-out
-
+/demo
 # Node
 /node_modules
 npm-debug.log

+ 21 - 0
api/module/test/routes-html.ts

@@ -0,0 +1,21 @@
+import { Router, Request, Response } from 'express';
+
+const router = Router();
+
+router.get('/', (req: Request, res: Response) => {
+  res.setHeader('Content-Type', 'text/html; charset=utf-8');
+  res.send(`
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>测试页面</title>
+      </head>
+      <body>
+        <h1>Hello World!</h1>
+        <p>这是一个 HTML 响应</p>
+      </body>
+    </html>
+  `);
+});
+
+export default router;

+ 13 - 0
api/module/test/routes-number.ts

@@ -0,0 +1,13 @@
+import { Router, Request, Response } from 'express';
+
+const router = Router();
+
+router.get('/', (req: Request, res: Response) => {
+  res.json({
+    success: true,
+    data: 12345,
+    timestamp: new Date().toISOString()
+  });
+});
+
+export default router;

+ 16 - 0
api/module/test/routes.ts

@@ -0,0 +1,16 @@
+import { Router, Request, Response } from 'express';
+
+const router = Router();
+
+router.get('/', (req: Request, res: Response) => {
+  res.json({
+    success: true,
+    data: {
+      message: 'hello',
+      content: '这是 JSON 数据'
+    },
+    timestamp: new Date().toISOString()
+  });
+});
+
+export default router;

+ 36 - 0
api/routes.ts

@@ -0,0 +1,36 @@
+/**
+ * API 路由主入口
+ */
+import express from 'express';
+
+const router = express.Router();
+
+console.log('[API Routes] Initializing...');
+
+router.use((req, res, next) => {
+  console.log(`[API Router] Hit: ${req.method} ${req.url}`);
+  next();
+});
+
+router.get('/ping', (req, res) => {
+  res.json({ message: 'pong' });
+});
+
+router.use('/test', (await import('./module/test/routes')).default);
+router.use('/test/html', (await import('./module/test/routes-html')).default);
+router.use('/test/number', (await import('./module/test/routes-number')).default);
+
+router.get('/', (req, res) => {
+  res.json({
+    message: 'API Routes Loaded Successfully',
+    version: '1.0.0',
+    timestamp: new Date().toISOString(),
+    availableRoutes: [
+      '/api/test',
+      '/api/test/html',
+      '/api/test/number'
+    ]
+  });
+});
+
+export default router;