如何管理quickblox会话Javascript SDK

如何管理quickblox会话Javascript SDK,javascript,quickblox,Javascript,Quickblox,我已经成功地创建了quickblox会话,当从一个页面移动到另一个页面时,它会工作。但一旦web应用程序刷新,会话就会丢失,我必须使用身份验证密钥等再次初始化 我尝试持久化创建会话时获得的令牌,并使用该令牌初始化quickblox对象,但它给出了一个错误,指出我需要提供身份验证密钥等。根据他们的文档,这应该是有效的 我想知道是否有更有效的方法来管理会话?我不喜欢每次应用刷新时都要重新初始化会话。任何指点都将不胜感激。 我通常使用Pocket db将会话细节保存在本地存储中。该应用程序是一个ang

我已经成功地创建了quickblox会话,当从一个页面移动到另一个页面时,它会工作。但一旦web应用程序刷新,会话就会丢失,我必须使用身份验证密钥等再次初始化

我尝试持久化创建会话时获得的令牌,并使用该令牌初始化quickblox对象,但它给出了一个错误,指出我需要提供身份验证密钥等。根据他们的文档,这应该是有效的

我想知道是否有更有效的方法来管理会话?我不喜欢每次应用刷新时都要重新初始化会话。任何指点都将不胜感激。 我通常使用Pocket db将会话细节保存在本地存储中。该应用程序是一个angular js应用程序,使用ui路由器。我使用stateprovider的run函数初始化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){

我在我的项目中遇到了同样的问题,我要做的是,首先,我检查QB.chat是否存在,如果QB.chat不存在,那么您必须使用您的登录凭据(用户名和密码)重新初始化所有内容,例如(创建会话、登录、连接、设置所有处理程序)。
我已经在angular js中实现了,所以我将此代码添加到app.js的run函数中,每次状态改变时都会调用此函数。
您必须以QB.chat在刷新页面时进行检查的方式实现。


希望这会对您有所帮助。

它应该按照您描述的方式工作。你能给我们提供更多关于你是如何实现它的详细信息吗?我刚刚编辑了我的帖子并包含了一些代码。你的代码看起来不错,当你调用Qb.init(token)时会出现什么错误?请提供有关此错误的更多详细信息。它说,如果没有身份验证id,它将无法初始化