Browse Source

上传文件至 ''

鬼彝 5 years ago
parent
commit
149815f888
1 changed files with 102 additions and 0 deletions
  1. 102 0
      Base.php

+ 102 - 0
Base.php

@@ -0,0 +1,102 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: 庞涛
+ * Date: 2018/8/28
+ * Time: 10:30
+ */
+namespace app\mobile\controller;
+class Base extends \think\Controller
+{
+    protected $site;
+    private $controller;
+    private $seo;
+    protected $menuSeo = true;
+    public function _initialize(){
+        parent::_initialize();
+        if(request()->isMobile()){
+        }
+        $site = cache('site');
+        if($site['status'] == 0){
+            die($site['reson']);
+        }
+        $this->site = $site;
+        $this->seo = [
+            'title'     => $site['title'],
+            'seo_title' => $site['seo_title'],
+            'seo_keys'  => $site['seo_keys'],
+            'seo_desc'  => $site['seo_desc']
+        ];
+        $qq = str_replace(',',',',$site['qq']);
+        $qq = explode(',',$qq);
+        $this->controller = strtolower(request()->controller());
+        $this->getMenu();
+        $this->setSeo();
+        $this->getCate();//单页分类
+        $this->assign('site',$site);
+        $this->assign('qq',$qq);
+        $this->assign('controller',$this->controller);
+    }
+
+    //设置站点优化
+    protected function setSeo($info='',$field='title',$q=''){
+        if(!empty($info)){
+            $info['title'] = isset($info['title']) ? $info['title'] : $info[$field];
+            $seo['title'] = empty($info['seo_title']) ? $info[$field].'_'.$this->seo['title'] : $info['seo_title'].'_'.$this->seo['title'];
+            $seo['keys']  = empty($info['seo_keys']) ? (empty($info['seo_title']) ? $info['title']:$info['seo_title']) : $info['seo_keys'];//$seoarr[$key]['keys'];
+            $seo['desc']  = empty($info['seo_desc']) ? '' : $info['seo_desc'];//$seoarr[$key]['desc'];
+        }else{
+            $site['title'] = empty($q) ? $this->seo['seo_title'].'_'.$this->seo['title'] : $q .'_'.$this->seo['title'];
+            $site['keys']  = empty($this->seo['seo_keys']) ? $this->seo['seo_title'] : $this->seo['seo_keys'];
+            $site['desc']  = empty($this->seo['seo_desc']) ? '' : $this->seo['seo_desc'];
+            $seo = $site;
+        }
+        $this->assign('seo',$seo);
+    }
+    /**
+     * 读取站点导航
+     */
+    private function getMenu(){
+        $menu = cache('nav');
+        if(!$menu){
+            $map['status'] = 1;
+            $lists = model('nav')->where($map)->order('ordid asc')->select();
+            if($lists){
+                $cate = objToArray($lists);//普通列表
+                $temp = [];
+                foreach($cate as $v){
+                    if(!empty($v['alias'])){
+                        $temp[$v['alias']] = $v;
+                    }else{
+                        $temp[$v['model']] = $v;
+                    }
+                }
+                $menu = $temp;
+                cache('nav',$temp);
+            }
+
+        }
+        if(isset($menu[$this->controller]) && $this->menuSeo){
+            $this->seo = [
+                'title'     =>$this->site['title'],
+                'seo_title' => empty($menu[$this->controller]['seo_title']) ? $menu[$this->controller]['title'] : $menu[$this->controller]['seo_title'],
+                'seo_keys'  => $menu[$this->controller]['seo_keys'],
+                'seo_desc'  => $menu[$this->controller]['seo_desc']
+            ];
+        }
+        $this->assign('menu',$menu);
+    }
+    /**
+     * @return mixed
+     * 空操作 找不到操作方法时执行
+     */
+    public function _empty(){
+        return $this->fetch('public/404');
+    }
+    private function getCate(){
+        $cate = cache('oneCate');
+        $articleCate = cache('articleCate');
+        $this->assign('articleCate',$articleCate);
+        $this->assign('oneCate',$cate);
+    }
+}