Cache Redis harus digunakan, cache file dan database tidak mendukung tag()
Alamat unduhan Windows redis: http://pan.baidu.com/s/1i56thcD
Gunakan cache Redis dan cache Redis dengan cepat di lv5: https://laravel-china.org/topics/877
Silakan beli sendiri template front-end. Jika ada pelanggaran, silakan hubungi penulis.
Ekstensi peran izin pengguna: zizaco/entrust
ekstensi redis: predis/predis
Pilih ekstensi aktivasi di menu: hieu-le/active
Ekstensi basis data: Format array dikembalikan oleh kueri prettus/l5-repository
Deskripsi ketergantungan arsitektur: http://oomusou.io/laravel/laravel-architecture/
jQuery DataTables API untuk Laravel: yajra/laravel-datatables-oracle
Ekstensi pembacaan log: konfigurasi log aplikasi arcanedev/log-viewer
'log' => env('APP_LOG', 'daily'),
Ekstensi pemrosesan gambar: intervention/image
Ekstensi PHP Redis
Ekstensi PHP Curl
Ekstensi PHP OpenSSL
Info file PHP diperlukan untuk memperluas modul manajemen material
http://datatables.club/
https://datatables.yajrabox.com
Pengeditan sebaris: https://vitalets.github.io/x-editable/docs.html
https://github.com/DukeAnn/Laradmin/blob/master/UpdateLog.md
1. Tarik kode ke lokal,
2. composer install
3. Atur file konfigurasi .evn
untuk terhubung ke database dan server pengirim email default, atur APP_URL=http://laradmin.app
, dan jalankan php artisan key:generate
untuk menghasilkan kunci.
4. Jalankan migrasi dan kependudukan
5. php artisan migrate --seed
Instalasi selesai
Alamat demo: http://admin.amyair.cn
Akun uji: Daftar langsung di pojok kanan atas
1. Ekstensi manajemen izin tidak menggunakan ekstensi database l5.
2. Menu kiri latar belakang secara otomatis sesuai dengan keadaan yang dipilih. Semua rute di situs web harus diberi nama, dan awalan penamaan rute di bawah opsi menu yang sama harus konsisten, seperti: admin.index
, admin.create
, admin.show
, admin.edit
, dll., jenis sumber daya Rute diberi nama secara otomatis. Nama rute yang diakhiri dengan indeks semuanya ditampilkan di menu sebelah kiri di latar belakang. Gunakan route();
ketika program melakukan lompatan terarah. Jika izin subkategori di bawah menu tingkat atas dilarang, silakan tambahkan izin pengguna dari menu tingkat atas dan atur sehingga pengguna tidak memiliki izin dan menu tidak akan ditampilkan. Prinsip tampilan menu latar belakang adalah menanyakan izin pengguna melalui menu uri. Jika izin disetel, verifikasi apakah ada izin, jika tidak, tidak akan ditampilkan . Uri yang disetel untuk item menu dengan subkelas tidak akan ditampilkan dalam html, tetapi hanya akan menampilkan JavaScript:; sehingga tidak akan melaporkan kesalahan jika disetel ke nama rute yang tidak ada fungsi rute(). Jika nama rute tidak ada, kesalahan akan dilaporkan.
3. Remah roti di halaman ditulis ke dalam paket bahasa. Nama dalam paket bahasa sesuai dengan nilai Route::currentRouteName();
AppPresentersAdminCrumbsService
nama rute). AppPresentersAdminCrumbsService
, yang tidak ditentukan dalam paket bahasa. Langsung menampilkan nilai kunci paket bahasa.
4. Perutean penutupan tidak dapat digunakan untuk perutean. Rute harus diberi nama jika tidak Route::currentRouteName();
5. Otentikasi izin menggunakan izin untuk mengikat nama rute dan memverifikasinya di middleware app/Http/Middleware/CheckPermission.php
. Izin pengiriman formulir diverifikasi di app/Http/Requests
tidak akan ada batasan izin.
6. Saat menambahkan menu di latar belakang, tidak diperbolehkan menambahkan nama rute yang sudah ada, jika tidak, situs web akan mogok. Karena menu akan ditampilkan di sebelah kiri setelah ditambahkan, tetapi jika nama rute tidak ada, maka tidak dapat diurai dan akan dilaporkan kesalahan. Jika Anda tidak sengaja melakukan kesalahan, jalankan php artisan cache:clear
untuk menghapus cache dan menghapus data yang salah yang dimasukkan ke dalam database! Segarkan saja halamannya.
###format json umum pada 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 mengembalikan code
deskripsi nilai kode status hasil pemrosesan, berhasil adalah 0, wajib diisi
Alamat jump setelah url
berhasil diproses boleh dikosongkan.
Informasi pemberitahuan selesainya pemrosesan message
, opsional
errors
informasi kesalahan
Informasi paginasi diminta oleh pagination
Informasi data yang diminta oleh data
errors
dan data
tidak bisa ada secara bersamaan
Kembali digunakan
return response(['code' => -1, 'message' => '账号或者密码错误'], 400);
otomatis dikonversi ke json
atau
return response()->json(['code' => -1, 'message' => '账号或者密码错误'], 400);
Analisis 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
, secara otomatis membuat file model, file migrasi database, dua file di bawah Repositori, file Penyedia, secara opsional menghasilkan file Presenter, Validator, dan Controller
php artisan make:repository name
, menghasilkan file model, file migrasi database, dan dua file di bawah Repositori