123456789101112131415161718192021222324252627282930313233343536 |
- import {getIMHandlerFactory} from "../libs/im-sdk/im-factory";
- import { IM_HOST } from './../config/config'
- import EventEmitter from './../utils/eventEmitter'
- export default class AppIMDelegate {
- constructor(app) {
- this._app = app;
- }
- onLaunch(options) {
- this.iIMHandler = getIMHandlerFactory;
- EventEmitter.on('login', () => {
- this.connectSocket()
- })
- EventEmitter.on('logout', () => {
- this.iIMHandler.closeConnection()
- })
- }
- onShow(options) {
- this.connectSocket()
- }
- onHide() {
- this.iIMHandler.closeConnection()
- }
- getIMHandlerDelegate() {
- return this.iIMHandler;
- }
- connectSocket () {
- const app = getApp()
- if (app.globalData.token) {
- this.iIMHandler.createConnection({options: {url: `${IM_HOST}/im/${app.globalData.userinfo.viewerId}`}});
- }
- }
- }
|