JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】


Posted in PHP onApril 16, 2019

本文实例讲述了JS(jQuery)实现聊天接收到消息语言自动提醒功能。分享给大家供大家参考,具体如下:

综述

最近在开发一个网页端的客服系统,需求要求聊天双方接收到消息能有语音提醒,并且客服端如果存在未读消息要求每隔五分钟给客服语音提醒一下。客服聊天系统使用PHP的Workerman框架进行开发,由于语音提醒实现的功能一样,故而在本篇博文中从简描述,只进行定时循环提醒的功能记录,不说实时的那个语音提醒,因为思路都是一样的,主要是看如何实现自动播放语音功能。

思路

实时提醒

这个就比较明确了,就是在接收到消息的同时进行语音播放,大家可以根据自己的逻辑进行将代码放到合适的地方。

定时提醒

这个主要首先判断客户是否存在未读的消息,如果存在则语音提醒,如果不存在,则不进行提醒。故而要在HTML页面写一个定时器,每五分钟访问一次接口,查询客服是否存在未读消息,然后在后台开发一个接口用于返回客户是否存在未读消息。

代码实现

<!--=======================================-->
<!--Created by ZHIHUA·WEI.-->
<!--Author: Wei ZhiHua-->
<!--Date: 2019/01/09-->
<!--Time: 下午 17:26-->
<!--Project: ZHIHUA·WEI-->
<!--Power:JS实现聊天接收到消息语言自动提醒-->
<!--=======================================-->
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title>JS实现聊天接收到消息语言自动提醒(您有新的消息请注意查收)</title>
  <!--引入CSS、JS-->
  <script type="text/javascript" src="public/common/js/jquery-1.8.1.min.js"></script>
</head>
<style>
  #audio_click {
    margin-top: 32px;
    height: 40px;
  }
  #audio_click a {
    text-decoration: none;
    background: #2f435e;
    color: #f2f2f2;
    padding: 10px 30px 10px 30px;
    font-size: 16px;
    font-family: 微软雅黑, 宋体, Arial, Helvetica, Verdana, sans-serif;
    font-weight: bold;
    border-radius: 3px;
    -webkit-transition: all linear 0.30s;
    -moz-transition: all linear 0.30s;
    transition: all linear 0.30s;
  }
  #audio_click a:hover {
    background: #385f9e;
  }
</style>
<body>
<!--dom结构部分-->
<div style="width: 100%;text-align: center">
  <!--用来存放item-->
  <h1>JS实现聊天接收到消息语言自动提醒</h1>
  <h3>(您有新的消息请注意查收)</h3>
  <div id="audio_click">
    <a id="btn_audio" href="#" rel="external nofollow" >播放语音</a>
  </div>
  <div id="audio_play"></div>
</div>
</body>
<script>
  $(function () {
    var html = '';
    html += '<audio id="audioPlay">';
    //格式ogg音频地址
    html += '<source src="/public/static/layui/newmsg.ogg" type="audio/ogg">';
    //格式mp3音频地址
    html += '<source src="/public/static/layui/newmsg.mp3" type="audio/mpeg">';
    //格式wav音频地址
    html += '<source src="/public/static/layui/newmsg.wav" type="audio/wav">';
    html += '</audio>';
    //将代码写入到页面中
    $(html).appendTo("#audio_play");
    //轮询ajax检测未读消息,每五分钟
    var setTime = setInterval(function () {
      $.ajax({
        type: "post",
        url: "{:url('index/getNoReadMsg')}", //查询客服是否有未读消息
        dataType: "json",
        success: function (ret) {
          if (ret.code == 1) {
            //有则进行播放语音提醒
            $('#audioPlay')[0].play();
          }
        }
      });
    }, 300000);
  });
  $("#btn_audio").click(function () {
    //这就代码就是播放语音的关键代码
    $('#audioPlay')[0].play();
  });
</script>
</html>

下载

本源码包文件我已经上传到资源库中,有需要的童鞋可以自行下载,里面包含代码和音频文件。

完整实例代码点击此处本站下载

之后将代码中相应的资源路径修改之后即可使用。

希望本文所述对大家JavaScript程序设计有所帮助。

PHP 相关文章推荐
php基础知识:类与对象(2) 自动加载对象
Dec 13 PHP
谈谈PHP的输入输出流
Feb 14 PHP
PHP5.2下chunk_split()函数整数溢出漏洞 分析
Jun 06 PHP
php dirname(__FILE__) 获取当前文件的绝对路径
Jun 28 PHP
apache mysql php 源码编译使用方法
May 03 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
Apr 25 PHP
php实例分享之二维数组排序
May 15 PHP
ThinkPHP之A方法实例讲解
Jun 20 PHP
php简单图像创建入门实例
Jun 10 PHP
thinkphp框架page类与bootstrap分页(美化)
Jun 25 PHP
Laravel下生成验证码的类
Nov 15 PHP
Yii框架布局文件的动态切换操作示例
Nov 11 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
Apr 16 #PHP
Laravel中9个不经常用的小技巧汇总
Apr 16 #PHP
Laravel框架自定义公共函数的引入操作示例
Apr 16 #PHP
Laravel框架文件上传功能实现方法示例
Apr 16 #PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
Apr 16 #PHP
PHP获取远程http或ftp文件的md5值的方法
Apr 15 #PHP
php文件操作之文件写入字符串、数组的方法分析
Apr 15 #PHP
You might like
PHP 类商品秒杀计时实现代码
2010/05/05 PHP
php设计模式 Template (模板模式)
2011/06/26 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
2014/11/19 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
JavaScript中的Document文档对象
2008/01/16 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
js constructor的实际作用分析
2011/11/15 Javascript
JavaScript instanceof 的使用方法示例介绍
2013/10/23 Javascript
javascript实现多级联动下拉菜单的方法
2015/02/06 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
浅谈移动端之js touch事件 手势滑动事件
2016/11/07 Javascript
jQuery、zepto、js常用小技巧
2017/02/12 Javascript
vue组件中使用iframe元素的示例代码
2017/12/13 Javascript
NodeJS爬虫实例之糗事百科
2017/12/14 NodeJs
JavaScript使用享元模式实现文件上传优化操作示例
2018/08/07 Javascript
Vue Echarts实现可视化世界地图代码实例
2019/05/07 Javascript
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
js实现简单五子棋游戏
2020/05/28 Javascript
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
Python 流程控制实例代码
2009/09/25 Python
python logging类库使用例子
2014/11/22 Python
python中查看变量内存地址的方法
2015/05/05 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
动态规划之矩阵连乘问题Python实现方法
2017/11/27 Python
Zookeeper接口kazoo实例解析
2018/01/22 Python
Python除法之传统除法、Floor除法及真除法实例详解
2019/05/23 Python
python3用PIL把图片转换为RGB图片的实例
2019/07/04 Python
python re.sub()替换正则的匹配内容方法
2019/07/22 Python
利用Python小工具实现3秒钟将视频转换为音频
2019/10/29 Python
Python下划线5种含义代码实例解析
2020/07/10 Python
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
2016/04/26 HTML / CSS
学期自我鉴定范文
2013/10/01 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
2016春季田径运动会广播稿
2015/12/21 职场文书
python迷宫问题深度优先遍历实例
2021/06/20 Python
python在package下继续嵌套一个package
2022/04/14 Python