Ionic2 使用JMessage进行即时聊天功能的开发

在ionic2中使用极光提供的jmessage进行即时聊天,由于极光官方没有像jpush那样提供cordova插件,而我们为了简便就不去将jmessage封装成cordova的插件而是使用jmessage提供的web sdk进行即时聊天的开发。

由于在ionic2中使用jquery这样的三方类库将不再像在ionic1中那样简单,而是提供了一个typings的库。它可以将js库生成对应的文件,然后通过typings加载到项目中去,比如jquery在通过typings处理后就可以直接导入使用。详细地址
而在这里我们采用另外一种也是最常用的使用三方类库的方式:
要使用极光提供的jmessage那么我们首先需要去极光官网创建一个应用,得到应用的AppKey和Master Secret。这里就不再赘述。

第一步:在极光的官网找到jmessage 的web sdk开发文档 ,然后再资源下载中下载Web-SDK文件。
第二步:将下载的jmessage-sdk-web.min.js文件导入到项目中,然后再项目的index.html中引入该文件。

Ionic2 使用JMessage进行即时聊天功能的开发_第1张图片
这里写图片描述

第三步:在需要使用JMessage的时候对JMessage进行声明(不知道为什么的请看我之前的 Ionic2使用非ionic-native中的cordova插件的方法 这篇文章)

Ionic2 使用JMessage进行即时聊天功能的开发_第2张图片
这里写图片描述

部分代码:

  ngOnInit() {
    let JIM = new JMessage();

    JIM.init({
      "appkey": "25b693b31d2c2ad5f072ef0c",
      "random_str": "022cd9fd995849b58b3ef0e943421ed9",
      "signature": "D97C2DDA3E46E5E6D482E9E8EE84AF93",
      "timestamp": "1467967210887"
    }).onSuccess(function (data) {
      if (data.code == 0) {
        console.log('初始化成功');
        // 注册
        // JIM.register({
        //   'username': 'test',
        //   'password': '123456'
        //   //'is_md5' : '可选参数,密码是否为md5加密的密码,默认为false
        // }).onSuccess(function (data) {
        //   if (data.code == 0) {
        //     console.log('注册成功');
        //   } else if (data.code == 882002) {
        //     console.log('用户已存在,视操作而定');
        //   }
        //   //  console.log('success:' + JSON.stringify(data))
        // }).onFail(function (data) {
        //   console.log('error:' + JSON.stringify(data))
        // });
        //登录
        JIM.login({
          'username': 'test',
          'password': '123456'
          //'is_md5' : '可选参数,密码是否为md5加密的密码,默认为false
        }).onSuccess(function (data) {
          if (data.code == 0) {
            console.log('登陆成功,会返回用户名');
            //接下来就可以进行会话的一系列操作了
            //获取会话列表
            JIM.getConversation().onSuccess(function (data) {
              console.log('success:' + JSON.stringify(data))
            }).onFail(function (data) {
              console.log('error:' + JSON.stringify(data))
            });
            JIM.onMsgReceive(function (data) {
              console.log('receive msg: ' + JSON.stringify(data));
            });
          } else if (data.code == 880104) {
            //更多错误请参照错误代码列表
            console.log('登录失败,密码错误');
          }
        }).onFail(function (data) {
          console.log('error:' + JSON.stringify(data))
        });
      }

    }).onFail(function (data) {
      console.log('error:' + JSON.stringify(data))
    });
  }

你可能感兴趣的:(Ionic2 使用JMessage进行即时聊天功能的开发)