欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

微信小程序集成融云 SDK (即時通訊) 集成必備條件 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當前位置>首頁 » 新聞資訊 » 小程序相關 >

微信小程序集成融云 SDK (即時通訊) 集成必備條件

發(fā)表時間:2021-1-4

發(fā)布人:葵宇科技

瀏覽次數(shù):88

前言

最近公司需要用微信小程序做一個能夠讓用戶溝通的功能,經(jīng)過前期篩選和對比,最后還是選擇了使用融云的即時通訊,下面是我用小程序首次集成融云的 SDK 碰到的問題,在此做個記錄方便自己查看,同時也給有需要的同學作為參考。

前端小鳥一枚,立誓要成為前端菜鳥,不足地方留言指出,小子謝過。

準備工作

1.官網(wǎng)注冊

  • 進入開發(fā)者后臺 - 創(chuàng)建應用 - 獲取 appkey (很重要!很重要!很重要!)

  • 獲取用戶 token ,一開始我很費解為什么要獲取 token ?token 是什么?怎么獲取 token?(暴擊三連問 o(╥﹏╥)o)簡單來說就是用戶的身份標識。

這里就不一一解答了,直接看 官網(wǎng)地址 - token 就行了,里面說的很清楚。

  • 對于在前端開發(fā)階段,還沒有和后端對接時,推薦使用融云開發(fā)者后臺中的 API 調(diào)用(在調(diào)試方面,真的太好用了)傳入正確的參數(shù)即可

注意:小程序 SDK 需要開通小程序服務后,在開發(fā)者后臺中獲取

但是在文檔中又看到說 3.x 小程序與 Web SDK 相同,那用 Web 端的 SDK 也是可以的咯,為什么還要開通服務才能獲取呢,算了!能用就行

開始集成

1、首先要需在微信公眾平臺配置以下合法域名、,微信小程序如何配置合法域名應該不需要說了吧

2、SDK 初始化

  • 開發(fā)者在使用融云 SDK 所有功能之前,開發(fā)者必須先調(diào)用此方法初始化 SDK。 在應用整個生命周期中,開發(fā)者只需要將 SDK 初始化一次
var im = RongIMLib.init({
  appkey: ' '  // 這里就是咋們在開發(fā)者后臺獲得到的 appkey
});

3、設置監(jiān)聽

  • 監(jiān)聽消息、狀態(tài)、會話列表的變化
  • 注意:當設置多個 im.watch 的時候, 當收到一條消息后, 每個 watch 都會監(jiān)聽到此消息,所以會出現(xiàn)發(fā)一條消息,但是會重復收到這條消息
  • 解決:在全局設置監(jiān)聽一次即可,不要放在組件生命周期中,防止每次組件重載都設置一次
var conversationList = []; // 當前已存在的會話列表
im.watch({
  conversation: function(event){
    var updatedConversationList = event.updatedConversationList; // 更新的會話列表
    console.log('更新會話匯總:', updatedConversationList);
    console.log('最新會話列表:', im.Conversation.merge({
        conversationList,
        updatedConversationList
      }));
  },
  message: function(event){
    var message = event.message;
    console.log('收到新消息:', message);
  },
  status: function(event){
    var status = event.status;
    console.log('連接狀態(tài)碼:', status);
  }
});

4、連接融云

  • 連接方法在應用的整個生命周期,也只需要調(diào)用一次即可,重復連接會報錯
  • 敲重點!敲重點!敲重點!除初始化、監(jiān)聽以外,所有方法都必須在 connect 成功之后 再調(diào)用
var user = {
  token: '' // 可以在開發(fā)者后臺中調(diào)用 獲取 token 來獲得
};
// im 來自 RongIMLib.init 返回的實例,例如:var im = RongIMLib.init({ appkey: ' ' });
im.connect(user).then(function(user) {
  console.log('鏈接成功, 鏈接用戶 id 為: ', user.id);
}).catch(function(error) {
  console.log('鏈接失敗: ', error.code, error.msg);
});

連接成功之后就可以發(fā)送消息,獲取會話列表和歷史消息方法等等

需要注意的是:獲取會話列表和歷史消息需要開通 IM 商用版 - 單群聊云存儲  功能。

直接貼代碼了:

//獲取會話列表
im.Conversation.getList().then(function(conversationList) {
  console.log('獲取會話列表成功', conversationList);
});
//發(fā)送消息:單聊文本消息
var conversation = im.Conversation.get({
  targetId: 'user1',
  type: RongIMLib.CONVERSATION_TYPE.PRIVATE
});
conversation.send({
  messageType: RongIMLib.MESSAGE_TYPE.TEXT, // 'RC:TxtMsg'
  content: {
    content: 'Hello RongCloud' // 文本內(nèi)容
  }
}).then(function(message){
  console.log('發(fā)送文字消息成功', message);
});
//獲取歷史消息
var conversation = im.Conversation.get({
  targetId: 'user1',
  type: RongIMLib.CONVERSATION_TYPE.PRIVATE
});
var option = {
  timestrap: +new Date(),
  count: 20
};
conversation.getMessages(option).then(function(result){
  var list = result.list; // 歷史消息列表
  var hasMore = result.hasMore; // 是否還有歷史消息可以獲取
  console.log('獲取歷史消息成功', list, hasMore);
});

最后退出,斷開連接

im.disconnect().then(function() {
  console.log('斷開鏈接成功');
});

相關案例查看更多