Redis 캐시를 사용해야 하며, 파일 및 데이터베이스 캐시는 태그()를 지원하지 않습니다.
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 파일 정보가 필요합니다.
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. 마이그레이션 및 채우기 실행
5. php artisan migrate --seed
설치 완료
데모 주소: http://admin.amyair.cn
테스트 계정 : 오른쪽 상단에서 직접 등록
1. 권한 관리 확장은 l5 데이터베이스 확장을 사용하지 않습니다.
2. 배경 왼쪽 메뉴는 자동으로 선택한 상태에 해당합니다. 웹 사이트의 모든 경로에는 이름이 지정되어야 하며 동일한 메뉴 옵션 아래의 경로 이름 지정 접두사는 일관됩니다(예: 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. 백그라운드에서 메뉴를 추가할 때 기존 경로 이름을 추가할 수 없습니다. 그렇지 않으면 웹사이트가 다운됩니다. 메뉴를 추가하면 좌측에 메뉴가 표시되기 때문에 경로명이 없으면 파싱할 수 없고 오류가 발생합니다. 실수로 실수를 했다면 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);
자동으로 json으로 변환됩니다.
또는
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
, 자동으로 모델 파일, 데이터베이스 마이그레이션 파일, 리포지토리 아래 두 개의 파일 생성, 공급자 파일, 선택적으로 Presenter, Validator 및 Controller 파일 생성
php artisan make:repository name
, 모델 파일, 데이터베이스 마이그레이션 파일 및 리포지토리 아래 두 개의 파일 생성