沙滩星空的博客沙滩星空的博客

Laravel后台架构工具Dcat Admin使用笔记

Dcat Admin 是一个基于 laravel-admin 二次开发而成的后台系统构建工具,只需很少的代码即可快速构建出一个功能完善的高颜值后台系统。支持页面一键生成 CURD 代码,内置丰富的后台常用组件,开箱即用,让开发者告别冗杂的 HTML 代码,对后端开发者非常友好。

默认账户密码都是 admin

下面无特殊说明,代码都是添加在 app/Admin/bootstrap.php 文件里

谷歌字体加载过慢

Admin::asset()->alias('@nunito', null, '');
Admin::asset()->alias('@montserrat', null, '');

项目使用 HTTPS 之后无法登陆

config(["admin.https"=>true]);

标题和LOGO修改

$title = '新项目标题';
$logo = '<img src="/vendors/dcat-admin/images/logo.png" width="35"> &nbsp;'.$title;
$miniLogo = '<img src="/vendors/dcat-admin/images/logo.png">';
config(['admin.logo'=>$logo,'admin.logo-mini'=>$miniLogo,'admin.title'=>$title]);


切换数据列表行操作按钮显示方式

配置参数 admin.grid.grid_action_class 参数进行配置

Dcat\Admin\Grid\Displayers\DropdownActions 下拉菜单方式
Dcat\Admin\Grid\Displayers\Actions 图标展开方式
Dcat\Admin\Grid\Displayers\ContextMenuActions 鼠标右键显示下拉菜单 (Since v1.4.5)

...

'grid' => [
    'grid_action_class' => Dcat\Admin\Grid\Displayers\DropdownActions::class,
],

...

修改侧边菜单栏读取方式

新建 App\Admin\helpers\Menu 菜单类

<?php
namespace App\Admin\helpers;
use Dcat\Admin\Support\Helper;
use Dcat\Admin\Admin;

class Menu
{
    static public function render(){
       $items = self::getSidebarData();
       admin_inject_section(\AdminSection::LEFT_SIDEBAR_MENU, function ()use($items) {
           $builder = Admin::menu();
           $html = '';
           foreach ($items as $item) {

               $html .= view('admin::partials.menu', ['item' => $item, 'builder' => $builder])->render();
           }
           return $html;
       });
   }

   /**
    * 左侧菜单改为从文件内容读取
    * @return array
    */
   static private function getSidebarData(){
       $items = Helper::buildNestedArray(require __DIR__ . "/menus.php");
       return $items;
   }
}

新建菜单文件:menus.php。权限配置 permissions 和角色配置 roles , 默认可省略。

    return [
    ['id'=>1,'parent_id'=>0,'title'=>'Index','icon'=>'feather icon-bar-chart-2','uri'=>'/','permissions'=>[],'roles'=>[]],
    ['id'=>2,'parent_id'=>0,'title'=>'Admin','icon'=>'feather icon-settings','uri'=>''],
    ['id'=>3,'parent_id'=>2,'title'=>'Users','icon'=>'','uri'=>'auth/users'],
    ['id'=>3,'parent_id'=>2,'title'=>'Roles','icon'=>'','uri'=>'auth/roles'],
    ['id'=>3,'parent_id'=>2,'title'=>'Permission','icon'=>'','uri'=>'auth/permissions'],
    ['id'=>3,'parent_id'=>2,'title'=>'Menu','icon'=>'','uri'=>'auth/menu'],
    ['id'=>3,'parent_id'=>2,'title'=>'Operation log','icon'=>'','uri'=>'auth/logs'],
];

在启动文件里添加代码 app/Admin/bootstrap.php

use App\Admin\helpers\Menu;
...
Menu::render();

生产环境完美解决方案详见: http://blog.catmes.com/archives/dcatadmin-leftsidebarmenu.html


config/admin.php 常用配置项说明

配置名释义
name后台登录页面显示标题(不是页头的 title 标签)
title所有HTML页面显示的标题或标题前缀
https开启https时需要启用

常见问题 https://learnku.com/docs/dcat-admin/1.x/common-problem
未经允许不得转载:沙滩星空的博客 » Laravel后台架构工具Dcat Admin使用笔记

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址