Как управлять SDK Javascript в quickblox session

Мне удалось создать сеанс quickblox, и он работает при переходе с одной страницы на другую. Но как только веб-приложение обновляется, сеанс теряется, и мне нужно снова инициализировать, используя ключ аутентификации и т. Д.

Я попытался сохранить токен, который я получил, когда был создан сеанс, и инициализировать объект quickblox с помощью этого токена, но он выдает ошибку, говоря, что мне нужно предоставить ключ аутентификации и т. Д. Что, согласно их документации, должно было сработать.

Мне было интересно, есть ли более эффективный способ управления сеансом? Мне не нравится повторная инициализация сеанса каждый раз, когда приложение обновляется. Любые указатели будут оценены. Я обычно сохраняю детали сеанса в локальном хранилище, используя pouch db. Это приложение angular js, использующее ui-router. Я использую функцию run stateprovider для инициализации объекта qb, но сначала проверяю, существует ли существующий сеанс.

LcDb.get session().then(
  function(res){
     Qb.init(res.token);
  },
  function(err){ 
     Var config = {
              on: {
                sessionExpired:function(next,retry){

                 }
                }
             QB.init(app.Id,app.key,app.secret,config);
              })
        QB.create session(function(err,result){

person Olarewaju Doyin    schedule 27.09.2015    source источник
comment
Он должен работать так, как вы это описали. Не могли бы вы предоставить нам более подробную информацию о том, как вы его реализуете, код?   -  person Sabina Bashuk    schedule 28.09.2015
comment
Я только что отредактировал свой пост и добавил код.   -  person Olarewaju Doyin    schedule 28.09.2015
comment
Ваш код выглядит нормально, какую ошибку вы получаете при вызове Qb.init (токена)? Расскажите подробнее об этой ошибке.   -  person Rubycon    schedule 29.09.2015
comment
Он говорит, что не может инициализироваться без идентификатора аутентификации   -  person Olarewaju Doyin    schedule 29.09.2015


Ответы (1)


У меня та же проблема в моем проекте, что я делаю, в первую очередь, я проверяю, существует QB.chat или нет. Если QB.chat не существует, вам, должно быть, придется повторно инициализировать все вещи, например (создать сеанс, вход в систему, подключение, настройка всех обработчиков) с использованием ваших учетных данных (имя пользователя и пароль).
Я реализовал в angular js, поэтому я добавил этот код в app.js в функцию запуска, этот вызов каждый раз при изменении состояния .
Вы должны реализовать способ, которым QB.chat проверяет каждый раз, когда вы обновляете страницу.

Надеюсь, это поможет вам.

person Mayur Shah    schedule 02.03.2017