初次提交

This commit is contained in:
2025-10-14 20:05:29 +08:00
commit 6e4e48fdd2
673 changed files with 437006 additions and 0 deletions

118
backend/fix_cors.sh Normal file
View File

@@ -0,0 +1,118 @@
#!/bin/bash
# CORS跨域问题快速修复脚本
echo "=== CORS跨域问题修复工具 ==="
# 检查当前目录
if [ ! -f "main.py" ]; then
echo "错误: 请在包含main.py的项目根目录下运行此脚本"
exit 1
fi
echo "当前目录: $(pwd)"
# 1. 更新配置文件
echo ""
echo "1. 更新CORS配置..."
# 更新config.py
echo "更新 app/core/config.py..."
sed -i 's/ALLOWED_HOSTS: List\[str\] = \[.*\]/ALLOWED_HOSTS: List[str] = ["*"] # 允许所有域名访问/' app/core/config.py
if [ $? -eq 0 ]; then
echo "✓ config.py 更新成功"
else
echo "✗ config.py 更新失败,请手动检查"
fi
# 2. 更新.env文件
echo ""
echo "2. 更新环境配置..."
if [ -f ".env" ]; then
# 备份原始文件
cp .env .env.backup.$(date +%Y%m%d_%H%M%S)
# 更新CORS配置
sed -i 's/ALLOWED_HOSTS=\[.*\]/ALLOWED_HOSTS=["*"]/' .env
if grep -q 'ALLOWED_HOSTS=\["\*"\]' .env; then
echo "✓ .env 文件更新成功"
else
echo "✗ .env 文件更新失败,请手动检查"
fi
else
echo ".env 文件不存在,创建新的配置..."
cat > .env << EOF
# 基础配置
ENVIRONMENT=production
DEBUG=false
# 数据库配置
DATABASE_URL=mysql+pymysql://用户名:密码@localhost:3306/数据库名
# Redis配置
REDIS_URL=redis://localhost:6379
# JWT配置
JWT_SECRET_KEY=your-super-secret-jwt-key-change-in-production-$(date +%s)
JWT_ALGORITHM=HS256
JWT_EXPIRE_MINUTES=30
# 文件上传配置
UPLOAD_DIR=uploads
MAX_FILE_SIZE=10485760
# CORS配置
ALLOWED_HOSTS=["*"]
EOF
echo "✓ .env 文件创建成功"
fi
# 3. 验证配置
echo ""
echo "3. 验证CORS配置..."
# 检查config.py
if grep -q 'ALLOWED_HOSTS: List\[str\] = \["\*"\]' app/core/config.py; then
echo "✓ config.py CORS配置正确"
else
echo "✗ config.py CORS配置可能有问题"
fi
# 检查.env文件
if grep -q 'ALLOWED_HOSTS=\["\*"\]' .env; then
echo "✓ .env CORS配置正确"
else
echo "✗ .env CORS配置可能有问题"
fi
# 4. 重启服务提示
echo ""
echo "4. 重启服务..."
echo "配置更新完成,请重启应用以使配置生效"
echo ""
echo "重启方式:"
echo "1. 如果应用正在运行,请按 Ctrl+C 停止"
echo "2. 然后重新启动: python main.py"
echo "3. 或者使用启动脚本: ./start_app.sh"
echo ""
echo "如果使用Docker部署"
echo "1. 重新构建镜像: docker build -t cloud-drive-backend:latest ."
echo "2. 重新运行容器: docker run -d -p 8002:8002 cloud-drive-backend:latest"
# 5. 测试CORS
echo ""
echo "5. CORS测试建议..."
echo "重启后可以通过以下方式测试CORS"
echo "1. 浏览器开发者工具 -> Network -> 查看请求头"
echo "2. 检查是否有 'Access-Control-Allow-Origin: *' 头"
echo "3. 使用curl测试: curl -H 'Origin: http://example.com' -H 'Access-Control-Request-Method: POST' -H 'Access-Control-Request-Headers: X-Requested-With' -X OPTIONS http://localhost:8002/api/v1/health"
echo ""
echo "=== CORS修复完成 ==="
echo ""
echo "注意事项:"
echo "- 允许所有域名访问 (\"*\") 仅适用于开发和测试环境"
echo "- 生产环境建议设置具体的允许域名列表"
echo "- 如需更安全的CORS配置请手动修改 ALLOWED_HOSTS"