4
0
Fork 0
Laravel Dcat-Admin 后台扩展(Fork)
 
 
 
 
Go to file
panliang 38b3e1e1bb 更新 'packages/setting/src/Http/Controllers/SettingController.php' 2022-10-17 14:15:00 +08:00
config config/admin.php 2022-10-12 13:43:49 +08:00
database/migrations 配置管理 2022-07-27 16:38:43 +08:00
docs init 2022-07-26 09:25:04 +08:00
fonts init 2022-07-26 09:25:04 +08:00
packages 更新 'packages/setting/src/Http/Controllers/SettingController.php' 2022-10-17 14:15:00 +08:00
resources 更新 'resources/views/show/field.blade.php' 2022-09-23 15:59:03 +08:00
src 调整totree数据类型bug 2022-10-14 11:45:10 +08:00
tests init 2022-07-26 09:25:04 +08:00
.editorconfig init 2022-07-26 09:25:04 +08:00
.env.testing init 2022-07-26 09:25:04 +08:00
.gitattributes init 2022-07-26 09:25:04 +08:00
.gitignore add packages 2022-07-27 12:31:08 +08:00
.styleci.yml init 2022-07-26 09:25:04 +08:00
LICENSE init 2022-07-26 09:25:04 +08:00
README.md config/admin.php 2022-10-12 13:43:49 +08:00
composer.json update 2022-07-27 16:47:35 +08:00
package.json init 2022-07-26 09:25:04 +08:00
phpunit.dusk.xml init 2022-07-26 09:25:04 +08:00
webpack.mix.js init 2022-07-26 09:25:04 +08:00

README.md

Dcat-Admin

Fork From jqhph/dcat-admin

安装

  • composer 镜像(可选): composer config repo.packagist composer https://mirrors.aliyun.com/composer/
  • composer config repositories.peidikeji/dcat-admin git https://gitea.peidikeji.cn/pdkj/dcat-admin.git
  • composer require peidikeji/dcat-admin
  • 修改 config/app.php
return [
    'timezone' => env('TIMEZONE', 'Asia/Chongqing'),
    'locale' => 'zh_CN',
    'faker_locale' => 'zh_CN',
];
  • 修改 app\Providers\AppServiceProvider.php
use Illuminate\Support\Facades\Schema;
use Illuminate\Http\Resources\Json\JsonResource;

 public function boot()
 {
    Schema::defaultStringLength(191);
    JsonResource::withoutWrapping();
 }
  • 修改.env 中的数据库配置
APP_URL=网站域名(如: https://laravel.com)

LOG_DEPRECATIONS_CHANNEL=null(删除本项)

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
  • php artisan admin:publish
  • php artisan admin:install
  • 进入管理后台 {host}/admin, admin, admin

改动

  • 文件: dcat-admin/src/Form/Footer.php, 将 reset 按钮默认设置为 false
protected $buttons = ['reset' => false, 'submit' => true, 'back' => true];

public function disableBack(bool $disable = true)
{
    $this->buttons['back'] = !$disable;
}
  • 添加 Form 表单的 back 按钮, 文件: dcat-admin/resources/views/form/footer.blade.php
@if(! empty($buttons['back']))
<div class="btn-group pull-left">
    <a href="javascript:window.history.back()" class="btn btn-white"><i class="feather icon-arrow-left"></i> {{ trans('admin.back') }}</a>
</div>
@endif
  • 文件: dcat-admin/src/Show/Tools.php, 添加 back 按钮, list 默认设置为 false, 修改按钮的渲染方式(去掉外层的 btn-group 标签, 添加类名 mr-1)
protected $tools = ['back', 'list', 'edit', 'delete'];

protected $showBack = true;

public function disableBack(bool $disable = true)
{
    $this->showBack = !$disable;
    return $this;
}

protected function renderBack()
{
    if (! $this->showBack) {
        return;
    }

    $back = trans('admin.back');

    return <<<HTML
<a href="javascript:window.history.back()" class="btn btn-sm btn-primary mr-1">
    <i class="feather icon-arrow-left"></i><span class="d-none d-sm-inline"> {$back}</span>
</a>
HTML;
}

配置

  • config/app.php
return [
    'timezone' => env('TIMEZONE', 'Asia/Chongqing'),
    'locale' => 'zh_CN',
];
  • config/auth.php
return [
    'api' => [
        'driver' => 'sanctum',
        'provider' => 'users',
    ],
    'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => Peidikeji\User\Models\User::class,
        ],
    ],
];
  • app\Exceptions\Handler.php
public function register()
{
    $this->renderable(function (\Symfony\Component\HttpKernel\Exception\NotFoundHttpException $e, Request $request) {
        if ($request->ajax()) {
            return response()->json(['code' => 404, 'message' => $e->getMessage(), 'data' => null], 200);
        }
    });
    $this->renderable(function (\Illuminate\Validation\ValidationException $e, Request $request) {
        if ($request->ajax()) {
            $errors = $e->validator->errors();
            return response()->json(['code' => 422, 'message' => $errors->first(), 'data' => $errors], 200);
        }
    });
}
  • app\Http\Controllers\Controller.php
use Dcat\Admin\Traits\JsonResponse;

use Illuminate\Routing\Controller as BaseController;
class Controller extends BaseController
{
    use JsonResponse;
}
  • app\Providers\RouteServiceProvider.php
protected function configureRateLimiting()
{
    RateLimiter::for('sms', function (Request $request) {
        return Limit::perMinute(1)->by($request->input('phone'));
    });
}