由於專案趕進度,而我們前端進度太慢,於是就被老闆抓來當壯丁,就分享一下在當壯丁期間的前端整合環信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...