当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-19 10:28:11 浏览: 评论:0 

这篇文章主要介绍了JS(jQuery)实现聊天接收到消息语言自动提醒功能,结合实例形式详细分析了javascript结合ajax后台交互实现信息语音提示功能相关原理与操作技巧,需要的朋友可以参考下。

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

综述

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

思路

实时提醒

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

定时提醒

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

代码实现

  1. <!--=======================================--> 
  2. <!--Created by ZHIHUA·WEI.--> 
  3. <!--Author: Wei ZhiHua--> 
  4. <!--Date: 2019/01/09--> 
  5. <!--Time: 下午 17:26--> 
  6. <!--Project: ZHIHUA·WEI--> 
  7. <!--Power:JS实现聊天接收到消息语言自动提醒--> 
  8. <!--=======================================--> 
  9. <!DOCTYPE html> 
  10. <html> 
  11. <head> 
  12.   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
  13.   <title>JS实现聊天接收到消息语言自动提醒(您有新的消息请注意查收)</title> 
  14.   <!--引入CSS、JS--> 
  15.   <script type="text/javascript" src="public/common/js/jquery-1.8.1.min.js"></script> 
  16. </head> 
  17. <style> 
  18.   #audio_click { 
  19.     margin-top: 32px; 
  20.     height: 40px; 
  21.   } 
  22.   #audio_click a { 
  23.     text-decoration: none; 
  24.     background: #2f435e; 
  25.     color: #f2f2f2; 
  26.     padding: 10px 30px 10px 30px; 
  27.     font-size: 16px; 
  28.     font-family: 微软雅黑, 宋体, Arial, Helvetica, Verdana, sans-serif; 
  29.     font-weight: bold; 
  30.     border-radius: 3px; 
  31.     -webkit-transition: all linear 0.30s; 
  32.     -moz-transition: all linear 0.30s; 
  33.     transition: all linear 0.30s; 
  34.   } 
  35.   #audio_click a:hover { 
  36.     background: #385f9e; 
  37.   } 
  38. </style> 
  39. <body> 
  40. <!--dom结构部分--> 
  41. <div style="width: 100%;text-align: center"
  42.   <!--用来存放item--> 
  43.   <h1>JS实现聊天接收到消息语言自动提醒</h1> 
  44.   <h3>(您有新的消息请注意查收)</h3> 
  45.   <div id="audio_click"
  46.     <a id="btn_audio" href="#" rel="external nofollow" >播放语音</a> 
  47.   </div> 
  48.   <div id="audio_play"></div> 
  49. </div> 
  50. </body> 
  51. <script> 
  52.   $(function () { 
  53.     var html = ''
  54.     html += '<audio id="audioPlay">'
  55.     //格式ogg音频地址 
  56.     html += '<source src="/public/static/layui/newmsg.ogg" type="audio/ogg">'
  57.     //格式mp3音频地址 
  58.     html += '<source src="/public/static/layui/newmsg.mp3" type="audio/mpeg">'
  59.     //格式wav音频地址 
  60.     html += '<source src="/public/static/layui/newmsg.wav" type="audio/wav">'
  61.     html += '</audio>'
  62.     //将代码写入到页面中 
  63.     $(html).appendTo("#audio_play"); 
  64.     //轮询ajax检测未读消息,每五分钟 
  65.     var setTime = setInterval(function () { 
  66.       $.ajax({ 
  67.         type: "post"
  68.         url: "{:url('index/getNoReadMsg')}"//查询客服是否有未读消息 
  69.         dataType: "json"
  70.         success: function (ret) { 
  71.           if (ret.code == 1) { 
  72.             //有则进行播放语音提醒 
  73.             $('#audioPlay')[0].play(); 
  74.           } 
  75.         } 
  76.       }); 
  77.     }, 300000); 
  78.   }); 
  79.   $("#btn_audio").click(function () { 
  80.     //这就代码就是播放语音的关键代码 
  81.     $('#audioPlay')[0].play(); 
  82.   }); 
  83. </script> 
  84. </html>

Tags: jQuery聊天接收 jQuery消息语言

分享到: