Стратегия Flutter Web в Url Launcher

Я разрабатываю приложение с использованием Flutter и использовал url_launcher, а для маршрутизации использовал go_router. при разработке приложения и открытии URL-адреса все работает нормально, но при сборке и загрузке на мой сервер не работают ни url_launcher, ни go_router. я имею в виду когда. я запускаю любой URL-адрес после загрузки сервера, он открыт с моим именем сервера пример: если я открою свою учетную запись в социальной сети, используя URL, тогда

www.example.com/www.instagram.com/myinstaid

и когда я нажимаю прямой URL

www.example.com/dsc

тогда показывает, что эта страница не найдена. Я надеюсь, что вы понимаете, поэтому, пожалуйста, помогите мне в этом.

вот код для запуска URL

 final Uri weburl = Uri(
  scheme: 'https',
  path: url,
  );
try {
  if (await canLaunchUrl(weburl)) {
    await launchUrl(
        weburl,
        mode: LaunchMode.inAppWebView
    );
  }
}on PlatformException catch (e) {
  debugPrint("PlatformException launchInBrowser : $e");
} on Exception catch (e) {
  debugPrint( "Exception launchInBrowser : $e");
}

код роутера go:

final GoRouter router = GoRouter(


initialLocation: '/',
  routes: <GoRoute>[
    GoRoute(
      path: '/',
      name: URL_HOME,
      builder: (BuildContext context, GoRouterState state) {
        return const HomeScreen();
      },
      routes: <GoRoute>[
        GoRoute(
          path: URL_DSC,
          name: URL_DSC,
          builder: (BuildContext context, GoRouterState state) {
            return const DSCCertificate();
          },
        ),
        GoRoute(
            path: URL_APPLY_DSC,
            name: URL_APPLY_DSC,
            builder: (BuildContext context, GoRouterState state) {
              return const ApplyDSCScreen();
            }),
        GoRoute(
          path: URL_MSME,
          name: URL_MSME,
          builder: (BuildContext context, GoRouterState state) {
            return const MSMEUdyamScreen();
          },
        ),

    GoRoute(
        path: URL_FASTAG,
        name: URL_FASTAG,
        builder: (BuildContext context, GoRouterState state) {
          return const FastagScreen();
        }),
  ],
),


],
);

Спасибо :)

Добавьте немного кода, чтобы мы могли выяснить ошибку. Коды страниц, таких как main.dart, вызов упомянутого вами URL и т. д., были бы полезны.

Clevino Alrin 21.04.2024 15:06

@ClevinoAlrin я добавил свой код. и вы также можете проверить URL-адрес в каталоге кода

Qutbuddin Bohra 21.04.2024 15:14

Вы получили какое-либо сообщение об ошибке в консоли?

Victor Eronmosele 22.04.2024 00:56

Для URL-адреса Insta вам не нужно добавлять URL-адрес вашего сервера. Что касается dsc вашей страницы, убедитесь, что это правильный путь... Можете ли вы рассказать, какое значение имеет URL_DSC?

Clevino Alrin 22.04.2024 09:31

Полный URL-адрес @ClevinoAlrin — www.example.com/dsc. Значение URL_DSC — это просто dsc, во время навигации он работает, но всякий раз, когда я запускаю веб-сайт, а затем нажимаю прямо над URL-адресом, страница «Показать мне» не найдена, навигация работала, но прямая ссылка не работает, надеюсь ты понимаешь

Qutbuddin Bohra 11.05.2024 03:26

Вы пытаетесь открыть свое приложение И другие URL-адреса в inAppWebView?

Clevino Alrin 12.05.2024 06:57

я обнаружил, что проблема заключается в использовании, когда usePathUrlStrategy(); в main() используйте, потому что удалите #, но когда я удалю этот usePathUrlStrategy(); затем # присутствует в URL

Qutbuddin Bohra 12.05.2024 13:04
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
7
68
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

наконец-то я решаю эту проблему после долгих дней

во-первых Добавьте пакет url_strategy в мои зависимости pubspec.yaml. В моем файле main.dart импортируйте пакет и вызовите setPathUrlStrategy() перед запуском моего приложения:

import 'package:url_strategy/url_strategy.dart';

void main() {
  setPathUrlStrategy(); // This removes the hash from the URL
  runApp(MyApp());
}

я поместил этот код в файл .htaccess (если он не существует, вы можете создать его) основной сервер моего public_html

RewriteEngine On
RewriteBase
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /index.html [L]

это поможет мне открыть URL-адрес глубокой ссылки, и если я захочу открыть любой другой домен, я просто использую код ниже.

импортировать HTML импортируйте «dart:html» как html;

и использовал его

html.window.open('https://www.facebook.com/burhanisolution', 'new tab');

Другие вопросы по теме