修改退出方式

This commit is contained in:
wenli 2024-07-24 22:36:56 +08:00
parent b576a8931c
commit 5e2dbc6191
4 changed files with 19 additions and 8 deletions

View File

@ -178,4 +178,10 @@ public class AppUI extends Application {
private void onBrowseEvent(BrowseEvent event) {
getHostServices().showDocument(event.getUri().toString());
}
@Override
public void stop() throws Exception {
super.stop();
}
}

View File

@ -169,9 +169,7 @@ public class MainView implements FxmlView<MainViewModel>, Initializable {
closeBut.setGraphic(close);
closeBut.setOnAction(actionEvent -> {
Stage stage = (Stage) closeBut.getScene().getWindow();
stage.close();
mainViewModel.loginOut(true);
});
@ -387,7 +385,7 @@ public class MainView implements FxmlView<MainViewModel>, Initializable {
Bounds bounds = userBut.localToScreen(userBut.getBoundsInLocal());
contextMenu.show(userBut, bounds.getMinX(), bounds.getMinY() + bounds.getHeight());
menuItem2.setOnAction(actionEvent -> mainViewModel.loginOut());
menuItem2.setOnAction(actionEvent -> mainViewModel.loginOut(false));
menuItem1.setOnAction(actionEvent -> {
ViewTuple<UserInfoView, UserInfoViewModel> viewTuple = FluentViewLoader.fxmlView(UserInfoView.class).load();

View File

@ -5,6 +5,7 @@ import com.lw.dillon.admin.module.system.controller.admin.auth.vo.AuthPermission
import com.lw.fx.request.Request;
import com.lw.fx.store.AppStore;
import com.lw.fx.util.MessageType;
import com.lw.fx.websocket.SSLWebSocketClient;
import com.lw.ui.request.api.system.AuthFeign;
import com.lw.ui.request.api.system.NotifyMessageFeign;
import de.saxsys.mvvmfx.MvvmFX;
@ -62,7 +63,7 @@ public class MainViewModel implements ViewModel, SceneLifecycle {
}
public void loginOut() {
public void loginOut(boolean exit) {
ProcessChain.create()
.addSupplierInExecutor(() -> {
return Request.connector(AuthFeign.class).logout();
@ -70,8 +71,14 @@ public class MainViewModel implements ViewModel, SceneLifecycle {
.addConsumerInPlatformThread(r -> {
if (r.isSuccess()) {
MvvmFX.getNotificationCenter().publish("showLoginRegister");
MvvmFX.getNotificationCenter().publish("message", "退出成功!", MessageType.SUCCESS);
SSLWebSocketClient.getInstance().loginOut();
if (exit) {
System.exit(0);
} else {
MvvmFX.getNotificationCenter().publish("showLoginRegister");
MvvmFX.getNotificationCenter().publish("message", "退出成功!", MessageType.SUCCESS);
}
}
})
.onException(e -> {
@ -87,6 +94,7 @@ public class MainViewModel implements ViewModel, SceneLifecycle {
*/
@Override
public void onViewRemoved() {
System.err.println("------remove");
}

View File

@ -75,7 +75,6 @@ public class MainFrame extends JFrame {
public void windowClosed(WindowEvent e) {
super.windowClosed(e);
loginOut(true);
System.exit(0);
}
});