LogoutActionHandler2.java 1.48 KB
package cn.csbr.app.gui.handler;

import cn.csbr.app.auth.LoginService;
import cn.csbr.app.gui.GUIContext;
import cn.csbr.app.gui.page.AbstractPage;
import cn.csbr.app.gui.page.MainPage;
import cn.csbr.app.gui.page.WelcomePage;
import cn.csbr.app.gui.util.DialogUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.concurrent.atomic.AtomicBoolean;

/**
 * 登出
 */
@Component
public class LogoutActionHandler2 extends WithAuthToPageBaseHandler<AbstractPage> {
    @Autowired
    private LoginService loginService;

    @Autowired
    private GUIContext context;

    @Autowired
    private WelcomePage welcomePage;
    @Autowired
    private MainPage mainPage;
    @Autowired
    private GUIContext guiContext;

    @Override
    protected String getMenuCode() {
        return "h_back";
    }

    @Override
    protected AbstractPage createPage() {
         AtomicBoolean is= new AtomicBoolean(false);
        DialogUtils.showConfirm("是否返回登录界面?", v -> {
            guiContext.setLoginUser(null);
            is.set(true);
        }, context.getPrimaryStage());
        if(is.get()){
            return welcomePage;
        }else{
            return mainPage;
        }
    }

    @Override
    protected void toPre(AbstractPage page) {
        this.guiContext.getScanResult().clear();
        this.guiContext.setCurrentPage(page);
    }

    @Override
    protected void toEnd(AbstractPage page) {

    }
}