Dcat Admin v1.7.0 发布 - 增加全新菜单样式,以及全组件异步渲染功能

2020-08-26 09:16:17 +08:00
 jqh

版本变化

Hi,各位同学大家好!Dcat Admin又发布新版本了,此次版本更新主要是

关于 2.0

2.0会是一个更加轻量和简洁的版本,在2.0版本中我们将会上线:

  1. 全新插件系统,对普通用户和开发者都更加友好(将会兼容composer安装和在线安装两种方式)
  2. 开发全新主题,以及更友好的主题扩展机制
  3. 重构内部一些不合理的功能设计
  4. 提炼、简化核心功能,把一些非必要的相对复杂的功能移至插件中心

关于进度

2.0会在1.0的基本功能相对完善之后发布,目前仍在开发中,相信很快就能跟大家见面,感谢大家的关注!

下面简单介绍一下此次更新的主要内容

全新菜单样式

新菜单样式体验请前往演示站点(点击网站设置可以切换样式),效果如下

界面的样式效果一直都是Dcat Admin的重点优化项目之一,后续也会根据用户的反馈不断改进和开发新的主题

全组件异步渲染支持

这个版本对异步加载功能进行了优化,使其支持了静态资源按需加载的特性。 目前内置的所有组件都支持使用异步渲染功能,并且支持在页面的任意位置上使用,详细用法请参考文档 异步加载

定义渲染类

<?php

namespace App\Admin\Renderable;

use App\Admin\Widgets\Charts\Bar;
use Dcat\Admin\Support\LazyRenderable;

class PostChart extends LazyRenderable
{
    public function render()
    {
    	// 获取外部传递的参数
    	$id = $this->id;
        
    	// 查询数据逻辑
    	$data = [...];
    	
    	// 这里可以返回内置组件,也可以返回视图文件或 HTML 字符串
        return Bar::make($data);
	}
}

使用

public function index(Content $content)
{
	$modal = Modal::make()
 	    ->lg() 
		->delay(300) // loading 效果延迟时间设置长一些,否则图表可能显示不出来
 	    ->title('异步加载 - 图表')
 	    ->body(PostChart::make())
 	    ->button('<button class="btn btn-white"><i class="feather icon-bar-chart-2"></i> 异步加载</button>');
		
	return $content->body($modal);
}

效果

异步加载表单,创建表单类如下

<?php

namespace App\Admin\Forms;

use Dcat\Admin\Contracts\LazyRenderable;
use Dcat\Admin\Traits\LazyWidget;
use Dcat\Admin\Widgets\Form;

class UserProfile extends Form implements LazyRenderable
{
    use LazyWidget;

    public function handle(array $input)
    {
        return $this->success('保存成功');
    }

    public function form()
    {
        $this->text('name')->required()->help('用户昵称');
        $this->image('avatar')->autoUpload();

        $this->password('old_password');

        $this->password('password')
            ->minLength(5)
            ->maxLength(20);
        $this->password('password_confirmation')
            ->same('password');
    }
}

使用

public function index(Content $content)
{
	$modal = Modal::make()
 	    ->lg() 
 	    ->title('异步加载 - 表单')
 	    ->body(UserProfile::make())
 	    ->button('<button class="btn btn-white"> 异步加载</button>');
		
	return $content->body($modal);
}

效果

表格选择器

之前的版本中提供了弹窗选择器功能,但部分同学反映这个功能体验不是很好,所以这次版本增加了表格选择器(selectTable)表单,用来替代弹窗选择器功能

use App\Admin\Renderable\UserTable;
use Dcat\Admin\Models\Administrator;

$form->selectTable($field)
    ->title('弹窗标题')
    ->dialogWidth('50%') // 弹窗宽度,默认 800px 
    ->from(UserTable::make(['id' => $form->getKey()])) // 设置渲染类实例,并传递自定义参数
    ->model(Administrator::class, 'id', 'name'); // 设置编辑数据显示

效果

权限配置功能优化

配置权限路径时支持填写路由别名,如 admin.users.show

更多内容

此次版本是Dcat Admin发布以来更新内容最多,开发时间最长的一次,更多更新内容这里不再贴出,具体查看请前往更新日志

Dcat Admin

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

在线演示站点 | LearnKu 官方文档 | Github 主页(如果喜欢这个项目不妨点个 star,感谢支持!) | Gitee 主页

升级方法

composer update dcat/laravel-admin

本次版本需要重新发布静态资源以及语言包,然后按Ctrl+F5清除浏览器缓存

php artisan admin:publish --assets --force
php artisan admin:publish --lang --force
3895 次点击
所在节点    PHP
28 条回复
jqh
2020-08-26 17:31:58 +08:00
@mokeyjay 感谢支持,2.0 的功能接口改动不会很大,到时候也会有详细的升级指导文档
chenqh
2020-08-26 19:04:55 +08:00
@jqh 我也想有这水平的 css
pinews
2020-08-31 11:31:29 +08:00
该有的都有了
chu1204505056
2020-09-29 14:12:58 +08:00
也是刷出来的?
jqh
2020-09-29 14:18:06 +08:00
@chu1204505056 是不是刷,有没有真实用户是可以看出来的
chu1204505056
2020-09-29 14:22:51 +08:00
做的也挺一般的有什么资格去质疑别的框架 人家招你惹你了
jqh
2020-09-29 14:29:15 +08:00
@chu1204505056 我错了大佬,你比较牛
learningman
2020-09-29 16:18:35 +08:00
@chu1204505056 人家这样的 readme 才是正常的,你看看你自己写的是什么玩意儿

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/701454

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX