Два абсолютных вопроса для начинающих. У меня есть рабочий код в моем main.js enterState.использование таймера sproutcore MaxInactiveInterval
enterState: function(context) {
..
//keepAlive
var now = SC.DateTime.create();
if (now.get('hour') < 18){
SC.info ("main_state:enterState:go %@", now.get('hour'));
this.timer = SC.Timer.schedule({
target: this,
action: '_timerFired',
interval: 5000,
repeats: YES
});
} else {
SC.info ("MainState:enterState:nogo %@", now.get('hour'));
};
..
this.mainPane.append();
},
_timerFired: function(){
SC.info ("_timerFired %@", Date.now());
},
exitState: function() {
SC.info('main_state:exitState');
this.timer.invalidate();
this.mainPane.remove();
},
Вопрос 1: enterState используется каждый раз, когда пользователь выходит на главный экран, является таймер расписания инициализируется один раз или каждый раз, когда пользователь переключает взгляды?
Вопрос 2: Мне кажется, мне нужен запрос. e.q. зарегистрированное имя пользователя, чтобы предотвратить автоматический выход из-за истекшего сеанса MaxInactiveInterval. Есть ли пример кода для получения имени пользователя spring в функции _timerFired?
Я видел ответ/решение Мауриц, спасибо, но это слишком сложно для меня.
Хотя вы считаете, что это сложно, это единственный способ, который фактически гарантирует, что все идет так, как вам нужно. Я пришел к решению, которое я вам дал (http://stackoverflow.com/questions/30187236/how-to-deal-with-authenticated-state-in-a-sproutcore-application), потому что любое другое решение создавало слишком много проблем. Потому что: что вы собираетесь делать, если auth действительно потерян, например, из-за потерянного интернет-соединения? – mauritslamers
Thx снова. У нас есть пользователи, как автоматически регистрируется после истечения MaxInactiveInterval. В течение рабочего дня вы хотите войти в систему. Я думал, что таймер и запрос сервера будут делать трюк. – fpk
Я незнаком с grails, но это, скорее всего, собирается сделать трюк. Однако это не учитывает, так как из-за других причин тайм-аут все равно может произойти. В таких случаях вы хотели бы изящно возобновить запущенное приложение, например, путем показа имени входа в самом приложении, затем выполните XHR-апи-вызов, обновив данные, и продолжайте. Вот почему помогает решение для штатов, так как позволяет вам очень сильно контролировать эту ситуацию. – mauritslamers