首先看文檔旨别,跑通demo县恕。https://cloud.tencent.com/document/product/269/32941
第一步:集成SDK并引用至項(xiàng)目? ? ??https://github.com/tencentyun/TIMSDK
登錄分為獨(dú)立模式和托管模式冰啃。
如果業(yè)務(wù)的帳號(hào)體系是托管模式枫攀,還需要引入TLS Web SDK偎快。
我項(xiàng)目中用到的獨(dú)立模式禽笑,則不需要上面的操作入录。
獨(dú)立模式函數(shù)調(diào)用順序?(當(dāng)然這些步驟托管模式下也是需要的)? ? ??
emmmm.....反正上邊能看懂就看,我直接上代碼啦佳镜。
第二步:登錄
登錄用到的方法是?webim.login(loginInfo, listeners,options,cbOk,cbErr) 第一個(gè)是用戶信息對(duì)象僚稿,第二個(gè)是事件回調(diào)對(duì)象,第三個(gè)是其他對(duì)象蟀伸,cnOk是成功回調(diào)蚀同,cnErr是錯(cuò)誤回調(diào)。
//?用戶信息對(duì)象
? ? var loginInfo = {
? ? ? 'sdkAppID': 'xxxxxx', //用戶所屬應(yīng)用id,必填(?創(chuàng)建騰訊云通訊應(yīng)用獲取到的 sdkappid)
? ? ? 'accountType': 'xxxxxx', //用戶所屬應(yīng)用帳號(hào)類(lèi)型啊掏,必填?(在帳號(hào)體系集成配置中獲取到的 accountType)
? ? ? 'identifier': 'xxxxxx', //當(dāng)前用戶ID,必須是否字符串類(lèi)型蠢络,必填(通過(guò)控制臺(tái)開(kāi)發(fā)輔助工具生成的identifier )
? ? ? 'userSig': 'xxxxxx',,//當(dāng)前用戶身份憑證,必須是字符串類(lèi)型迟蜜,必填(?通過(guò)控制臺(tái)開(kāi)發(fā)輔助工具生成的 userSig)
? ? ? 'identifierNick': null, //當(dāng)前用戶昵稱刹孔,不用填寫(xiě),登錄接口會(huì)返回用戶的昵稱娜睛,如果沒(méi)有設(shè)置髓霞,則返回用戶的id
? ? };
由于我項(xiàng)目中只用到群聊消息收發(fā)功能,所有其他監(jiān)聽(tīng)事件自行百度畦戒。附上api文檔?https://cloud.tencent.com/document/product/269/1595
//監(jiān)聽(tīng)事件
var listeners = {
? ? "onConnNotify": onConnNotify//監(jiān)聽(tīng)連接狀態(tài)回調(diào)變化事件,必填
? ? ,"onMsgNotify": onMsgNotify//監(jiān)聽(tīng)新消息(私聊方库,普通群(非直播聊天室)消息,全員推送消息)事件兢交,必填
};
//監(jiān)聽(tīng)連接狀態(tài)回調(diào)變化事件
? ? var onConnNotify = function(resp) {
? ? ? switch (resp.ErrorCode) {
? ? ? ? case webim.CONNECTION_STATUS.ON:
? ? ? ? ? console.log('建立連接成功: ' + resp.ErrorInfo);
? ? ? ? ? break;
? ? ? ? case webim.CONNECTION_STATUS.OFF:
? ? ? ? ? wx.showModal({
? ? ? ? ? ? title: '提示',
? ? ? ? ? ? content: '連接已斷開(kāi)薪捍,無(wú)法收到新消息,請(qǐng)檢查下你的網(wǎng)絡(luò)是否正常',
? ? ? ? ? })
? ? ? ? ? break;
? ? ? ? case webim.CONNECTION_STATUS.RECONNECT:
? ? ? ? ? wx.showModal({
? ? ? ? ? ? title: '提示',
? ? ? ? ? ? content: '連接狀態(tài)恢復(fù)正常',
? ? ? ? ? })
? ? ? ? ? break;
? ? ? ? default:
? ? ? ? ? wx.showModal({
? ? ? ? ? ? title: '提示',
? ? ? ? ? ? content: '未知連接狀態(tài)配喳,請(qǐng)重新登錄',
? ? ? ? ? })
? ? ? ? ? break;
? ? ? }
? ? };
//監(jiān)聽(tīng)新消息事件
? ? //newMsgList 為新消息數(shù)組,結(jié)構(gòu)為[Msg]
? ? function onMsgNotify(newMsgList) {
? ? ? var sess, newMsg;
? ? ? var selToID = wx.getStorageSync('selToID');
? ? ? //獲取所有聊天會(huì)話
? ? ? var sessMap = webim.MsgStore.sessMap();
? ? ? for (var j in newMsgList) { //遍歷新消息
? ? ? ? var newMsg = newMsgList[j];
? ? ? ? if (newMsg.getSession().id() == selToID) { //為當(dāng)前聊天對(duì)象的消息
? ? ? ? ? var selSess = newMsg.getSession();
? ? ? ? ? console.log(newMsg);
? ? ? ? ? that.addMsg(newMsg);? //在聊天窗體中新增一條消息
? ? ? ? }
? ? ? }
? ? }
var isAccessFormalEnv = true; //是否訪問(wèn)正式環(huán)境
var isLogOn = false; //是否開(kāi)啟sdk在控制臺(tái)打印日志
var options = {
? ? ? 'isAccessFormalEnv': isAccessFormalEnv, //是否訪問(wèn)正式環(huán)境凳干,默認(rèn)訪問(wèn)正式晴裹,選填
? ? ? 'isLogOn': isLogOn //是否開(kāi)啟控制臺(tái)打印日志,默認(rèn)開(kāi)啟,選填
? ? }
webim.login(loginInfo, listeners, options, function(resp) {
? ? ? ?console.log("登錄成功------------------")
? ? }, function(err) {
? ? ? console.log("登錄失敗------------------", err.ErrorInfo)
? ? })
后續(xù)會(huì)慢慢更新群組獲取救赐,聊天室收發(fā)消息涧团。
萌新小白只磷,文章多有不到之處,qq:215227670泌绣,一起交流钮追。