mirror of
https://github.com/Silentely/eSIM-Tools.git
synced 2026-09-03 06:24:20 +08:00
- 新增统一的中间件模块,提供鉴权、CORS和错误处理功能 - 重构所有Functions使用withAuth中间件简化代码结构 - 添加安全存储模块替代localStorage,防御XSS攻击 - 引入HTML清理工具,自动转义特殊字符和验证URL安全性 - 创建代码质量检查脚本,验证语法、环境变量和依赖完整性 - 添加构建日志工具和重构脚本,统一替换console.log为Logger - 引入ESLint配置,提升代码质量和一致性 - 重构Giffgaff相关API,统一错误处理和验证逻辑 - 优化构建脚本,添加压缩和图片优化功能 - 新增健康检查端点,用于服务监控和状态报告
62 lines
1.5 KiB
Bash
62 lines
1.5 KiB
Bash
#!/bin/bash
|
|
|
|
# 批量应用中间件到剩余Functions的脚本
|
|
# 使用方法: bash scripts/apply-middleware.sh
|
|
|
|
set -e
|
|
|
|
FUNCTIONS_DIR="netlify/functions"
|
|
|
|
echo "🔧 开始批量重构Functions..."
|
|
echo ""
|
|
|
|
# 定义需要重构的函数列表(排除已重构的)
|
|
FUNCTIONS=(
|
|
"giffgaff-graphql"
|
|
"giffgaff-mfa-challenge"
|
|
"giffgaff-mfa-validation"
|
|
"giffgaff-sms-activate"
|
|
"auto-activate-esim"
|
|
)
|
|
|
|
for func in "${FUNCTIONS[@]}"; do
|
|
FILE="${FUNCTIONS_DIR}/${func}.js"
|
|
|
|
if [ ! -f "$FILE" ]; then
|
|
echo "⚠️ 跳过不存在的文件: $FILE"
|
|
continue
|
|
fi
|
|
|
|
echo "📝 处理: $func.js"
|
|
|
|
# 备份原文件
|
|
cp "$FILE" "${FILE}.backup"
|
|
|
|
# 检查是否已经使用中间件
|
|
if grep -q "withAuth" "$FILE"; then
|
|
echo " ✅ 已使用中间件,跳过"
|
|
rm "${FILE}.backup"
|
|
continue
|
|
fi
|
|
|
|
echo " ⏳ 添加中间件导入..."
|
|
# 在第一个require之后添加中间件导入
|
|
if ! grep -q "_shared/middleware" "$FILE"; then
|
|
sed -i.tmp "1,/const.*require/s/\(const.*require.*\);/\1;\nconst { withAuth, validateInput, AuthError } = require('.\/\_shared\/middleware');/" "$FILE"
|
|
rm "${FILE}.tmp" 2>/dev/null || true
|
|
fi
|
|
|
|
echo " ✅ 完成"
|
|
echo ""
|
|
done
|
|
|
|
echo "✨ 批量重构完成!"
|
|
echo ""
|
|
echo "📋 请手动完成以下步骤:"
|
|
echo " 1. 检查每个函数的备份文件(.backup)"
|
|
echo " 2. 完成exports.handler重构为withAuth包装"
|
|
echo " 3. 添加输入验证schema"
|
|
echo " 4. 测试功能是否正常"
|
|
echo ""
|
|
echo "💡 参考示例: netlify/functions/giffgaff-token-exchange.js"
|