| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 | <?phpnamespace App\Http\Middleware;use View;use App\Services\Content\NavigationService;use Closure;class GetSeoInfo{    protected $navigationService;    /**     * GetSeoInfo constructor.     * @param NavigationService $navigationService     */    public function __construct(NavigationService $navigationService)    {        $this->navigationService = $navigationService;    }    /**     * Handle an incoming request.     *     * @param  \Illuminate\Http\Request  $request     * @param  \Closure  $next     * @return mixed     */    public function handle($request, Closure $next)    {        if (!str_contains($request->route()->getPrefix(), 'admin')) {            $page_seo = $this->navigationService->getSeo($request->route());            if (!$page_seo) {                $page_seo = $this->getCustomPageSeo($request->route()->getName());            }            View::share('page_seo', $page_seo);        }        return $next($request);    }    private function getCustomPageSeo($url_name)    {        $custom_arr = array(            'person.*' => array(                'title'       => '个人会员中心-{#site_name}',                'keywords'    => '',                'description' => ''            ),  //个人中心            'com.*' => array(                'title'       => '企业会员中心-{#site_name}',                'keywords'    => '',                'description' => ''            ),  //企业中心            'service.*'=>array(                'title'       => '企业会员中心-{#site_name}',                'keywords'    => '',                'description' => ''            ),//企业中心======》会员套餐            'jobs.*'=>array(                'title'       => '企业会员中心-{#site_name}',                'keywords'    => '',                'description' => ''            ),//企业中心======》职位管理            'resume.*'=>array(                'title'       => '企业会员中心-{#site_name}',                'keywords'    => '',                'description' => ''            ),//企业中心======》简历管理            'jobfair.*'=>array(                'title'       => '企业会员中心-{#site_name}',                'keywords'    => '',                'description' => ''            ),//企业中心======》招聘会管理            'help.search' => array(                'title'       => '帮助-{#site_name}',                'keywords'    => '',                'description' => ''            ),            'register.*' => array(                'title'       => '会员注册-{#site_name}',                'keywords'    => '',                'description' => ''            ), //注册            'login.*' => array(                'title'       => '会员登录-{#site_name}',                'keywords'    => '',                'description' => ''            ), //登陆            'password.request' => array(                'title'       => '忘记密码-{#site_name}',                'keywords'    => '',                'description' => ''            ), //忘记密码            'password.reset' => array(                'title'       => '重置密码-{#site_name}',                'keywords'    => '',                'description' => ''            ), //重置密码        );        foreach ($custom_arr as $key => $value) {            if (strpos($key, '*')!==false) {                $key=str_replace('*', '', $key);                if (strpos($url_name, $key)!==false) {                    return $value;                }            } else {                if ($key == $url_name) {                    return $value;                }            }        }        return false;    }}
 |