diff --git a/app/admin/controller/Yunzeradmin.php b/app/admin/controller/Yunzeradmin.php index a7b3727..136dea4 100644 --- a/app/admin/controller/Yunzeradmin.php +++ b/app/admin/controller/Yunzeradmin.php @@ -5,9 +5,11 @@ use think\facade\Db; use think\facade\View; use think\facade\Request; -class Yunzeradmin extends Base{ +class Yunzeradmin extends Base +{ // 角色列表 - public function groupinfo(){ + public function groupinfo() + { $group = Db::table('yz_admin_user_group')->select(); View::assign([ 'group' => $group @@ -16,38 +18,39 @@ class Yunzeradmin extends Base{ } // 角色添加 - public function groupadd(){ - if(Request::isPost()){ + public function groupadd() + { + if (Request::isPost()) { $data['group_name'] = trim(input('post.group_name')); - if(!$data['group_name']){ - $this->returnCode(1, '角色名称不能为空'); + if (!$data['group_name']) { + return json(['code' => 1, 'msg' => '角色名称不能为空']); } - $data['status'] = (int)trim(input('post.status')); + $data['status'] = (int) trim(input('post.status')); $data['create_time'] = time(); $menus = input('post.menu/a'); - if($menus){ + if ($menus) { $data['rights'] = json_encode(array_keys($menus)); } $res = Db::table('yz_admin_user_group')->insert($data); - if(!$res){ - $this->returnCode(1, '添加角色失败'); + if (!$res) { + return json(['code' => 1, 'msg' => '添加角色失败']); } - $this->returnCode(0); - }else{ - $menus = Db::table('yz_admin_sys_menu')->order('type,sort desc')->where('status','=',1)->select(); + return json(['code' => 0, 'msg' => '添加成功']); + } else { + $menus = Db::table('yz_admin_sys_menu')->order('type,sort desc')->where('status', '=', 1)->select(); $menu = []; // 先处理所有父菜单 - foreach($menus as $menus_v){ - if($menus_v['parent_id'] == 0){ + foreach ($menus as $menus_v) { + if ($menus_v['parent_id'] == 0) { $menu[$menus_v['smid']] = $menus_v; $menu[$menus_v['smid']]['children'] = []; // 初始化 children 数组 } } // 再处理子菜单 - foreach($menus as $menus_v){ - if($menus_v['parent_id'] != 0 && isset($menu[$menus_v['parent_id']])){ + foreach ($menus as $menus_v) { + if ($menus_v['parent_id'] != 0 && isset($menu[$menus_v['parent_id']])) { $menu[$menus_v['parent_id']]['children'][] = $menus_v; } } @@ -60,46 +63,47 @@ class Yunzeradmin extends Base{ } // 角色编辑 - public function groupedit(){ - if(Request::isPost()){ - $group_id = (int)trim(input('post.group_id')); + public function groupedit() + { + if (Request::isPost()) { + $group_id = (int) trim(input('post.group_id')); $data['group_name'] = trim(input('post.group_name')); - if(!$data['group_name']){ - $this->returnCode(1, '角色名称不能为空'); + if (!$data['group_name']) { + return json(['code' => 1, 'msg' => '角色名称不能为空']); } - $data['status'] = (int)trim(input('post.status')); + $data['status'] = (int) trim(input('post.status')); $menus = input('post.menu/a'); - if($menus){ + if ($menus) { $data['rights'] = json_encode(array_keys($menus)); - }else{ + } else { $data['rights'] = ''; } - $res = Db::table('yz_admin_user_group')->where('group_id',$group_id)->update($data); - if(!$res){ - $this->returnCode(1, '更新角色失败'); + $res = Db::table('yz_admin_user_group')->where('group_id', $group_id)->update($data); + if (!$res) { + return json(['code' => 1, 'msg' => '更新角色失败']); } - $this->returnCode(0); - }else{ - $group_id = (int)input('get.group_id'); - $group = Db::table('yz_admin_user_group')->where('group_id',$group_id)->find(); - if($group && $group['rights']){ + return json(['code' => 0, 'msg' => '更新成功']); + } else { + $group_id = (int) input('get.group_id'); + $group = Db::table('yz_admin_user_group')->where('group_id', $group_id)->find(); + if ($group && $group['rights']) { $group['rights'] = json_decode($group['rights']); } - $menus = Db::table('yz_admin_sys_menu')->order('type,sort desc')->where('status','=',1)->select(); + $menus = Db::table('yz_admin_sys_menu')->order('type,sort desc')->where('status', '=', 1)->select(); $menu = []; // 先处理所有父菜单 - foreach($menus as $menus_v){ - if($menus_v['parent_id'] == 0){ + foreach ($menus as $menus_v) { + if ($menus_v['parent_id'] == 0) { $menu[$menus_v['smid']] = $menus_v; $menu[$menus_v['smid']]['children'] = []; // 初始化 children 数组 } } // 再处理子菜单 - foreach($menus as $menus_v){ - if($menus_v['parent_id'] != 0 && isset($menu[$menus_v['parent_id']])){ + foreach ($menus as $menus_v) { + if ($menus_v['parent_id'] != 0 && isset($menu[$menus_v['parent_id']])) { $menu[$menus_v['parent_id']]['children'][] = $menus_v; } } @@ -113,17 +117,19 @@ class Yunzeradmin extends Base{ } // 角色删除 - public function groupdel(){ - $group_id = (int)input('post.group_id'); - $res = Db::table('yz_admin_user_group')->where('group_id',$group_id)->delete(); - if(empty($res)){ - $this->returnCode(1, '删除角色失败'); + public function groupdel() + { + $group_id = (int) input('post.group_id'); + $res = Db::table('yz_admin_user_group')->where('group_id', $group_id)->delete(); + if (empty($res)) { + return json(['code' => 1, 'msg' => '删除角色失败']); } - $this->returnCode(0); + return json(['code' => 0, 'msg' => '删除成功']); } // 管理员列表 - public function userinfo(){ + public function userinfo() + { $lists = Db::table('yz_admin_user')->select(); $group = []; $groups = Db::table('yz_admin_user_group')->select(); @@ -138,49 +144,50 @@ class Yunzeradmin extends Base{ } // 管理员添加 - public function useradd(){ - if(Request::isPost()){ + public function useradd() + { + if (Request::isPost()) { $data['account'] = trim(input('post.account')); - if(empty($data['account'])){ - $this->returnCode(1, '账号不能为空'); + if (empty($data['account'])) { + return json(['code' => 1, 'msg' => '账号不能为空']); } $pattern = "/^([0-9A-Za-z-_.]+)@([0-9a-z]+.[a-z]{2,3}(.[a-z]{2})?)$/i"; - if(!preg_match($pattern,$data['account'])){ - $this->returnCode(1, '邮箱格式不正确'); + if (!preg_match($pattern, $data['account'])) { + return json(['code' => 1, 'msg' => '邮箱格式不正确']); } - $item = Db::table('yz_admin_user')->where('account',$data['account'])->find(); - if($item){ - $this->returnCode(1, '该账号已存在'); + $item = Db::table('yz_admin_user')->where('account', $data['account'])->find(); + if ($item) { + return json(['code' => 1, 'msg' => '该账号已存在']); } $data['name'] = trim(input('post.name')); $data['phone'] = trim(input('post.phone')); - $data['qq'] = (int)trim(input('post.qq')); - $data['group_id'] = (int)input('post.group_id'); - $data['sex'] = (int)(input('post.sex')); - $data['status'] = (int)(input('post.status')); + $data['qq'] = (int) trim(input('post.qq')); + $data['group_id'] = (int) input('post.group_id'); + $data['sex'] = (int) (input('post.sex')); + $data['status'] = (int) (input('post.status')); $password = trim(input('post.password')); - if(empty($data['name'])){ - $this->returnCode(1, '姓名不能为空'); + if (empty($data['name'])) { + return json(['code' => 1, 'msg' => '姓名不能为空']); } - if(empty($data['phone'])){ - $this->returnCode(1, '手机号不能为空'); + if (empty($data['phone'])) { + return json(['code' => 1, 'msg' => '手机号不能为空']); } - if(empty($data['group_id'])){ - $this->returnCode(1, '请选择角色'); + if (empty($data['group_id'])) { + return json(['code' => 1, 'msg' => '请选择角色']); } - if(empty($password)){ - $this->returnCode(1, '密码不能为空'); - }else{ + if (empty($password)) { + return json(['code' => 1, 'msg' => '密码不能为空']); + } else { $data['password'] = md5($password); } $data['create_time'] = time(); $data['update_time'] = time(); $res = Db::table('yz_admin_user')->insert($data); - if(!$res){ - $this->returnCode(1, '添加管理员失败'); + if (!$res) { + return json(['code' => 1, 'msg' => '添加管理员失败']); } - $this->returnCode(0); - }else{ + return json(['code' => 0, 'msg' => '添加成功']); + } else { $group = []; $groups = Db::table('yz_admin_user_group')->select(); foreach ($groups as $key => $value) { @@ -194,34 +201,35 @@ class Yunzeradmin extends Base{ } // 管理员编辑 - public function useredit(){ - if(Request::isPost()){ - $uid = (int)trim(input('post.uid')); + public function useredit() + { + if (Request::isPost()) { + $uid = (int) trim(input('post.uid')); $data['name'] = trim(input('post.name')); $data['phone'] = trim(input('post.phone')); - $data['qq'] = (int)trim(input('post.qq')); - $data['group_id'] = (int)input('post.group_id'); - $data['sex'] = (int)(input('post.sex')); - $data['status'] = (int)(input('post.status')); - if(empty($data['name'])){ - $this->returnCode(1, '姓名不能为空'); + $data['qq'] = (int) trim(input('post.qq')); + $data['group_id'] = (int) input('post.group_id'); + $data['sex'] = (int) (input('post.sex')); + $data['status'] = (int) (input('post.status')); + if (empty($data['name'])) { + return json(['code' => 1, 'msg' => '姓名不能为空']); } - if(empty($data['phone'])){ - $this->returnCode(1, '手机号不能为空'); + if (empty($data['phone'])) { + return json(['code' => 1, 'msg' => '手机号不能为空']); } - if(empty($data['group_id'])){ - $this->returnCode(1, '请选择角色'); + if (empty($data['group_id'])) { + return json(['code' => 1, 'msg' => '请选择角色']); } // 保存用户 - $res = Db::table('yz_admin_user')->where('uid',$uid)->update($data); - if(!$res){ - $this->returnCode(1, '更新管理员信息失败'); + $res = Db::table('yz_admin_user')->where('uid', $uid)->update($data); + if (!$res) { + return json(['code' => 1, 'msg' => '更新管理员信息失败']); } - $this->returnCode(0); - }else{ - $uid = (int)input('get.uid'); + return json(['code' => 0, 'msg' => '更新成功']); + } else { + $uid = (int) input('get.uid'); // 加载管理员 - $lists = Db::table('yz_admin_user')->where('uid',$uid)->find(); + $lists = Db::table('yz_admin_user')->where('uid', $uid)->find(); // 加载角色 $group = []; $groups = Db::table('yz_admin_user_group')->select(); @@ -235,54 +243,184 @@ class Yunzeradmin extends Base{ return View::fetch(); } } - + // 管理员删除 - public function userdel(){ - $uid = (int)input('post.uid'); - $res = Db::table('yz_admin_user')->where('uid',$uid)->delete(); - if(empty($res)){ - $this->returnCode(1, '删除管理员失败'); + public function userdel() + { + $uid = (int) input('post.uid'); + $res = Db::table('yz_admin_user')->where('uid', $uid)->delete(); + if (empty($res)) { + return json(['code' => 1, 'msg' => '删除管理员失败']); } - $this->returnCode(0); + return json(['code' => 0, 'msg' => '删除成功']); } - + // 管理员信息 - public function admininfo(){ - if(Request::isPost()){ - $find = Db::table('yz_admin_user')->where('uid',$this->adminId)->find(); - if(empty($find)){ - $this->returnCode(1,'当前账户不存在'); + public function admininfo() + { + if (Request::isPost()) { + $find = Db::table('yz_admin_user')->where('uid', $this->adminId)->find(); + if (empty($find)) { + return json(['code' => 1, 'msg' => '当前账户不存在']); } $data['name'] = trim(input('post.name')); $data['phone'] = trim(input('post.phone')); - $data['qq'] = (int)trim(input('post.qq')); - $data['sex'] = (int)(input('post.sex')); - if(empty($data['name'])){ - $this->returnCode(1, '姓名不能为空'); + $data['qq'] = (int) trim(input('post.qq')); + $data['sex'] = (int) (input('post.sex')); + if (empty($data['name'])) { + return json(['code' => 1, 'msg' => '姓名不能为空']); } - if(empty($data['phone'])){ - $this->returnCode(1, '手机号不能为空'); + if (empty($data['phone'])) { + return json(['code' => 1, 'msg' => '手机号不能为空']); } - + // 处理密码修改 $old_pw = trim(input('post.old_pw')); $new_pw = trim(input('post.new_pw')); - if(!empty($old_pw) && !empty($new_pw)){ - if(md5($old_pw) != $find['password']){ - $this->returnCode(1, '原密码错误'); + if (!empty($old_pw) && !empty($new_pw)) { + if (md5($old_pw) != $find['password']) { + return json(['code' => 1, 'msg' => '原密码错误']); } $data['password'] = md5($new_pw); } - + // 保存用户 - $res = Db::table('yz_admin_user')->where('uid',$this->adminId)->update($data); - if(!$res){ - $this->returnCode(1, '更新管理员信息失败'); + $res = Db::table('yz_admin_user')->where('uid', $this->adminId)->update($data); + if (!$res) { + return json(['code' => 1, 'msg' => '更新管理员信息失败']); } - $this->returnCode(0); - }else{ + return json(['code' => 0, 'msg' => '更新成功']); + } else { return View::fetch(); } } + //banner管理 + public function banner() + { + return View::fetch(); + } + + // banner列表 + public function bannerlist() + { + if (Request::isGet()) { + $page = input('page', 1); + $limit = input('limit', 10); + + $query = Db::table('yz_banner') + ->where('delete_time', null) + ->field('id, title, image, url, sort, create_time, update_time'); + + // 获取总记录数 + $count = $query->count(); + + // 获取分页数据 + $lists = $query->order(['sort DESC', 'id DESC']) + ->page($page, $limit) + ->select() + ->toArray(); + + // 处理数据 + foreach ($lists as &$item) { + $item['create_time'] = $item['create_time'] ? date('Y-m-d H:i:s', $item['create_time']) : ''; + $item['update_time'] = $item['update_time'] ? date('Y-m-d H:i:s', $item['update_time']) : ''; + } + + return json([ + 'code' => 0, + 'msg' => '', + 'count' => $count, + 'data' => $lists + ]); + } + return json(['code' => 1, 'msg' => '请求方法无效']); + } + + // 添加banner + public function banneradd() + { + if (Request::isPost()) { + $data = [ + 'title' => input('post.title'), + 'image' => input('post.image'), + 'url' => input('post.url'), + 'sort' => input('post.sort', 0), + 'status' => 1, + 'create_time' => time() + ]; + + $res = Db::table('yz_banner')->insert($data); + if (!$res) { + return json(['code' => 1, 'msg' => '添加Banner失败']); + } + return json(['code' => 0, 'msg' => '添加成功']); + } + return json(['code' => 1, 'msg' => '请求方法无效']); + } + + // 编辑banner + public function banneredit() + { + if (Request::isPost()) { + $id = input('post.id'); + if (empty($id)) { + return json(['code' => 1, 'msg' => 'ID不能为空']); + } + + $data = [ + 'title' => input('post.title'), + 'image' => input('post.image'), + 'url' => input('post.url'), + 'sort' => input('post.sort', 0), + 'update_time' => time() + ]; + + $res = Db::table('yz_banner')->where('id', $id)->update($data); + if ($res === false) { + return json(['code' => 1, 'msg' => '更新Banner失败']); + } + return json(['code' => 0, 'msg' => '更新成功']); + } + return json(['code' => 1, 'msg' => '请求方法无效']); + } + + // 删除banner + public function bannerdel() + { + if (Request::isPost()) { + $id = input('post.id'); + if (empty($id)) { + return json(['code' => 1, 'msg' => 'ID不能为空']); + } + + $res = Db::table('yz_banner')->where('id', $id)->update(['delete_time' => time()]); + if (!$res) { + return json(['code' => 1, 'msg' => '删除Banner失败']); + } + return json(['code' => 0, 'msg' => '删除成功']); + } + return json(['code' => 1, 'msg' => '请求方法无效']); + } + + // 修改banner状态 + public function bannerstatus() + { + if (Request::isPost()) { + $id = input('post.id'); + $status = input('post.status'); + + if (empty($id)) { + return json(['code' => 1, 'msg' => 'ID不能为空']); + } + + $res = Db::table('yz_banner')->where('id', $id)->update(['status' => $status]); + if ($res === false) { + return json(['code' => 1, 'msg' => '更新状态失败']); + } + return json(['code' => 0, 'msg' => '更新成功']); + } + return json(['code' => 1, 'msg' => '请求方法无效']); + } + } \ No newline at end of file diff --git a/app/admin/view/article/articlecate.php b/app/admin/view/article/articlecate.php index 8a3bba5..ea998a5 100644 --- a/app/admin/view/article/articlecate.php +++ b/app/admin/view/article/articlecate.php @@ -118,7 +118,7 @@ /* 页面整体样式 */ .config-container { padding: 15px; - background: #f2f2f2; + /* background: #f2f2f2; */ } /* 页面头部样式 */ @@ -156,8 +156,8 @@ .layui-card { margin-bottom: 0; - border-radius: 2px; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); + border-radius: 8px; + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1); } .layui-card-header { diff --git a/app/admin/view/yunzeradmin/banner.php b/app/admin/view/yunzeradmin/banner.php new file mode 100644 index 0000000..091711f --- /dev/null +++ b/app/admin/view/yunzeradmin/banner.php @@ -0,0 +1,210 @@ +{include file="public/header" /} + + + + + +