Laravel 10.x 版argon前端预设

v2.0.1 2023-03-10 10:14 UTC

This package is auto-updated.

Last update: 2024-09-12 10:17:19 UTC


README

version license GitHub issues open GitHub issues closed

前端版本:Argon Dashboard v3.0.0。更多信息请访问 https://www.creative-tim.com/product/argon-dashboard

使用专为Laravel框架9.x及以上版本构建的Bootstrap 5 Admin Dashboard,加快您的Web开发速度。

如果您想获得更多功能,请使用 Argon Dashboard 2 PRO Laravel 升级到PRO版本。

目录

先决条件

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

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

安装

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

通过composer

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

通过存档

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

使用

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

除了仪表板,还有认证页面、账单和表格页面,还有一个编辑个人资料页面。所有必要的文件都是默认安装的,所有需要的路由都添加到了 routes/web.php。请记住,一旦使用提供的凭证登录或注册自己的用户,就可以查看所有功能。

版本

演示

文档

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

登录

如果您未登录,则只能访问此页面或注册页面。默认网址会带您进入登录页面,您可以使用默认凭证 admin@argon.com 和密码 secret 登录。登录只能使用现有的凭证。为了使其生效,您应该已经运行了迁移。

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

    public function login(Request $request)
    {
        $credentials = $request->validate([
            'email' => ['required', 'email'],
            'password' => ['required'],
        ]);

        if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) {
            $request->session()->regenerate();

            return redirect()->intended('dashboard');
        }

        return back()->withErrors([
            'email' => 'The provided credentials do not match our records.',
        ]);
    }

注册

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

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

    public function store()
    {
        $attributes = request()->validate([
            'username' => 'required|max:255|min:2',
            'email' => 'required|email|max:255|unique:users,email',
            'password' => 'required|min:5|max:255',
            'terms' => 'required'
        ]);
        $user = User::create($attributes);
        auth()->login($user);

        return redirect('/dashboard');
    }

忘记密码

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

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

    public function send(Request $request)
    {
        $email = $request->validate([
            'email' => ['required']
        ]);
        $user = User::where('email', $email)->first();

        if ($user) {
            $this->notify(new ForgotPassword($user->id));
            return back()->with('succes', 'An email was send to your email address');
        }
    }

重置密码

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

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

    public function update(Request $request)
    {
        $attributes = $request->validate([
            'email' => ['required'],
            'password' => ['required', 'min:5'],
            'confirm-password' => ['same:password']
        ]);

        $existingUser = User::where('email', $attributes['email'])->first();
        if ($existingUser) {
            $existingUser->update([
                'password' => $attributes['password']
            ]);
            return redirect('login');
        } else {
            return back()->with('error', 'Your email does not match the email who requested the password change');
        }
    }

用户资料

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

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

        auth()->user()->update([
            'username' => $request->get('username'),
            'firstname' => $request->get('firstname'),
            'lastname' => $request->get('lastname'),
            'email' => config('app.is_demo') ? auth()->user()->email : $request->get('email') ,
            'address' => $request->get('address'),
            'city' => $request->get('city'),
            'country' => $request->get('country'),
            'postal' => $request->get('postal'),
            'about' => $request->get('about')
        ]);
    
}

仪表板

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

文件结构

 ┣ 📂Console
 ┃ ┗ 📜Kernel.php
 ┣ 📂Exceptions
 ┃ ┗ 📜Handler.php
 ┣ 📂Http
 ┃ ┣ 📂Controllers
 ┃ ┃ ┣ 📜ChangePassword.php
 ┃ ┃ ┣ 📜Controller.php
 ┃ ┃ ┣ 📜HomeController.php
 ┃ ┃ ┣ 📜LoginController.php
 ┃ ┃ ┣ 📜PageController.php
 ┃ ┃ ┣ 📜RegisterController.php
 ┃ ┃ ┣ 📜ResetPassword.php
 ┃ ┃ ┗ 📜UserProfileController.php
 ┃ ┣ 📂Middleware
 ┃ ┃ ┣ 📜Authenticate.php
 ┃ ┃ ┣ 📜EncryptCookies.php
 ┃ ┃ ┣ 📜PreventRequestsDuringMaintenance.php
 ┃ ┃ ┣ 📜RedirectIfAuthenticated.php
 ┃ ┃ ┣ 📜TrimStrings.php
 ┃ ┃ ┣ 📜TrustHosts.php
 ┃ ┃ ┣ 📜TrustProxies.php
 ┃ ┃ ┗ 📜VerifyCsrfToken.php
 ┃ ┗ 📜Kernel.php
 ┣ 📂Models
 ┃ ┗ 📜User.php
 ┣ 📂Notifications
 ┃ ┗ 📜ForgotPassword.php
 ┣ 📂Providers
 ┃ ┣ 📜AppServiceProvider.php
 ┃ ┣ 📜AuthServiceProvider.php
 ┃ ┣ 📜BroadcastServiceProvider.php
 ┃ ┣ 📜EventServiceProvider.php
 ┃ ┗ 📜RouteServiceProvider.php
 ┗ 📂View
 ┃ ┗ 📂Components
 ┃ ┃ ┗ 📜Alert.php

浏览器支持

目前,我们官方目标是支持以下浏览器的最后两个版本

报告问题

我们使用 GitHub Issues 作为 Material Dashboard 的官方问题跟踪器。以下是我们为想要报告问题的用户提供的一些建议

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

许可

有用链接

社交媒体

创意时间

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

致谢