feat: 项目基础框架+配置+Kernel

This commit is contained in:
testadmin
2026-04-29 05:35:00 +08:00
parent 6ce7adcbfb
commit 9a6151fce3
5082 changed files with 437062 additions and 0 deletions
@@ -0,0 +1,76 @@
@extends('admin._layoutNew')
@section('page-head')
@stop
@section('page-content')
<header class="larry-personal-tit">
<span>管理员</span>
</header><!-- /header -->
<div class="larry-personal-body clearfix">
<form class="layui-form col-lg-5">
<div class="layui-form-item">
<label class="layui-form-label">用户名</label>
<div class="layui-input-block">
<input type="text" name="username" autocomplete="off" class="layui-input" value="{{ $admin_user['username'] }}" placeholder="">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">初始密码</label>
<div class="layui-input-block">
<input type="password" name="password" autocomplete="off" class="layui-input" value="" placeholder="">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">角色</label>
<div class="layui-input-block">
<select name="role_id" lay-filter="role_id">
<option value="">请选择</option>
@foreach($roles as $role)
<option value="{{$role->id}}" @if(isset($admin_user) && $admin_user['role_id'] == $role['id']) selected @endif>{{$role->name}}</option>
@endforeach
</select>
</div>
</div>
<input type="hidden" name="id" value="{{$admin_user['id']}}">
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="adminuser_submit">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
</div>
@stop
@section('scripts')
<script type="text/javascript">
layui.use(['form','upload','layer'], function () {
var layer = layui.layer;
var form = layui.form;
var $ = layui.$;
form.on('submit(adminuser_submit)', function (data) {
var data = data.field;
$.ajax({
url: '/admin/manager/add',
type: 'post',
dataType: 'json',
data: data,
success: function (res) {
layer.msg(res.message);
if(res.type == 'ok') {
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
parent.window.location.reload();
}else{
return false;
}
}
});
return false;
});
});
</script>
@stop
@@ -0,0 +1,80 @@
@extends('admin._layoutNew')
@section('page_head')
@stop
@section('page-content')
<button class="layui-btn layui-btn-normal layui-btn-radius" id="add_admin">添加角色</button>
<table class="layui-hide" id="adminUsers" lay-filter="adminList"></table>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="permission">修改权限</a>
<a class="layui-btn layui-btn-xs" lay-event="edit">修改</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
@stop
@section('scripts')
<script type="text/javascript">
window.onload = function () {
layui.use(['layer', 'table'], function () { //独立版的layer无需执行这一句
var $ = layui.jquery;
var layer = layui.layer; //独立版的layer无需执行这一句
var table = layui.table;
var form = layui.form;
$('#add_admin').click(function(){layer_show('添加角色', '/admin/manager/role_add');});
table.render({
elem: '#adminUsers',
url: '/admin/manager/manager_roles_api',
page: false,
cols: [[
{field: 'id', title: 'ID', minWidth:50, sort: true},
{field: 'name', title: '角色名',minWidth:150 },
{title: '操作', minWidth:150,align: 'center', toolbar: '#barDemo'}
]]
});
//监听工具条
table.on('tool(adminList)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
var data = obj.data; //获得当前行数据
var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
var tr = obj.tr; //获得当前行 tr 的DOM对象
if(layEvent === 'del'){ //删除
layer.confirm('真的要删除吗?', function(index){
//向服务端发送删除指令
$.ajax({
url:'/admin/manager/role_delete',
type:'post',
dataType:'json',
data:{id:data.id},
success:function(res){
if(res.type=='ok'){
layer.msg(res.message);
obj.del(); //删除对应行(tr)的DOM结构,并更新缓存
layer.close(index);
}else{
layer.close(index);
layer.alert(res.message);
}
}
});
});
} else if(layEvent === 'edit'){ //编辑
//do something
layer_show('修改管理员', '/admin/manager/role_add?id=' + data.id);
} else if(layEvent == 'permission'){
layer_show('修改权限','/admin/manager/role_permission?id=' + data.id);
}
});
});
}
</script>
@stop
@@ -0,0 +1,82 @@
@extends('admin._layoutNew')
@section('page_head')
@stop
@section('page-content')
<button class="layui-btn layui-btn-normal layui-btn-radius" id="add_admin">添加管理员</button>
<table class="layui-hide" id="adminUsers" lay-filter="adminList"></table>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-xs" lay-event="edit">修改</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
@stop
@section('scripts')
<script type="text/javascript">
window.onload = function () {
layui.use(['layer', 'table'], function () { //独立版的layer无需执行这一句
var $ = layui.jquery;
var layer = layui.layer; //独立版的layer无需执行这一句
var table = layui.table;
var form = layui.form;
$('#add_admin').click(function(){layer_show('添加管理员', '/admin/manager/add');});
table.render({
elem: '#adminUsers',
url: '/admin/manager/users',
page: false,
cols: [[
{field: 'id', title: 'ID', minWidth: 100, sort: true},
{field: 'username', title: '用户名', minWidth: 150},
{field: 'role_name', title: '角色', minWidth: 150},
{fixed: 'right', title: '操作', minWidth: 150, align: 'center', toolbar: '#barDemo'}
]]
});
//监听工具条
table.on('tool(adminList)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
var data = obj.data; //获得当前行数据
var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
var tr = obj.tr; //获得当前行 tr 的DOM对象
if(layEvent === 'del'){ //删除
layer.confirm('真的要删除吗?', function(index){
//向服务端发送删除指令
$.ajax({
url:'/admin/manager/delete',
type:'post',
dataType:'json',
data:{id:data.id},
success:function(res){
if(res.type=='ok'){
obj.del(); //删除对应行(tr)的DOM结构,并更新缓存
layer.msg(res.message);
layer.close(index);
}else{
layer.close(index);
layer.alert(res.message);
}
}
});
});
} else if(layEvent === 'edit'){ //编辑
//do something
layer_show('修改管理员', '/admin/manager/add?id=' + data.id);
}
});
});
}
</script>
@stop
@@ -0,0 +1,68 @@
@extends('admin._layoutNew')
@section('page-head')
@stop
@section('page-content')
<header class="larry-personal-tit">
<span>角色</span>
</header><!-- /header -->
<div class="larry-personal-body clearfix">
<form class="layui-form col-lg-5">
<div class="layui-form-item">
<label class="layui-form-label">角色名称</label>
<div class="layui-input-block">
<input type="text" name="name" autocomplete="off" class="layui-input" value="{{ $admin_role['name'] }}" placeholder="">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">超级管理员</label>
<div class="layui-input-block">
<input type="radio" name="is_super" value="1" title="" {{$admin_role['is_super']?'checked':''}}>
<input type="radio" name="is_super" value="0" title="" {{!$admin_role['is_super']?'checked':''}}>
</div>
</div>
<input type="hidden" name="id" value="{{$admin_role['id']}}">
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="adminrole_submit">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
</div>
@stop
@section('scripts')
<script type="text/javascript">
layui.use(['form','upload','layer'], function () {
var layer = layui.layer;
var form = layui.form;
form.on('submit(adminrole_submit)', function (data) {
var data = data.field;
$.ajax({
url: '/admin/manager/role_add',
type: 'post',
dataType: 'json',
data: data,
success: function (res) {
layer.msg(res.message);
if(res.type == 'ok') {
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
parent.window.location.reload();
}else{
return false;
}
}
});
return false;
});
});
</script>
@stop
@@ -0,0 +1,71 @@
@extends('admin._layoutNew')
@section('page-head')
@stop
@section('page-content')
<header class="larry-personal-tit">
<span>权限管理</span>
</header><!-- /header -->
<div class="larry-personal-body clearfix">
<form class="layui-form col-lg-5">
@foreach($modules as $module)
<div class="layui-form-item">
<label class="layui-form-label">{{$module->name}}</label>
<input type="checkbox" value="{{$module->module}}" lay-skin="primary" title="全选" lay-filter="allCh">
<div class="layui-input-block">
@foreach($module->actions as $action)
<input type="checkbox" lay-skin="primary" name="permission[{{$module->module}}][]" @if(isset($permissions[$module->module]) && in_array($action->action, $permissions[$module->module])) checked @endif title="{{$action->name}}" value="{{$action->action}}">
@endforeach
</div>
</div>
@endforeach
<input type="hidden" value="{{$admin_role->id}}" name="id">
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="permission_submit">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
</div>
@stop
@section('scripts')
<script type="text/javascript">
layui.use(['form','upload','layer'], function () {
var layer = layui.layer;
var form = layui.form;
form.on('submit(permission_submit)', function (data) {
var data = data.field;
$.ajax({
url: '/admin/manager/role_permission',
type: 'post',
dataType: 'json',
data: data,
success: function (res) {
layer.msg(res.message);
if(res.type == 'ok') {
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
parent.window.location.reload();
}else{
return false;
}
}
});
return false;
});
form.on('checkbox(allCh)',function(data){
var index = data.value;
$("input[name='permission[" + index + "][]']").each(function (i,obj) {
obj.checked = data.elem.checked;
});
form.render('checkbox');
});
});
</script>
@stop