uni-app如何使用goEasy实现即时通讯

576 阅读2分钟

小程序端发布消息

1,创建新的应用

1681957633067.png

1681957653830.png

2,安装包

npm install goeasy@2.6.4 --save

3,在main.js进行初始化

对于单页面web应用,为了便于在整个应用中随时随地的调用GoEasy对象,强烈建议将GoEasy对象初始化为全局对象。

import GoEasy from 'goeasy'// 即时通讯  订单提醒 
Vue.prototype.goeasy = GoEasy.getInstance({
    host:"hangzhou.goeasy.io",  //若是新加坡区域:singapore.goeasy.io
    appkey:"BC-fd09602dc9f74c149499418d6c4291cc",    // 您的common key
    modules:['pubsub']//根据需要,传入‘pubsub’或'im’,或数组方式同时传入
});

4, 微信小程序特别提醒: 如果需要在小程序里使用GoEasy,需要登录微信公众平台->微信小程序开发设置->服务器域名, 添加socket合法域名:wss://wx-hangzhou.goeasy.io

1681958480574.png

5,在app.vue建立连接

onLaunch() {
    //建立连接
    this.goeasy.connect({
        onSuccess: function () {  //连接成功
            console.log("GoEasy connect successfully.") //连接成功
        },
        onFailed: function (error) { //连接失败
            console.log("Failed to connect GoEasy, code:"+error.code+ ",error:"+error.content);
        },
        onProgress:function(attempts) { //连接或自动重连中
            console.log("GoEasy is connecting", attempts);
        }
    });
},

6,在指定场景发布消息(例如,添加订单成功,发布消息)

// 即时通讯,发布消息
pub_msg(){
    var pubsub = this.goeasy.pubsub;
    pubsub.publish({
        channel: "my_channel",//替换为您自己的channel
        message: "Hello GoEasy!",//替换为您想要发送的消息内容
        onSuccess:function(){
            console.log("消息发布成功。");
        },
        onFailed: function (error) {
            console.log("消息发送失败,错误编码:"+error.code+" 错误信息:"+error.content);
        }
    });
}

后台管理,订阅消息

重复2,3步骤

4,在app.vue建立连接

created() {
    //1.建立连接
    this.goeasy.connect({
      onSuccess: () => {  //连接成功
        console.log("连接成功") //连接成功
        this.sub_message()
      },
      onFailed: (error) => { //连接失败
        console.log("连接失败");
      },
      onProgress: (attempts) => { //连接或自动重连中
        console.log("连接或自动重连中");
      }
    });
  },

5,在app.vue接收消息

methods: {
    // 2.接收订阅消息
    sub_message() {
        var pubsub = goeasy.pubsub;
        pubsub.subscribe({
            channel: "my_channel",//替换为您自己的channel
            onMessage: function (message) {
                //收到消息
                console.log("Channel:" + message.channel + " content:" + message.content);
            },
            onSuccess: function () {
                console.log("Channel订阅成功。");
            },
            onFailed: function (error) {
                console.log("Channel订阅失败, 错误编码:" + error.code + " 错误信息:" + error.content)
            }
        });
    }
}

就这样,是不是很简单