javck / easyweb2
Easy学习指南:Laravel + Voyager
dev-master
2020-11-05 21:46 UTC
Requires
- php: ^7.3|^8.0
- laravel/framework: ^8.0
- laravel/socialite: ^5.0.3
- laravelcollective/html: ^6.2
- tcg/voyager: 1.4.*
This package is auto-updated.
Last update: 2024-09-06 06:10:14 UTC
README
**EzLaravel - 教您如何快速入门Laravel + Voyager的极速开发技巧 ❤️ by Goblin Lab Studio
基于Laravel框架,针对Voyager套件进行扩展的快速开发技巧 陪伴您快速入门Laravel
网站 & 文档: https://laravelvoyager.com
视频教程在此: https://laravelvoyager.com/academy/
加入我们的Slack聊天: https://voyager-slack-invitation.herokuapp.com/
查看Voyager速查表: https://voyager-cheatsheet.ulties.com/
画布模板: https://themeforest.net/item/canvas-the-multipurpose-html5-template/9228123
支持 Laravel 8
PS: 此套件使用到第三方的Bootstrap4模板:Moderna,版权仍属原开发者所有,如需自行下载可参考以下网址 https://bootstrapmade.com/demo/Moderna/
可安装Laravel最新版本,可使用以下指令来建立 PS:如需输入指令,均需要切换到Terminal,并跳到项目根目录文件夹
安装步骤
1.(可选)如果是新项目,需要在AppServiceProvider.php的boot()中加入 Schema::defaultStringLength(191);
2.(可选)设置config/app.php,主要是locale改为zh_TW
3.载入套件javck/Ezlaravel
正式環境 composer require javck/Ezlaravel 測試環境 composer require javck/Ezlaravel --dev
4.(可选)可载入DebuggerBar
composer require barryvdh/laravel-debugbar --dev
5.安装Voyager套件
php artisan voyager:install
6.移除routes/web.php中的voyager路由,并加入以下代码
Route::get('admin/login', ['uses' => 'Auth\VoyagerAuthController@login', 'as' => 'voyager.login']);
Route::post('admin/login', ['uses' => 'Auth\VoyagerAuthController@postLogin', 'as' => 'voyager.postlogin']);
Route::post('admin/logout', ['uses' => 'Auth\VoyagerAuthController@logout', 'as' => 'voyager.logout']);
7.移除storage/app/public/users文件夹
8.输入以下指令以复制Ezlaravel套件的publish文件
php artisan vendor:publish
9.创建数据库表和数据,执行以下指令并导入SQL文件:easyweb.sql
php artisan migrate:refresh
10.修改config/voyager.php配置文件,如下所示:
'dashboard' => [
//修改後台navbar下拉選單的選項
'navbar_items' => [
'個人資料' => [
'route' => 'voyager.profile',
'classes' => 'class-full-of-rum',
'icon_class' => 'voyager-person',
],
'返回前台' => [
'route' => '/',
'icon_class' => 'voyager-home',
'target_blank' => true,
],
'登出' => [
'route' => 'voyager.logout',
'icon_class' => 'voyager-power',
],
],
'widgets' => [
'Javck\\Ezlaravel\\Widgets\\ContactsWidget',
'Javck\\Ezlaravel\\Widgets\\UsersWidget',
],
],
'storage' => [
'disk' => 'public',
],
'compass_in_production' => true,
11.(可选)移除public路径
1. 将root path的server.php文件重命名为index.php
2. 将public文件夹的.htaccess文件复制一份到root文件夹
Options -MultiViews -Indexes
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(css|js|images)/(.*)$ public/$1/$2 [L,NC]
3. 修改.env的APP_URL路径,更正为应用的DNS,格式请参考以下
APP_NAME=EasyWeb
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_URL=
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=21
DB_DATABASE=goblinah_
DB_USERNAME=goblinah_coder
DB_PASSWORD=A79siqCf!,g0
DEBUG_IP=114.32.18.161
BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=sg1-ss5.a2hosting.com
MAIL_PORT=25
MAIL_FROM_ADDRESS=
MAIL_FROM_NAME=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=null
NOCAPTCHA_SITEKEY=
NOCAPTCHA_SECRET=
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
ECPAY_MERCHANT_ID=2000132
ECPAY_HASH_KEY=5294y06JbISpM5x9
ECPAY_HASH_IV=v77hoKGq4kWxNNIS
ECPAY_INVOICE_HASH_KEY=
ECPAY_INVOICE_HASH_IV=
SMG_USERNAME=
SMG_PASSWORD=
SMG_APIKEY=
4. 将Select2版本改为4.0.2以下(目前默认为4.0.3)
1. 修改voyager套件根目录的package.json,将select2版本指定为4.0.2
2. 将Terminal目录切换到voyager套件目录,依次执行npm install 和 npm run production
3. 将voyager/publishable/assets/js/app.js复制到public/vendor/tcg/voyager/assets/js/app.js
4. 修改DataType,将用户的Model改为App\User
5. 将Canvas的HTML文件夹所有文件复制到项目的public文件夹,记得移除index.html
6. 修改webpack.mix.js,内容如下
const mix = require('laravel-mix');
/*
|--------------------------------------------------------------------------
| Mix Asset Management
|--------------------------------------------------------------------------
|
| Mix provides a clean, fluent API for defining some Webpack build steps
| for your Laravel application. By default, we are compiling the Sass
| file for the application as well as bundling up all the JS files.
|
*/
mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css');
mix.styles([
'public/css/bootstrap.css',
'public/style.css',
'public/css/swiper.css',
'public/css/dark.css',
'public/css/font-icons.css',
'public/css/animate.css',
'public/css/magnific-popup.css',
'public/css/responsive.css',
], 'public/css/all.css');
mix.scripts([
'public/js/jquery.js',
'public/js/plugins.js',
'public/js/functions.js',
], 'public/js/all.js');
mix.disableSuccessNotifications();
7. 如果需要忘记密码或注册功能,在routes/web.php中添加
Auth::routes();
8. 修改app/Http/Middleware/Authenticate.php,改为
route(‘voyager.login');