帮助函数

admin_redirect

Since v2.1.7-beta

跳转到指定url,此函数可用于代替redirect函数,支持pjax以及ajax请求

  1. // 不需要添加admin前缀
  2. return admin_redirect('auth/users');
  3. // 如果想要跳转到非admin前缀的链接,需要传递完整url链接
  4. return admin_redirect(url('users'));

admin_exist

admin_exist 用于中断程序执行,并响应数据到浏览器进行显示,用于代替 exitdie,下面简单介绍下用法

用法1,返回 Content 布局对象,此用法可用于返回错误信息显示到前端

  1. use Dcat\Admin\Widgets\Alert;
  2. use Dcat\Admin\Layout\Content;
  3. // 中断程序,并显示自定义页面到前端
  4. admin_exit(
  5. Content::make()
  6. ->title('标题')
  7. ->description('描述')
  8. ->body('页面内容1')
  9. ->body(Alert::make('服务器出错了~', 'Error')->danger())
  10. );

效果如下

帮助函数 - 图1

用法2,返回 json 格式数据,此用法经常用于表单提交数据的api请求拦截,或Actionapi请求拦截

  1. use Dcat\Admin\Admin;
  2. admin_exit(
  3. Admin::json()
  4. ->success('成功了')
  5. ->refresh()
  6. ->data([
  7. ...
  8. ])
  9. );
  10. // 当然也可以直接响应数组
  11. admin_exit([
  12. ...
  13. ]);

用法3,直接相应Response对象或字符串

  1. admin_exit('Hello world');
  2. admin_exit(response('Hello world', 500));

admin_color

获取内置颜色,关于主题颜色更多用法请参考主题 - 颜色章节

  1. // 获取主题色的三种方式
  2. $primary = admin_color('primary');
  3. $primary = admin_color()->get('primary');
  4. $primary = admin_color()->primary();
  5. $color = admin_color();
  6. $color->lighten('primary', 10);

admin_js

可以在任意位置引入js文件,更多用法参考静态资源章节

  1. admin_js(['@admin/xxx.js']);

admin_css

可以在任意位置引入css文件,更多用法参考静态资源章节

  1. admin_css(['@admin/xxx.css']);

admin_require_assets

可以在任意位置引入静态资源组件,更多用法参考静态资源章节

  1. admin_require_assets(['@datime']);

admin_path

获取Dcat Admin安装的应用路径,默认目录是app/Admin

  1. $bootstrap = admin_path('bootstrap.php');

admin_url

获取Dcat Admin应用的路由完整url:

  1. // 返回: http://localhost/admin/auth/users
  2. $url = admin_url('auth/users');

admin_route

根据别名获取URL

app/Admin/routes.php路由注册如下

  1. Route::group([
  2. 'prefix' => config('admin.route.prefix'),
  3. 'namespace' => config('admin.route.namespace'),
  4. 'middleware' => config('admin.route.middleware'),
  5. ], function (Router $router) {
  6. // 设置别名
  7. $router->resource('users', 'UserController', [
  8. 'names' => ['index' => 'my-users'],
  9. ]);
  10. });

根据别名获取URL

  1. // 获取url
  2. $url = admin_route('my-users');
  3. // 判断路由
  4. $isUsers = request()->routeIs(admin_route_name('users'));

admin_base_path

获取Dcat Admin应用的路由路径:

  1. // 返回: /admin/auth/users
  2. $path = admin_base_path('auth/users');

admin_toastr

在页面刷新后弹出一个toastr提示窗,参数:

  • $message 提示窗内容
  • $type 提示窗类型,默认success,支持successinfowarningerror
  • $options toastr配置参数
  1. admin_alert('更新成功', 'success');

admin_success

在页面刷新后在页面顶部显示一个成功消息:

  1. admin_success('标题', '成功了');

admin_error

在页面刷新后在页面顶部显示一个错误消息:

  1. admin_error('标题', '失败了');

admin_warning

在页面刷新后在页面顶部显示一个警告消息:

  1. admin_warning('标题', '警告');

admin_info

在页面刷新后在页面顶部显示一个提示消息:

  1. admin_info('标题', '内容');

admin_asset

获取静态资源的完整链接:

{tip} 此函数支持别名.

  1. // 引入css
  2. <link rel="stylesheet" href="{{ admin_asset("@admin/dcat-admin/main.min.css") }}">
  3. // 引入js
  4. <script src="{{ admin_asset('@admin/dcat-admin/main.min.js')}}"></script>

admin_trans_field

翻译当前控制器的字段,控制器名称去除Controller后缀之后再转化为小写中划线就是语言包的名称,如:控制器名称为UserProfileController,则对应的语言包名称为user-profile.php

{tip} 如果当前控制器对应的语言包中不存在该字段翻译,则会去公共翻译文件global.php中查找。

  1. $name = admin_trans_field('name');
  2. $createdAt = admin_trans_field('created_at');

语言包内容如下:

  1. return [
  2. 'fields' => [
  3. 'name' => '名称',
  4. 'created_at' => '创建时间',
  5. ],
  6. ];

admin_trans_label

翻译当前控制器的自定义内容,控制器名称去除Controller后缀之后再转化为小写中划线就是语言包的名称,如:控制器名称为UserProfileController,则对应的语言包名称为user-profile.php

{tip} 如果当前控制器对应的语言包中不存在该字段翻译,则会去公共翻译文件global.php中查找。

  1. $user = admin_trans_label('User');

语言包内容如下:

  1. return [
  2. 'labels' => [
  3. 'User' => '管理员',
  4. ],
  5. ];

admin_trans_option

翻译当前控制器的字段选项值,控制器名称去除Controller后缀之后再转化为小写中划线就是语言包的名称,如:控制器名称为UserProfileController,则对应的语言包名称为user-profile.php

{tip} 如果当前控制器对应的语言包中不存在该字段翻译,则会去公共翻译文件global.php中查找。

  1. $status = admin_trans_option(1, 'status');

语言包内容如下:

  1. return [
  2. 'options' => [
  3. 'status' => [
  4. 1 => '启用',
  5. 0 => '禁用'
  6. ],
  7. ],
  8. ];