共计 2565 个字符,预计需要花费 7 分钟才能阅读完成。
这篇文章主要介绍“微信小程序集成 SDK 的方法是什么”的相关知识,丸趣 TV 小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序集成 SDK 的方法是什么”文章能帮助大家解决问题。
准备工作
1. 官网注册(https://www.rongcloud.cn/)
进入开发者后台 – 创建应用 – 获取 appkey(很重要!很重要!很重要!)
获取用户 token,一开始我很费解为什么要获取 token?token 是什么?怎么获取 token?(暴击三连问 o(╥﹏╥)o)简单来说就是用户的身份标识。这里就不一一解答了,直接看 官网地址 – token 就行了,里面说的很清楚。
对于在前端开发阶段,还没有和后端对接时,推荐使用融云开发者后台中的 API 调用(在调试方面,真的太好用了)传入正确的参数即可
下载 SDK
注意:小程序 SDK 需要开通小程序服务后,在开发者后台中获取
但是在文档中又看到说 3.x 小程序与 Web SDK 相同,那用 Web 端的 SDK 也是可以的咯,为什么还要开通服务才能获取呢,算了!能用就行开始集成
1、首先要需在微信公众平台配置以下合法域名(配置详情请点击这里),微信小程序如何配置合法域名应该不需要说了吧
2、SDK 初始化
开发者在使用融云 SDK 所有功能之前,开发者必须先调用此方法初始化 SDK。在应用整个生命周期中,开发者只需要将 SDK 初始化一次
var im = RongIMLib.init({ appkey: // 这里就是咋们在开发者后台获得到的 appkey});
3、设置监听
监听消息、状态、会话列表的变化
注意:当设置多个 im.watch 的时候, 当收到一条消息后, 每个 watch 都会监听到此消息,所以会出现发一条消息,但是会重复收到这条消息
解决:在全局设置监听一次即可,不要放在组件生命周期中,防止每次组件重载都设置一次
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( 连接状态码: , status); }});
4、连接融云
连接方法在应用的整个生命周期,也只需要调用一次即可,重复连接会报错
敲重点!敲重点!敲重点!除初始化、监听以外,所有方法都必须在 connect 成功之后 再调用
var user = { token: // 可以在开发者后台中调用 获取 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);});
连接成功之后就可以发送消息,获取会话列表和历史消息方法等等
需要注意的是:获取会话列表和历史消息需要开通 IM 商用版 – 单群聊云存储 功能。
直接贴代码了:
// 获取会话列表 im.Conversation.getList().then(function(conversationList) { console.log( 获取会话列表成功 , conversationList);});
// 发送消息:单聊文本消息 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 // 文本内容 }}).then(function(message){ console.log( 发送文字消息成功 , 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( 断开链接成功});
关于“微信小程序集成 SDK 的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注丸趣 TV 行业资讯频道,丸趣 TV 小编每天都会为大家更新不同的知识点。