代码拉取完成,页面将自动刷新
import { debug, leancloudappid, leancloudappkey } from "./app_config"
import Toast from './src/components/Toast'
import * as account from "./services/account"
import EventEmitter from "./src/common/EventEmitter.js"
// leancloud
import AV from 'leancloud-storage'
import {Realtime, TextMessage} from 'leancloud-realtime'
import {TypedMessagesPlugin, ImageMessage} from 'leancloud-realtime-plugin-typed-messages'
AV.init({ appId: leancloudappid, appKey: leancloudappkey })
export let SlothRealtime = new Realtime({
appId: leancloudappid,
plugins: [TypedMessagesPlugin],
region: 'cn'
})
SlothRealtime.on('disconnect', function () {
Toast.show("网络连接已断开", 'warn')
SlothRealtime.retry()
})
SlothRealtime.on('retry', function (attempt) {
Toast.show('正在进行第' + attempt + '次重连')
})
SlothRealtime.on('reconnect', function() {
Toast.show('网络连接已恢复')
})
export let imclient = {}
export const MessageReciveEvent = "message_recive"
export const IMClientInitEvent = "imclient_init"
let MountIMClient = (user)=> {
SlothRealtime && SlothRealtime.createIMClient(user.id).then((client) => {
imclient = client
EventEmitter.emit(IMClientInitEvent, null)
imclient.on('message', (message, conv) => {
EventEmitter.emit(MessageReciveEvent, message, conv)
})
})
}
let UnMountIMClient = ()=> {
imclient = {}
}
// Services
let MountServices = ()=> {
account.CurrentUser().then((user) => {
MountIMClient(user)
}).catch(() => {
UnMountIMClient()
})
}
MountServices()
EventEmitter.addListener(account.TokenChangedEvent, MountServices.bind(this))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。