融云开发文档

在线示例

  1. 引入 SDK 从官方下载插件包(项目源码 dist 目录)放在自己项目目录中,在页面中引入以下资源:
<
!-- 依赖资源 --
>
<
script src="/vendor/jquery-2.2.2.js"
>
<
/script
>
<
script src="/vendor/angular-1.4.8.js"
>
<
/script
>
<
script src="/vendor/plupload.full.min-2.1.1.js"
>
<
/script
>
<
script src="/vendor/qiniu-1.0.17.js"
>
<
/script
>
<
link rel="stylesheet" type="text/css" href="/vendor/jqueryrebox/jquery-rebox-0.1.0.css"/
>
<
script src="/vendor/jqueryrebox/jquery-rebox-0.1.0.js"
>
<
/script
>
<
script src="//cdn.ronghub.com/RongIMLib-2.2.5.min.js"
>
<
/script
>
<
script src="//cdn.ronghub.com/RongEmoji-2.2.5.min.js"
>
<
/script
>
<
script src="//cdn.ronghub.com/Libamr-2.2.5.min.js"
>
<
/script
>
<
script src="//cdn.ronghub.com/RongIMVoice-2.2.5.min.js"
>
<
/script
>
<
!-- 依赖资源 end --
>
<
!-- widget --
>
<
link rel="stylesheet" type="text/css" href="{资源目录}/css/RongIMWidget.css"/
>
<
scrip type="text/javascript" src="{资源目录}/RongIMWidget.js"
>
<
/script
>

在页面 body 中加入<rong-widget></rong-widget>标签
注意要按照 angular 的规范加在 angular 作用域内。

  1. 初始化 在自己 js 文件中 angular module 中引入 SDK var demo = angular.module("demo", ["RongWebIMWidget"]); 在整个应用程序全局,只需要调用一次 init 方法。

    
    
    

/* *@param config {Object} 初始化配置参数 */
WebIMWidget.init(config);

>
 注:如果你的模块是异步加载,可以使用angular主动加载模块  

>
 `
``
javascript

>
 angular.bootstrap(
document
,[
"demo"
])

>
 需要兼容IE9的发送图在初始化时请添加配置 config.uploadFlashUrl。 flash 文件 在vendor/FlashUpload.swf

>
``
`  

最简配置需要 appkey,token,这两个参数是必须的。例:
`
``
javascript
demo.controller(
"main"
, [
"$scope"
, 
"WebIMWidget"
, 
function
(
$scope,WebIMWidget
) 
{
    WebIMWidget.init({
      appkey:
"bmdehs6pdw0ss"
,
      token:
"****"

    });
}]);

``
`

>
 注:请从融云开发者平台注册得到 App Key ,和 Token

初始化回调函数,onSuccess 初始化成功回调、onError 初始化错误回调。例:
`
``
javascript
WebIMWidget.init({
  appkey:
"bmdehs6pdw0ss"
,
  token:
"****"
,
  onSuccess:
function
(
)
{

//初始化完成

  },
  onError:
function
(
)
{

//初始化错误

  }
});

``
`


3.
 初始化配置参数介绍  
* style 显示样式  
style 可以配置显示位置 top、left、bottom、right,positionFixed 是否固定在页面显示。默认 
false
,对话框显示大小 width、height,。示例:  
`
``
javascript
  WebIMWidget.init({
    appkey:
"bmdehs6pdw0ss"
,
    token:
"****"
,
    style:{
      width:
500
,
      height:
600
,
      bottom:
0
,
      left:
0

    }
  });
  • displayConversationList [ boolean ] 是否要显示会话列表。默认为 false
WebIMWidget.init({
    appkey:
"bmdehs6pdw0ss"
,
    token:
"****"
,
    displayConversationList:
true

  });
  • conversationListPosition [ left | right ] 会话列表位置,会话列表在对话框左边或右边。(注: displayConversationList 为 true 时才有效)
WebIMWidget.init({
    appkey:
"bmdehs6pdw0ss"
,
    token:
"****"
,
    displayConversationList:
true
,
    conversationListPosition:WebIMWidget.EnumConversationListPosition.left
  });
  • displayMinButton [ boolean ] 最小化时是否显示最小化按钮。默认为 true
WebIMWidget.init({
    appkey:
"bmdehs6pdw0ss"
,
    token:
"****"
,
    displayConversationList:
true
,
    displayMinButton:
false

  });
  • desktopNotification [ boolean ] web 桌面通知,是否开启 WebNotifications。默认为开启 true
  • voiceUrl [ boolean ] 接收消息时的声音提示。声音源格式必须是 audio 标签支持的格式
  • setConversation 设置当前会话
/**
   *@param conversationType 会话类型 {EnumConversationType} [PRIVATE|GROUP……]
   *@param targetId 会话目标id {string}
   *@param title 会话显示标题 {string}
   */

  WebIMWidget.setConversation(conversationType,targetId,title);

特别提醒:setConversation 只有在初始化成功后才可以使用,否则可能引发一些错误。

WebIMWidget.setConversation(WebIMWidget.EnumConversationType.PRIVATE,
"x001"
,
"张三"
);
  1. 隐藏、显示控件
//呈现会话面板
    WebIMWidget.show();
    //隐藏会话面板
    WebIMWidget.hide();
  1. 事件
//会话面板被关闭时
  WebIMWidget.onClose = function() {
    //do something
  }
  //控件显示时
  WebIMWidget.onShow = function) {
    //do something
  }
  //接收到消息时
  WebIMWidget.onReceivedMessage = function(message) {
    //message 收到的消息
  }
  1. 用户信息,开发者通过此接口来提供插件中的用户信息设置
WebIMWidget.setUserInfoProvider(function(targetId,obj){
      $http({
        method:'GET',
        url:'自己服务器获取用户信息接口',
        params:{
          'userId':targetId
        }
      }).then(function(data){
          obj.onSuccess({name:data.name,userId:data.userId,portraitUri:data.portraitUri});
      });
  });

results matching ""

    No results matching ""