【问题标题】:How to manage quickblox session Javascript SDK如何管理 quickblox 会话 Javascript SDK
【发布时间】:2015-09-27 19:51:53
【问题描述】:

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

我尝试保留创建会话时获得的令牌并使用此令牌初始化 quickblox 对象,但它给出了一个错误,说我需要提供身份验证密钥等。根据他们的文档应该可以工作。

我想知道是否有更有效的会话管理方式?我不喜欢每次刷新应用程序时都必须重新初始化会话。任何指针将不胜感激。 我通常使用 pouch db 将会话详细信息保存在本地存储中。该应用程序是一个 Angular js 应用程序,使用 ui-router。我使用 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.init(token) 时出现什么错误?请提供有关此错误的更多详细信息
  • 它说没有 auth id 就无法初始化

标签: javascript quickblox


【解决方案1】:

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

希望这会对你有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多