优化登录功能

This commit is contained in:
xkeyC 2023-10-28 13:22:53 +08:00
parent 6153bcf9c0
commit 0640761299
3 changed files with 9 additions and 2 deletions

View File

@ -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

View File

@ -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);

View File

@ -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();