最近在实现一个推送功能,用户扫描二维码签到,后台及时将签到成功信息推送到浏览器端。排除了前端ajax轮询的方式,决定采用websocket及时推送。 于是发现了第三方websocket推送库GoEasy,可以免费12个月10w条推送,支持RestApi推送,使用前需要注册一个账号。   测试功能如下,当用户扫描二维码,就弹出一条通知消息(带语音)提醒。 用到了iziToast.js这个jquery通知插件,很棒的。     <link rel="stylesheet" href="/module/plug/iziToast/iziToast.min.css"> <script src="/module/plug/iziToast/iziToast.min.js" type="text/javascript"></script> <script type="text/javascript" src="http://xxx.goeasy.io/goeasy.js"></script> <div class="layui-card"> <div class="layui-card-header"> <h2 class="header-title">测试</h2> <span class="layui-breadcrumb pull-right"> <a href="#!console">首页</a> <a><cite>测试</cite></a> </span> </div> <div class="layui-card-body"> <a href="#" class="trigger-success" data-iziToast>Success</a> <audio src="/module/plug/iziToast/34E888piCMHu.mp3" id="audioPlay" controls="controls"></audio> <img src="http://localhost:8086/api/sys/qrcode?str=111&pixel=9" /> </div> </div> <script type="text/javascript"> var goEasy = new GoEasy({ appkey: 'xxx', onConnected: function () { console.log("成功连接GoEasy。"); }, onDisconnected: function () { console.log("与GoEasy连接断开。"); }, onConnectFailed: function (error) { console.log("与GoEasy连接失败,错误编码:" + error.code + "错误信息:" + error.content); } }); $(function () { // // CONFIG IZIToast // iziToast.settings({ timeout: 5000, // position: 'center', // imageWidth: 50, pauseOnHover: true, // resetOnHover: true, close: true, progressBar: true, // layout: 1, // balloon: true, // target: '.target', // icon: 'material-icons', // iconText: 'face', // animateInside: false, // transitionIn: 'flipInX', // transitionOut: 'flipOutX', }); goEasy.subscribe({ channel: "office_11", onMessage: function (message) { console.log("Channel:" + message.channel + " content:" + message.content); iziToastSuccess(message.content); } }); function iziToastSuccess(msg) { iziToast.success({ title: 'OK', message: msg, position: 'bottomRight', transitionIn: 'bounceInLeft', // iconText: 'star', onOpen: function () { console.log('callback abriu! success'); autoPlay(); //playSound(); }, onClose: function () { console.log("callback fechou! success"); } }); } $(".trigger-success").on('click', function (event) { event.preventDefault(); iziToastSuccess('测试打卡成功'); }); function autoPlay() { $('#audioPlay').get(0).play() } }) </script>

GoEasy实现websocket 推送消息通知到客户端的更多相关文章

  1. 模拟websocket推送消息服务mock工具二

    模拟websocket推送消息服务mock工具二 在上一篇博文中有提到<使用electron开发一个h5的客户端应用创建http服务模拟后端接口mock>使用electron创建一个模拟后 ...

  2. iOS监听模式系列之推送消息通知

    推送通知 和本地通知不同,推送通知是由应用服务提供商发起的,通过苹果的APNs(Apple Push Notification Server)发送到应用客户端.下面是苹果官方关于推送通知的过程示意图: ...

  3. Yii1.1框架实现PHP极光推送消息通知

    一.下载极光推送PHP SDK,解压后放在/protected/components/目录下,如下图所示: 二.完善修改下官方的demo例子,我这里复制一份demo,改为NotifyPush.php, ...

  4. 基于SuperSocket的IIS主动推送消息给android客户端

    在上一篇文章<基于mina框架的GPS设备与服务器之间的交互>中,提到之前一直使用superwebsocket框架做为IIS和APP通信的媒介,经常出现无法通信的问题,必须一天几次的手动回 ...

  5. 使用PushSharp给iOS应用推送消息

    PushSharp是一个C#编写的服务端类库,用于推送消息到各种客户端,支持iOS(iPhone/iPad).Android.Windows Phone.Windows 8.Amazo.Blackbe ...

  6. 从构建分布式秒杀系统聊聊WebSocket推送通知

    秒杀架构到后期,我们采用了消息队列的形式实现抢购逻辑,那么之前抛出过这样一个问题:消息队列异步处理完每个用户请求后,如何通知给相应用户秒杀成功? 场景映射 首先,我们举一个生活中比较常见的例子:我们去 ...

  7. Spring Boot 集成 WebSocket 实现服务端推送消息到客户端

    假设有这样一个场景:服务端的资源经常在更新,客户端需要尽量及时地了解到这些更新发生后展示给用户,如果是 HTTP 1.1,通常会开启 ajax 请求询问服务端是否有更新,通过定时器反复轮询服务端响应的 ...

  8. IOS 本地通知推送消息

    在现在的移动设备中,好多应用性的APP都用到了推送服务,但是有好多推送的内容,比如有的只是单纯的进行推送一个闹钟类型的,起了提醒作 用,有的则是推送的实质性的内容,这就分为推送的内容来区别用什么推送, ...

  9. spring集成webSocket实现服务端向前端推送消息

    原文:https://blog.csdn.net/ya_nuo/article/details/79612158 spring集成webSocket实现服务端向前端推送消息   1.前端连接webso ...

随机推荐

  1. 怎样在数组处理方法中使用this

    回调函数中的this不做处理的话, this仍然会指向window, 解决方法有两种. 第一种: 使用另一个变量固定this, 适用于在对象方法中使用的情况. var obj = { arr: [1, ...

  2. Java Web 深入分析(5) Java ClassLoader 工作机制

    Classloader 有3个作用 将class加载到JVM中去 审查每个类由谁去加载,是一种父优先的等级加载 把Class字节码统一编译成JVM统一要求的对象格式 ClassLoader的等级加载机 ...

  3. Python函数知识点总结

    1.函数的定义2.如何定义一个函数以及函数语法3.函数的调用4.函数的参数(形参,实参)以及参数的传递5.函数的返回值6.变量的作用域7.匿名函数8.嵌套函数和闭包9.装饰器10.函数思维导图 1.函 ...

  4. 如何在vscode中调试vue-cli项目?

    一:参考官网文档,写的还是很清楚的:https://cn.vuejs.org/v2/cookbook/debugging-in-vscode.html 二:需要安装的东西和初始项目 2.1  用vue ...

  5. js移动端回退监听 popstate

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. vue之生命周期与导航守卫

    组件钩子函数: beforeCreate.created.beforeMount.mounted.beforeUpdate.updated.beforeDestroy.destoryed 还有两个特殊 ...

  7. 升级xcode11&ios13的坑

    Swift Packages 目前Pod跟SPM的兼容还没做好,配置好SPM后,Pod不能进行正常更新,先配置好Pod再集成SPM则没有问题 Pod以后的更新可能会解决这个问题,也会有越来越多的库支持 ...

  8. linux centos安装nginx1.7.4

    原文转自 jerryhe326:https://www.cnblogs.com/jerrypro/p/7062101.html一.安装准备 首先由于nginx的一些模块依赖一些lib库,所以在安装ng ...

  9. c# 构造函数举例

  10. gitlab安装教程 正在修炼的西瓜君

    查看内存配置  我们先不急着来安装gitlab,先来看一下自己电脑的内存情况,我把这一步提到最前面,是因为这是我安装过程中遇到的最大的坑.  下面是gitlab的cpu和内存需求(https://do ...