sudo-ecommerce / image-domain-replace
Laravel middleware package to replace image domains and handle bucket checks.
Installs: 452
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/sudo-ecommerce/image-domain-replace
Requires
- php: >=7.1 || ^8.0
- guzzlehttp/guzzle: ^6.0 || ^7.0
- dev-main
- v4.0.9
- v4.0.8
- v4.0.7
- v4.0.6
- v4.0.5
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- v3.0.9
- v3.0.8
- v3.0.7
- v3.0.6
- v3.0.5
- v3.0.4
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.1.9
- v1.1.8
- v1.1.7
- v1.1.6
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- 1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-feat_storage
This package is not auto-updated.
Last update: 2025-12-30 03:23:02 UTC
README
Cài đặt
- Thêm vào composer.json của project:
"repositories": [ { "type": "path", "url": "./packages/ImageDomainReplace" } ],
- Cài đặt package:
composer require sudo/image-domain-replace:dev-main
- Publish assets (JavaScript files):
php artisan vendor:publish --provider="Sudo\\ImageDomainReplace\\ImageDomainReplaceServiceProvider" --tag=public
- Publish config (tùy chọn):
php artisan vendor:publish --provider="Sudo\\ImageDomainReplace\\ImageDomainReplaceServiceProvider" --tag=config
- Cấu hình domain mới trong
.envhoặcconfig/image-domain-replace.php:
IMAGE_DOMAIN_REPLACE_NEW=https://storage.sudospaces.com
IMAGE_DOMAIN_REPLACE_FALLBACK=/assets/img/default_image.png
Cấu hình
File JavaScript sẽ được publish tại: /vendor/image-domain-replace/js/script.js
Chức năng
Package tự động:
- Tự động replace domain ảnh cũ về domain mới trong response HTML
- Thêm fallback JavaScript cho ảnh lỗi với retry logic thông minh
- Tự động kiểm tra/tạo ảnh resize khi cần thiết với API endpoint
/image/check-and-upload - Xử lý cache busting và retry để tăng độ tin cậy
- Hỗ trợ dynamic images (SPA applications) với MutationObserver
- Tương thích mọi phiên bản Laravel/PHP >= 7.2
Sử dụng nâng cao
Có thể khởi tạo thủ công JavaScript với config tùy chỉnh:
const imageHandler = new ImageDomainReplace({ fallbackImageUrl: '/custom/placeholder.jpg', checkImageUrl: '/image/check-and-upload', maxRetries: 5, retryDelay: 2000, debug: true });
Tuỳ chỉnh
- Sửa
config/image-domain-replace.phpđể thay đổi domain mới hoặc tắt queue
Đóng góp
PR hoặc issue tại repo này.
Lưu ý: Tất cả repo sử dụng se mbf cần thêm
'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false)
ở filesystem.php và
AWS_USE_PATH_STYLE_ENDPOINT=true
ở .env
IMAGE_DOMAIN_REPLACE_ENABLED=true LICENSE_MIDDLEWARE_ENABLED=false STORAGE_MONITORING_ENABLED=true
là 3 biến để check lần lượt: IMAGE_DOMAIN_REPLACE_ENABLED -> Check replace domain, mặc định true, 1 số dự án ảnh đặt ở local thì để là false. LICENSE_MIDDLEWARE_ENABLED -> Check Khoá website STORAGE_MONITORING_ENABLED -> Check Khoá dung lượng website