我已经成功地创建了 quickblox session ,并且它在从一个页面移动到另一个页面时有效。但是一旦网络应用程序刷新, session 就会丢失,我必须使用身份验证 key 等再次初始化。
我尝试保留创建 session 时获得的 token 并使用此 token 初始化 quickblox 对象,但它给出了一个错误,提示我需要提供身份验证 key 等。根据他们的文档,这应该有效。
我想知道是否有更有效的方法来管理 session ?我不喜欢每次刷新应用程序时都必须重新初始化 session 。任何指针将不胜感激。 我通常使用 pouch db 将 session 详细信息保存在本地存储中。该应用程序是一个 Angular js 应用程序,使用 ui-router。我使用 stateprovider 的运行函数来初始化 qb 对象,但我首先检查是否存在现有 session 。
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 不存在,你必须重新初始化所有的东西,例如(创建 session 、登录、连接、设置所有处理程序)使用您的登录凭据(用户名和密码)。
我已经在 angular js 中实现了,所以我将这段代码添加到 app.js 的运行函数中,每次状态改变时都会调用这个函数。
您必须以 QB.chat 在您刷新页面时进行检查的方式实现。
希望这对您有所帮助。
关于javascript - 如何管理 quickblox session Javascript SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32812194/