javck/easyweb2

Easy学习指南:Laravel + Voyager

安装: 85

依赖: 0

建议者: 0

安全: 0

星标: 2

关注者: 1

分支: 0

开放问题: 0

类型:

dev-master 2020-11-05 21:46 UTC

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

Voyager Screenshot

网站 & 文档: 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');

9. 设置Canvas设置