Dcat-admin使用心得

基于laravel-admin开发的开箱即用的后台管理系统。
官网:http://www.dcatadmin.com/

laravel-admin本人也实战过几个项目,总体对比下来,两者体感如下:

  1. 界面美观程度:Dcat完胜
  2. Bug:Dcat用下来基本没有什么Bug,Laravel-admin我用的1.0,还是有一些bug需要自己改vendor修复
  3. 代码生成器:Dcat的代码生成器相对完善
  4. 组件&细节:
  • Excel导出:虽然Dcat做了封装,但是默认导出原始字段内容不太方便,grid中处理一遍后还需要在export函数中再处理一遍;
  • 分步表单:Dcat删除了Laravel-admin原有的分步表单,自己搞了一套,但是反而应用面变窄了,没有那么好用,而且默认不集成需要以扩展形式安装。
  • 富文本编辑器:Dcat封装了editor,可以直接使用还是挺方便的

一些经验:

  • form表单中使用when方法时,两组when中不能使用同字段名,会导致form表单提交时存在两个相同name的input,英文when方法的切换只是用了display和hide样式控制,实际input的html已渲染,使用同名字段会在提交时造成冲突。解决办法:使用不同的字段名,在form->saving()方法中处理:
$form->saving(function (Form $form) {
                $request = request()->all();
                if (isset($request['married']) && in_array($request['married'], [Person::IS_DIVORCED, Person::IS_WIDOWED]) && isset($request['file_jhz_1'])) {
//用file_jhz_1的内容覆盖file_jhz字段
                    $form->input('file_jhz', $request['file_jhz_1']);
                }
            });
  • 表单、列表、详情的一些通用配置可以提取到bootstrap文件中统一处理;
  • 把vendor中的view目录复制出来,方便后期做修改,配置写在bootstrap文件中:
app('view')->prependNamespace('admin', resource_path('views/company'));
  • 如果开启了多后台,可以用app()->switch()方法切换当前方法所属后台,使用dcat-admin提供的方法时,默认都会走admin路径。

未完待续。。。

你可能感兴趣的:(Dcat-admin使用心得)