| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | <?phpnamespace App\Services\Content;use App\Repositories\NavigationRepository;use App\Repositories\PageRepository;use Illuminate\Support\Facades\Cache;use Illuminate\Support\Facades\Route;class NavigationService{    protected $navigationRepository;    protected $pageRepository;    /**     * NavigationService constructor.     * @param $navigationRepository     * @param $pageRepository     */    public function __construct(NavigationRepository $navigationRepository, PageRepository $pageRepository)    {        $this->navigationRepository = $navigationRepository;        $this->pageRepository = $pageRepository;    }    public function getTopNav($where)    {        //return $this->navigationRepository->where($where)->all();        return $this->navigationRepository->getNav($where);    }    public function getTopNavs($where, $limit)    {        $navs = $this->navigationRepository->getNavs();        if (array_key_exists($where['alias'], $navs)) {            $list = $navs[$where['alias']];            if ($list) {                foreach ($list as $k => $v) {                    if ($v->is_personal !=$where['is_personal']) {                        unset($list[$k]);                    }                }            }            $return_navs= array_slice($list, 0, $limit);        } else {            $return_navs = null;        }        foreach ($return_navs as $k => $v) {            $arr = $v;            $arr->fullurl = null;            if ($v->url!='' && $v->urltype == 0) { //其它链接                //$arr->url = $v->url;                //判断是否是完整的url路由                $arr->fullurl = url($v->url);            } else if ($v->type_id!='') {                $arr->url = url_rewrite($v['pagealias'], array('id'=>$v['type_id']));            } else {                $arr->url = url_rewrite($v->pagealias);            }            if ($v->color!='') {                $arr['title'] = "<font color='".$v->color."'>".$v->title."</font>";            }            $return_navs[$k] = $arr;        }        return $return_navs;    }    //处理页面seo    public function getSeo($url_info)    {        $page_seo = $this->pageRepository->getPage();        $url_name = $url_info->getName();        if (array_has($page_seo, $url_name) || array_has($page_seo, strtolower($url_name))) {            $page = array_get($page_seo, $url_name)? array_get($page_seo, $url_name):array_get($page_seo, strtolower($url_name));        } else {            $page = array();        }        return $page;    }}
 |