From 3f040b707584c404619a5bbbca2e2a31df0d4e56 Mon Sep 17 00:00:00 2001 From: SquirrelJimmy <123888666zbb@gmail.com> Date: Fri, 29 Aug 2025 12:49:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89picgo=20api=20url?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 1 + app/config/config.py | 1 + app/handler/response_handler.py | 4 +++- app/utils/uploader.py | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.env.example b/.env.example index 734e036..b2f66c1 100644 --- a/.env.example +++ b/.env.example @@ -44,6 +44,7 @@ CREATE_IMAGE_MODEL=imagen-3.0-generate-002 UPLOAD_PROVIDER=smms SMMS_SECRET_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX PICGO_API_KEY=xxxx +PICGO_API_URL=https://www.picgo.net/api/1/upload CLOUDFLARE_IMGBED_URL=https://xxxxxxx.pages.dev/upload CLOUDFLARE_IMGBED_AUTH_CODE=xxxxxxxxx CLOUDFLARE_IMGBED_UPLOAD_FOLDER= diff --git a/app/config/config.py b/app/config/config.py index 18a8fef..1f41da1 100644 --- a/app/config/config.py +++ b/app/config/config.py @@ -94,6 +94,7 @@ class Settings(BaseSettings): UPLOAD_PROVIDER: str = "smms" SMMS_SECRET_TOKEN: str = "" PICGO_API_KEY: str = "" + PICGO_API_URL: str = "https://www.picgo.net/api/1/upload" CLOUDFLARE_IMGBED_URL: str = "" CLOUDFLARE_IMGBED_AUTH_CODE: str = "" CLOUDFLARE_IMGBED_UPLOAD_FOLDER: str = "" diff --git a/app/handler/response_handler.py b/app/handler/response_handler.py index 1300e71..2a97b41 100644 --- a/app/handler/response_handler.py +++ b/app/handler/response_handler.py @@ -259,7 +259,9 @@ def _extract_image_data(part: dict) -> str: ) elif settings.UPLOAD_PROVIDER == "picgo": image_uploader = ImageUploaderFactory.create( - provider=settings.UPLOAD_PROVIDER, api_key=settings.PICGO_API_KEY + provider=settings.UPLOAD_PROVIDER, + api_key=settings.PICGO_API_KEY, + api_url=settings.PICGO_API_URL ) elif settings.UPLOAD_PROVIDER == "cloudflare_imgbed": image_uploader = ImageUploaderFactory.create( diff --git a/app/utils/uploader.py b/app/utils/uploader.py index 7496cf4..8f9faf0 100644 --- a/app/utils/uploader.py +++ b/app/utils/uploader.py @@ -389,7 +389,7 @@ class ImageUploaderFactory: credentials["secret_key"] ) elif provider == "picgo": - api_url = credentials.get("api_url", "https://www.picgo.net/api/1/upload") + api_url = credentials.get("api_url") or "https://www.picgo.net/api/1/upload" return PicGoUploader(credentials["api_key"], api_url) elif provider == "cloudflare_imgbed": return CloudFlareImgBedUploader(