GoEasy实现websocket 推送消息通知到客户端
最近在实现一个推送功能,用户扫描二维码签到,后台及时将签到成功信息推送到浏览器端。排除了前端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 推送消息通知到客户端的更多相关文章
- 模拟websocket推送消息服务mock工具二
模拟websocket推送消息服务mock工具二 在上一篇博文中有提到<使用electron开发一个h5的客户端应用创建http服务模拟后端接口mock>使用electron创建一个模拟后 ...
- iOS监听模式系列之推送消息通知
推送通知 和本地通知不同,推送通知是由应用服务提供商发起的,通过苹果的APNs(Apple Push Notification Server)发送到应用客户端.下面是苹果官方关于推送通知的过程示意图: ...
- Yii1.1框架实现PHP极光推送消息通知
一.下载极光推送PHP SDK,解压后放在/protected/components/目录下,如下图所示: 二.完善修改下官方的demo例子,我这里复制一份demo,改为NotifyPush.php, ...
- 基于SuperSocket的IIS主动推送消息给android客户端
在上一篇文章<基于mina框架的GPS设备与服务器之间的交互>中,提到之前一直使用superwebsocket框架做为IIS和APP通信的媒介,经常出现无法通信的问题,必须一天几次的手动回 ...
- 使用PushSharp给iOS应用推送消息
PushSharp是一个C#编写的服务端类库,用于推送消息到各种客户端,支持iOS(iPhone/iPad).Android.Windows Phone.Windows 8.Amazo.Blackbe ...
- 从构建分布式秒杀系统聊聊WebSocket推送通知
秒杀架构到后期,我们采用了消息队列的形式实现抢购逻辑,那么之前抛出过这样一个问题:消息队列异步处理完每个用户请求后,如何通知给相应用户秒杀成功? 场景映射 首先,我们举一个生活中比较常见的例子:我们去 ...
- Spring Boot 集成 WebSocket 实现服务端推送消息到客户端
假设有这样一个场景:服务端的资源经常在更新,客户端需要尽量及时地了解到这些更新发生后展示给用户,如果是 HTTP 1.1,通常会开启 ajax 请求询问服务端是否有更新,通过定时器反复轮询服务端响应的 ...
- IOS 本地通知推送消息
在现在的移动设备中,好多应用性的APP都用到了推送服务,但是有好多推送的内容,比如有的只是单纯的进行推送一个闹钟类型的,起了提醒作 用,有的则是推送的实质性的内容,这就分为推送的内容来区别用什么推送, ...
- spring集成webSocket实现服务端向前端推送消息
原文:https://blog.csdn.net/ya_nuo/article/details/79612158 spring集成webSocket实现服务端向前端推送消息 1.前端连接webso ...
随机推荐
- (十一)SpringBoot之文件上传以及
一.案例 1.1 配置application.properties #主配置文件,配置了这个会优先读取里面的属性覆盖主配置文件的属性 spring.profiles.active=dev server ...
- 转------深入理解--Java按值传递和按引用传递
引言 最近刷牛客网上的题目时碰到不少有关Java按值传递和按引用传递的问题,这种题目就是坑呀,在做错了n次之后,查找了多方资料进行总结既可以让自己在总结中得到提高,又可以让其他人少走弯路.何乐而不为? ...
- [NOIP2018模拟赛10.18]自闭报告
闲扯 这一天,菜鸡RyeCatcher又想起来了被毒瘤题支配的恐惧 今天比较好玩,还是ljy提醒才发现文件夹里有题面...不知道外面的人什么时候才发现 看完了题面,又回到了雅礼啥题也不会写的感觉 T1 ...
- Java中的ThreadLocal详解
一.ThreadLocal简介 多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的时候需要进行额外的同步措施才能保证线 ...
- EventBus使用教程
如图准备工作: 父子(子父)组件触发 EventBus.$emit('sub') EventBus.$on('sub',()=>{ console.log(1111222232211122) } ...
- Java 中的多态,一次讲个够之继承关系中的多态
多态是继封装.继承之后,面向对象的第三大特性. 现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态. Java作为面向对象的语言,同样可以描述一个 ...
- idou老师教你学Istio12 : Istio 实现流量镜像
微服务为我们带来了快速开发部署的优秀特性,而如何降低开发和变更的风险成为了一个问题.Istio的流量镜像,也称为影子流量,是将生产流量镜像拷贝到测试集群或者新的版本中,在引导实时流量之前进行测试,可以 ...
- C++ 正则查找
#include <iostream> #include <regex> using namespace std; int main() { string str; getli ...
- 关闭安装包更新使用YUM在Linux中(RHEL / CentOS / Fedora)
YUM (Yellowdog Updater Modified) 是一个开源的命令行工具,以及基于图形的软件包管理工具, 用于基于 RPM (RedHat Package Manager) 的 Li ...
- AtCoder Beginner Contest 133 F Colorful Tree
Colorful Tree 思路: 如果强制在线的化可以用树链剖分. 但这道题不强制在线,那么就可以将询问进行差分,最后dfs时再计算每个答案的修改值, 只要维护两个数组就可以了,分别表示根节点到当前 ...