From 7c0434d18267cc87353e5b16f1bd02b3ccac9126 Mon Sep 17 00:00:00 2001 From: xboard Date: Thu, 6 Feb 2025 18:17:16 +0800 Subject: [PATCH] feat(plugin): add subscribe.url hook --- app/Services/Plugin/HookManager.php | 4 ++-- app/Utils/Helper.php | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app/Services/Plugin/HookManager.php b/app/Services/Plugin/HookManager.php index decad6e..4147962 100644 --- a/app/Services/Plugin/HookManager.php +++ b/app/Services/Plugin/HookManager.php @@ -45,9 +45,9 @@ class HookManager * @param mixed ...$args 其他参数 * @return mixed */ - public static function filter(string $hook, mixed $value, mixed ...$args): mixed + public static function filter(string $hook, mixed $value): mixed { - return Eventy::filter($hook, $value, ...$args); + return Eventy::filter($hook, $value); } /** diff --git a/app/Utils/Helper.php b/app/Utils/Helper.php index befc068..a88bc46 100644 --- a/app/Utils/Helper.php +++ b/app/Utils/Helper.php @@ -2,6 +2,9 @@ namespace App\Utils; +use App\Services\Plugin\HookManager; +use Illuminate\Support\Arr; + class Helper { public static function uuidToBase64($uuid, $length) @@ -111,12 +114,14 @@ class Helper public static function getSubscribeUrl(string $token, $subscribeUrl = null) { $path = route('client.subscribe', ['token' => $token], false); - if(!$subscribeUrl){ + if (!$subscribeUrl) { $subscribeUrls = explode(',', admin_setting('subscribe_url')); - $subscribeUrl = \Arr::random($subscribeUrls); + $subscribeUrl = Arr::random($subscribeUrls); $subscribeUrl = self::replaceByPattern($subscribeUrl); } - return $subscribeUrl ? rtrim($subscribeUrl, '/') . $path : url($path); + + $finalUrl = $subscribeUrl ? rtrim($subscribeUrl, '/') . $path : url($path); + return HookManager::filter('subscribe.url', [$finalUrl, $token]); } public static function randomPort($range): int {