laravel-frontend-presets/material-dashboard

Laravel 10.x 物料前端预设

v2.0.3 2023-03-13 10:17 UTC

This package is auto-updated.

Last update: 2024-09-13 13:41:44 UTC


README

version license GitHub issues open GitHub issues closed

前端版本: 物料仪表板 v3.0.0。更多信息请访问 https://www.creative-tim.com/product/material-dashboard

使用为 Laravel 框架 9.x 及以上版本构建的 Bootstrap 5 管理仪表板,加快您的 Web 开发速度。

如果您想获取更多功能,请使用 Material Dashboard 2 PRO Laravel 进行 PRO 版本升级。

目录

先决条件

如果您还没有配置带有 PHP 和 MySQL 的 Apache 本地环境,请使用以下链接之一

此外,您还需要安装 Composer: https://getcomposer.org.cn/doc/00-intro.md
以及 Laravel: https://laravel.net.cn/docs/9.x/installation

安装

在初始化 Laravel 的新实例(并进行所有必要的配置)后,使用提供的方法之一安装预设

通过 Composer

  1. Cd 到您的 Laravel 应用
  2. 在终端输入: composer require laravel/ui
  3. 使用 composer require laravel-frontend-presets/material-dashboard 安装此预设。无需注册服务提供程序。Laravel 9.x 及以上版本可以自动检测此包。
  4. 运行 php artisan ui material 命令以安装 Material 预设。这将安装所有必要的资源,包括自定义认证视图,它还会在 routes/web.php 中添加认证路由(注意:如果您多次运行此命令,请确保清理 routes/web.php 中的重复 Auth 条目)
  5. 在终端运行 composer dump-autoload
  6. 运行 php artisan migrate:fresh --seed 以创建基本用户表

通过存档

  1. 在应用程序的根目录下创建一个 presets 文件夹
  2. 下载存储库的存档并将其解压缩
  3. 将下载的文件夹复制并粘贴到预设(步骤 2 中创建)中,并将其重命名为 material
  4. 打开 composer.json 文件
  5. "LaravelFrontendPresets\\MaterialPreset\\": "presets/material/src" 添加到 autoload/psr-4autoload-dev/psr-4
  6. LaravelFrontendPresets\MaterialPreset\MaterialPresetServiceProvider::class 添加到 config/app.php 文件
  7. 在终端输入: composer require laravel/ui
  8. 在终端运行 composer dump-autoload
  9. 运行 php artisan ui material 命令以安装 Argon 预设。这将安装所有必要的资源和自定义认证视图,还将添加 routes/web.php 中的认证路由(注意:如果您多次运行此命令,请务必清理 routes/web.php 中的重复认证条目)。
  10. 在您的 .env 文件中添加数据库信息。
  11. 运行 php artisan migrate:fresh --seed 以创建基本用户表

使用

使用数据库中的默认用户 admin@material.com 和密码 secret 注册用户或登录,并开始测试(请确保运行迁移和种子以使这些凭据可用)。

除了仪表板、认证页面、计费和表格页面外,还有一个编辑个人资料页面。所有必要的文件都已安装,并且所有需要的路由都添加到了 routes/web.php 中。请注意,登录后可以查看所有功能,或者注册自己的用户。

版本

演示

文档

Material Dashboard Laravel 的文档托管在我们的 网站 上。

登录

如果您未登录,则只能访问此页或注册页面。默认 URL 会带您到登录页面,在那里您可以使用默认凭据 admin@material.com 和密码 secret 登录。只有使用现有凭据才能登录。为此,您应运行迁移。

App/Http/Controllers/SessionsController.php 处理现有用户的登录。

       public function store()
    {
        $attributes = request()->validate([
            'email' => 'required|email',
            'password' => 'required'
        ]);

        if (! auth()->attempt($attributes)) {
            throw ValidationException::withMessages([
                'email' => 'Your provided credentials could not be verified.'
            ]);
        }

        session()->regenerate();

        return redirect('/dashboard');

    }

注册

您可以通过填写账户的名称、电子邮件和密码来注册用户。您可以通过点击顶部导航栏中的 "注册" 按钮,或从登录表单底部点击 "注册" 按钮来完成此操作。另一种简单的方法是在 URL 中添加 /sign-up

App/Http/Controllers/RegisterController.php 处理新用户的注册。

   public function store(){

        $attributes = request()->validate([
            'name' => 'required|max:255|unique:users,name',
            'email' => 'required|email|max:255|unique:users,email',
            'password' => 'required|min:5|max:255',
        ]);

        $user = User::create($attributes);
        auth()->login($user);
        
        return redirect('/dashboard');
    } 

忘记密码

如果用户忘记了账户密码,可以重置密码。为此,用户应点击登录表单下的 "这里"。

App/Http/Controllers/SessionsController.php 负责向用户发送电子邮件,用户可以通过该电子邮件重置密码。

       public function show(){

        request()->validate([
            'email' => 'required|email',
        ]);

        $status = Password::sendResetLink(
            request()->only('email')
        );
    
        return $status === Password::RESET_LINK_SENT
                    ? back()->with(['status' => __($status)])
                    : back()->withErrors(['email' => __($status)]);
    }

重置密码

忘记密码的用户会收到账户电子邮件地址的电子邮件。用户可以通过点击电子邮件中的按钮访问重置密码页面。重置密码的链接有效期为 12 小时。用户必须添加电子邮件、密码并确认密码才能更新密码。

