Redis キャッシュを使用する必要があります。ファイルおよびデータベース キャッシュは tags() をサポートしていません
Windows Redis のダウンロード アドレス: http://pan.baidu.com/s/1i56thcD
Redis キャッシュと lv5 の Redis キャッシュをすぐに使用する: https://laravel-china.org/topics/877
フロントエンドテンプレートをご自身で購入していただき、侵害がある場合は作者にご連絡ください。
ユーザー権限ロール拡張: zizaco/entrust
redis 拡張子: predis/predis
メニューでアクティベーション拡張機能を選択します: hieu-le/active
データベース拡張子: prettus/l5-repository
クエリによって返される配列形式
アーキテクチャの依存関係の説明: http://oomusou.io/laravel/laravel-architecture/
Laravel 用 jQuery DataTables API: yajra/laravel-datatables-oracle
ログ読み取り拡張機能: arcanedev/log-viewer
アプリのログ設定 'log' => env('APP_LOG', 'daily'),
画像処理拡張: intervention/image
PHP Redis 拡張機能
PHP cURL 拡張子
PHP OpenSSL 拡張機能
マテリアル管理モジュールを拡張するには PHP fileinfo が必要です
http://datatables.club/
https://datatables.yajrabox.com
インライン編集: https://vitalets.github.io/x-editable/docs.html
https://github.com/DukeAnn/Laradmin/blob/master/UpdateLog.md
1. コードをローカルにプルします。
2. composer install
3. データベースとデフォルトの電子メール送信サーバーに接続するように.evn
構成ファイルを設定し、 APP_URL=http://laradmin.app
を設定し、 php artisan key:generate
を実行してキーを生成します。
4. 移行と移入を実行する
php artisan migrate --seed
インストール完了
デモのアドレス: http://admin.amyair.cn
テストアカウント: 右上隅に直接登録します
1. 権限管理拡張機能は、l5 データベース拡張機能を使用しません。
2. 背景の左側のメニューは、選択された状態に自動的に対応します。Web サイト上のすべてのルートに名前を付ける必要があり、同じメニュー オプションの下のルート名のプレフィックスは一貫しています (例: admin.index
、 admin.create
、 admin.show
)。 admin.edit
などのリソース タイプ ルートには自動的に名前が付けられます。 Index で終わる路線名はすべて背景の左側のメニューに表示されます。プログラムが方向にジャンプする場合は、 route();
を使用します。 トップレベルメニュー配下のサブカテゴリの権限が禁止されている場合は、トップレベルメニューのユーザー権限を追加し、ユーザーに権限が無くメニューが表示されないように設定してください。 バックグラウンド メニューの表示の原則は、メニュー URI を通じてユーザーの権限を照会することです。権限が設定されている場合は、権限が設定されていない場合は表示されません。 。 サブクラスを持つメニュー項目に設定された URI は HTML には出力されませんが、JavaScript:; のみが出力されるため、サブメニューのない URI は、次のように解析されます。 Route() 関数。ルート名が存在しない場合は、エラーが報告されます。
3. ページ内のブレッドクラムは、言語パッケージに書き込まれます。言語パッケージ内の名前はRoute::currentRouteName();
(ルート名) の値に対応します。ブレッドクラムは、サービス インジェクションAppPresentersAdminCrumbsService
によって生成されます。 AppPresentersAdminCrumbsService
言語パッケージで定義されていません。言語パックのキー値を直接表示します。
4. クロージャ ルーティングはルーティングに使用できません。そうしないとRoute::currentRouteName();
が有効になりません。また、すべての権限の検証とメニュー ジャンプでそのルーティング名が使用されます。
5. 権限認証では、権限を使用してルート名をバインドし、 app/Http/Middleware/CheckPermission.php
ミドルウェアで検証します。ルート名が権限にバインドされていない場合は、フォーム送信権限がapp/Http/Requests
で検証されます。許可制限はありません。
6. バックグラウンドでメニューを追加する場合、既存のルート名を追加することはできません。追加すると、Web サイトがクラッシュします。追加すると左側にメニューが表示されるためですが、ルート名が存在しない場合は解析できずエラーが報告されます。うっかりミスをしてしまった場合は、 php artisan cache:clear
を実行してキャッシュをクリアし、データベースに挿入された間違ったデータを削除してください。ページを更新してください。
###json形式はAPI共通
{
"code" : 0 ,
"url" : http://...
"message" : " ... " ,
"errors" : [
{
"code" : 10000 ,
"field" : " user " ,
"message" : "用户 不存在。 "
}
],
"pagination" : {
"total" : 10 ,
"per_page" : 10 ,
"current_page" : 1 ,
"last_page" : 1 ,
"from" : 1 ,
"to" : 10
},
"data" : {
...
}
}
####json戻り値説明code
処理結果ステータスコード、成功は0、必須
url
が正常に処理された後のジャンプ アドレスは空白のままにすることができます。
message
処理完了の通知情報(オプション)
エラーエラー情報errors
pagination
によって要求されたページネーション情報
data
によって要求されるデータ情報
errors
とdata
同時に存在できません
使用に戻る
return response(['code' => -1, 'message' => '账号或者密码错误'], 400);
または
return response()->json(['code' => -1, 'message' => '账号或者密码错误'], 400);
AJAX分析
var settings = {
type : "POST" ,
data : { } ,
url : url ,
dataType : "json" ,
success : function ( data ) {
if ( data . code == 0 ) {
window . location . href = data . url ;
}
} ,
error : function ( XMLHttpRequest ) {
$ ( '#login-error' ) . show ( ) ;
if ( XMLHttpRequest . responseJSON . code == - 1 ) {
$ ( '#login-error-message' ) . text ( XMLHttpRequest . responseJSON . message ) ;
} else {
$ ( '#login-error-message' ) . text ( "请填写邮箱和密码" ) ;
}
} ,
headers : {
'X-CSRF-TOKEN' : $ ( 'meta[name="csrf-token"]' ) . attr ( 'content' )
}
} ;
$ . ajax ( settings )
php artisan make:entity name
、モデル ファイル、データベース移行ファイル、リポジトリの下の 2 つのファイル、プロバイダー ファイルを自動的に作成し、オプションでプレゼンター、バリデーター、およびコントローラー ファイルを生成します
php artisan make:repository name
、モデル ファイル、データベース移行ファイル、およびリポジトリ下の 2 つのファイルを生成します。