diff --git a/.env.example b/.env similarity index 74% rename from .env.example rename to .env index bbaeac2..256b1e5 100644 --- a/.env.example +++ b/.env @@ -1,6 +1,3 @@ -# CarrotSkin 环境配置文件示例 -# 复制此文件为 .env 并修改相应的配置值 - # ============================================================================= # 站点配置 # ============================================================================= @@ -34,10 +31,10 @@ SERVER_SWAGGER_ENABLED=true # 数据库配置 # ============================================================================= DATABASE_DRIVER=postgres -DATABASE_HOST=localhost +DATABASE_HOST=120.27.110.94 DATABASE_PORT=5432 -DATABASE_USERNAME=postgres -DATABASE_PASSWORD=your_password_here +DATABASE_USERNAME=user_wc2MbZ +DATABASE_PASSWORD=password_65b5aN DATABASE_NAME=carrotskin DATABASE_SSL_MODE=disable DATABASE_TIMEZONE=Asia/Shanghai @@ -49,19 +46,19 @@ DATABASE_CONN_MAX_IDLE_TIME=10m # ============================================================================= # Redis配置 # ============================================================================= -REDIS_HOST=localhost +REDIS_HOST=120.27.110.94 REDIS_PORT=6379 -REDIS_PASSWORD= +REDIS_PASSWORD=redis_ZXjbN5 REDIS_DATABASE=0 REDIS_POOL_SIZE=10 # ============================================================================= # RustFS对象存储配置 (S3兼容) # ============================================================================= -RUSTFS_ENDPOINT=127.0.0.1:9000 -RUSTFS_PUBLIC_URL=http://127.0.0.1:9000 -RUSTFS_ACCESS_KEY=your_access_key -RUSTFS_SECRET_KEY=your_secret_key +RUSTFS_ENDPOINT=120.27.110.94:9000 +RUSTFS_PUBLIC_URL=http://120.27.110.94:9000 +RUSTFS_ACCESS_KEY=ftbulyR6rj0AZ4n5ID7g +RUSTFS_SECRET_KEY=P8q3VZ1wfMEdGJayu4sxh7NRSAB2H0tkFeTQlXLW RUSTFS_USE_SSL=false RUSTFS_BUCKET_TEXTURES=carrot-skin-textures RUSTFS_BUCKET_AVATARS=carrot-skin-avatars @@ -78,6 +75,18 @@ JWT_EXPIRE_HOURS=168 LOG_LEVEL=info LOG_FORMAT=json LOG_OUTPUT=logs/app.log +# 保留的旧配置项 +LOG_MAX_SIZE=100 +LOG_MAX_BACKUPS=3 +LOG_MAX_AGE=28 +LOG_COMPRESS=true + +# ============================================================================= +# 文件上传配置 (保留的旧配置项) +# ============================================================================= +UPLOAD_MAX_SIZE=10485760 +UPLOAD_TEXTURE_MAX_SIZE=2097152 +UPLOAD_AVATAR_MAX_SIZE=1048576 # ============================================================================= # 安全配置 @@ -85,15 +94,17 @@ LOG_OUTPUT=logs/app.log # CORS 允许的来源,多个用逗号分隔 SECURITY_ALLOWED_ORIGINS=* # 允许的头像/材质URL域名,多个用逗号分隔 -SECURITY_ALLOWED_DOMAINS=localhost,127.0.0.1 +SECURITY_ALLOWED_DOMAINS=localhost,127.0.0.1,120.27.110.94 +# 保留的旧配置项 +MAX_LOGIN_ATTEMPTS=5 +LOGIN_LOCK_DURATION=30m # ============================================================================= # 邮件配置 -# 腾讯企业邮箱SSL配置示例:smtp.exmail.qq.com, 端口465 # ============================================================================= -EMAIL_ENABLED=false -EMAIL_SMTP_HOST=smtp.example.com -EMAIL_SMTP_PORT=587 -EMAIL_USERNAME=noreply@example.com -EMAIL_PASSWORD=your-email-password -EMAIL_FROM_NAME=CarrotSkin +EMAIL_ENABLED=true +EMAIL_SMTP_HOST=smtp.exmail.qq.com +EMAIL_SMTP_PORT=465 +EMAIL_USERNAME=system@qczlit.cn +EMAIL_PASSWORD=545mkewZwMzEWUjD +EMAIL_FROM_NAME=CarrotSkin \ No newline at end of file diff --git a/.gitignore b/.gitignore index 197577d..3e421fd 100644 --- a/.gitignore +++ b/.gitignore @@ -60,7 +60,7 @@ configs/config.yaml .env.production # Keep example files -!.env.example +!.env # Database files *.db diff --git a/README.md b/README.md index e0cf190..8a80e88 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ backend/ 3. **配置环境变量** ```bash - cp .env.example .env + cp .env .env # 根据实际环境填写数据库、Redis、对象存储、邮件等信息 ``` diff --git a/cmd/server/main.go b/cmd/server/main.go index 2f98dd5..8ae0fb3 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -17,6 +17,7 @@ import ( "os/signal" "syscall" "time" + _ "time/tzdata" "carrotskin/internal/container" "carrotskin/internal/handler" diff --git a/internal/service/texture_service.go b/internal/service/texture_service.go index d9a477e..9c20bee 100644 --- a/internal/service/texture_service.go +++ b/internal/service/texture_service.go @@ -223,7 +223,7 @@ func (s *textureService) ToggleFavorite(ctx context.Context, userID, textureID i if err != nil { return false, err } - if texture == nil { + if texture == nil || texture.Status != 1 || !texture.IsPublic { return false, ErrTextureNotFound }