model = new AttachmentNavModel(); } /** * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法 * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑 * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改 */ /** * 获取列表 * @return mixed|string|\think\response\Json * @throws \think\exception\DbException */ public function index() { if (request()->isAjax()) { $list = Db::name('attachment_nav') ->where(['pid' => 0]) ->select(); if (!empty($list)) { foreach ($list as &$v) { $v['children'] = Db::name('attachment_nav') ->where(['pid' => $v['id']]) ->select(); } } return json([ 'list' => $list ]); } return $this->fetch(); } // 添加/编辑 public function add() { $data = input('post.'); if (!empty($data)) { // 添加 if (empty($data['id'])) { unset($data['id']); $data['create_time'] = time(); if ($this->model->add($data)) { return json([ 'code' => 200, 'msg' => '添加成功' ]); } else { return json([ 'code' => 400, 'msg' => '添加失败' ]); } } // 编辑 $data['update_time'] = time(); if ($this->model->edit($data)) { return json([ 'code' => 200, 'msg' => '编辑成功' ]); } else { return json([ 'code' => 400, 'msg' => '编辑失败' ]); } } } /** * 更改状态 * @return \think\response\Json */ public function status() { $data = input('param.'); $editData = [ 'id' => $data['id'], 'status' => $data['status'] ]; if ($this->model->edit($editData)) { return json([ 'code' => 200, 'msg' => '更改成功' ]); } else { return json([ 'code' => 400, 'msg' => '更改失败' ]); } } // 删除 public function dell(AttachmentModel $attachmentModel) { $id = input('id'); if (!empty($id)) { $ids = strpos($id, ',') !== false ? explode(',', $id) : [$id]; foreach ($ids as $v) { if (!$this->model->getItem((int)$v)) { return json(['code' => 401, 'msg' => '您要删除掉分类不存在']); } if ($this->model->where(['pid' => $v])->value('id')) { return json(['code' => 402, 'msg' => '当前分类下还有子类暂无法删除']); } if ($attachmentModel->where(['nid' => $v])->value('id')) { return json(['code' => 403, 'msg' => '当前分类下有附件暂无法删除']); } } foreach ($ids as $v) { $this->model->del(['id' => $v]); } return json(['code' => 200, 'msg' => '删除成功']); } } }