我使用Ionic 4和Angular PWA工具包开发了示例PWA应用程序。当用户单击设备主屏幕上的应用程序图标时,我需要将主屏幕设置为login page
。如果用户已经登录,那么他将移至下一页。即登录页面之后。假设仪表板。我怎样才能做到这一点?
文档:https://developers.google.com/web/fundamentals/web-app-manifest/#start-url
start_url告诉浏览器应用程序应从何处启动 启动时,并阻止该应用在任何情况下启动 用户将您的应用添加到主屏幕时所在的页面。
我已经尝试过了。但是它总是转到home
页。不登录页面。
manifest.json
"display": "standalone",
"scope": "/",
"start_url": "/login",
routing.ts
const routes: Routes = [
{
path: '',
redirectTo: 'home',
pathMatch: 'full'
},
{
path: 'home',
loadChildren: './pages/home/home.module#HomePageModule'
},
{
path: 'quotes',
loadChildren: './pages/quotes/quotes/quotes.module#QuotesPageModule',
canActivate: [AuthGuard]
},
{
path: 'details',
loadChildren: './pages/quotes/details/details.module#DetailsPageModule',
canActivate: [AuthGuard]
},
{
path: 'login',
loadChildren: './pages/sign-in/login/login.module#LoginPageModule'
},
{
path: 'signup',
loadChildren: './pages/sign-in/signup/signup.module#SignupPageModule'
}
];
答案 0 :(得分:2)
您只需将 /**
* @Route("/search", name="searchEvent")
*/
public functionnsearchAction(Request $request){
$em = $this->getDoctrine()->getManager();
$queryBuilder = $em->getRepository(Event::class)-
>createQueryBuilder('e');
if($request->query->getAlnum('filter')){
$queryBuilder
->where('e.major LIKE :major')
->setParameter('major', '%' . $request->query-
>getAlnum('filter') . '%');
}
$event = $queryBuilder->getQuery();
return $this->render('event/showEvent.html.twig',array(
'event' => $event
));
添加到本地路由定义即可。因此默认情况下,您的应用将要转到canActivate: [AuthGuard]
路线,如果该人未登录,它将被重定向到/home
或者,在您的登录路由定义中,添加/login
,然后在canActivate: [ServiceToCheckIfLoggedIn]
中运行逻辑以检查用户是否已登录,如果是,则将其重定向到所需的位置。