Uni-APP 如何集成 GoEasy ?

1、获取您的appkey

前往GoEasy官网,先注册一个账号,登录后,创建一个应用,就能得到您的appkey。点击注册

2、引入组件

引入 goeasy 组件,此API支持运行于各类平台和环境

组件地址:https://www.npmjs.com/package/goeasy

2.1、使用 npm 命令安装 goeasy

在 uni-app 项目的根目录,执行 npm 命令:

npm install goeasy --save
2.2、在 vue 文件 引入 goeasy
import GoEasy from 'goeasy';
2.3、初始化GoEasy对象

在main.js里初始化全局的GoEasy对象

Vue.prototype.$goEasy = new GoEasy({
    host: "hangzhou.goeasy.io", //应用所在的区域地址: 【hangzhou.goeasy.io | singapore.goeasy.io】
    appkey: "my_appkey", //替换为您的应用appkey
    onConnected: function() {
        console.log('连接成功!')
    },
    onDisconnected: function() {
        console.log('连接断开!')
    },
    onConnectFailed: function(error) {
        console.log('连接失败或错误!')
    }
});
2.4、常用操作

接收消息

this.$goEasy.subscribe({
    channel: "my_channel", //替换为您自己的channel
    onMessage: function (message) {
        alert("您有新消息:channel:" + message.channel + " 内容:" + message.content);
    },
    onSuccess: function () {
        alert("Channel订阅成功。");
    },
    onFailed: function (error) {
        alert("Channel订阅失败, 错误编码:" + error.code + " 错误信息:" + error.content)
    }
});

发送消息

this.$goEasy.publish({
    channel: "my_channel", //替换为您自己的channel
    message: "Hello, GoEasy!", //替换为您想要发送的消息内容
    onSuccess:function(){
        alert("消息发布成功。");
    },
    onFailed: function (error) {
        alert("消息发送失败,错误编码:"+error.code+" 错误信息:"+error.content);
    }
});

取消订阅

this.$goEasy.unsubscribe({
    channel: "my_channel",
    onSuccess: function () {
        alert("订阅取消成功。");
    },
    onFailed: function (error) {
        alert("取消订阅失败,错误编码:" + error.code + " 错误信息:" + error.content)
    }
});

客户端断开和释放连接

this.$goEasy.disconnect();

断开后重新连接

this.$goEasy.reconnect();

历史消息

本特性为高级功能,默认不开通,付费用户可联系GoEasy免费开通。
https://www.goeasy.io/cn/doc/advanced/messagehistory.html

this.$goEasy.history({
    channel: 'my_channel', //必需项
    start: 1561347527648, //可选项,开始时间
    end: 1561347706447, //可选项,结束时间
    limit: 10 //可选项,返回的消息条数,默认为100条,最多1000条
}, 
function(response){
    console.log("收到历史消息: "+ JSON.stringify(response));
    /**
    response示例:
    {
        "code":200,
        "content":{
            "messages":[
                {"time":1561347527649,"content":"my 001"}
                {"time":1561347596077,"content":"my 002"}
                {"time":1561347622613,"content":"my 003"}
                {"time":1561347691826,"content":"my 004"}
                {"time":1561347706447,"content":"my 005"}
            ]
        }
    }
    **/
});

Uni-App示例: https://github.com/GoEasySupport/goeasy-uniapp-helloworld
客户端:https://www.npmjs.com/package/goeasy

参考资料

https://ext.dcloud.net.cn/plugin?id=1334
https://www.goeasy.io/cn/developers.html
https://www.goeasy.io/cn/doc/

作者:Jeebiz  创建时间:2023-02-25 01:39
最后编辑:Jeebiz  更新时间:2023-02-25 01:45