feat: 重构Netlify Functions架构并增强代码质量

- 新增统一的中间件模块,提供鉴权、CORS和错误处理功能
- 重构所有Functions使用withAuth中间件简化代码结构
- 添加安全存储模块替代localStorage,防御XSS攻击
- 引入HTML清理工具,自动转义特殊字符和验证URL安全性
- 创建代码质量检查脚本,验证语法、环境变量和依赖完整性
- 添加构建日志工具和重构脚本,统一替换console.log为Logger
- 引入ESLint配置,提升代码质量和一致性
- 重构Giffgaff相关API,统一错误处理和验证逻辑
- 优化构建脚本,添加压缩和图片优化功能
- 新增健康检查端点,用于服务监控和状态报告
This commit is contained in:
Abner
2025-11-23 22:20:02 +08:00
parent 5b3e828c83
commit 4a0fcc94fe
38 changed files with 3182 additions and 2407 deletions

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env node
const BuildLogger = require('./logger.js');
const fs = require('fs');
const path = require('path');
@@ -6,9 +7,9 @@ const projectRoot = path.join(__dirname, '..');
const distDir = path.join(projectRoot, 'dist');
function ensureAccessKey() {
const key = process.env.ACCESS_KEY || process.env.ESIM_ACCESS_KEY;
const key = process.env.ACCESS_KEY;
if (!key) {
throw new Error('ACCESS_KEY/ESIM_ACCESS_KEY 未配置,无法保护 Functions。');
throw new Error('ACCESS_KEY 未配置,无法保护 Functions。');
}
}
@@ -20,8 +21,8 @@ function ensureDist() {
}
(function main() {
console.log('🔧 检查部署前置条件...');
BuildLogger.log('🔧 检查部署前置条件...');
ensureAccessKey();
ensureDist();
console.log(' 部署前检查通过,可继续执行部署流程');
BuildLogger.success(' 部署前检查通过,可继续执行部署流程');
})();