二鞍匾、微信小程序集成融云sdk調(diào)試聊天室功能

一、準備工作

首先需要注冊融云賬號橡淑,配置生成App Key,并開通小程序服務
官網(wǎng)地址:https://www.rongcloud.cn/
開發(fā)文檔地址:https://docs.rongcloud.cn/v4/views/im/noui/guide/quick/premise/open.html
可根據(jù)官方文檔一步一步來完成注冊

image.png

接下來要做的就是獲取測試要用的用戶token置森,這里官方給我們提供了api直接獲取用于測試符糊,進入控制臺,帶你api調(diào)用行贪,手動生成用戶會返回token給你模闲,用于開發(fā)測試用
image.png

二、導入sdk后進行初始化啰脚,導入sdk方式可看第一篇

導入并初始化

const RongIMLib = require('@rongcloud/imlib-v4')
 // 應用初始化以獲取 RongIMLib 實例對象实夹,請務必保證此過程只被執(zhí)行一次
const im = RongIMLib.init({ appkey: '你自己的app key' });

三晾咪、監(jiān)聽事件方法

用于監(jiān)聽各種事件往湿,如聊天室中的用戶新發(fā)的消息

/**監(jiān)聽事件 */
  watchIM(e){
      // 添加事件監(jiān)聽
      im.watch({
        // 監(jiān)聽會話列表變更事件
        conversation (event) {
          // 假定存在 getExistedConversationList 方法宅静,以獲取當前已存在的會話列表數(shù)據(jù)
          const conversationList = getExistedConversationList()
          // 發(fā)生變更的會話列表
          const updatedConversationList = event.updatedConversationList;
          // 通過 im.Conversation.merge 計算最新的會話列表
          const latestConversationList = im.Conversation.merge({ conversationList, updatedConversationList })
          console.log("發(fā)生變更的會話列表:",event)
        },
        // 監(jiān)聽消息通知
        message (event) {
          // 
          const message = event.message;
          console.log("新接收到的消息內(nèi)容:",event)
        },
        // 監(jiān)聽 IM 連接狀態(tài)變化
        status (event) {
          console.log('connection status:', event.status);
        },
        // 監(jiān)聽聊天室 KV 數(shù)據(jù)變更
        chatroom (event) {
          /**
           * 聊天室 KV 存儲數(shù)據(jù)更新
           * @example
           * [
           *  {
           *    "key": "name",
           *    "value": "我是小融融",
           *    "timestamp": 1597591258338, 
           *    "chatroomId": "z002", 
           *    "type": 1 // 1: 更新( 含:修改和新增 )雀瓢、2: 刪除
           *  },
           * ]
           */
          const updatedEntries = event.updatedEntries
          console.log("聊天室 KV 存儲數(shù)據(jù)更新:",event)
        },
        expansion (event) {
          /**
           * 更新的消息拓展數(shù)據(jù)
           * @example {
           *    expansion: { key: 'value' },      // 設置或更新的擴展值
           *    messageUId: 'URIT-URIT-ODMF-DURR' // 設置或更新擴展的消息 uid
           * }
           */
          const updatedExpansion = event.updatedExpansion;
          /**
           * 刪除的消息拓展數(shù)據(jù)
           * @example {
           *    deletedKeys: ['key1', 'key2'],    // 設置或更新的擴展值
           *    messageUId: 'URIT-URIT-ODMF-DURR' // 設置或更新擴展的消息 uid
           * }
           */
          const deletedExpansion = event.deletedExpansion;
          console.log("更新的消息拓展數(shù)據(jù):",event)
        }
      })
  },

四圆存、連接融云服務

傳入用戶的token

/**連接im */
  connectIM(token){
      //建立im連接
      im.connect({ token:token}).then(user => {
        console.log('鏈接成功, 鏈接用戶 id 為: ', user.id);
      }).catch(error => {
        console.log('鏈接失敗: ', error.code, error.msg);
      });
  },

五、加入聊天室

