Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
lightCMS
提交
12a19767
L
lightCMS
项目概览
OpenDocCN
/
lightCMS
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
lightCMS
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
12a19767
编写于
2月 26, 2019
作者:
孙
孙建华
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
完成后台登录、管理员管理
上级
7a4a2105
变更
15
隐藏空白更改
内联
并排
Showing
15 changed file
with
295 addition
and
21 deletion
+295
-21
app/Exceptions/Handler.php
app/Exceptions/Handler.php
+15
-0
app/Http/Controllers/Admin/AdminUserController.php
app/Http/Controllers/Admin/AdminUserController.php
+80
-5
app/Http/Controllers/Admin/Auth/LoginController.php
app/Http/Controllers/Admin/Auth/LoginController.php
+1
-1
app/Http/Controllers/Controller.php
app/Http/Controllers/Controller.php
+10
-0
app/Http/Requests/Admin/AdminLoginRequest.php
app/Http/Requests/Admin/AdminLoginRequest.php
+1
-1
app/Http/Requests/Admin/AdminUserRequest.php
app/Http/Requests/Admin/AdminUserRequest.php
+53
-0
app/Model/Admin/AdminUser.php
app/Model/Admin/AdminUser.php
+4
-1
app/Repository/Admin/AdminUserRepository.php
app/Repository/Admin/AdminUserRepository.php
+24
-1
config/app.php
config/app.php
+1
-1
public/public/admin/css/lightCMSAdmin.css
public/public/admin/css/lightCMSAdmin.css
+3
-0
resources/views/admin/adminUser/add.blade.php
resources/views/admin/adminUser/add.blade.php
+74
-0
resources/views/admin/adminUser/index.blade.php
resources/views/admin/adminUser/index.blade.php
+6
-3
resources/views/admin/base.blade.php
resources/views/admin/base.blade.php
+5
-3
resources/views/admin/breadcrumb.blade.php
resources/views/admin/breadcrumb.blade.php
+11
-0
routes/admin.php
routes/admin.php
+7
-5
未找到文件。
app/Exceptions/Handler.php
浏览文件 @
12a19767
...
...
@@ -4,6 +4,7 @@ namespace App\Exceptions;
use
Exception
;
use
Illuminate\Foundation\Exceptions\Handler
as
ExceptionHandler
;
use
Illuminate\Auth\AuthenticationException
;
class
Handler
extends
ExceptionHandler
{
...
...
@@ -50,4 +51,18 @@ class Handler extends ExceptionHandler
{
return
parent
::
render
(
$request
,
$exception
);
}
/**
* Convert an authentication exception into a response.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Auth\AuthenticationException $exception
* @return \Illuminate\Http\Response
*/
protected
function
unauthenticated
(
$request
,
AuthenticationException
$exception
)
{
return
$request
->
expectsJson
()
?
response
()
->
json
([
'message'
=>
$exception
->
getMessage
()],
401
)
:
redirect
()
->
guest
(
route
(
'admin::login'
));
}
}
app/Http/Controllers/Admin/AdminUserController.php
浏览文件 @
12a19767
...
...
@@ -9,16 +9,37 @@
namespace
App\Http\Controllers\Admin
;
use
App\Http\Controllers\Controller
;
use
App\Http\Requests\Admin\AdminUserRequest
;
use
App\Model\Admin\AdminUser
;
use
App\Repository\Admin\AdminUserRepository
;
use
Illuminate\Http\Request
;
class
AdminUserController
extends
Controller
{
protected
$formNames
=
[
'id'
,
'name'
,
'password'
,
'status'
];
public
function
__construct
()
{
parent
::
__construct
();
$this
->
breadcrumb
[]
=
[
'title'
=>
'管理员管理'
,
'url'
=>
route
(
'admin::adminUser.index'
)];
}
/**
* 管理员列表
*
*/
public
function
index
()
{
return
view
(
'admin.adminUser.index'
);
$this
->
breadcrumb
[]
=
[
'title'
=>
'管理员列表'
,
'url'
=>
''
];
return
view
(
'admin.adminUser.index'
,
[
'title'
=>
'管理员列表'
,
'breadcrumb'
=>
$this
->
breadcrumb
]);
}
/**
* 管理员列表数据
*
* @package Request $request
*/
public
function
list
(
Request
$request
)
{
$perPage
=
(
int
)
$request
->
get
(
'limit'
,
50
);
...
...
@@ -27,13 +48,67 @@ class AdminUserController extends Controller
return
$data
;
}
public
function
showAdd
()
/**
* 新增管理员用户
*
*/
public
function
create
()
{
$this
->
breadcrumb
[]
=
[
'title'
=>
'新增管理员'
,
'url'
=>
''
];
return
view
(
'admin.adminUser.add'
,
[
'breadcrumb'
=>
$this
->
breadcrumb
]);
}
/**
* 保存管理员用户
*
* @param AdminUserRequest $request
*/
public
function
save
(
AdminUserRequest
$request
)
{
return
'add user'
;
AdminUserRepository
::
add
(
$request
->
only
(
$this
->
formNames
));
return
[
'code'
=>
0
,
'msg'
=>
'新增成功'
,
'redirect'
=>
route
(
'admin::adminUser.index'
)
];
}
public
function
add
(
Request
$request
)
/**
* 编辑管理员用户
*
* @param int $id
*/
public
function
edit
(
$id
)
{
$this
->
breadcrumb
[]
=
[
'title'
=>
'编辑管理员'
,
'url'
=>
''
];
$user
=
AdminUserRepository
::
find
(
$id
);
return
view
(
'admin.adminUser.add'
,
[
'id'
=>
$id
,
'user'
=>
$user
,
'breadcrumb'
=>
$this
->
breadcrumb
]);
}
/**
* 更新管理员用户
*
* @param AdminUserRequest $request
* @param int $id
*/
public
function
update
(
AdminUserRequest
$request
,
$id
)
{
$data
=
$request
->
only
(
$this
->
formNames
);
if
(
!
isset
(
$data
[
'status'
]))
{
$data
[
'status'
]
=
AdminUser
::
STATUS_DISABLE
;
}
if
(
$request
->
input
(
'password'
)
==
''
)
{
unset
(
$data
[
'password'
]);
}
AdminUserRepository
::
update
(
$id
,
$data
);
return
[
'code'
=>
0
,
'msg'
=>
'编辑成功'
,
'redirect'
=>
route
(
'admin::adminUser.index'
)
];
}
}
\ No newline at end of file
}
app/Http/Controllers/Admin/Auth/LoginController.php
浏览文件 @
12a19767
...
...
@@ -93,7 +93,7 @@ class LoginController extends Controller
return
[
'code'
=>
0
,
'msg'
=>
'登陆成功'
,
'redirect'
=>
'/'
,
'redirect'
=>
route
(
'admin::index'
)
,
];
}
}
\ No newline at end of file
app/Http/Controllers/Controller.php
浏览文件 @
12a19767
...
...
@@ -6,8 +6,18 @@ use Illuminate\Foundation\Bus\DispatchesJobs;
use
Illuminate\Routing\Controller
as
BaseController
;
use
Illuminate\Foundation\Validation\ValidatesRequests
;
use
Illuminate\Foundation\Auth\Access\AuthorizesRequests
;
use
Illuminate\Support\Facades\View
;
use
Illuminate\Support\Facades\Auth
;
class
Controller
extends
BaseController
{
use
AuthorizesRequests
,
DispatchesJobs
,
ValidatesRequests
;
protected
$breadcrumb
=
[];
public
function
__construct
()
{
$this
->
breadcrumb
[]
=
[
'title'
=>
'首页'
,
'url'
=>
route
(
'admin::index'
)];
View
::
share
(
'breadcrumb'
,
$this
->
breadcrumb
);
}
}
app/Http/Requests/Admin/AdminLoginRequest.php
浏览文件 @
12a19767
...
...
@@ -39,7 +39,7 @@ class AdminLoginRequest extends FormRequest
{
return
[
'name.required'
=>
'用户名不能为空'
,
'password.required'
=>
'
用户名
不能为空'
,
'password.required'
=>
'
密码
不能为空'
,
'captcha.required'
=>
'图形验证码不能为空'
,
'captcha.captcha'
=>
'图形验证码错误'
,
];
...
...
app/Http/Requests/Admin/AdminUserRequest.php
0 → 100644
浏览文件 @
12a19767
<?php
namespace
App\Http\Requests\Admin
;
use
Illuminate\Foundation\Http\FormRequest
;
use
App\Model\Admin\AdminUser
;
use
Illuminate\Validation\Rule
;
class
AdminUserRequest
extends
FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public
function
authorize
()
{
return
true
;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public
function
rules
()
{
$status_in
=
[
AdminUser
::
STATUS_DISABLE
,
AdminUser
::
STATUS_ENABLE
,
];
return
[
'name'
=>
'required|max:50'
,
'password'
=>
$this
->
method
()
==
'PUT'
?
''
:
'required|min:6|max:18'
,
'status'
=>
[
Rule
::
in
(
$status_in
),
],
];
}
/**
* Get custom messages for validator errors.
*
* @return array
*/
public
function
messages
()
{
return
[
'name.required'
=>
'用户名不能为空'
,
'password.required'
=>
'密码不能为空'
,
];
}
}
app/Model/Admin/AdminUser.php
浏览文件 @
12a19767
...
...
@@ -12,5 +12,8 @@ use Illuminate\Foundation\Auth\User as Authenticatable;
class
AdminUser
extends
Authenticatable
{
protected
$fillable
=
[
'name'
,
'password'
];
const
STATUS_ENABLE
=
1
;
const
STATUS_DISABLE
=
0
;
protected
$guarded
=
[];
}
\ No newline at end of file
app/Repository/Admin/AdminUserRepository.php
浏览文件 @
12a19767
...
...
@@ -8,7 +8,6 @@
namespace
App\Repository\Admin
;
use
App\Model\Admin\AdminUser
;
class
AdminUserRepository
...
...
@@ -16,6 +15,11 @@ class AdminUserRepository
public
static
function
list
(
$perPage
)
{
$data
=
AdminUser
::
query
()
->
paginate
(
$perPage
);
$data
->
transform
(
function
(
$item
)
{
$item
->
editUrl
=
route
(
'admin::adminUser.edit'
,
[
'id'
=>
$item
->
id
]);
$item
->
statusText
=
$item
->
status
==
AdminUser
::
STATUS_ENABLE
?
'启用'
:
'禁用'
;
return
$item
;
});
return
[
'code'
=>
0
,
...
...
@@ -24,4 +28,23 @@ class AdminUserRepository
'data'
=>
$data
->
items
(),
];
}
public
static
function
add
(
$data
)
{
$data
[
'password'
]
=
bcrypt
(
$data
[
'password'
]);
return
AdminUser
::
query
()
->
create
(
$data
);
}
public
static
function
update
(
$id
,
$data
)
{
if
(
isset
(
$data
[
'password'
]))
{
$data
[
'password'
]
=
bcrypt
(
$data
[
'password'
]);
}
return
AdminUser
::
query
()
->
where
(
'id'
,
$id
)
->
update
(
$data
);
}
public
static
function
find
(
$id
)
{
return
AdminUser
::
query
()
->
find
(
$id
);
}
}
\ No newline at end of file
config/app.php
浏览文件 @
12a19767
...
...
@@ -65,7 +65,7 @@ return [
|
*/
'timezone'
=>
'
UTC
'
,
'timezone'
=>
'
Asia/Shanghai
'
,
/*
|--------------------------------------------------------------------------
...
...
public/public/admin/css/lightCMSAdmin.css
0 → 100644
浏览文件 @
12a19767
.breadcrumb
{
padding-left
:
15px
;
}
\ No newline at end of file
resources/views/admin/adminUser/add.blade.php
0 → 100644
浏览文件 @
12a19767
@
extends
(
'admin.base'
)
@
section
(
'title'
,
'qwe'
)
@
section
(
'content'
)
<
div
class
=
"layui-card"
>
@
include
(
'admin.breadcrumb'
)
<
div
class
=
"layui-card-body"
>
<
form
class
=
"layui-form"
action
=
"@if(isset(
$id
)){{ route('admin::adminUser.update', ['id' =>
$id
]) }}@else{{ route('admin::adminUser.save') }}@endif"
method
=
"post"
>
@
if
(
isset
(
$id
))
{{
method_field
(
'PUT'
)
}}
@
endif
<
div
class
=
"layui-form-item"
>
<
label
class
=
"layui-form-label"
>
用户名
</
label
>
<
div
class
=
"layui-input-block"
>
<
input
type
=
"text"
name
=
"name"
required
lay
-
verify
=
"required"
placeholder
=
"请输入用户名"
autocomplete
=
"off"
class
=
"layui-input"
value
=
"{{
$user->name
?? '' }}"
>
</
div
>
</
div
>
<
div
class
=
"layui-form-item"
>
<
label
class
=
"layui-form-label"
>
密码
</
label
>
<
div
class
=
"layui-input-inline"
>
<
input
type
=
"password"
name
=
"password"
@
if
(
!
isset
(
$id
))
required
lay
-
verify
=
"required"
@
endif
placeholder
=
"请输入密码"
autocomplete
=
"off"
class
=
"layui-input"
>
</
div
>
@
if
(
isset
(
$id
))
<
div
class
=
"layui-form-mid layui-word-aux"
>
密码留空则不修改密码
</
div
>@
endif
</
div
>
<
div
class
=
"layui-form-item"
>
<
label
class
=
"layui-form-label"
>
是否启用
</
label
>
<
div
class
=
"layui-input-block"
>
<
input
type
=
"checkbox"
name
=
"status"
lay
-
skin
=
"switch"
lay
-
text
=
"启用|禁用"
value
=
"1"
@
if
(
isset
(
$user
)
&&
$user
->
status
==
App\Model\Admin\AdminUser
::
STATUS_ENABLE
)
checked
@
endif
>
</
div
>
</
div
>
<
div
class
=
"layui-form-item"
>
<
div
class
=
"layui-input-block"
>
<
button
class
=
"layui-btn"
lay
-
submit
lay
-
filter
=
"formAdminUser"
id
=
"submitBtn"
>
提交
</
button
>
<
button
type
=
"reset"
class
=
"layui-btn layui-btn-primary"
>
重置
</
button
>
</
div
>
</
div
>
</
form
>
</
div
>
</
div
>
@
endsection
@
section
(
'js'
)
<
script
>
var
form
=
layui
.
form
;
//监听提交
form
.
on
(
'submit(formAdminUser)'
,
function
(
data
){
window
.
form_submit
=
$
(
'#submitBtn'
);
form_submit
.
prop
(
'disabled'
,
true
);
$
.
ajax
({
url
:
data
.
form
.
action
,
data
:
data
.
field
,
success
:
function
(
result
)
{
if
(
result
.
code
!==
0
)
{
form_submit
.
prop
(
'disabled'
,
false
);
layer
.
msg
(
result
.
msg
,
{
shift
:
6
});
return
false
;
}
layer
.
msg
(
result
.
msg
,
{
icon
:
1
},
function
()
{
if
(
result
.
reload
)
{
location
.
reload
();
}
if
(
result
.
redirect
)
{
location
.
href
=
result
.
redirect
;
}
});
}
});
return
false
;
});
</
script
>
@
endsection
\ No newline at end of file
resources/views/admin/adminUser/index.blade.php
浏览文件 @
12a19767
@
extends
(
'admin.base'
)
@
section
(
'content'
)
<
table
class
=
"layui-table"
lay
-
data
=
"{height:315, url:'{{ route('admin::adminUser.list') }}', page:true, id:'test', toolbar:'<div><a href=\'{{ route('admin::adminUser.add.show') }}\'><i class=\'layui-icon layui-icon-add-1\'></i>添加管理员</a></div>'}"
lay
-
filter
=
"test"
>
@
include
(
'admin.breadcrumb'
)
<
table
class
=
"layui-table"
lay
-
data
=
"{url:'{{ route('admin::adminUser.list') }}', page:true, id:'test', toolbar:'<div><a href=\'{{ route('admin::adminUser.create') }}\'><i class=\'layui-icon layui-icon-add-1\'></i>新增管理员</a></div>'}"
lay
-
filter
=
"test"
>
<
thead
>
<
tr
>
<
th
lay
-
data
=
"{field:'id', width:80, sort: true}"
>
ID
</
th
>
<
th
lay
-
data
=
"{field:'name', width:80}"
>
用户名
</
th
>
<
th
lay
-
data
=
"
{
field:'name'
}
"
>
用户名
</
th
>
<
th
lay
-
data
=
"
{
field:'statusText'
}
"
>
状态
</
th
>
<
th
lay
-
data
=
"
{
field:'created_at'
}
"
>
添加时间
</
th
>
<
th
lay
-
data
=
"
{
field:'updated_at'
}
"
>
更新时间
</
th
>
<
th
lay
-
data
=
"{width:200, templet:'#action'}"
>
操作
</
th
>
...
...
@@ -15,7 +18,7 @@
@
endsection
<
script
type
=
"text/html"
id
=
"action"
>
<
a
href
=
"
/detail/<% d.id
%>"
class
=
"layui-table-link"
><
i
class
=
"layui-icon layui-icon-edit"
></
i
></
a
>
<
a
href
=
"
<% d.editUrl
%>"
class
=
"layui-table-link"
><
i
class
=
"layui-icon layui-icon-edit"
></
i
></
a
>
</
script
>
@
section
(
'js'
)
...
...
resources/views/admin/base.blade.php
浏览文件 @
12a19767
...
...
@@ -2,9 +2,11 @@
<html>
<head>
<meta
charset=
"utf-8"
>
<meta
name=
"csrf-token"
content=
"{{ csrf_token() }}"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1, maximum-scale=1"
>
<title>
@yield('title') - {{ config('app.name') }}
</title>
<link
rel=
"stylesheet"
href=
"/public/vendor/layui-v2.4.5/css/layui.css"
media=
"all"
>
<link
rel=
"stylesheet"
href=
"/public/admin/css/lightCMSAdmin.css"
media=
"all"
>
@yield('css')
</head>
<body
class=
"layui-layout-body"
>
...
...
@@ -28,15 +30,15 @@
<ul
class=
"layui-nav layui-layout-right"
>
<li
class=
"layui-nav-item"
>
<a
href=
"javascript:;"
>
<i
mg
src=
"http://t.cn/RCzsdCq"
class=
"layui-nav-img"
>
贤心
<i
class=
"layui-icon layui-icon-username"
style=
"font-size: 20px; color: #009688;"
></i
>
{{ \Auth::guard('admin')->user()->name }}
</a>
<dl
class=
"layui-nav-child"
>
<dd><a
href=
""
>
基本资料
</a></dd>
<dd><a
href=
""
>
安全设置
</a></dd>
</dl>
</li>
<li
class=
"layui-nav-item"
><a
href=
""
>
退了
</a></li>
<li
class=
"layui-nav-item"
><a
href=
"
{{ route('admin::logout') }}
"
>
退了
</a></li>
</ul>
</div>
...
...
resources/views/admin/breadcrumb.blade.php
0 → 100644
浏览文件 @
12a19767
<div
class=
"layui-card-header"
>
<span
class=
"layui-breadcrumb"
>
@foreach($breadcrumb as $v)
@if($v['url'] != '')
<a
href=
"{{ $v['url'] }}"
>
{{ $v['title'] }}
</a>
@else
<a><cite>
{{ $v['title'] }}
</cite></a>
@endif
@endforeach
</span>
</div>
\ No newline at end of file
routes/admin.php
浏览文件 @
12a19767
...
...
@@ -17,13 +17,15 @@ Route::group(
Route
::
middleware
(
'auth:admin'
)
->
group
(
function
()
{
Route
::
get
(
'/logout'
,
'Auth\LoginController@logout'
)
->
name
(
'logout'
);
Route
::
get
(
'/index'
,
'HomeController@showIndex'
)
->
name
(
'index
.show
'
);
Route
::
get
(
'/index'
,
'HomeController@showIndex'
)
->
name
(
'index'
);
// 管理员用户管理
Route
::
get
(
'/admin_user/index'
,
'AdminUserController@index'
)
->
name
(
'adminUser.index'
);
Route
::
get
(
'/admin_user/list'
,
'AdminUserController@list'
)
->
name
(
'adminUser.list'
);
Route
::
get
(
'/admin_user/add'
,
'AdminUserController@showAdd'
)
->
name
(
'adminUser.add.show'
);
Route
::
post
(
'/admin_user/add'
,
'AdminUserController@add'
)
->
name
(
'adminUser.add'
);
Route
::
get
(
'/admin_users'
,
'AdminUserController@index'
)
->
name
(
'adminUser.index'
);
Route
::
get
(
'/admin_users/list'
,
'AdminUserController@list'
)
->
name
(
'adminUser.list'
);
Route
::
get
(
'/admin_users/create'
,
'AdminUserController@create'
)
->
name
(
'adminUser.create'
);
Route
::
post
(
'/admin_users'
,
'AdminUserController@save'
)
->
name
(
'adminUser.save'
);
Route
::
get
(
'/admin_users/{id}/edit'
,
'AdminUserController@edit'
)
->
name
(
'adminUser.edit'
);
Route
::
put
(
'/admin_user/{id}'
,
'AdminUserController@update'
)
->
name
(
'adminUser.update'
);
});
}
);
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录