model) { $this->model = new ProjectMenu; } } /** * 菜单列表 * @return array|string * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ public function menu() { $list = $this->model->treeList(); $this->success('', $list); } /** * 添加菜单 * @return array|string */ public function menuAdd() { $title = Request::post('title'); $url = Request::post('url'); if (!$title) { $this->error('名称不能为空'); } if (!$url) { $this->error('地址不能为空'); } $data = Request::only('title,url,icon,is_inner,pid,status,sort,params,values,node,show_slider,file_path'); if (!$data['file_path']) { $data['file_path'] = $data['url']; } if ($data['is_inner'] == 'true' or $data['is_inner'] == 1) { $data['is_inner'] = 1; } else { $data['is_inner'] = 0; } if ($data['show_slider'] == 'true' or $data['show_slider'] == 1) { $data['show_slider'] = 1; } else { $data['show_slider'] = 0; } $this->success('', $this->model->_add($data)); } /** * 编辑菜单 * @return array|string */ public function menuEdit() { $data = Request::only('title,url,icon,is_inner,id,params,sort,values,node,show_slider,file_path'); if (isset($data['title']) and !$data['title']) { $this->error('名称不能为空'); } if (!isset($data['url']) and !$data['url']) { $this->error('地址不能为空'); } if (!$data['file_path']) { $data['file_path'] = $data['url']; } if ($data['is_inner'] == 'true' or $data['is_inner'] == 1) { $data['is_inner'] = 1; } else { $data['is_inner'] = 0; } if ($data['show_slider'] == 'true' or $data['show_slider'] == 1) { $data['show_slider'] = 1; } else { $data['show_slider'] = 0; } $this->success('', $this->model->_edit($data)); } /** * 菜单禁用 */ public function menuForbid() { $this->success('', $this->model->_edit(Request::only('status,id'))); } /** * 菜单启用 * @throws \think\Exception * @throws \think\exception\PDOException */ public function menuResume() { $this->success('', $this->model->_edit(Request::only('status,id'))); } /** * 删除菜单 */ public function menuDel() { $this->success('', $this->model->del(Request::post('id'))); } }