| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 | 
							- <?php
 
- /**
 
-  * Created by PhpStorm.
 
-  * User: 中闽 < 1464674022@qq.com >
 
-  * Date: 2023/02/05
 
-  * Time: 20:33
 
-  */
 
- namespace app\admin\controller;
 
- use app\admin\controller\base\Permissions;
 
- use app\admin\model\Admin as adminModel;
 
- use think\Db;
 
- use think\Session;
 
- class Admin extends Permissions
 
- {
 
-     /**
 
-      * 管理员列表
 
-      * @return mixed
 
-      */
 
-     public function index()
 
-     {
 
-         $model = new adminModel();
 
-         if ($this->request->isAjax()) {
 
-             $post = $this->request->param();
 
-             $where = [];
 
-             if (isset($post['keywords']) and !empty($post['keywords'])) {
 
-                 $where['nickname'] = ['like', '%' . $post['keywords'] . '%'];
 
-             }
 
-             if (isset($post['admin_cate_id']) and $post['admin_cate_id'] > 0) {
 
-                 $where['admin_cate_id'] = $post['admin_cate_id'];
 
-             }
 
-             if (isset($post['create_time']) and !empty($post['create_time'])) {
 
-                 $min_time = strtotime($post['create_time']);
 
-                 $max_time = $min_time + 24 * 60 * 60;
 
-                 $where['create_time'] = [['>=', $min_time], ['<=', $max_time]];
 
-             }
 
-             $count = $model->where($where)->count();
 
-             $data = $model->where($where)->page($post['page']??0, $post['limit']??15)->order('admin_cate_id desc')->select();
 
-             foreach ($data as $k => $v) {
 
-                 $v['cate_name'] = $v->admincate->name;
 
-                 $v['head_pic'] = geturl($v->thumb, '/static/public/images/tx.jpg');
 
-                 $data[$k] = $v;
 
-             }
 
-             return array('code' => 0, 'count' => $count, 'data' => $data);
 
-         } else {
 
-             $this->assign('cate', Db::name('admin_cate')->select());
 
-             return $this->fetch();
 
-         }
 
-     }
 
-     /**
 
-      * 管理员的添加及修改
 
-      * @return mixed
 
-      */
 
-     public function publish()
 
-     {
 
-         $id = $this->request->param('id', 0, 'intval');
 
-         $model = new adminModel();
 
-         if ($id > 0) {
 
-             if ($this->request->isPost()) {
 
-                 $post = $this->request->post();
 
-                 $validate = new \think\Validate([
 
-                     ['admin_cate_id', 'require', '请选择角色'],
 
-                 ]);
 
-                 if (!$validate->check($post)) {
 
-                     $this->error('提交失败:' . $validate->getError());
 
-                 }
 
-                 //验证昵称是否存在
 
-                 $nickname = $model->where(['nickname' => $post['nickname'], 'id' => ['neq', $post['id']]])->select();
 
-                 if (!empty($nickname)) {
 
-                     $this->error('提交失败:该昵称已被占用');
 
-                 }
 
-                 if (false == $model->allowField(true)->save($post, ['id' => $id])) {
 
-                     $this->error('修改失败');
 
-                 } else {
 
-                     $this->success('修改管理员信息成功', 'admin/admin/index');
 
-                 }
 
-             } else {
 
-                 $info['admin'] = $model->where('id', $id)->find();
 
-                 $info['admin_cate'] = Db::name('admin_cate')->select();
 
-                 $this->assign('info', $info);
 
-                 return $this->fetch();
 
-             }
 
-         } else {
 
-             //是新增操作
 
-             if ($this->request->isPost()) {
 
-                 $post = $this->request->post();
 
-                 $validate = new \think\Validate([
 
-                     ['name|账号', 'require|alphaDash'],
 
-                     ['password', 'require|confirm', '密码不能为空|两次密码不一致'],
 
-                     ['password_confirm', 'require', '重复密码不能为空'],
 
-                     ['admin_cate_id', 'require', '请选择角色'],
 
-                 ]);
 
-                 if (!$validate->check($post)) {
 
-                     $this->error('提交失败:' . $validate->getError());
 
-                 }
 
-                 //验证用户名是否存在
 
-                 $name = $model->where('name', $post['name'])->select();
 
-                 if (!empty($name)) {
 
-                     $this->error('提交失败:该用户名已被注册');
 
-                 }
 
-                 //验证昵称是否存在
 
-                 $nickname = $model->where('nickname', $post['nickname'])->select();
 
-                 if (!empty($nickname)) {
 
-                     $this->error('提交失败:该昵称已被占用');
 
-                 }
 
-                 //密码处理
 
-                 $post['password'] = password($post['password']);
 
-                 if (false == $model->allowField(true)->save($post)) {
 
-                     $this->error('添加管理员失败');
 
-                 } else {
 
-                     $this->success('添加管理员成功', 'admin/admin/index');
 
-                 }
 
-             } else {
 
-                 $info['admin_cate'] = Db::name('admin_cate')->select();
 
-                 $this->assign('info', $info);
 
-                 return $this->fetch();
 
-             }
 
-         }
 
-     }
 
-     /**
 
-      * 管理员删除
 
-      */
 
-     public function delete()
 
-     {
 
-         if ($this->request->isAjax()) {
 
-             $id = $this->request->has('id') ? $this->request->param('id', 0, 'intval') : 0;
 
-             if ($id == 1) {
 
-                 $this->error('网站所有者不能被删除');
 
-             }
 
-             if ($id == Session::get(self::ADMIN_ID)) {
 
-                 $this->error('自己不能删除自己');
 
-             }
 
-             if (false == Db::name('admin')->where('id', $id)->delete()) {
 
-                 $this->error('删除失败');
 
-             } else {
 
-                 $this->success('删除成功', 'admin/admin/index');
 
-             }
 
-         }
 
-     }
 
-     //重置密码
 
-     public function resetpass()
 
-     {
 
-         if ($this->request->isAjax()) {
 
-             $id = $this->request->has('id') ? $this->request->param('id', 0, 'intval') : 0;
 
-             if ($id == 1) {
 
-                 $this->error('admin不能被重置');
 
-             }
 
-             if ($id == Session::get(self::ADMIN_ID)) {
 
-                 $this->error('不能重置自己账号');
 
-             }
 
-             if (false == Db::name('admin')->where('id', $id)->update(['password' => password(123456)])) {
 
-                 $this->error('重置失败');
 
-             } else {
 
-                 $this->success('重置成功', 'admin/admin/index');
 
-             }
 
-         }
 
-     }
 
-     /**
 
-      * 管理员个人资料修改
 
-      * @return mixed
 
-      */
 
-     public function personal()
 
-     {
 
-         $id = Session::get(self::ADMIN_ID);
 
-         $model = new adminModel();
 
-         if ($id > 0) {
 
-             $admin = $model->where('id', $id)->find();
 
-             if ($this->request->isPost()) {
 
-                 $thumb = $this->request->post('thumb');
 
-                 $nickname = $this->request->post('nickname');
 
-                 if (false == $admin->save(['thumb' => $thumb, 'nickname' => $nickname])) {
 
-                     $this->error('修改失败');
 
-                 } else {
 
-                     $this->success('修改个人信息成功', 'admin/admin/personal');
 
-                 }
 
-             } else {
 
-                 $this->assign('info', $admin);
 
-                 return $this->fetch();
 
-             }
 
-         } else {
 
-             $this->error('id不正确');
 
-         }
 
-     }
 
-     /**
 
-      * 修改密码
 
-      * @return mixed
 
-      */
 
-     public function editPassword()
 
-     {
 
-         if ($this->request->isPost()) {
 
-             $id = Session::get(self::ADMIN_ID);
 
-             $post = $this->request->post();
 
-             $validate = new \think\Validate([
 
-                 ['password', 'require', '原密码不能为空'],
 
-                 ['password', 'require|confirm', '新密码不能为空|确认密码不一致'],
 
-                 ['password_confirm', 'require', '确认密码不能为空'],
 
-             ]);
 
-             if (!$validate->check($post)) {
 
-                 $this->error('提交失败:' . $validate->getError());
 
-             }
 
-             $admin = Db::name('admin')->where('id', $id)->find();
 
-             if (password($post['password_old']) == $admin['password']) {
 
-                 if (false == Db::name('admin')->where('id', $id)->update(['password' => password($post['password'])])) {
 
-                     $this->error('修改失败');
 
-                 } else {
 
-                     $this->success('修改成功', 'admin/main/index');
 
-                 }
 
-             } else {
 
-                 $this->error('原密码错误');
 
-             }
 
-         } else {
 
-             return $this->fetch();
 
-         }
 
-     }
 
- }
 
 
  |