shushushushushu / laravel-admin
shushushushushu laravel admin
Requires
- php: >=7.0.0
- doctrine/dbal: 2.*
- laravel/framework: >=5.5
- overtrue/easy-sms: ^1.3
- symfony/dom-crawler: ~3.1|~4.0|~5.0
Requires (Dev)
- fzaninotto/faker: ~1.4
- intervention/image: ~2.3
- laravel/browser-kit-testing: ^6.0
- laravel/laravel: >=5.5
- spatie/phpunit-watcher: ^1.22.0
Suggests
- intervention/image: Required to handling and manipulation upload images (~2.3).
- spatie/eloquent-sortable: Required to built orderable gird.
README
⛵laravel-admin
是用于 Laravel 的管理界面构建器,它可以帮助您仅用几行代码就构建 CRUD 后端。
受 SleepingOwlAdmin 和 rapyd-laravel 启发。
赞助商

###声明 这是一个从 laravel-admin 克隆的副本,并对一些地方进行了修改以满足产品需求。
要求
- PHP >= 7.0.0
- Laravel >= 5.5.0
- Fileinfo PHP 扩展
安装
此包需要 PHP 7+ 和 Laravel 5.5,对于旧版本,请参阅 1.4
首先安装 Laravel 5.5,并确保数据库连接设置正确。
composer require shushushushushu/laravel-admin:^1.2.0
然后运行以下命令以发布资源和配置:
php artisan vendor:publish --provider="shushushushushu\Admin\AdminServiceProvider"
运行命令后,您可以在 config/admin.php
文件中找到配置文件,在该文件中您可以更改安装目录、数据库连接或表名。
最后,运行以下命令完成安装。
php artisan admin:install
在浏览器中打开 https:///admin/
,使用用户名 admin
和密码 admin
登录。
配置
文件 config/admin.php
包含一组配置,您可以在其中找到默认配置。
扩展
更改
1. 将 src/Form/Field.php 中的 sanitizeInput() 方法更改为
protected function sanitizeInput($input, $column)
{
if ($this instanceof Field\MultipleSelect) {
$value = Arr::get($input, $column);
Arr::set($input, $column, array_filter($value, function($val){
return $val !== '' && $val !== null && $val !== false;
}));
}
return $input;
}
purpose: submit form can be access when checkbox select 0 and rule contains required
2. 重新设计组件 'Select'
①method ajax() in src\Form\Field\Select.php
change select2's delay time of ajax request from 250ms to 500ms
②change name of a hidden input and set value:
<input type="hidden" name="{{$name}}"/>
change as
<input type="hidden" name="{{$name}}_hide" value="{{old($column, $value)}}"/>
that can get old value when select option list from ajax request,
3. 将错误提示插入到 resources/views/form.blade.php 行 12
@foreach($errors->getBags() as $bags)
<div class="alert alert-danger">{{$bags->first()}}</div>
@endforeach
4. 为了使用 alioss 并支持带有域名的完整 URL,在 src/Form/Field/Image.php -> prepare() 中进行一些修改
if(isset(config('filesystems.disks.' . config('filesystems.default'))['remote_url'])){
$remoteUrl = config('filesystems.disks.' . config('filesystems.default'))['remote_url'];
$path = rtrim($remoteUrl, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . $path;
}//add domain before return path if config remote_url
return $path;
5. 在登录页面添加使用 easy-sms 的短信验证码。这些更改发生在 1.2.0 标签中,并且需要进行一些配置以确保其正常工作。
① 在用户表中添加一个列:
$table->char('mobile', 11);
② 配置 redis 并确保 redis 的正常运行。
③ 在 admin.config 中添加 easysms 配置:首先将 'auth/sendsms' 添加到 "auth['excepts']",确保 'auth/sendsms' 接口不需要身份验证,然后
'login_use_sms' => true,
'easysms' => [
'timeout' => 5.0,
'length' => 4,
'expire' => 300,
'product' => '',
'default' => [
'strategy' => \Overtrue\EasySms\Strategies\OrderStrategy::class,
'gateways' => [
'aliyun'
]
],
'gateways' => [
'errorlog' => [
'file' => '/tmp/easy-sms.log',
],
'aliyun' => [
'access_key_id' => env('ALIYUN_ACCESS_KEY_ID', ''),
'access_key_secret' => env('ALIYUN_SECRET_ACCESS_KEY', ''),
'sign_name' => env('ALIYUN_SMS_SIGN_NAME', ''),
]
]
],
如果设置 login_use_sms=false,则短信将禁用。
您需要在 .env 文件中配置一些环境变量,例如 'access_key_id' 等。有关详细信息,请参阅 easysms 官方网站
6. src/Form.php
public function inputAll()
{
return $this->inputs;
}
许可证
laravel-admin
在 MIT 许可证 (MIT) 下授权。