我正在构建一个 flutter web 应用程序,它需要在开始时使用 url 参数。
目前它需要一个像
http://localhost:49844/?id=105897
这样的参数
但是应用程序捕获 URL 后,它会从网址栏中消失(如
http://localhost:49844/#/
),导致应用程序在刷新网站时失败。有没有办法让参数在Url路径中保留一次?
在我的代码中,我使用下面的代码从 Url 获取参数值
String appUrl = Uri.base.queryParameters["id"].toString();
此外,我使用
home:
而不是路线,因为我只显示一个页面。
添加
flutter_web_plugins
并在终端中执行 flutter pub get
命令。
// pubspec.yaml
dependencies:
flutter:
sdk: flutter
flutter_web_plugins:
sdk: flutter
cupertino_icons: ^1.0.2
timelines: ^0.1.0
image: ^4.1.7
touchable: ^1.0.2
encrypt: ^5.0.1
http: ^0.13.6
...
接下来,在
usePathUrlStrategy()
内拨打
main()
// main.dart
import 'package:flutter_web_plugins/flutter_web_plugins.dart';
void main() {
usePathUrlStrategy();
runApp(const MyApp());
}
重新启动项目。