微信小程序使用GoEasy实现websocket实时通讯代码示例

作者:袖梨 2020-05-19

本篇文章小编给大家分享一下微信小程序使用GoEasy实现websocket实时通讯代码示例,代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

本demo已经完成了真机下的小程序的测试,完整源代码开源到oschina的码云上,clone后,只需要将代码里的appkey换成自己的common key,就可以体验了, 源码网址:https://gitee.com/goeasy-io/GoEasyDemo-wxapp-Helloworld

1、获取appkey

GoEasy官网上注册账号,创建一个应用,拿到您的appkey。

GoEasy提供了两种类型的appkey:

Common key: 即可以接收消息,也可以发送消息,与Subscribe Key最大的区别就是有写权限,可以发消息。适用于有消息发送需求的客户端和服务端开发。

Subscribe key: 只能接收消息,不可以发送消息,与Common Key最大的区别就是没有写权限,只能收消息。可以用于一些没有发送需求的客户端。

2、获取GoEasy SDK

下载https://cdn.goeasy.io/download/goeasy-1.0.11.js

import GoEasy from './goeasy-1.0.11';

3、初始化GoEasy对象

var self = this;
this.goeasy = GoEasy({
 host: 'hangzhou.goeasy.io',
 appkey: "您的appkey",
 onConnected: function () {
  console.log("GoEasy connect successfully.");
  self.unshiftMessage("连接成功.");
 },
 onDisconnected: function () {
  console.log("GoEasy disconnected.")
  self.unshiftMessage("连接已断开.");
 },
 onConnectFailed: function (error) {
  console.log(error);
  self.unshiftMessage("连接失败,请检查您的appkey和host配置");
 }
})

根据您在GoEasy后台创建应用时选择的区域,来传入不同的Host,如果您创建GoEasy应用时,选择了杭州,那么host:"hangzhou.goeasy.io"。选择了新加坡,host:"singapore.goeasy.io"。

如果您的大部分用户都是在国内,创建应用时,记得选择杭州,以便获得更快的通讯速度。

4、小程序端接收消息

var self = this;
this.goeasy.subscribe({
 channel: "my_channel",
 onMessage: function (message) {
  self.unshiftMessage(message.content);
 },
 onSuccess: function () {
  self.unshiftMessage('订阅成功.');
 }
});

很多朋友会问channel从哪里来,如何创建,应该传入什么呢?

根据您的业务需求来设定,channel可以为任意字符串,除了不能包含空格,和不建议使用中文外,没有任何限制,只需要和消息的发送端保持一致,就可以收到消息。channel可以是您直播间的uuid,也可以是一个用户的唯一表示符,可以任意定义,channel不需要创建,可以随用随弃。

5、小程序端发送消息:

发送时,需要注意channel一定要和subscribe的channel完全一致,否则无法收到。

this.goeasy.publish({
 channel: "my_channel",
 message: self.data.message,
 onSuccess: function () {
  self.setData({
   message: ''
  }); //清空发送消息内容
  console.log("send message success");
 },
 onFailed: function (error) {
  self.unshiftMessage('发送失败,请检查您的appkey和host配置.');
 }
});

特别强调:

在运行之前,一定要在微信公众号平台配置socket合法域名,否则无法建立连接。具体步骤:

访问mp.weixin.qq.com,进入微信公众平台|小程序 -> 设置 -> 开发设置 -> 服务器域名

socket合法域名-> 添加GoEasy的地址: wx-hangzhou.goeasy.io(记得wx-开头)

若您创建GoEasy应用时选择了新加坡区域则添加地址:wx-singapore.goeasy.io

相关文章

精彩推荐