feat: 增加自定义picgo api url

This commit is contained in:
SquirrelJimmy
2025-08-29 12:49:12 +08:00
parent 4af17ce55d
commit 3f040b7075
4 changed files with 6 additions and 2 deletions
+1
View File
@@ -44,6 +44,7 @@ CREATE_IMAGE_MODEL=imagen-3.0-generate-002
UPLOAD_PROVIDER=smms UPLOAD_PROVIDER=smms
SMMS_SECRET_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX SMMS_SECRET_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PICGO_API_KEY=xxxx PICGO_API_KEY=xxxx
PICGO_API_URL=https://www.picgo.net/api/1/upload
CLOUDFLARE_IMGBED_URL=https://xxxxxxx.pages.dev/upload CLOUDFLARE_IMGBED_URL=https://xxxxxxx.pages.dev/upload
CLOUDFLARE_IMGBED_AUTH_CODE=xxxxxxxxx CLOUDFLARE_IMGBED_AUTH_CODE=xxxxxxxxx
CLOUDFLARE_IMGBED_UPLOAD_FOLDER= CLOUDFLARE_IMGBED_UPLOAD_FOLDER=
+1
View File
@@ -94,6 +94,7 @@ class Settings(BaseSettings):
UPLOAD_PROVIDER: str = "smms" UPLOAD_PROVIDER: str = "smms"
SMMS_SECRET_TOKEN: str = "" SMMS_SECRET_TOKEN: str = ""
PICGO_API_KEY: str = "" PICGO_API_KEY: str = ""
PICGO_API_URL: str = "https://www.picgo.net/api/1/upload"
CLOUDFLARE_IMGBED_URL: str = "" CLOUDFLARE_IMGBED_URL: str = ""
CLOUDFLARE_IMGBED_AUTH_CODE: str = "" CLOUDFLARE_IMGBED_AUTH_CODE: str = ""
CLOUDFLARE_IMGBED_UPLOAD_FOLDER: str = "" CLOUDFLARE_IMGBED_UPLOAD_FOLDER: str = ""
+3 -1
View File
@@ -259,7 +259,9 @@ def _extract_image_data(part: dict) -> str:
) )
elif settings.UPLOAD_PROVIDER == "picgo": elif settings.UPLOAD_PROVIDER == "picgo":
image_uploader = ImageUploaderFactory.create( 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": elif settings.UPLOAD_PROVIDER == "cloudflare_imgbed":
image_uploader = ImageUploaderFactory.create( image_uploader = ImageUploaderFactory.create(
+1 -1
View File
@@ -389,7 +389,7 @@ class ImageUploaderFactory:
credentials["secret_key"] credentials["secret_key"]
) )
elif provider == "picgo": 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) return PicGoUploader(credentials["api_key"], api_url)
elif provider == "cloudflare_imgbed": elif provider == "cloudflare_imgbed":
return CloudFlareImgBedUploader( return CloudFlareImgBedUploader(