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写入WRITE编码为UTF8的文件的实现代码
Jul 07 PHP
php批量缩放图片的代码[ini参数控制]
Feb 11 PHP
PHP与SQL注入攻击防范小技巧
Sep 16 PHP
php中出现空白页的原因及解决方法汇总
Jul 08 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
Aug 11 PHP
php实现的日历程序
Jun 18 PHP
PHP使用逆波兰式计算工资的方法
Jul 29 PHP
php中关于长度计算容易混淆的问题分析
May 27 PHP
thinkPHP中钩子的两种配置调用方法详解
Nov 11 PHP
PHP设计模式之观察者模式定义与用法示例
Aug 04 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
Dec 05 PHP
PHP 文件上传限制问题
Sep 01 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
用函数读出数据表内容放入二维数组
2006/10/09 PHP
phpwind中的数据库操作类
2007/01/02 PHP
配置php网页显示各种语法错误
2013/09/23 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
2015/12/18 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
2016/09/26 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
2019/10/10 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
刷新时清空文本框内容的js代码
2007/04/23 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
JavaScript与jQuery实现的闪烁输入效果
2016/02/18 Javascript
JS命令模式例子之菜单程序
2016/10/10 Javascript
微信小程序 触控事件详细介绍
2016/10/17 Javascript
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
Python 的描述符 descriptor详解
2016/02/27 Python
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
深入浅析Python中的迭代器
2019/06/04 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
python之语音识别speech模块
2020/09/09 Python
Python pathlib模块使用方法及实例解析
2020/10/05 Python
Python之qq自动发消息的示例代码
2021/02/18 Python
CSS3实现苹果手机解锁的字体闪亮效果示例
2021/01/05 HTML / CSS
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
2019/08/01 HTML / CSS
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
潘多拉意大利官方网上商城:网上选购PANDORA珠宝
2018/10/07 全球购物
在C中是否有模拟继承等面向对象程序设计特性的好方法
2012/05/22 面试题
自我评价正确写法范文
2013/12/10 职场文书
学校领导班子四风对照检查材料
2014/09/27 职场文书
解除劳动关系协议书2篇
2014/11/28 职场文书
公司员工体检通知
2015/04/21 职场文书
2015法院个人工作总结范文
2015/05/25 职场文书
飞越疯人院观后感
2015/06/09 职场文书
三好学生主要事迹怎么写
2015/11/03 职场文书
Nginx实现负载均衡的项目实践
2022/03/18 Servers
Java代码规范与质量检测插件SonarLint的使用
2022/08/05 Java/Android