123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346 |
- <?php
- // +----------------------------------------------------------------------
- // | Niucloud-admin 企业快速开发的saas管理平台
- // +----------------------------------------------------------------------
- // | 官方网址:https://www.niucloud.com
- // +----------------------------------------------------------------------
- // | niucloud团队 版权所有 开源版本可自由商用
- // +----------------------------------------------------------------------
- // | Author: Niucloud Team
- // +----------------------------------------------------------------------
- namespace app\adminapi\controller\diy;
- use app\dict\diy\PagesDict;
- use app\service\admin\diy\DiyService;
- use core\base\BaseAdminController;
- use Exception;
- use think\db\exception\DataNotFoundException;
- use think\db\exception\DbException;
- use think\db\exception\ModelNotFoundException;
- use think\Response;
- /**
- * 自定义页面控制器
- * Class DiyController
- * @package app\adminapi\controller\diy
- */
- class Diy extends BaseAdminController
- {
- /**
- * @notes 获取自定义页面分页列表
- * @return Response
- */
- public function lists()
- {
- $data = $this->request->params([
- [ "title", "" ],
- [ "type", "" ],
- [ 'mode', '' ],
- [ 'addon_name', '' ]
- ]);
- return success(( new DiyService() )->getPage($data));
- }
- /**
- * @notes 获取自定义页面分页列表,轮播搜索组件用
- * @return Response
- */
- public function getPageByCarouselSearch()
- {
- $data = $this->request->params([]);
- return success(( new DiyService() )->getPageByCarouselSearch($data));
- }
- /**
- * @notes 获取自定义页面列表
- * @return Response
- * @throws DataNotFoundException
- * @throws DbException
- * @throws ModelNotFoundException
- */
- public function getList()
- {
- $data = $this->request->params([
- [ "title", "" ],
- [ "type", "" ],
- [ 'mode', '' ]
- ]);
- return success(( new DiyService() )->getList($data));
- }
- /**
- * 自定义页面详情
- * @param int $id
- * @return Response
- */
- public function info(int $id)
- {
- return success(( new DiyService() )->getInfo($id));
- }
- /**
- * 添加自定义页面
- * @return Response
- */
- public function add()
- {
- $data = $this->request->params([
- [ "page_title", "" ],
- [ "title", "" ],
- [ "name", "" ],
- [ "type", "" ],
- [ 'template', '' ],
- [ 'mode', 'diy' ], // 页面展示模式,diy:自定义,fixed:固定
- [ "value", "", false ],
- [ 'is_default', 0 ],
- [ 'is_change', '' ]
- ]);
- $this->validate($data, 'app\validate\diy\Diy.add');
- $id = ( new DiyService() )->add($data);
- return success('ADD_SUCCESS', [ 'id' => $id ]);
- }
- /**
- * 自定义页面编辑
- * @param $id
- * @return Response
- */
- public function edit($id)
- {
- $data = $this->request->params([
- [ "page_title", "" ],
- [ "title", "" ],
- [ "name", "" ],
- [ 'template', '' ],
- [ 'mode', 'diy' ], // 页面展示模式,diy:自定义,fixed:固定
- [ "value", "", false ],
- [ 'is_change', '' ]
- ]);
- $this->validate($data, 'app\validate\diy\Diy.edit');
- ( new DiyService() )->edit($id, $data);
- return success('MODIFY_SUCCESS');
- }
- /**
- * 自定义页面删除
- * @param int $id
- * @return Response
- */
- public function del(int $id)
- {
- ( new DiyService() )->del($id);
- return success('DELETE_SUCCESS');
- }
- /**
- * 设为使用
- * @param $id
- * @return Response
- * @throws Exception
- */
- public function setUse($id)
- {
- ( new DiyService() )->setUse($id);
- return success('MODIFY_SUCCESS');
- }
- /**
- * 获取页面初始化数据
- * @return Response
- */
- public function getPageInit()
- {
- $params = $this->request->params([
- [ 'id', "" ],
- [ "name", "" ],
- [ "type", "" ],
- [ "title", "" ],
- ]);
- $diy_service = new DiyService();
- return success($diy_service->getInit($params));
- }
- /**
- * 获取自定义链接列表
- */
- public function getLink()
- {
- $diy_service = new DiyService();
- return success($diy_service->getLink());
- }
- /**
- * 获取页面模板
- * @return Response
- */
- public function getTemplate()
- {
- $params = $this->request->params([
- [ 'key', '' ], // 页面模板标识
- [ 'action', '' ], // 页面是否装修标识,为空标识不装修,decorate:装修
- [ 'mode', '' ], // 页面展示模式,diy:自定义,fixed:固定
- [ 'type', '' ], // 页面类型,index:首页、member_index:个人中心,空:普通页面
- [ 'addon', '' ], // 插件标识
- ]);
- $diy_service = new DiyService();
- return success($diy_service->getTemplate($params));
- }
- /**
- * 修改页面分享内容
- * @param int $id
- * @return Response
- */
- public function modifyShare(int $id)
- {
- $data = $this->request->params([
- [ "share", "" ],
- ]);
- ( new DiyService() )->modifyShare($id, $data);
- return success('MODIFY_SUCCESS');
- }
- /**
- * 获取装修页面列表
- */
- public function getDecoratePage()
- {
- $params = $this->request->params([
- [ 'type', '' ],
- ]);
- return success(( new DiyService() )->getDecoratePage($params));
- }
- /**
- * 切换模板
- */
- public function changeTemplate()
- {
- $data = $this->request->params([
- [ 'type', '' ], // 页面类型
- [ 'name', '' ], // 链接名称标识
- [ 'parent', '' ], // 链接父级名称标识
- [ 'page', '' ], // 链接路由
- [ 'title', '' ], // 链接标题
- [ 'action', '' ] // 是否存在操作,decorate 表示支持装修
- ]);
- ( new DiyService() )->changeTemplate($data);
- return success('MODIFY_SUCCESS');
- }
- /**
- * 获取模板页面列表
- * @return Response
- */
- public function getTemplatePages()
- {
- $params = $this->request->params([
- [ 'type', '' ], // 页面类型
- [ 'mode', '' ] // 页面模式:diy:自定义,fixed:固定
- ]);
- $pages = PagesDict::getPages($params);
- return success($pages);
- }
- /**
- * 获取模板页面(存在的应用插件列表)
- * @return Response
- */
- public function getApps()
- {
- return success(( new DiyService() )->getApps());
- }
- /**
- * 获取主题风格列表
- * @return Response
- */
- public function getDiyTheme()
- {
- return success(( new DiyService() )->getDiyTheme());
- }
- /**
- * 设置主题风格
- * @return Response
- */
- public function setDiyTheme()
- {
- $data = $this->request->params([
- [ 'id', '' ],
- [ 'addon', '' ],
- [ 'title', '' ],
- [ 'theme', '' ],
- [ 'new_theme', '' ],
- ]);
- ( new DiyService() )->setDiyTheme($data);
- return success('ADD_SUCCESS');
- }
- /**
- * 获取主题配色列表
- * @return Response
- */
- public function getDefaultThemeColor()
- {
- $data = $this->request->params([
- [ 'addon', '' ],
- ]);
- return success(( new DiyService() )->getDefaultThemeColor($data));
- }
- /**
- * 添加自定义主题配色
- * @return Response
- */
- public function addDiyTheme()
- {
- $data = $this->request->params([
- [ 'title', '' ],
- [ 'default_theme', '' ],
- [ 'theme', '' ],
- [ 'new_theme', '' ],
- [ 'addon', '' ]
- ]);
- $this->validate($data, 'app\validate\diy\DiyTheme.add');
- ( new DiyService() )->addDiyTheme($data);
- return success('ADD_SUCCESS');
- }
- /**
- * 编辑自定义主题配色
- * @param $id
- * @return Response
- */
- public function editDiyTheme($id)
- {
- $data = $this->request->params([
- [ 'title', '' ],
- [ 'theme', '' ],
- [ 'new_theme', '' ],
- [ 'addon', '' ]
- ]);
- $data[ 'id' ] = $id;
- $this->validate($data, 'app\validate\diy\DiyTheme.edit');
- ( new DiyService() )->editDiyTheme($id, $data);
- return success('EDIT_SUCCESS');
- }
- /**
- * 删除自定义主题配色
- * @param $id
- * @return Response
- */
- public function delDiyTheme(int $id)
- {
- ( new DiyService() )->delDiyTheme($id);
- return success('DELETE_SUCCESS');
- }
- }
|