`  joinRoom(e){
    // 注: im 實例通過 RongIMLib.init 獲取(單個頁面僅需初始化一次)
    var chatRoom = im.ChatRoom.get({
      id: '001'    //自己創(chuàng)建的聊天室id沦辙,如沒有回自動創(chuàng)建
    });
    chatRoom.joinExist({
      count: 20 // 進入后, 自動拉取 20 條聊天室最新消息
    }).then(function() {
      console.log('加入聊天室成功');
    });
  },

六、發(fā)送消息

  /**發(fā)送消息 */
  send(e){
    let that=this
       // 獲取指定會話的抽象實例详民,對于會話的操作基于此實例完成
      const conversation = im.Conversation.get({
        // targetId
        targetId: '001',
        // 會話類型:RongIMLib.CONVERSATION_TYPE.PRIVATE | RongIMLib.CONVERSATION_TYPE.GROUP
        type: RongIMLib.CONVERSATION_TYPE.CHATROOM
      });
      // 向會話內(nèi)發(fā)消息
      conversation.send({
        // 消息類型陌兑,其中 RongIMLib.MESSAGE_TYPE 為 IMLib 內(nèi)部的內(nèi)置消息類型常量定義
        messageType: RongIMLib.MESSAGE_TYPE.TEXT, // 'RC:TxtMsg'
        // 消息內(nèi)容
        content: {
          content: '這是第1條消息' // 文本內(nèi)容
        }
      }).then(function(message){
        console.log('發(fā)送文字消息成功', message);
      }).catch(error => {
        console.log('發(fā)送文字消息失敗', error.code, error.msg);
      });
  },

七、斷開連接

到這里基本就可以實現(xiàn)測試簡單的聊天室功能了

quit(e){
  im.disconnect().then(() => console.log('斷開鏈接成功'));
},
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末饿凛,一起剝皮案震驚了整個濱河市软驰,隨后出現(xiàn)的幾起案子涧窒,更是在濱河造成了極大的恐慌锭亏,老刑警劉巖纠吴,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呜象,死亡現(xiàn)場離奇詭異膳凝,居然都是意外死亡,警方通過查閱死者的電腦和手機上煤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門著淆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拴疤,“玉大人,你說我怎么就攤上這事呐矾。” “怎么了蜒犯?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵荞膘,是天一觀的道長。 經(jīng)常有香客問我羽资,道長,這世上最難降的妖魔是什么屠升? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任腹暖,我火速辦了婚禮进陡,結果婚禮上微服,老公的妹妹穿的比我還像新娘趾疚。我一直安慰自己以蕴,他們只是感情好,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布赡磅。 她就那樣靜靜地躺著宝与,像睡著了一般焚廊。 火紅的嫁衣襯著肌膚如雪习劫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天诽里,我揣著相機與錄音,去河邊找鬼。 笑死灸眼,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的焰宣。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼匕积,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了闸天?” 一聲冷哼從身側(cè)響起暖呕,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤苞氮,失蹤者是張志新(化名)和其女友劉穎湾揽,沒想到半個月后笼吟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體库物,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡贷帮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年戚揭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撵枢。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖锄禽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情沃但,我是刑警寧澤磁滚,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布宵晚,位于F島的核電站垂攘,受9級特大地震影響淤刃,放射性物質(zhì)發(fā)生泄漏晒他。R本人自食惡果不足惜钝凶,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一仪芒、第九天 我趴在偏房一處隱蔽的房頂上張望耕陷。 院中可真熱鬧掂名,春花似錦、人聲如沸饺蔑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至隆敢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拂蝎,已是汗流浹背穴墅。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工温自, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留玄货,地道東北人悼泌。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓松捉,卻偏偏與公主長得像馆里,于是被迫代替她去往敵國和親隘世。 傳聞我的和親對象是個殘疾皇子鸠踪,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月以舒,有人笑有人哭慢哈,有人歡樂有人憂愁蔓钟,有人驚喜有人失落卵贱,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,536評論 28 53
  • 信任包括信任自己和信任他人 很多時候滥沫,很多事情键俱,失敗兰绣、遺憾、錯過编振,源于不自信,不信任他人 覺得自己做不成,別人做不...
    吳氵晃閱讀 6,189評論 4 8
  • 怎么對待生活健无,它也會怎么對你 人都是哭著來到這個美麗的人間荣恐。每個人從來到塵寰到升入天堂累贤,整個生命的歷程都是一本書叠穆,...
    靜靜在等你閱讀 4,974評論 1 6
  • 步驟:發(fā)微博01-導航欄內(nèi)容 -> 發(fā)微博02-自定義TextView -> 發(fā)微博03-完善TextView和...
    dibadalu閱讀 3,136評論 1 3