diff --git a/beike/Admin/Http/Resources/PluginResource.php b/beike/Admin/Http/Resources/PluginResource.php index 0172fa94..aa22d381 100644 --- a/beike/Admin/Http/Resources/PluginResource.php +++ b/beike/Admin/Http/Resources/PluginResource.php @@ -16,15 +16,10 @@ class PluginResource extends JsonResource */ public function toArray($request): array { - $currentLocale = locale(); - - $name = is_array($this->name) ? ($this->name[$currentLocale] ?? '') : (string) $this->name; - $description = is_array($this->description) ? ($this->description[$currentLocale] ?? '') : (string) $this->description; - - $data = [ + return [ 'code' => $this->code, - 'name' => $name, - 'description' => $description, + 'name' => $this->getLocaleName(), + 'description' => $this->getLocaleDescription(), 'path' => $this->path, 'version' => $this->version, 'dir_name' => $this->dirName, @@ -36,7 +31,5 @@ class PluginResource extends JsonResource 'installed' => $this->getInstalled(), 'edit_url' => $this->getEditUrl(), ]; - - return $data; } } diff --git a/beike/Plugin/Plugin.php b/beike/Plugin/Plugin.php index d922cd62..37fc8f6d 100644 --- a/beike/Plugin/Plugin.php +++ b/beike/Plugin/Plugin.php @@ -154,9 +154,17 @@ class Plugin implements Arrayable, \ArrayAccess public function getLocaleName(): string { - $currentLocale = locale(); + $currentLocale = admin_locale(); - return is_array($this->name) ? ($this->name[$currentLocale] ?? '') : (string) $this->name; + if (is_array($this->name)) { + if ($this->name[$currentLocale] ?? '') { + return $this->name[$currentLocale]; + } + + return array_values($this->name)[0]; + } + + return (string) $this->name; } public function getDescription(): string @@ -166,9 +174,17 @@ class Plugin implements Arrayable, \ArrayAccess public function getLocaleDescription(): string { - $currentLocale = locale(); + $currentLocale = admin_locale(); - return is_array($this->description) ? ($this->description[$currentLocale] ?? '') : (string) $this->description; + if (is_array($this->description)) { + if ($this->description[$currentLocale] ?? '') { + return $this->description[$currentLocale]; + } + + return array_values($this->description)[0]; + } + + return (string) $this->description; } public function getDirname(): string