今天算是正式开始码代码了,采用的后台UI模板是layui. PHP的后台框架是laravel。
今日完成任务
基础模块RBAC完成。
附上系统的截图
核心源码
因为是最基本的列表,系统中以后可能会有很多的这样的列表。就先把公共的JS写一下。后续的话,这样普通的规范的列表,采用配置化开发。
public static function reqIndex($condition){
$query =
DB::table('users')->join('class_info','class_info.id','=','class_id');
if (!empty($condition['keyword'])) {
$query =
$query->where(function ($query) use ($condition) {
$query->where('name',
'like', '%' . $condition['keyword'] . '%')
->orwhere('email',
'like', '%' . $condition['keyword'] . '%');
});
}
if (strlen($condition['user_status'])
> 0) {
if ($condition['user_status'] !=
-1) {
$query =
$query->where('status', '=', $condition['user_status']);
}
}
$data['count'] = $query->count();
if ($condition['page'] &&
$condition['limit']) {
$query =
$query->skip(($condition['page'] - 1) *
$condition['limit'])->take($condition['limit']);
} else {
$query =
$query->limit($condition['limit']);
}
$res = $query->select('users.id',
'email', 'name','class_name',
'users.status','is_super')->get()->toArray();
$data['data'] = $res;
return $data;
}
配置文件
return [
'list_url' => 'admin_setting',
'is_page' => 'true',
'limit' => 15,
'limits' => '15,25,50,100',
'width' => '98%',
'list_fields' => [
[
'field' => 'email',
'field_desc' => '登录邮箱',
'width' => '20%',
],
[
'field' => 'name',
'field_desc' => '用户名称',
'width' => '20%',
],
[
'field' => 'class_name',
'field_desc' => '班级',
'width' => '15%',
],
[
'field' => 'status',
'field_desc' => '状态',
'width' => '15%',
'templet' =>
'#templet_status',
],
[
'field' => 'is_super',
'field_desc' => '是否是超级管理员',
'width' => '15%',
'templet' =>
'#templet_super',
],
[
'field_type' => 'toolbar',
'field' => '#barFilter',
'field_desc' => '操作',
'width' => '15%',
'fixed'=>'right',
],
]
];
遇到问题
- layui的使用
解决问题
- 参考官方文档
项目燃尽图