XWX-AI commited on
Commit
00d6248
·
1 Parent(s): 93bf046

feat: add environment-aware logging and dual-environment support

Browse files
Files changed (3) hide show
  1. .gitignore +5 -0
  2. docker-compose.yml +32 -0
  3. server.js +6 -6
.gitignore ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ node_modules
2
+ .DS_Store
3
+ *.bat
4
+ *.txt
5
+ # docker-compose.yml
docker-compose.yml ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ version: '3.8'
2
+
3
+ services:
4
+ pdf-prod:
5
+ build: .
6
+ container_name: pdf-prod
7
+ restart: always
8
+ ports:
9
+ - "7860:7860"
10
+ environment:
11
+ - NODE_ENV=production
12
+ - PORT=7860
13
+ logging:
14
+ driver: "json-file"
15
+ options:
16
+ max-size: "10m"
17
+ max-file: "3"
18
+
19
+ pdf-test:
20
+ build: .
21
+ container_name: pdf-test
22
+ restart: always
23
+ ports:
24
+ - "7861:7860"
25
+ environment:
26
+ - NODE_ENV=test
27
+ - PORT=7860
28
+ logging:
29
+ driver: "json-file"
30
+ options:
31
+ max-size: "10m"
32
+ max-file: "3"
server.js CHANGED
@@ -4,22 +4,22 @@ const puppeteer = require('puppeteer');
4
  const cors = require('cors');
5
 
6
  const app = express();
7
- const port = 7860;
 
8
 
9
- // Helper function for delay (replacement for deprecated page.waitForTimeout)
10
  const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));
11
 
12
- // Enable CORS for all origins (or restrict to gemini.google.com)
13
  app.use(cors());
14
-
15
- // Increase payload limit for large HTML
16
  app.use(express.json({ limit: '50mb' }));
17
 
18
  app.get('/', (req, res) => {
19
- res.send('Puppeteer PDF Server Running');
20
  });
21
 
22
  app.post('/api/generate_pdf', async (req, res) => {
 
 
 
23
  let browser = null;
24
  try {
25
  const { html, showWatermark, imageCount, totalImageSizeMB } = req.body;
 
4
  const cors = require('cors');
5
 
6
  const app = express();
7
+ const port = process.env.PORT || 7860;
8
+ const isTest = process.env.NODE_ENV === 'test';
9
 
 
10
  const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));
11
 
 
12
  app.use(cors());
 
 
13
  app.use(express.json({ limit: '50mb' }));
14
 
15
  app.get('/', (req, res) => {
16
+ res.send(`Puppeteer PDF Server Running (${isTest ? 'TEST' : 'PRODUCTION'})`);
17
  });
18
 
19
  app.post('/api/generate_pdf', async (req, res) => {
20
+ const envText = isTest ? '测试环境' : '生产环境';
21
+ const bgColor = isTest ? '\x1b[44m' : '\x1b[41m';
22
+ console.log(`${bgColor}\x1b[37m[PDF-GEN] 收到 API 请求 | 当前运行环境: ${envText}\x1b[0m`);
23
  let browser = null;
24
  try {
25
  const { html, showWatermark, imageCount, totalImageSizeMB } = req.body;