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详细彻底学习Smarty
Mar 27 PHP
php中sprintf与printf函数用法区别解析
Feb 17 PHP
PHP临时文件的安全性分析
Jul 04 PHP
php返回json数据函数实例
Oct 09 PHP
PHP+jQuery 注册模块开发详解
Oct 14 PHP
php绘图之在图片上写中文和英文的方法
Jan 24 PHP
php简单图像创建入门实例
Jun 10 PHP
Zend Framework连接Mysql数据库实例分析
Mar 19 PHP
PHP  Yii清理缓存的实现方法
Nov 10 PHP
PHP使用Redis长连接的方法详解
Feb 12 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 PHP
PHP中$GLOBALS与global的区别详解
Mar 21 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
destoon实现资讯信息前面调用它所属分类的方法
2014/07/15 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
js修改原型的属性使用介绍
2014/01/26 Javascript
js实现的点击div区域外隐藏div区域
2014/06/30 Javascript
js 动态生成html 触发事件传参字符转义的实例
2017/02/14 Javascript
JQuery 选择器、DOM节点操作练习实例
2017/09/28 jQuery
Vue EventBus自定义组件事件传递
2018/06/25 Javascript
详细介绍解决vue和jsp结合的方法
2020/02/06 Javascript
vue路由权限校验功能的实现代码
2020/06/07 Javascript
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
Python二分查找详解
2015/09/13 Python
Python模块结构与布局操作方法实例分析
2017/07/24 Python
tensorflow实现图像的裁剪和填充方法
2018/07/27 Python
Python 多线程不加锁分块读取文件的方法
2018/12/11 Python
用python一行代码得到数组中某个元素的个数方法
2019/01/28 Python
Python生成rsa密钥对操作示例
2019/04/26 Python
python卸载后再次安装遇到的问题解决
2019/07/10 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
2020/01/21 Python
html5使用canvas画三角形
2014/12/15 HTML / CSS
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
Charlotte Tilbury美国官网:英国美妆品牌
2017/10/13 全球购物
美国户外烹饪产品购物网站:Outdoor Cooking
2020/01/10 全球购物
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
预备党员思想汇报范文
2014/01/11 职场文书
公司财务流程之主管工作流程
2014/03/03 职场文书
大学迎新晚会主持词
2014/03/24 职场文书
学生自我评语大全
2014/04/18 职场文书
大学生工作自荐书
2014/06/16 职场文书
暑假社会实践证明格式
2014/10/28 职场文书
学生评语集锦
2015/01/04 职场文书
护士先进个人总结
2015/02/13 职场文书
单位工作证明范本
2015/06/15 职场文书
MySQL普通表如何转换成分区表
2022/05/30 MySQL