document.body.addEventListener('keydown', function (event) {
if (event.key === 'Enter') {
// 回车键被按下,执行相应操?
sendMessage();
}
});
//发送信?
function sendMessage() {
// 在真实应用中,这里会包含将消息添加到DOM和可能发送到服务器的代码
/* alert('在静态页面中,消息不会被发送?);*/
// 获取输入框的?
var input = document.getElementById('messageInput').value;
// 检查输入是否为?
if (input.trim() !== '') {
//当前时间
var formattedDateTime = getFormattedTimestamp();
//请求后台 发送信?
var params = new FormData();
params.append('Action', "Sending");
params.append('Content', input);//发送信?
params.append('NoteTime', formattedDateTime);//发送时?
$.ajax({
url: "/FAQ.ashx",
data: params,
type: "POST",
dataType: "JSON",
timeout: 6e4,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (a) {
if (a.code == 200) {
//发送成?
//将新创建的段落添加到显示框中
Mesen(a.ID,input, formattedDateTime);
setTimeout(function () {
var list = eval(a.msg);
if (list.length > 0)
{
MessageReply(a.ID,list[0].Content, list[0].NoteTime);
}
}, 700);
}
else {
//发送异?
alert(a.msg);
}
},
error: function (ab) {
alert("返回异常");
}
});
}
}
function send(e)
{
document.getElementById('messageInput').value = $(e).attr('Title');
sendMessage();
}
//用户发?
function Mesen(Type,input, formattedDateTime) {
// 创建一个div元素作为消息容器
var messageDiv = document.createElement("div");
messageDiv.className = "message you"; // 设置类名
// 创建一个p元素并设置其内容
var p = document.createElement("p");
p.innerHTML = input; // 或者使用p.innerHTML,但对于纯文本textContent更合?
// 将p元素添加到div?
messageDiv.appendChild(p);
// 创建一个span元素用于时间戳(先不设置内容?
var timestampSpan = document.createElement("span");
timestampSpan.className = "timestamp"; // 设置类名
formattedDateTime = formattedDateTime.replace('T', ' ');
// 设置时间戳span的内?
timestampSpan.textContent = `${(Type == 1 ? "? : "Me")} ${formattedDateTime}`;
// 将时间戳span添加到div?
messageDiv.appendChild(timestampSpan);
$(".messages").append(messageDiv);
// 清空输入?
document.getElementById('messageInput').value = '';
scrollToBottom();
}
//小易回复
function MessageReply(Type,input, formattedDateTime) {
// 创建一个div元素作为消息容器
var messageDiv = document.createElement("div");
messageDiv.className = "message me"; // 设置类名
// 创建一个p元素并设置其内容
var p = document.createElement("p");
p.innerHTML = input; // 或者使用p.innerHTML,但对于纯文本textContent更合?
// 将p元素添加到div?
messageDiv.appendChild(p);
// 创建一个span元素用于时间戳(先不设置内容?
var timestampSpan = document.createElement("span");
timestampSpan.className = "timestamp"; // 设置类名
formattedDateTime = formattedDateTime.replace('T', ' ');
// 设置时间戳span的内?
timestampSpan.textContent = `${(Type == 1 ? "小易" : "Xiaoyi")} ${formattedDateTime}`;
// 将时间戳span添加到div?
messageDiv.appendChild(timestampSpan);
$(".messages").append(messageDiv);
scrollToBottom();
}
//对话记录
function QaRecoed() {
var params = new FormData();
params.append('Action', "Record");
$.ajax({
url: "/FAQ.ashx",
data: params,
type: "POST",
dataType: "JSON",
timeout: 6e4,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (a) {
if (a.IsCrm == true)
{
$(".chat-container").show();
}
if (a.code == 200)
{
var list = eval(a.msg);
for (var i = 0; i < list.length; i++)
{
if (list[i].Type == "0")
{
//小易
MessageReply(a.ID,list[i].Content, list[i].NoteTime);
}
else {
//用户
Mesen(a.ID,list[i].Content, list[i].NoteTime);
}
}
$(".iop").html((a.ID == 1 ? "产品咨询" : "Product Consultation"));
$("#btn").html((a.ID == 1 ? "发? : "sending"));
scrollToBottom();
}
else
{
}
},
error: function (ab) {
alert("返回异常");
}
});
}
//假设我们有一个函数来获取格式化的时间?
function getFormattedTimestamp() {
const now = new Date();
// 格式化时间为"yyyy-MM-dd HH:mm:ss"字符?
// 注意:月份是?开始的,所以需?1;日期、小时、分钟、秒则直接取
var formattedDateTime = now.getFullYear() + '-' +
('0' + (now.getMonth() + 1)).slice(-2) + '-' +
('0' + now.getDate()).slice(-2) + ' ' +
('0' + now.getHours()).slice(-2) + ':' +
('0' + now.getMinutes()).slice(-2) + ':' +
('0' + now.getSeconds()).slice(-2);
return formattedDateTime;
}
//垂直滑动? 到底?
function scrollToBottom()
{
var messagesContainer = document.querySelector('.messages');
messagesContainer.scrollTop = messagesContainer.scrollHeight;
}168Ʊ