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 引用(&amp;)详解
Nov 20 PHP
PHP校验ISBN码的函数代码
Jan 17 PHP
php设计模式 Adapter(适配器模式)
Jun 26 PHP
php xml常用函数的集合(比较详细)
Jun 06 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
Jan 15 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
Apr 19 PHP
PHP缓存机制Output Control详解
Jul 14 PHP
php采用curl模仿登录人人网发布动态的方法
Nov 07 PHP
php使用ereg验证文件上传的方法
Dec 16 PHP
php车辆违章查询数据示例
Oct 14 PHP
解决在Laravel 中处理OPTIONS请求的问题
Oct 11 PHP
浅谈PHP array_search 和 in_array 函数效率问题
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 5.5 创建和验证哈希最简单的方法详解
2013/11/07 PHP
php无法连接mysql数据库的正确解决方法
2016/07/01 PHP
Yii实现的多级联动下拉菜单
2016/07/13 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
jQuery的写法不同导致的兼容性问题的解决方法
2010/07/29 Javascript
javascript中encodeURI和decodeURI方法使用介绍
2013/05/06 Javascript
js中通过split函数分割字符串成数组小例子
2013/09/21 Javascript
Javascript 遍历页面text控件详解
2014/01/06 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
jQuery UI插件实现百度提词器效果
2016/11/21 Javascript
AngularJS实现DOM元素的显示与隐藏功能
2016/11/22 Javascript
Nodejs多站点切换Htpps协议详解及简单实例
2017/02/23 NodeJs
vue-cli3.0 环境变量与模式配置方法
2018/11/08 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
vue解决使用$http获取数据时报错的问题
2019/10/30 Javascript
JS数组方法slice()用法实例分析
2020/01/18 Javascript
基于vue+element实现全局loading过程详解
2020/07/10 Javascript
Python利用ansible分发处理任务
2015/08/04 Python
Python数据可视化正态分布简单分析及实现代码
2017/12/04 Python
python机器学习实战之K均值聚类
2017/12/20 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
Python re 模块findall() 函数返回值展现方式解析
2019/08/09 Python
浅析Python面向对象编程
2020/07/10 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
2020/12/16 Python
酒店个人培训自我鉴定
2013/12/11 职场文书
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
加工操作管理制度
2014/01/19 职场文书
初中美术教学反思
2014/01/29 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
微笑面对生活演讲稿
2014/05/13 职场文书
会员卡清退活动总结
2014/08/27 职场文书
群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
优秀学生干部事迹材料
2014/12/24 职场文书
大学入学感言
2015/08/01 职场文书
《春酒》教学反思
2016/02/22 职场文书
TV动画「神渣☆爱豆」公开第一弹主视觉图
2022/03/21 日漫