news(); $this->cases(); $this->companyHistory($blocks['company_history_list']['value']); $this->data['categoryId'] = $categoryId; $this->data['blocks'] = Block::convertValue($blocks); $this->data['category'] = $category; $this->data['topCategoryId'] = Category::firstGradeById($category['id']); $this->data['isIndex'] = true; $this->data['slide'] = Slide::getList(); $this->setSeo($this->system['seo_title'], $this->system['seo_keywords'], $this->system['seo_description']); return $this->view(); } // 新闻 private function news() { $newsCategory = Category::where('parent_id', Category::CATEGORY_NEWS) ->order('sort', 'asc') ->column('id,title,route,url'); $sql = ''; foreach ($newsCategory as $cate) { $sql .= empty($sql) ? '' : ' union '; $sql .= '(select `id`,`title`,`summary`,`category_id`,`src`,`src_mobile`,`create_time` from bee_article where `category_id` = '.$cate['id'].' order by `top` desc, `sort` desc limit 5)'; } $res = Db::query($sql); $list = []; foreach (array_column($newsCategory, 'id') as $categoryId) { if (!isset($list[$categoryId])) { $list[$categoryId] = []; } foreach ($res as $re) { if ($re['category_id'] == $categoryId) { $list[$categoryId][] = $re; } } } $this->data['newsCategory'] = $newsCategory; $this->data['newsList'] = $list; } // 案例 private function cases() { $casesList = CasesModel::where('home', 1)->order('sort', 'desc') ->order('id', 'desc')->limit(4)->select(); $this->data['casesList'] = $casesList; } private function companyHistory(string $companyHistory) { $companyHistory = nl2br($companyHistory); $companyHistory = explode('
', $companyHistory); $companyHistoryList = []; foreach ($companyHistory as $v) { $arr = explode(';', $v); $companyHistoryList[] = [ 'year' => $arr[0] ?? '', 'desc' => $arr[1] ?? '' ]; } $this->data['companyHistoryList'] = $companyHistoryList; } /** * 留言 * * @throws Exception */ public function message() { if ($this->request->isPost()) { $item = input('item/a', [], 'strip_tags'); $validate = $this->validateByApi($item, [ 'code|验证码' => 'require', 'name|姓名' => 'require', 'email|邮箱' => 'email', 'tel|联系方式' => 'require|mobile', 'content|留言内容' => 'require', ]); if ($validate !== true) { return $validate; } if (!captcha_check($item['code'])) { return $this->json(4001, '验证码错误'); } Message::create([ 'name' => $item['name'], 'tel' => $item['tel'], 'email' => $item['email'], 'content' => $item['content'], 'ip' => request()->ip(), 'create_time' => time(), ]); return $this->json(); } else { return $this->json('请求错误'); } } }