laravel-frontend-presets / material-dashboard
Laravel 10.x 物料前端预设
Requires
- laravel/framework: ^10.0
- laravel/legacy-factories: ^1.0
README
前端版本: 物料仪表板 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 本地环境,请使用以下链接之一
- Windows: https://updivision.com/blog/post/beginner-s-guide-to-setting-up-your-local-development-environment-on-windows
- Linux: https://howtoubuntu.org/how-to-install-lamp-on-ubuntu
- Mac: https://wpshout.com/quick-guides/how-to-install-mamp-on-your-mac/
此外,您还需要安装 Composer: https://getcomposer.org.cn/doc/00-intro.md
以及 Laravel: https://laravel.net.cn/docs/9.x/installation
安装
在初始化 Laravel 的新实例(并进行所有必要的配置)后,使用提供的方法之一安装预设
通过 Composer
Cd
到您的 Laravel 应用- 在终端输入:
composer require laravel/ui
- 使用
composer require laravel-frontend-presets/material-dashboard
安装此预设。无需注册服务提供程序。Laravel 9.x 及以上版本可以自动检测此包。 - 运行
php artisan ui material
命令以安装 Material 预设。这将安装所有必要的资源,包括自定义认证视图,它还会在routes/web.php
中添加认证路由(注意:如果您多次运行此命令,请确保清理 routes/web.php 中的重复 Auth 条目) - 在终端运行
composer dump-autoload
- 运行
php artisan migrate:fresh --seed
以创建基本用户表
通过存档
- 在应用程序的根目录下创建一个 presets 文件夹
- 下载存储库的存档并将其解压缩
- 将下载的文件夹复制并粘贴到预设(步骤 2 中创建)中,并将其重命名为 material
- 打开
composer.json
文件 - 将
"LaravelFrontendPresets\\MaterialPreset\\": "presets/material/src"
添加到autoload/psr-4
和autoload-dev/psr-4
- 将
LaravelFrontendPresets\MaterialPreset\MaterialPresetServiceProvider::class
添加到config/app.php
文件 - 在终端输入:
composer require laravel/ui
- 在终端运行
composer dump-autoload
- 运行
php artisan ui material
命令以安装 Argon 预设。这将安装所有必要的资源和自定义认证视图,还将添加routes/web.php
中的认证路由(注意:如果您多次运行此命令,请务必清理 routes/web.php 中的重复认证条目)。 - 在您的 .env 文件中添加数据库信息。
- 运行
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 的官方错误跟踪器。以下是我们对希望报告问题的用户的建议:
- 请确保您正在使用 Material Dashboard 的最新版本。检查我们 网站 仪表板上的 CHANGELOG。
- 提供可重现问题的步骤将缩短修复问题所需的时间。
- 某些问题可能特定于浏览器,因此指定您在哪个浏览器中遇到问题可能会有所帮助。
许可协议
- 版权所有 2022 Creative Tim
- Creative Tim 许可
实用链接
- 教程
- 联盟计划(赚钱)
- Creative Tim 博客
- Creative Tim 的免费产品
- Creative Tim 的付费产品
- Creative Tim 的React 产品
- Creative Tim 的VueJS 产品
- Creative Tim 的更多产品
- 查看我们的捆绑包这里
社交媒体
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