App/Http/Controllers/SessionsController.php 帮助用户重置密码。

     public function update(){
        
        request()->validate([
            'token' => 'required',
            'email' => 'required|email',
            'password' => 'required|min:8|confirmed',
        ]); 
          
        $status = Password::reset(
            request()->only('email', 'password', 'password_confirmation', 'token'),
            function ($user, $password) {
                $user->forceFill([
                    'password' => ($password)
                ])->setRememberToken(Str::random(60));
    
                $user->save();
    
                event(new PasswordReset($user));
            }
        );
    
        return $status === Password::PASSWORD_RESET
                    ? redirect()->route('login')->with('status', __($status))
                    : back()->withErrors(['email' => [__($status)]]);
    }

用户资料

登录用户可以通过点击侧边栏中的 "用户资料" 或在 URL 中添加 /user-profile 来访问个人资料。用户可以添加电话号码、位置、描述或更改名称和电子邮件。

App/Http/Controllers/ProfileController.php 处理用户的个人资料信息。

    public function update()
    {
            
        $user = request()->user();
        $attributes = request()->validate([
            'email' => 'required|email|unique:users,email,'.$user->id,
            'name' => 'required',
            'phone' => 'required|max:10',
            'about' => 'required:max:150',
            'location' => 'required'
        ]);
        auth()->user()->update($attributes);
        return back()->withStatus('Profile successfully updated.');
    
}

仪表板

您可以通过使用左侧边栏中的 "仪表板" 链接或登录后在 URL 中添加 /dashboard 来访问仪表板。

文件结构

+---app
|   +---Console
|   |       Kernel.php
|   +---Exceptions
|   |       Handler.php
|   +---Http
|   |   +---Controllers
|   |   |       Controller.php
|   |   |       DashboardController.php
|   |   |       ProfileController.php
|   |   |       SessionsController.php
|   |   |       RegisterController.php
|   |   |       
|   |   +---Middleware
|   |   |       Authenticate.php
|   |   |       EncryptCookies.php
|   |   |       PreventRequestsDuringMaintenance.php
|   |   |       RedirectIfAuthenticated.php
|   |   |       TrimStrings.php
|   |   |       TrustHosts.php
|   |   |       TrustProxies.php
|   |   |       VerifyCsrfToken.php
|   |   |
|   |    \---Kernel.php   
|   |   
|   +---Models
|   |        User.php
|   |     
|   \---Proviers
|          AppServiceProvider.php
|          AuthServiceProvider.php
|          BroadcastServiceProvider.php
|          EventServiceProvider.php
|          RouteServiceProvider.php
|   
+---database
|   \---seeders
|           DatabaseSeeder.php
|
\---resources
    |
    |
    \---views
        |   welcome.blade.php
        |   
        +---sessions
        |   |   create.blade.php
        |   |   
        |   \---passwords
        |           reset.blade.php
        |           verify.blade.php
        |           
        +---components
        |   |   layout.blade.php
        |   |   plugins.blade.php
        |   |   
        |   +---footers
        |   |       auth.blade.php
        |   |       guest.blade.php
        |   |       
        |   \---navbars
        |      |   sidebar.blade.php
        |      |   
        |      \---navs
        |             auth.blade.php
        |             guest.blade.php
        |              
        |           
        +---pages
        |   |   billing.blade.php
        |   |   notifications.blade.php
        |   |   profile.blade.php
        |   |   rtl.blade.php
        |   |   static-sign-in.blade.php
        |   |   static-sign-up.blade.php
        |   |   tables.blade.php
        |   |   virtual-reality.blade.php
        |   |  
        |   \---laravel-examples
        |           user-management.blade.php
        |           user-profile.blade.php
        |       
        +---dashboard
        |       index.blade.php
        | 
        +---errors
        |       401.blade.php
        |       403.blade.php
        |       404.blade.php
        |       405.blade.php
        |       419.blade.php
        |       429.blade.php
        |       500.blade.php
        |       503.blade.php
        |
        \---register
                create.blade.php

浏览器支持

目前,我们正式支持以下浏览器的最后两个版本:

报告问题

我们使用 GitHub Issues 作为 Material Dashboard 的官方错误跟踪器。以下是我们对希望报告问题的用户的建议:

  1. 请确保您正在使用 Material Dashboard 的最新版本。检查我们 网站 仪表板上的 CHANGELOG。
  2. 提供可重现问题的步骤将缩短修复问题所需的时间。
  3. 某些问题可能特定于浏览器,因此指定您在哪个浏览器中遇到问题可能会有所帮助。

许可协议

实用链接

社交媒体

Creative Tim

Twitter: https://twitter.com/CreativeTim?ref=md2l-readme

Facebook: https://#/CreativeTim?ref=md2l-readme

Dribbble: https://dribbble.com/creativetim?ref=md2l-readme

Instagram: https://www.instagram.com/CreativeTimOfficial?ref=md2l-readme

Updivision

Twitter: https://twitter.com/updivision?ref=md2l-readme

Facebook: https://#/updivision?ref=md2l-readme

LinkedIn: https://www.linkedin.com/company/updivision?ref=md2l-readme

Updivision 博客: https://updivision.com/blog/?ref=md2l-readme

致谢