Spaces:
Sleeping
Sleeping
| import fs from 'fs'; | |
| import path from 'path'; | |
| import { fileURLToPath } from 'url'; | |
| const __filename = fileURLToPath(import.meta.url); | |
| const __dirname = path.dirname(__filename); | |
| const envPath = path.join(__dirname, '../../.env'); | |
| const sensitiveKeys = ['API_KEY', 'ADMIN_USERNAME', 'ADMIN_PASSWORD', 'JWT_SECRET', 'PROXY', 'SYSTEM_INSTRUCTION', 'IMAGE_BASE_URL']; | |
| if (fs.existsSync(envPath)) { | |
| let envContent = fs.readFileSync(envPath, 'utf8'); | |
| let updated = false; | |
| sensitiveKeys.forEach(key => { | |
| const value = process.env[key]; | |
| if (value !== undefined && value !== '') { | |
| const regex = new RegExp(`^${key}=.*$`, 'm'); | |
| if (regex.test(envContent)) { | |
| envContent = envContent.replace(regex, `${key}=${value}`); | |
| } else { | |
| envContent += `\n${key}=${value}`; | |
| } | |
| updated = true; | |
| } | |
| }); | |
| if (updated) { | |
| fs.writeFileSync(envPath, envContent, 'utf8'); | |
| console.log('✓ 环境变量已同步到 .env'); | |
| } | |
| } | |