Перейдите на веб-страницу напрямую с параметрами URL в веб-флаттере - PullRequest
0 голосов
/ 08 марта 2020

Я создаю простое веб-приложение для статей с трепетным вебом, где пользователь может перейти к конкретной статье, используя ссылку с параметрами, содержащими идентификатор статьи, например, webpage.com/articles/123. Пока я прочитал и опробовал кучу вещей но ничего не работает. Я могу извлечь идентификатор из URL. Однако страница не отображается, когда пользователь пытается сделать это в адресной строке, и пользователь перенаправляется на домашнюю страницу. Как я могу достичь этого.

Ответы [ 3 ]

1 голос
/ 09 марта 2020

Прежде всего, вам нужно использовать маршрутизацию навигации и определить их в классе MaterialApp. Если все сделано правильно, ваше приложение Flutter непосредственно запустит спецификацию c ArticlesScreens - вы можете поделиться ссылкой (например, webpage.com/articles/123), вставить ее в браузер и затем попасть в приложение ArticlesScreen приложения, отображающее статью с идентификатором 123.

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      onGenerateRoute: (settings) {
        if (settings.name.contains("/articles/")) {
          //parse the URL and get the article ID here
          final String articleId = getArticleIdFromUrl(settings.name);

          return ArticleScreen(articleId: articleId);
        }

        switch (settings.name) {
          case "/":
            return MainScreen();
          default:
            return MainScreen();
        }
      },
      initialRoute: "/",
    );
  }
1 голос
/ 25 марта 2020

Я попробовал пакет flutter_modular , и он отлично работает.

1 голос
/ 08 марта 2020

Вам необходимо добавить маршруты в приложении «Материал»:

home: ProjectPage(),
routes: <String, WidgetBuilder>{
      '/home': (BuildContext context) => HomePage(),
      '/login': (BuildContext context) => LoginPage(),
},
...