request; if ($request->isAjax) { $cate_id = Yii::$app->request->get('cate_id', '1'); $pid = Yii::$app->request->get('pid', 0); $cond = [['pid' => $pid], ['<>','status',StatusEnum::DELETE]]; $cond[] = ['is_addon' => 0, 'cate_id' => $cate_id]; $menus = Menu::getMenus($cond, ['child'], true); return $this->success('操作成功',compact('menus')); } return $this->render($this->action->id); } public function actionAddon() { $request = Yii::$app->request; if ($request->isAjax) { $pid = Yii::$app->request->get('pid', 0); $cond = [['pid' => $pid], ['<>','status',StatusEnum::DELETE]]; $cond[] = ['is_addon' => 1]; $menus = Menu::getMenus($cond, ['child'], true); return $this->success('操作成功',compact('menus')); } return $this->render($this->action->id); } /** * 编辑 * @param null $keyword * @param int $is_recycle * @return mixed|void */ public function actionEdit() { try { $request = Yii::$app->request; if ($request->isAjax) { if ($request->isGet) { $id = Yii::$app->request->get('id', ''); $type = Yii::$app->request->get('type', 'add'); $data = Menu::getEditData($id, $type); return $this->success('操作成功',$data); } } } catch (\Exception $e) { return $this->error($e->getMessage(), []); } try { $request = Yii::$app->request; if ($request->isAjax) { if ($request->isPost) { $params = Yii::$app->request->post(); $res = Yii::$app->services->validate->validate($params, [ [['cate_id', 'title'], 'required'], [['id', 'cate_id', 'url', 'is_addon', 'icon', 'pid', 'dev', 'sort', 'status', 'created_at', 'updated_at'], 'safe'], ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $params['app_id'] = $this->appId; $res = Menu::createMenu($params); if ($res === false) return $this->error(Menu::getStaticError()); return $this->success('操作成功'); } } } catch (\Exception $e) { return $this->error($e->getMessage(), []); } } /** * 添加 * @param null $keyword * @param int $is_recycle * @return mixed|void */ public function actionAdd() { try { $request = Yii::$app->request; if ($request->isAjax) { if ($request->isGet) { $id = Yii::$app->request->get('id', ''); $type = Yii::$app->request->get('type', 'add'); $data = Menu::getEditData($id, $type); return $this->success('操作成功',$data); } } } catch (\Exception $e) { return $this->error($e->getMessage(), []); } try { $request = Yii::$app->request; if ($request->isAjax) { if ($request->isPost) { $params = Yii::$app->request->post(); $res = Yii::$app->services->validate->validate($params, [ [['cate_id', 'title'], 'required'], [['id', 'cate_id', 'url', 'is_addon', 'icon', 'pid', 'dev', 'sort', 'status', 'created_at', 'updated_at'], 'safe'], ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $params['app_id'] = $this->appId; $res = Menu::createMenu($params); if ($res === false) return $this->error(Menu::getStaticError()); return $this->success('操作成功'); } } } catch (\Exception $e) { return $this->error($e->getMessage(), []); } } /** * 删除 * @param null $keyword * @param int $is_recycle * @return mixed|void */ public function actionDel() { $request = Yii::$app->request; if ($request->isAjax) { if ($request->isGet) { $id = Yii::$app->request->get('id', ''); $res = Menu::delMenu($id, StatusEnum::DELETE); if ($res === false) return $this->error(Menu::getStaticError()); return $this->success('操作成功'); } } } /** * 更新状态 * @param null $keyword * @param int $is_recycle * @return mixed|void */ public function actionUpdateStatus() { $request = Yii::$app->request; if ($request->isAjax) { if ($request->isGet) { $id = Yii::$app->request->get('id', ''); $status = Yii::$app->request->get('status', 0); $res = Menu::delMenu($id, $status); if ($res === false) return $this->error(Menu::getStaticError()); return $this->success('操作成功'); } } } /** * 更新序号 * @return mixed|void */ public function actionUpdateSort() { $request = Yii::$app->request; if ($request->isAjax) { if ($request->isGet) { $id = Yii::$app->request->get('id', ''); $sort = Yii::$app->request->get('sort', '999'); $params = ['id'=>$id,'sort'=>$sort]; $res = Menu::setData($params); if($res === false) return $this->error(Menu::getStaticError()); return $this->success('ok'); } } } }