You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
2.0 KiB

$(function () {
// 点击发送按钮将用户输入的内容显示
$('#btnSend').on('click', function () {
// trim方法用来清除字符串中两边的空格
var text = $('#ipt').val().trim();
// 判断用户输入的内容是否为空
if (text.length <= 0) {
return alert('请输入内容');
}
// 将用户输入的内容显示框当中
$('#talk_list').append('<li class="right_word"><img src="img/person02.png" /> <span>' + text + '</span></li>');
// 显示完成后需要将滚动条移动到显示框的最下面
resetui();
// 清空输入框里面的内容
$('#ipt').val('');
// 根据用户输入的内容反馈
getMsg(text);
})
// 根据用户输入的信息回馈内容
function getMsg(text) {
$.ajax({
method: 'GET',
url: 'http://www.liulongbin.top:3006/api/robot',
data: {
spoken: text
},
success: function (res) {
// 当能够返回数据的时候需要将文字转换为语音
if (res.message === 'success') {
var msg = res.data.info.text;
$('#talk_list').append('<li class="left_word"><img src="img/person01.png" /> <span>' + msg + '</span></li>')
resetui();
getVoice(msg);
}
}
})
}
// 将机器人的文字转换为语音
function getVoice(text) {
$.ajax({
method: 'GET',
url: 'http://www.liulongbin.top:3006/api/synthesize',
data: {
text: text
},
success: function (res) {
if (res.status === 200) {
$('#voice').attr('src', res.voiceUrl);
}
}
})
}
// 绑定一个键盘事件,按回车键输出
$('#ipt').on('keyup', function (e) {
if (e.keyCode == 13) {
$('#btnSend').click();
}
})
})