金莎直播app下载手机版登录 - 金莎直播app下载
周秀玲,女,1983 年出生,博士研究生,发酵工程专业。 同类内容事实上现任金莎直播app下载手机版登录药学与食品工程金莎直播app下载手机版登录教学秘书,副教授,兼职南京轩凯生物科技股份有限金莎直播app下载手机版登录科研博后、山东嗡嗡乐园生态农业有限金莎直播app下载手机版登录技术顾问等。主要研究方向为甾体药物生物转化与菌株代谢调控研究、食品发酵等方面的研究工作。
近三年指导金莎直播app下载手机版登录参与十余项创新创业金莎直播app下载手机版登录和学科竞赛。 同题参见主要有:
(1)2024 年第十四届“挑战杯”山东省大金莎直播app下载手机版登录创业计划竞赛铜奖;
(2)2024 年第九届全国大金莎直播app下载手机版登录生命科学竞赛(创新创业类)金莎直播app下载手机版登录级二等奖;
(3)2024 年山东省大金莎直播app下载手机版登录生物学大赛-教学技能大赛赛道省级一等奖;
(4)2024 年全国大金莎直播app下载手机版登录生命科学竞赛创业类省级三等奖;
(5)2023 年全国大金莎直播app下载手机版登录生命科学竞赛创新创业类山东赛区省级二等奖;
(6)2022 年“科巢杯”第九届山东省大金莎直播app下载手机版登录医药生物技术技能大赛二等奖;通常来说
(7)2022年第十四届山东省大金莎直播app下载手机版登录科技节--第十届山东省大金莎直播app下载手机版登录生物化学技能与创新创业大赛创业类一等奖,被授予“优秀指导教师”称号。
更多内容
若需了解「金莎直播app下载手机版登录」的上下文,可结合站内栏目与相关篇目对照查看。
栏目用于追新,文内链接用于对照细节。这样安排可减少漏读与重复检索。
若从搜索引擎进入,可先确认当前栏目名称,再按需打开相关阅读。
- 部门简介
- 其它荣誉
- 校内基地
- 网站首页
- 部门概况
- 金莎直播app下载手机版登录级政策
- 校外基地
- 双创动态
- 双创成果
内容地图
网站首页 / scds / xnds
创新创业智能体
${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();
})