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 相关文章推荐
linux下 C语言对 php 扩展
Dec 14 PHP
php遍历目录viewDir函数
Dec 15 PHP
php中经典方法实现判断多维数组是否为空
Oct 23 PHP
利用php绘制饼状图的实现代码
Jun 07 PHP
体育彩票排列三组选三算法分享
Mar 07 PHP
php把数组值转换成键的方法
Jul 13 PHP
PHP面向对象自动加载机制原理与用法分析
Oct 14 PHP
浅谈thinkphp5 instance 的简单实现
Jul 30 PHP
php表单习惯用的正则表达式
Oct 11 PHP
PHP中localeconv()函数的用法
Mar 26 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
Apr 16 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
Oct 15 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 minixml详解
2008/07/19 PHP
QueryPath PHP 中的jQuery
2010/04/11 PHP
PHP 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
php 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
简单谈谈favicon
2015/06/10 PHP
PHP微信开发之查询微信精选文章
2016/06/23 PHP
深入解析PHP中SESSION反序列化机制
2017/03/01 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
2017/06/16 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
jquery 指南/入门基础
2007/11/30 Javascript
jQuery中removeAttr()方法用法实例
2015/01/05 Javascript
Javascript中的包装类型介绍
2015/04/02 Javascript
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
JS函数arguments数组获得实际传参数个数的实现方法
2016/05/28 Javascript
浅析JS中对函数function的理解(基础篇)
2016/10/14 Javascript
基于javascript的Form表单验证
2016/12/29 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
jQuery实现用户输入自动完成功能
2017/02/13 Javascript
深入理解javascript的getTime()方法
2017/02/16 Javascript
简单实现js轮播图效果
2017/07/14 Javascript
vue使用keep-alive实现数据缓存不刷新
2017/10/21 Javascript
[01:38]完美世界高校联赛决赛花絮
2018/12/02 DOTA
Windows系统下多版本pip的共存问题详解
2017/10/10 Python
pandas series序列转化为星期几的实例
2018/04/11 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
2018/04/21 Python
Python实现非正太分布的异常值检测方式
2019/12/09 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
三星英国官网:Samsung英国
2018/09/25 全球购物
Ramy Brook官网:美国现代女装品牌
2019/06/18 全球购物
附答案的Java面试题
2012/11/19 面试题
2014年电工工作总结
2014/11/20 职场文书
应聘教师求职信范文
2015/03/20 职场文书
婚宴父母致辞
2015/07/27 职场文书
浅谈Java父子类加载顺序
2021/08/04 Java/Android
logback 实现给变量指定默认值
2021/08/30 Java/Android
win server2012 r2服务器共享文件夹如何设置
2022/06/21 Servers