jf-admin 是基於Laravel 5.5+ 的擴展包(支持Laravel 5.5+, 6.x, 7.x),助你構建自己的後台管理系統。
?演示站點:
https://jfadmin.imzhi.me/jfadmin/login,用戶名:admin,密碼:admin。
?演示截屏:
內容:
jf-admin 提供後台登錄、權限控制和操作日誌查看等功能。權限控制採用RBAC,包括成員管理、角色管理、權限管理。
前端主題使用inspinia。
├── config
├── database
│ └── migrations
├── resources
│ ├── assets
│ │ ├── inspinia
│ │ └── jfadmin
│ ├── lang
│ │ ├── en
│ │ └── zh-CN
│ └── views
│ ├── auth
│ ├── home
│ ├── layouts
│ ├── manageuser
│ ├── profile
│ └── setting
└── src
├── Console
│ └── stubs
├── Controllers
├── Facades
├── Middleware
├── Models
├── Repositories
├── Requests
└── Seeds
包名 | 約束版本 | 說明 |
---|---|---|
mews/captcha | ^2.2 | 圖形驗證碼 |
spatie/laravel-activitylog | ^2.8 | 操作日誌記錄 |
spatie/laravel-permission | ^2.37 | 權限控制 |
doctrine/annotations | ^1.8 | 註解解析 |
發布命令
php artisan vendor:publish --provider= " ImzhiJFAdminJFAdminServiceProvider "
發布必要文件到項目中:
├── config => config_path()
├── database
│ └── migrations => database_path('migrations')
├── resources
│ ├── assets => public_path('vendor/jfadmin')
│ │ ├── inspinia
│ │ └── jfadmin
│ ├── lang => resource_path('lang/vendor/jfadmin')
│ │ ├── en
│ │ └── zh-CN
│ └── views
│ ├── auth
│ ├── home => resource_path('views/vendor/jfadmin/home')
│ ├── layouts => resource_path('views/vendor/jfadmin/layouts')
│ ├── manageuser
│ ├── profile
│ └── setting
└── src
├── Console
│ └── stubs
├── Controllers
├── Facades
├── Middleware
├── Models
├── Repositories
├── Requests
└── Seeds
安裝命令
php artisan jfadmin:install
首先會檢查配置文件config/jfadmin.php
是否存在,安裝時需要用到。
執行遷移文件,並且生成初始的管理員用戶(默認用戶名:admin,密碼:admin)。
新建目錄(默認為app/JFAdmin),並生成後台首頁控制器類文件(HomeController)和路由文件(routes.php):
app
└── JFAdmin
├── Controllers
│ └── HomeController.php
└── routes.php
php artisan jfadmin:uninstall
輸入上面命令後會彈出確認提示,鍵入yes 後,會開始卸載操作,將會刪除:
jfadmin::install
新建的目錄(默認為app/JFAdmin)config_path('jfadmin.php')
public_path('vendor/jfadmin')
resource_path('lang/vendor/jfadmin')
resource_path('views/vendor/jfadmin')
請注意:卸載命令不會去更改數據表。卸載成功後如需重新安裝請先執行發布命令再執行安裝命令。
title
站點標題
caption
站點標題縮寫(小屏瀏覽時用到)
welcome
歡迎語句(後台首頁右上角的歡迎語句)
wallpaper
登錄頁面的背景圖(支持URL 和項目可訪問的路徑)
wallpaper_class
登錄頁面標題文件的CSS class
directory
安裝目錄(jfadmin::install 命令生成文件將要安裝的目錄)
操作日誌記錄使用的laravel-activitylog 擴展包,數據表是activity_log。
jf-admin 新增兩個響應宏:suc 和fai,分別對應成功響應宏和失敗響應宏,當調用成功響應宏時會進行操作日誌的記錄。
請注意:這兩個響應宏只適用於Ajax 操作返迴響應數據。
默認的超級管理員角色名稱是Super Admin,也可以在配置文件中設置多個超級管理員角色名稱。
初始管理員賬號就是超級管理員,可以進行任何操作。
jf-admin 有兩個重要的中間件:jfadmin.auth,jfadmin.permission。
jfadmin.auth 檢測用戶會話登錄狀態和用戶賬號的狀態。
jfadmin.permission 根據路由名稱檢測用戶的操作權限。
重置密碼
php artisan jfadmin:reset-password
輸入要修改的管理員用戶名,並輸入密碼、重複密碼。
第一步
使用Composer 安裝jf-admin 擴展包:
composer require imzhi/jf-admin ^1.1
第二步
發布laravel-permission 和laravel-activitylog 擴展包的遷移文件,並執行遷移命令:
php artisan vendor:publish --provider="SpatiePermissionPermissionServiceProvider" --tag="migrations"
php artisan vendor:publish --provider="SpatieActivitylogActivitylogServiceProvider" --tag="migrations"
php artisan migrate --step
發布mews/captcha 擴展包的配置文件:
php artisan vendor:publish --provider="MewsCaptchaCaptchaServiceProvider"
修改配置文件config/captcha.php
的length,修改成4:
return [
// 省略
' default ' => [
' length ' => 4 ,
第三步
發布jf-admin 擴展包的文件,並執行安裝命令:
php artisan vendor:publish --provider="ImzhiJFAdminJFAdminServiceProvider"
php artisan jfadmin:install
經過以上三步,擴展包安裝成功。
訪問URL 為:http://xxx.xxx/jfadmin/login,默認用戶名:admin,密碼:admin。
jf-admin 擴展包使用MIT 許可證。