金莎直播app下载与尤文图斯达成官方合作 - 金莎直播app下载
创新创业智能体
${res.data.historyConversation[i].conversationContent}
`);
} else if (res.data.historyConversation[i].role === "user") {
aiChatBody.append(`
${res.data.historyConversation[i].conversationContent}
`);
}
}
} else {
aiChatBody.append(`
创新创业智能体
您好呀,我是该网站的创新创业智能向导,有关该大创的所有问题都可以问我哦~针对您的问题,我将会及时给出回复,助您快速了解大创的相关信息!
`);
}
refreshAiChatBodyHeight();
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("AJAX request failed: " + textStatus);
}
})
}
function apiKeySelfCheck() {
jQuery.ajax({
url: "https://wiscom.donglistudio.com/ai/base/apiKeySelfCheck",
type: "GET",
dataType: "json",
beforeSend: function(xhr) {
xhr.setRequestHeader("token", window.localStorage.getItem("token"));
},
success: function(_) {
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("AJAX request failed: " + textStatus);
}
})
}
function sendAiText() {
const aiTextareaVal = aiTextarea.val();
aiTextarea.val("");
aiChatBody.append(`
`);
refreshAiChatBodyHeight();
fetch("https://wiscom.donglistudio.com/ai/chat/conversationReply", {
method: "POST",
body: JSON.stringify({
"message": aiTextareaVal ? aiTextareaVal : "你好",
"characterId": window.localStorage.getItem("characterId"),
"supportFunctionCall": false
}),
headers: {
"content-type": "application/json",
"token": window.localStorage.getItem("token")
}
})
.then(async function(response) {
const reader = response.body.pipeThrough(new TextDecoderStream()).getReader();
let buffer = "";
let flag = false;
let data = '';
while (true) {
let { done, value } = await reader.read();
if (done) break;
buffer += value;
let messages = buffer.split("\n"); // 使用换行符作为分隔符
buffer = messages.pop(); // 保留最后一部分可能是不完整的消息
for (let message of messages) {
if (message) {
try {
data += JSON.parse(message.replace('undefined', '')).data.reply;
if (!flag) {
aiChatBody.append(`
`);
flag = true;
} else {
const lastChild = aiChatBody.children().last();
lastChild.html(`
创新创业智能体
${data}
`);
}
refreshAiChatBodyHeight();
} catch (_) {
}
}
}
}
}).then(function (_) {
isAiChatResponding = false;
aiSend.css("backgroundColor", "#0277bd");
});
}
function refreshAiChatBodyHeight() {
const currentHeight = aiChatBody.prop("scrollHeight");
if (currentHeight != previousHeight) {
// 如果高度发生变化,将滚动条设置到最底部
aiChatBody.scrollTop(aiChatBody[0].scrollHeight);
previousHeight = currentHeight;
}
}
(function() {
if (!window.localStorage.getItem("token")) {
jQuery.ajax({
url: "https://wiscom.donglistudio.com/common/user/public/aiAgent/login/lcuCollegeOfInnovationAndEnterprenurship",
type: "GET",
crossOrigin: true,
dataType: "json",
success: function(res) {
window.localStorage.setItem(res.data.tokenName, res.data.tokenValue);
getAiCharacterId();
apiKeySelfCheck();
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("AJAX request failed: " + textStatus);
}
})
} else {
getChatHistory();
apiKeySelfCheck();
}
})()
document.addEventListener("keydown", function (e) {
if (e.key === "Enter" && e.shiftKey && isAiChatOpen) {
if (isAiChatResponding) return;
aiSend.css("backgroundColor", "#e0e9e8");
isAiChatResponding = true;
sendAiText();
}
if (e.key === 'Escape' && isAiChatOpen) {
isAiChatOpen = false;
aiTextarea.val("");
aiChat.css("opacity", 0);
}
})
aiTextarea.on("keydown", function (e) {
if (e.key === "Enter" && e.shiftKey && isAiChatOpen) {
if (isAiChatResponding) return;
aiSend.css("backgroundColor", "#e0e9e8");
isAiChatResponding = true;
sendAiText();
}
})
aiButton.on("click", function() {
isAiChatOpen = true;
aiTextarea.focus();
aiChat.css({
"opacity": 1,
"display": "block"
});
})
aiChatClose.on("click", function() {
isAiChatOpen = false;
aiTextarea.val("");
aiChat.css({
"opacity": 0,
"display": "none"
});
})
aiSend.on("click", function() {
if (isAiChatResponding) return;
aiSend.css("backgroundColor", "#e0e9e8");
isAiChatResponding = true;
sendAiText();
})