ASetting是一个Laravel包,允许您动态定义配置定义。

1.0.3 2024-04-24 07:57 UTC

This package is auto-updated.

Last update: 2024-09-24 08:55:43 UTC


README

A2AD6A93-7ED8-4793-BB24-F9CEDDDD45F4-21632-000042AB3BFCB4B4.png

介绍

ASetting是一个Laravel包,允许您在Laravel应用程序中动态管理设置。使用此包,您可以将设置组织到数据库中存储的组中,支持各种类型的设置以便于管理。

特性

  • 引入一个交互式blade页面,用户可以查看和修改应用程序设置。通过此功能,用户将能够根据需求自定义应用程序的行为和偏好。

安装

您可以通过以下步骤将ASetting包添加到您的Laravel项目中。

通过Composer安装

使用Composer将包添加到项目中。

composer require aurorawebsoftware/asetting

发布配置

要发布配置文件,请运行以下命令

php artisan vendor:publish --tag=asetting-config

这将添加config/asetting.php文件到您的项目中,其中包含ASetting包的配置设置。

迁移

运行迁移以创建用于存储设置的数据库表

php artisan migrate

使用方法

ASetting外观

ASetting外观允许您轻松管理设置。以下是一些外观提供的基本函数和特性。

group(string $group): self

用于处理特定组的设置。

ASetting::group('site')->getValue('title');

groups(array $groups): self

用于处理多个组的设置。

ASetting::groups(['site', 'mail'])->all();

getValue(string $key): int|array|bool|string|null|SettingNotFoundException

用于获取特定设置的值。

ASetting::group('site')->getValue('title');

getTitle(string $key): string

用于获取特定设置的标题。

ASetting::group('site')->getTitle('title');

isVisible(string $key): bool

用于检查特定设置的可见性状态。

ASetting::group('site')->isVisible('title');

get(string $key): array

用于获取特定设置的所有信息。

ASetting::group('site')->get('title');

getValues(array $keys): SettingNotFoundException|array

用于获取特定设置的值。

ASetting::group('site')->getValues(['title','name']);

getValues(array $keys): SettingNotFoundException|array

用于获取特定设置的值。

ASetting::groups(['site','general'])->getValues(['title','name']);

set(string $key, string|int|bool|array $value, string|null $title = null, bool|null $isVisible = null): bool|array

用于更新或创建特定设置的值。

ASetting::group('site')->set('title', 'New Title', 'Site Title', true);

delete(string $key): bool|SettingNotFoundException

用于删除特定设置。

ASetting::group('site')->delete('title');

all(?string $group = null): array

用于获取按组分组或特定组下的所有设置。

ASetting::all(); // Get all settings
ASetting::group('site')->all(); // Get all settings under a specific group

destroy(string $group): bool|SettingNotFoundException

用于删除特定组下的所有设置。

ASetting::group('site')->destroy();
ASetting::groups(['site','general'])->destroy();

add(string $group, string $key, string|int|bool|array $value, string $title = null, string $type = 'string', bool $isVisible = null): ASettingModel|SettingNotFoundException

用于添加新的设置。

ASetting::add('site', 'new_setting', 'Value', 'Setting Title', 'string', true);

API使用方法

配置

您可以定义API令牌。您还可以通过添加自己的中间件进行配置。

return [
'api_token' => ['YOUR_BEARER_TOKEN_HERE'],
'api_middleware' => [
// YourMiddlewareClass::class
]
];

端点详情

getValue

  • 端点: /api/asetting/getValue/{group}/{key}
  • 方法: GET
  • 参数: group (string), key (string)

getTitle

  • 端点: /api/asetting/getTitle/{group}/{key}
  • 方法: GET
  • 参数: group (string), key (string)

isVisible

  • 端点: /api/asetting/isVisible/{group}/{key}
  • 方法: GET
  • 参数: group (string), key (string)

get

  • 端点: /api/asetting/get/{group}/{key}
  • 方法: GET
  • 参数: group (string), key (string)

getValues

  • 端点: /api/asetting/getValues
  • 方法: POST
  • 参数: group (string|array), keys (array)

set

  • 端点: /api/asetting/set
  • 方法: PUT
  • 参数: group (字符串), key (字符串), value (字符串|数组), title (字符串, 可选), is_visible (布尔值, 可选)

添加

  • 端点: /api/asetting/add
  • 方法: POST
  • 参数: group (字符串), key (字符串), value (字符串|数组|布尔值|整数), type (字符串), title (字符串), is_visible (布尔值, 可选)

全部

  • 端点: /api/asetting/all/{group?}
  • 方法: GET
  • 参数: group (字符串, 可选)

删除

  • 端点: /api/asetting/delete/{group}/{key}
  • 方法: DELETE
  • 参数: group (string), key (string)

销毁

  • 端点: /api/asetting/destroy/{group}
  • 方法: DELETE
  • 参数: group (字符串)

错误处理

在无效请求或错误发生时,API将返回包含相应消息的JSON响应,如果适用,还包括验证错误。

请随意将此文档复制并粘贴到您的README文件中。根据需要调整格式。

ASetting命令

此命令允许您与ASetting包交互。

使用方法

php artisan asetting {group=null} {key=null}

此命令允许您与ASetting包交互。

  1. 获取特定设置的值
php artisan asetting myGroup myKey
  1. 获取特定组中的所有设置
php artisan asetting myGroup
  1. 获取所有设置
php artisan asetting

注意

  • 如果指定的组或键未找到,将显示异常消息。
  • 该命令返回设置值,该值可以是字符串、数组或其他类型,具体取决于配置。

许可证

ASetting包根据MIT许可证授权。