model = new Diy(); } /** * 获取自定义页面信息 * @param array $params * @return array */ public function getInfo(array $params = []) { $condition = [ [ 'site_id', '=', $this->site_id ] ]; if (!empty($params[ 'id' ])) { $condition[] = [ 'id', '=', $params[ 'id' ] ]; } elseif (!empty($params[ 'name' ])) { $condition[] = [ 'name', '=', $params[ 'name' ] ]; $condition[] = [ 'is_default', '=', 1 ]; } $field = 'id,site_id,title,name,type,template, mode,value,is_default,share,visit_count'; $info = $this->model->field($field)->where($condition)->findOrEmpty()->toArray(); if (empty($info)) { // 查询默认页面数据 if (!empty($params[ 'name' ])) { $page_data = $this->getFirstPageData($params[ 'name' ]); if (!empty($page_data)) { $info = [ 'site_id' => $this->site_id, 'title' => $page_data[ 'title' ], 'name' => $page_data[ 'type' ], 'type' => $page_data[ 'type' ], 'template' => $page_data[ 'template' ], 'mode' => $page_data[ 'mode' ], 'value' => json_encode($page_data[ 'data' ], JSON_UNESCAPED_UNICODE), 'is_default' => 1, 'share' => '', 'visit_count' => 0 ]; } } } return $info; } /** * 获取默认页面数据 * @param $type * @return array|mixed */ public function getFirstPageData($type) { $pages = PagesDict::getPages([ 'type' => $type ]); if (!empty($pages)) { $template = array_key_first($pages); $page = array_shift($pages); $page[ 'template' ] = $template; $page[ 'type' ] = $type; return $page; } return []; } }