Мы работаем над проектом, в котором мы разрабатываем графический интерфейс в сценарии действия 3.0.
Экран входа выполнит http-вызов с сервером opensso для аутентификации, и если вход не удастся, должно появиться всплывающее окно с ошибкой.
Теперь проблема в том, что иногда аутентификация занимает много времени, и конечный пользователь не знает ситуацию. Итак, он снова нажимает кнопку ВХОД. Таким образом, клиент хочет другое всплывающее окно, которое должно отображать только WAIT, пока сервер не отправит ответ на вход.
Это наш метод ssoAuthenticate —
private function ssoAuthenticate():void
{
var loaderUrl:String = FlexGlobals.topLevelApplication.loaderInfo.url;
var myLoadBaseUrl:LoadBaseUrl = new LoadBaseUrl();
var ssoBaseUrl:String = myLoadBaseUrl.getSSOUrl();
var url:String = ssoBaseUrl.concat("opensso/json/authenticate");
var srv:HTTPService = new HTTPService();
srv.url = url;
srv.method = "POST";
srv.contentType = "application/json";
srv.headers = {
"X-OpenAM-Username": userName,
"X-OpenAM-Password": password,
"Content-Type": "application/json"
}
var data:Object = new Object();
srv.resultFormat = "e4x";
srv.addEventListener(ResultEvent.RESULT, authenticateSuccess);
srv.addEventListener(FaultEvent.FAULT, authenticateFailed);
srv.send("{}");
}
Как мы можем это сделать? Как мы можем добавить еще одно всплывающее окно WAIT в этот код? И это всплывающее окно должно исчезать всякий раз, когда с сервера возвращается событие ResultEvent.RESULT.
Любой указатель будет высоко оценен. Спасибо
Когда ваш пользователь нажимает кнопку входа в систему, вызывает login.removeEventListerner(MouseEvent.CLICK,ssoAuthenticate), пока ResultEvent.RESULT не вернется с вашего сервера также для лучшего UX вы можете показать видеоролик загрузчика или диалоговое окно прогресса, подобное этому https://docs.airnativeextensions.com/docs/dialog/progress-dialog
Класс LocalConnection разработан именно для этой единственной цели: разрешить взаимодействие нескольких SWF-приложений, работающих на одном устройстве: help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/…