From 064076129930091def3fa8716ebdaf86f659c23d Mon Sep 17 00:00:00 2001 From: xkeyC <3334969096@qq.com> Date: Sat, 28 Oct 2023 13:22:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=99=BB=E5=BD=95=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/localization_web_script.js | 3 ++- lib/ui/home/home_ui_model.dart | 1 + lib/ui/home/webview/webview.dart | 7 ++++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/assets/localization_web_script.js b/assets/localization_web_script.js index 4b34d37..5a6425e 100644 --- a/assets/localization_web_script.js +++ b/assets/localization_web_script.js @@ -229,6 +229,7 @@ async function getRSILauncherToken() { }); if (r.status !== 200) { // wait login + window.chrome.webview.postMessage({action: 'webview_rsi_login_show_window'}); return; } @@ -268,7 +269,7 @@ async function getRSILauncherToken() { body: releaseFormData }); if (releaseR.status !== 200) return; - let releaseDataJson = await releaseR.json(); + let releaseDataJson = (await releaseR.json())['data']; console.log(releaseDataJson); // post message diff --git a/lib/ui/home/home_ui_model.dart b/lib/ui/home/home_ui_model.dart index 7dfd2ed..5365230 100644 --- a/lib/ui/home/home_ui_model.dart +++ b/lib/ui/home/home_ui_model.dart @@ -472,6 +472,7 @@ class HomeUIModel extends BaseUIModel { // SystemHelper.checkAndLaunchRSILauncher(rsiLauncherInstalledPath); goWebView("登录 RSI 账户", "https://robertsspaceindustries.com/connect", loginMode: true, rsiLoginCallback: (data, ok) { + dPrint("======rsiLoginCallback=== $ok =====\n$data}"); isRsiLauncherStarting = false; notifyListeners(); }, useLocalization: true); diff --git a/lib/ui/home/webview/webview.dart b/lib/ui/home/webview/webview.dart index 120944d..06e1768 100644 --- a/lib/ui/home/webview/webview.dart +++ b/lib/ui/home/webview/webview.dart @@ -53,6 +53,9 @@ class WebViewModel { userDataFolderWindows: "${AppConf.applicationSupportDir}/webview_data", title: title)); + if (loginMode) { + await webview.setWebviewWindowVisibility(false); + } // webview.openDevToolsWindow(); webview.isNavigating.addListener(() async { @@ -141,7 +144,9 @@ class WebViewModel { if (loginMode) { webview.addOnWebMessageReceivedCallback((messageString) { final message = json.decode(messageString); - if (message["action"] == "webview_rsi_login_success") { + if (message["action"] == "webview_rsi_login_show_window") { + webview.setWebviewWindowVisibility(true); + } else if (message["action"] == "webview_rsi_login_success") { _loginModeSuccess = true; loginCallback?.call(message, true); webview.close();