接入需求

企业内部系统需要加入即时通讯功能,使员工们更好地沟通!有以下几点要求:

  • 希望企业沟通信息数据存储在企业内部
  • 企业内部系统只有Web版
  • 不希望企业系统有较大的改动
当然,接入移动应用也很方便,但不是本案例范围。

准备

操作步骤:

  1. 首先要部署数据服务器,见帮助
  2. 然后下载Web端的SDK,并配置好,见帮助
  3. 请将y2wIMWeb文件夹放到您的项目,确保此文件夹的网页可直接访问,建议您先不要更改文件夹名称
  4. 您的业务页面请加载以下文件:
    • y2wIMWeb/web/js/3rd/md5.js。
    • y2wIMWeb/web/js/3rd/jquery-1.7.1.min.js。如果页面已经引用JQuery,这个可以不用加。
    • y2wIMWeb/web/js/y2wIMWeb.js。请在1323行更改数据服务器地址config.baseUrl = 'http://112.74.210.208:8080/v1/';,更改时请保留/v1/

几个简单的操作

  1. 同步绑定用户

    使业务系统的用户与即时通讯的用户保持一致,有两种方法可以办到任选其一:

    • 调用WebSDK的注册,见帮助
    • 直接在调用数据服务器的RESTful Api,打开帮助,找到/users/register即可。

  2. 创建群

    即创建typegroup的Session,有两种方法可以办到任选其一:

    • 调用WebSDK的创建群,见帮助添加会话
    • 直接在调用数据服务器的RESTful Api,打开帮助,找到/sessionsPOST方法。

  3. 加人入群

    将用户加入已创建好的Session进行聊天,有两种方法可以办到任选其一:

    • 调用WebSDK,见帮助添加会话成员
    • 直接在调用数据服务器的RESTful Api,打开帮助,找到/sessions/{sessionId}/membersPOST方法。
    注意:这里的需要的userId,是同步绑定用户回传的id。

  4. 用户登陆

    当用户绑定注册后,需要登陆拿到token才能继续其它操作,有两种方法可以办到任选其一:

    • 调用WebSDK的用户登陆,见帮助,注意,在业务系统执行此操作不要跳转页面
    • 直接在调用数据服务器的RESTful Api,打开帮助,找到/users/loginPOST方法。

  5. 获得用户未读消息数

    获得用户还有多少条未读消息,用于提醒。有两种方法可以办到,可任选其一:

    1. WebSDK

      • 用户登陆。见上面。
      • 用户会话初始化。见帮助
      • 同步用户会话。见帮助
      • 获取用户会话列表。见帮助,其中typeundefined
      • 遍历用户会话列表,统计会话的unread属性,即是没有读的消息数。
    2. RESTFul Api

      • 用户登陆。见上面。
      • 获取用户会话列表。打开帮助,找到/users/{userId}/userConversationsGET方法。
      • 遍历用户会话列表,统计会话的unread属性,即是没有读的消息数。

业务步骤

业务页面增加聊天入口,需要做:

  • 在网页打开时,判断用户是否已注册同步用户IM,如果没有就注册同步用户
  • 登陆用户
  • 获取此同户的未读消息数
  • 当用户点击此按钮时,打开网址y2wIMWeb/web/main.html?targetId={targetId}&type={type} 即可进入聊天。其中targetId为SessionId也即是群Id;type可填['p2p','group'],默认为group。
到此就完成了对接

.Net访问RESTful Api库

如果您使用C#调用,可以下载这个帮助库文件,下面是使用方式例子:

                                
var resText =  Y2W.Lib.ApiRequest.OpenPost("http://{ServerAddress}/v1/users/register")
    .SetPostParm("password", "121")
    .SetPostParm("name", "wfwfw")
    .SetPostParm("email", "abc@liwef.com")
    .SetToken("token")
    .ExectText()