request->isAjax && Yii::$app->request->isGet) { $params = Yii::$app->request->get(); // 检查提交的参数 $res = Yii::$app->services->validate->validate($params,[ [['route_type'], 'required'], [['title','template','route_type'], 'string'], [['title', 'page', 'limit'], 'safe'], [['cate_id','mid'], 'integer'], ]); if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $data = DiyTemplateLogic::TemplateMarket($params); return $this->success('获取成功', $data); } else { return $this->render($this->action->id); } } /** * 新增或编辑 * @Author: lun * @DateTime: 2021/12/14 0014 10:30 * @Copyright: copyright (c) 2021 广东七件事集团 * @return mixed|string|void */ public function actionEdit() { $request = Yii::$app->request; if ($request->isAjax) { if ($request->isPost) { $params = $request->post(); $res = Yii::$app->services->validate->validate($params,[ [['id','cate_id'], 'integer'], [['content'], 'string'], [['content', 'title'], 'required'], [['id', 'cover'], 'safe'], ]); if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $trans = Yii::$app->db->beginTransaction(); try { if (empty($params['cate_id'])) return $this->error('请选择所属分类'); // 将数组转为json字符串 if (is_array($params['content'])) $params['content'] = Json::encode($params['content'],JSON_UNESCAPED_SLASHES); // 保存数据 $params['setting'] = '[{"unit":"永久","money":"0","duration":"-1"}]';// 默认价格设置 $params['is_on_sale'] = StatusEnum::DISABLED; $res = DiyTemplate::setData($params); if ($res == false) throw new Exception(DiyTemplate::getStaticError()); $trans->commit(); $this->success('保存成功'); } catch (\Exception $e) { $trans->rollBack(); \Yii::error('edit DiyController error:' . $e->getMessage()); $this->error('编辑失败,msg:' . $e->getMessage()); } } else { $params = $request->get(); $res = Yii::$app->services->validate->validate($params,[ [['id'], 'integer'], [['id'], 'safe'] ]); if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); try{ if (isset($params['id'])) { // 查询页面 $diypage = DiyTemplate::find()->where(['id' => $params['id']])->select(['id','cate_id', 'title', 'template','content','created_at'])->asArray()->one(); if (empty($diypage))throw new \Exception("页面不存在"); $template = $diypage['template'];// 获取该页面模板 } // 根据分组获取组件 $components = DiyComponents::getComponent(DiyEnum::getGroup($template ?: DiyEnum::CUSTOM_PAGE)); $auth = $capital = []; // 获取分类 $cate_arr = DiyEnum::getTemplateCate(); $this->success('获取成功', compact('diypage', 'components', 'auth', 'capital', 'cate_arr')); } catch (\Exception $e) { $this->error('获取失败,msg:' . $e->getMessage()); } } } else { return $this->render("@backend/modules/mall/views/diy/edit.php"); } } /** * 设置 * @Author: lun * @DateTime: 2021/12/14 0014 16:57 * @Copyright: copyright (c) 2021 广东七件事集团 * @return mixed|string|void */ public function actionSetting() { $request = Yii::$app->request; if ($request->isAjax) { if ($request->isPost) { $params = $request->post('detail'); $res = Yii::$app->services->validate->validate($params,[ [['id','status'], 'integer'], [['title'], 'string'], [['id', 'title','setting'], 'required'], ]); if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $trans = Yii::$app->db->beginTransaction(); try { $params['setting'] = Json::encode($params['setting']); // 保存数据 $res = DiyTemplate::setData($params); if ($res == false) throw new Exception(DiyTemplate::getStaticError()); $trans->commit(); $this->success('保存成功'); } catch (\Exception $e) { $trans->rollBack(); $this->error('编辑失败,msg:' . $e->getMessage()); } } else { $params = $request->get(); $res = Yii::$app->services->validate->validate($params,[ [['id'], 'integer'], [['id'], 'required'] ]); if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); try{ $template = DiyTemplate::find()->where(['id' => $params['id']])->select(['id','title', 'setting','status'])->asArray()->one(); if (empty($template))throw new \Exception("页面不存在"); $this->success('获取成功', $template); } catch (\Exception $e) { $this->error('获取失败,msg:' . $e->getMessage()); } } } else { return $this->render($this->action->id); } } /** * 操作 * @Author: lun * @DateTime: 2021/12/14 0014 18:37 * @Copyright: copyright (c) 2021 广东七件事集团 * @return mixed|void */ public function actionHandle() { $request = Yii::$app->request; if ($request->isAjax && $request->isPost) { $params = $request->post(); $res = Yii::$app->services->validate->validate($params,[ [['id','is_on_sale'], 'integer'], [['id', 'is_on_sale'], 'required'], ]); if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $trans = Yii::$app->db->beginTransaction(); try { // 保存数据 $res = DiyTemplate::setData($params); if ($res == false) throw new Exception(DiyTemplate::getStaticError()); $trans->commit(); $this->success('编辑成功'); } catch (\Exception $e) { $trans->rollBack(); $this->error('编辑失败,msg:' . $e->getMessage()); } } } /** * 删除模板 * @Author: pan * @DateTime: 2024/4/1 0014 18:37 * @Copyright: copyright (c) 2021 广东七件事集团 * @return mixed|void */ public function actionDelete() { $request = Yii::$app->request; if ($request->isAjax && $request->isPost) { $params = $request->post(); $params['status'] = -1; $res = Yii::$app->services->validate->validate($params,[ [['id', 'status'], 'integer'], [['id', 'status'], 'required'], ]); if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $trans = Yii::$app->db->beginTransaction(); try { // 保存数据 $res = DiyTemplate::setData($params); if ($res == false) throw new Exception(DiyTemplate::getStaticError()); $trans->commit(); $this->success('删除成功'); } catch (\Exception $e) { $trans->rollBack(); $this->error('删除失败,msg:' . $e->getMessage()); } } } }