差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
上一修订版 两侧同时换到之后的修订记录
im:web:intro:basic [2020/07/02 03:13]
zhangdong [创建连接]
im:web:intro:basic [2021/12/22 08:17]
huangfeipeng [添加回调函数]
行 4: 行 4:
  
 <code javascript>​ <code javascript>​
-var conn = {};+let conn = {};
 WebIM.config = config; WebIM.config = config;
-conn = WebIM.conn = new WebIM.default.connection({+conn = WebIM.conn = new WebIM.connection({
     appKey: WebIM.config.appkey,​     appKey: WebIM.config.appkey,​
     isHttpDNS: WebIM.config.isHttpDNS,​     isHttpDNS: WebIM.config.isHttpDNS,​
行 14: 行 14:
     apiUrl: WebIM.config.restServer,​     apiUrl: WebIM.config.restServer,​
     isAutoLogin:​ WebIM.config.isAutoLogin,​     isAutoLogin:​ WebIM.config.isAutoLogin,​
-    heartBeatWait:​ WebIM.config.heartBeatWait,​ 
     autoReconnectNumMax:​ WebIM.config.autoReconnectNumMax,​     autoReconnectNumMax:​ WebIM.config.autoReconnectNumMax,​
     autoReconnectInterval:​ WebIM.config.autoReconnectInterval,​     autoReconnectInterval:​ WebIM.config.autoReconnectInterval,​
-    isStropheLog:​ WebIM.config.isStropheLog,​ 
     delivery: WebIM.config.delivery,​     delivery: WebIM.config.delivery,​
     useOwnUploadFun:​ WebIM.config.useOwnUploadFun     useOwnUploadFun:​ WebIM.config.useOwnUploadFun
行 28: 行 26:
 <code javascript>​ <code javascript>​
 conn.listen({ conn.listen({
-    onOpened: function ( message ​) {},         ​//​连接成功回调  +    onOpened: function () {},                  //​连接成功回调  
-    onClosed: function ( message ​) {},         ​//​连接关闭回调+    onClosed: function () {},                  //​连接关闭回调
     onTextMessage:​ function ( message ) {},    //​收到文本消息     onTextMessage:​ function ( message ) {},    //​收到文本消息
     onEmojiMessage:​ function ( message ) {},   //​收到表情消息     onEmojiMessage:​ function ( message ) {},   //​收到表情消息
行 37: 行 35:
     onLocationMessage:​ function ( message ) {},//​收到位置消息     onLocationMessage:​ function ( message ) {},//​收到位置消息
     onFileMessage:​ function ( message ) {},    //​收到文件消息     onFileMessage:​ function ( message ) {},    //​收到文件消息
 +    onCustomMessage:​ function ( message ) {},  //​收到自定义消息
     onVideoMessage:​ function (message) {     onVideoMessage:​ function (message) {
         var node = document.getElementById('​privateVideo'​);​         var node = document.getElementById('​privateVideo'​);​
行 69: 行 68:
     onReadMessage:​ function(message){}, ​       //​收到消息已读回执     onReadMessage:​ function(message){}, ​       //​收到消息已读回执
     onCreateGroup:​ function(message){}, ​       //​创建群组成功回执(需调用createGroupNew)     onCreateGroup:​ function(message){}, ​       //​创建群组成功回执(需调用createGroupNew)
-    onMutedMessage:​ function(message){} ​       //​如果用户在A群组被禁言,在A群发消息会走这个回调并且消息不会传递给群其它成员+    onMutedMessage:​ function(message){},       //​如果用户在A群组被禁言,在A群发消息会走这个回调并且消息不会传递给群其它成员 
 +    onChannelMessage:​ function(message){} ​     //​收到整个会话已读的回执,在对方发送channel ack时会在这个回调里收到消息
 }); });
 </​code>​ </​code>​
行 83: 行 83:
     appKey: WebIM.config.appkey,​     appKey: WebIM.config.appkey,​
     success: function () { },  ​     success: function () { },  ​
-    error: function () { } +    error: function (err) { 
-    ​apiUrl:​ WebIM.config.apiURL+        let errorData = JSON.parse(err.data);​ 
 +        if (errorData.error === '​duplicate_unique_property_exists'​) { 
 +            console.log('​用户已存在!'​);​ 
 +        ​else if (errorData.error === '​illegal_argument'​) { 
 +            if (errorData.error_description === '​USERNAME_TOO_LONG'​) { 
 +                console.log('​用户名超过64个字节!'​) 
 +            }else{ 
 +                console.log('​用户名不合法!'​) 
 +            } 
 +        } else if (errorData.error === '​unauthorized'​) { 
 +            console.log('​注册失败,无权限!'​) 
 +        } else if (errorData.error === '​resource_limited'​) { 
 +            console.log('​您的App用户注册数量已达上限,​请升级至企业版!'​) 
 +        } 
 +    }, 
   };    }; 
   conn.registerUser(options);​   conn.registerUser(options);​
行 96: 行 110:
 <code javascript>​ <code javascript>​
 var options = {  var options = { 
-  apiUrl: WebIM.config.apiURL,​ 
   user: '​username',​   user: '​username',​
   pwd: '​password',​   pwd: '​password',​
行 110: 行 123:
 <code javascript>​ <code javascript>​
 var options = { var options = {
-    apiUrl: WebIM.config.apiURL,​ 
     user: '​username',​     user: '​username',​
     pwd: '​password',​     pwd: '​password',​
行 127: 行 139:
 <code javascript>​ <code javascript>​
 var options = { var options = {
-    apiUrl: WebIM.config.apiURL,​ 
     user: '​username',​     user: '​username',​
     accessToken:​ '​token',​     accessToken:​ '​token',​
行 140: 行 151:
 </​code>​ </​code>​
  
 +
 +===== 上传推送token =====
 +如果把sdk用在原生客户端,集成第三方推送功能,可以调用此方法将token上传到环信服务器
 +<code javascript>​
 +/**
 + * @param {Object} options - 
 + * @param {Object} options.deviceId - 设备id,可以自己定义,一般用来标识同一个设备
 + * @param {Object} options.deviceToken - 推送token
 + * @param {Object} options.notifierName - 推送服务的appId,对于FCM是senderId,​ 对于VIVO是 “appId+#​+AppKey ”
 + */
 +conn.uploadToken(options);​
 +</​code>​
 +
 +===== 修改推送昵称 =====
 +在注册时可以设置一个昵称,这个昵称用来在推送消息时显示,可以调用下面API修改昵称
 +<code javascript>​
 +conn.updateCurrentUserNick('​newNick'​)
 +</​code>​
 ===== 常见问题 ===== ===== 常见问题 =====