alexusmai/easy-settings

Laravel + Vue - 为您的应用程序提供便捷的设置

v1.2.3 2019-03-04 16:26 UTC

This package is auto-updated.

Last update: 2024-09-05 04:30:21 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

Easy Settings Vue App

该应用程序旨在方便快捷地处理应用程序的简单数据。

例如,您需要在网站页脚放置一个电话号码。您可以直接将其输入到HTML代码中,但如果需要更改它,您将不得不深入代码。如果您为客户端制作了一个网站,那么他甚至不知道如何更改这个号码。当然,您可以为自己编写所有项目的CRUD……或者您可以使用这个包。

此包适合存储如下数据:

  • 字符串
  • 数字、电话号码
  • 小的文本块
  • 布尔类型(true,false)开/关

此外,如果您有一个多语言网站,您还可以使工作变得更简单,并将所需数据保存为多种语言。

安装

Composer

composer require alexusmai/easy-settings

如果您有Laravel 5.4或更早版本,请在config/app.php中添加服务提供程序,并

Alexusmai\EasySettings\EasySettingsServiceProvider::class,

添加别名。

'ESettings' => Alexusmai\EasySettings\Facades\EasySettingsFacade::class,

发布配置文件(easy-settings.php)

php artisan vendor:publish --tag=easy-settings-config

您可以直接安装npm包并在Vue应用程序中使用它 - 更多信息请参阅 laravel-vue-easy-settings

或者

发布js和css文件 - laravel-vue-easy-settings包(编译、最小化)

php artisan vendor:publish --tag=easy-settings-assets

运行迁移 -> 此命令创建"easy-settings"表

php artisan migrate

设置

打开配置文件 - config/easy-settings.php

/**
     * List of languages
     * add the necessary ones to create additional fields(field type "Lang")
     */
    'languages'     => ['en', 'ru'],

    /**
     * Development mode
     * Show - edit/add settings group
     */
    'dev'           => true,

    /**
     * Save data to laravel cache
     * set null, 0 - if you don't need cache (default)
     * if you want use cache - set the number of minutes for which the value should be cached
     */
    'cache'         => null,

    /**
     * Middleware
     * Add your middleware name to array -> ['web', 'auth', 'admin']
     * !!!! RESTRICT ACCESS FOR NON ADMIN USERS !!!!
     */
    'middleware'    => ['web', 'auth']

在'languages'数组中您可以添加必要的语言

要创建和编辑设置组,您必须使用开发者模式。在您添加了必要的设置组之后,如果您不希望用户能够更改结构、验证规则、删除等,请禁用开发者模式。

使用缓存,这将避免不必要的数据库查询

请务必将您的中间件添加到以限制对应用程序的访问

打开您想要放置应用程序块的视图文件,并添加

  • 如果之前没有这样做,请在头部块中添加csrf令牌
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
  • 该包使用一些Bootstrap 4样式,如果您已经使用它,那么您不需要连接任何样式。否则请添加 -
<link href="{{ asset('vendor/easy-settings/css/esettings.css') }}" rel="stylesheet">
  • 添加js(laravel-vue-easy-settings)
<script src="{{ asset('vendor/easy-settings/js/esettings.js') }}"></script>
  • 添加应用程序的div
<div id="easy-settings-app"></div>

用法

现在需要添加必要的设置组,添加字段、验证规则,然后可以在您的代码中使用。

ESettings::get('groupName.settingsName');
ESettings::get('groupName.settingsName', $defaultValue);
  • 如果您选择了'单选按钮'类型,结果将是布尔类型(true或false)。
  • 如果选择"Lang"类型,结果将取决于应用程序的语言设置,在调用时。
  • 如果找不到所需的语言,将使用回退区域设置(见config/app.php)或默认值。
'fallback_locale' => 'en',

数据生成器

有时在项目开发过程中需要回滚数据库,而包中的数据将丢失。为了避免这种情况,您可以运行以下命令

php artisan esettings:seed

这将生成一个数据生成器(EasySettingsSeeder),其中将包含您的数据,然后您需要将其添加到您的数据生成器列表(database/seeds/DatabaseSeeder.php)