3.8 KiB
Executable File
3.8 KiB
Executable File
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.gitcomposer 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:publishphp 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'));
});
}