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