fluttercommunity / fluttercommunity/flutter_webview_plugin
The monitoring function is triggered twice under the same Url
- 主要言語
- Java
- スター
- 1.5k
- フォーク
- 938
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
## System info
Issue occurs on: Android
Plugin version: 0.3.11
Flutter doctor output:
[✓] Flutter (Channel stable, 1.22.5, on Mac OS X 10.15.3 19D76 darwin-x64, locale
zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
[✓] Android Studio (version 3.5)
[✓] IntelliJ IDEA Ultimate Edition (version 2019.3)
[✓] VS Code (version 1.52.1)
[✓] Connected device (1 available)
• No issues found!
```
paste it here...
```
## Steps to Reproduce
1. ...
```
@override
void initState() {
super.initState();
webviewPlugin.onUrlChanged.listen((url) {
// TODO:相同的地址会执行两次,bug
if (mounted) {
print("url changed: $url");
isLoading = false;
setState(() {});
if (url != null && url.contains("code=")) {
String code = url.split("?")[1].split("=")[1].split("&")[0];
Map params = Map();
params["client_id"] = AppApiConfig.CLIENT_ID;
params["client_secret"] = AppApiConfig.SECRET_KEY;
params["grant_type"] = "authorization_code";
params["redirect_uri"] = AppApiConfig.CALLBACK;
params["code"] = '$code';
params["dataType"] = "json";
NetUtils.post(AppUrls.OAUTH2_TOKEN, params).then((data) async {
Map map = json.decode(data);
// TODO: 处理bug错误
if (map["error"] == "400") {
print("请求出错");
return;
}
if (map != null && map.isNotEmpty) {
await DataUtils.setLoginInfo(map: map);
Navigator.pop(context, AppMsg.SUCCESS);
}
});
}
}
});
}
```
2. ...
3. ...
## Logs

```
2 I/flutter (12981): url changed: http://blog.jackson615.top/?code=7rX7S6&state=
```
```
```
```
```
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
評価
この issue はまだ評価されていません。