dedecms实现表单提交时语音提醒功能
dedecms里的表单提交,添加后台语音通知功能。采用的是socket。
近日有客户需要做dedecms的后台表单提交时,可以进行语音提示服务。
我就做了个workman的即时信息推送服务。
下面简单说明下搭建过程中的流程
第一步:
下载workman的socket安装包。https://www.workerman.net/web-sender。根据workman的相关说明,搭建好socket。
第二步:
语音提示 修改index2.html ,加入如下代码
<div style="position: fixed; bottom: 10px; width: 280px; padding: 10px 15px; border: 1px solid #ddd; display: none;right:0;z-index: 10000;background: #fff;" id="msg-wrap">
<div style="overflow:hidden"><button class="msg-close-all" style="float: right;">关闭消息</button></div>
</div>
<audio controls="controls" style="" id="new_msg">
<source src="" type="audio/mp3" />
<source src="" type="audio/ogg" />
Your browser does not support this audio format.
</audio>
在index2.html 底部 </body> 前加入 如下代码
<script src=' https://cdn.bootcss.com/socket.io/2.0.3/socket.io.js'></script>
<script>
$(function () {
var uid = "<?php $cuserLogin->userId;?>";
// 连接服务端
var socket = io(' http://'+document.domain+':2120');
// 连接后登录
socket.on('connect', function(){
console.log('连接成功!')
socket.emit('login', uid);
});
// 后端推送来消息时
socket.on('new_msg', function(msg) {
$('#msg-wrap').show();
$('#new_msg').attr('src', '/my_socket/'+msg+'.mp3');
if (msg == 'new-reg') {
$('#msg-wrap').append('<p style="padding:5px 0;"><span style="margin-right:10px">'+getTime()+'</span>您有新用户注册<button class="msg-close" style="margin-left:10px;">关闭</button></p>');
} else if (msg == 'qukuan') {
$('#msg-wrap').append('<p style="padding:5px 0;"><span style="margin-right:10px">'+getTime()+'</span>您有新取款 <button class="msg-close" style="margin-left:10px;">关闭</button></p>');
}
$('#new_msg')[0].play();
});
$('.msg-close-all').click(function () {
$('#msg-wrap').hide();
})
$('.msg-close').live('click', function () {
$(this).parent('p').remove();
if ($('#msg-wrap p').size() == 0) {
$('#msg-wrap').hide();
}
})
function getTime () {
var myDate = new Date();
var year = myDate.getFullYear();
var mon = myDate.getMonth()+1;
var day = myDate.getDate();
var hour = myDate.getHours();
var min = myDate.getMinutes();
var sec = myDate.getSeconds();
return year + '.'+ mon + '.'+ day + ' '+ hour + ':'+ min + ':'+ sec;
}
})
// console.log(' http://'+document.domain+':2121/?type=publish&content=ceshi')
</script>
第三步:
表单提交时,实时推送语音
修改的文件路径为:plus/diy.php。
在diy.php里找到如下代码,添加上我们的代码段
$push_api_url = "http://dedecms.sj.com:2121/";
$post_data = array(
"type" => "publish", // 这个不需要改
"content" => 'new-reg', // 如果是全款的就是 qukuan ,这里对应的是文件名,文件在my_socket里面。
"to" => '', // 用户ID, 不填则给所有登录用户发送通知
);
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $push_api_url );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $post_data );
curl_setopt ($ch, CURLOPT_HTTPHEADER, array("Expect:"));
$return = curl_exec( $ch );
curl_close ( $ch );
如果按照教程的过程中,存在问题,可以发个红包给站长()协助处理下!^_^
版权声明
本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。
评论