前端整合環信IM

2021-09-26 10:09:09 字數 2777 閱讀 6354

由於專案趕進度,而我們前端進度太慢,於是就被老闆抓來當壯丁,就分享一下在當壯丁期間的前端整合環信im吧。希望能對你有所啟發。

將這個sdk目錄拷貝到專案裡:

然後自己新建乙個js:webimconfig.js。

import sdk from "sdk/connection.js";

const webim = sdk;

webim.conn = new webim.connection();

const login = options =>

const logout = () =>

// 環信的監聽

webim.conn.listen(,

onclosed: function(message) ,

ontextmessage: function(message) ,

ononline: function() ,

onoffline: function() )

}, onroster: function(message)

});module.exports = ;

//export default config

這個js是自己建立的,名稱可以自己定。

在登入頁面匯入該js:

import sdk from "../../webimconfig.js";
然後在登入方法裡加上登入到環信的**:

uni.request(

});//登入環信伺服器

var userinfo = uni.getstoragesync("userinfo");

console.log(data);

var options =

sdk.login(options);

// 登陸成功,跳轉主頁

uni.showtoast()

settimeout(function() );

}, 1200)

}})

然後在登入成功,進行登入環信時,可能會報錯:

如果報了這個錯,只需要在 connection.js 裡面的對應位置加一行**:

import stropheall from "./libs/strophe";

// 新增如下**

let webim = {};

原因找了挺久,發現是webim 在 connection.js 裡面確實是沒有定義的,既然它沒有定義,那麼我們就幫它定義乙個。

先導入js,然後在退出方法裡新增退出環信的**:

quit: function() ,

success: res => )

settimeout(function() )

}, 1200)}})

}},fail: () => {},

complete: () => {}

});}

然後在聊天頁面,匯入webimconfig.js,新增傳送訊息的方法:

send: function() , //擴充套件訊息

success: function(id, servermsgid) , // 對成功的相關定義,sdk會將訊息id登記到日誌進行備份處理

fail: function(e) )

} // 對失敗的相關定義,sdk會將訊息id登記到日誌進行備份處理

});sdk.conn.send(msg.body);

},

在這時可能會報個錯:

這個時候,只需在 connection.js 裡面剛新增那行**下面再新增幾行**:

import stropheall from "./libs/strophe";

let webim = {};

// 再新增

webim.config =

原因的話,直接在這個 connection.js 裡面搜尋 iswindowsdk ,發現只有乙個地方有:

所以在 connection.js 裡面也是沒有進行定義的,而且從這個**中可以發現,這個 iswindowsdk 應該是個布林值,而且我們只是像實現傳送訊息,而如果這個 iswindowsdk 為true,那麼執行的應該是webim.doquery裡面的**,看這個也能大概的知道這是乙個查詢的方法,而並不是我們要的傳送訊息的**;那麼再看如果 iswindowsdk 為false,那麼走的就是else if 裡面的**,開到那個try catch 裡面的輸出,這應該就是傳送訊息的,所以我就給 iswindowsdk 賦了個初始值為false。

(以上僅為了實現功能,並不能確保是正確的做法,畢竟本人不是專業的前端…)

環信IM快速整合整合,實現客服功能(單聊)

環信官網 然後你需要進行依賴庫的匯入 這裡我們只需要匯入不包含實時語音的依賴庫就好。然後我們需要在plist檔案裡面增加下面字段相容http傳輸 詳情請看官方文件 裡面介紹了詳細的整合前的工作。然後我們編譯一下如果沒有報錯恭喜你可以開始整合了。首先我們把sdk的chatdemo ui3.0工程裡面的...

Android 環信IM拓展訊息

public class linkconstant在easemessageadapter中定義兩個常量 public static final int message type recv linkinfoext call 14 public static final int message type...

iOS 整合環信(四)

本節主要仿照環信demo來建立demo的介面。我們在使用環信的demo可以看到環信的整個介面框架是uitabbarcontroller作為主控制器,裡面裝了會話conversationlistcontroller 通訊錄contactlistviewcontroller和設定settingsview...