知識
不管是網(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('斷開鏈接成功');
});
相關案例查看更多
相關閱讀
- 模版消息
- painter
- 云南網(wǎng)站建設
- 云南小程序開發(fā)費用
- 云南軟件定制
- 小程序生成海報
- 網(wǎng)站制作
- 企業(yè)網(wǎng)站
- 保山小程序開發(fā)
- 網(wǎng)站建設首頁
- 開發(fā)微信小程序
- 汽車報廢回收
- 云南網(wǎng)站設計
- 云南企業(yè)網(wǎng)站
- 網(wǎng)站建設費用
- 安家微信小程序
- 云南網(wǎng)站建設百度官方
- 開通微信小程序被騙
- 云南網(wǎng)站建設方案 doc
- .net網(wǎng)站
- 網(wǎng)站建設電話
- 人口普查小程序
- 云南網(wǎng)站建設優(yōu)化
- 小程序表單
- 百度小程序開發(fā)
- 重慶網(wǎng)站建設公司
- 小程序開發(fā)平臺前十名
- 云南網(wǎng)絡公司
- 汽車回收系統(tǒng)
- 報廢車管理