我用的极光IM小程序SDK,使用到UNI框架中开发APP,发现每隔几分钟总是掉线

leemin
2019-09-11 06:22 679 0

```
// 异常断线监听
export function OnDisconnectJIM() {
Vue.prototype.$JIM.onDisconnect(function() {
console.log('<----极光IM断线监听---->')
uni.showToast({
title:'检测到极光IM断线',
icon: 'none'
})
ReInitJIM()
})
}

function ReInitJIM(){
uni.showToast({
title:'尝试重新连接极光IM...',
icon: 'none'
})
InitJIM().then(() => {
console.log('<----断线后再次初始化成功---->')
uni.showToast({
title:'重新连接极光IM成功',
icon: 'none'
})
ReLoginJIM()
}).catch(() => {
console.log('<----断线后再次初始化失败---->')
uni.showToast({
title:'重新连接极光IM失败',
icon: 'none'
})
ReInitJIM()
})
}

function ReLoginJIM(){
uni.showToast({
title:'尝试重新登陆极光IM...',
icon: 'none'
})
var userInfo = uni.getStorageSync('USERS_INFO')
if(userInfo){
var account = JSON.parse(userInfo)
LoginJIM(account.userid).then(function() {
console.log('<----断线后再次登陆成功---->')
uni.showToast({
title:'重新登陆极光IM成功',
icon: 'none'
})
}).catch(() => {
console.log('<----断线后再次登陆失败---->')
uni.showToast({
title:'重新登陆极光IM失败',
icon: 'none'
})
ReLoginJIM()
})
}
}

1个回答

热门排序
  • 小程序 使用建议: 下面几点 SDK 使用建议可以尽量保证长连接的正常交互: 1.在第一次登录或注册的时候,再去实例化对象 JMessage 进行初始化。2.JMessage 实例化后最好挂载在 app 对象,并保证全局只实例化一次。3 展示全部