summary refs log tree commit diff
path: root/Live2dHistoire/live2d/js
diff options
context:
space:
mode:
Diffstat (limited to 'Live2dHistoire/live2d/js')
-rw-r--r--Live2dHistoire/live2d/js/message.js68
1 files changed, 42 insertions, 26 deletions
diff --git a/Live2dHistoire/live2d/js/message.js b/Live2dHistoire/live2d/js/message.js
index 66cdf33..7bffeb5 100644
--- a/Live2dHistoire/live2d/js/message.js
+++ b/Live2dHistoire/live2d/js/message.js
@@ -188,7 +188,21 @@ if(!norunFlag){
 		if(Array.isArray(text)) text = text[Math.floor(Math.random() * text.length + 1)-1];
 		//console.log('showMessage', text);
 		$('.message').stop();
-		$('.message').html(text);
+		if(text instanceof EventSource){
+			var outputContainer = $('.message')[0]
+			outputContainer.textContent = "";
+			text.onmessage = (event) => {
+				if (event.data == "[DONE]") {
+					text.close();
+				  return;
+				} else {
+				  const data = JSON.parse(event.data);
+				  outputContainer.textContent += data.response;
+				}
+			}
+		}else{
+			$('.message').html(text);
+		}
 		$('.message').fadeTo(200, 1);
 		//if (timeout === null) timeout = 5000;
 		//hideMessage(timeout);
@@ -275,36 +289,38 @@ if(!norunFlag){
 			});
 			$('#talk_send').on('click',function(){
 				var info_ = $('#AIuserText').val();
-				var userid_ = $('#AIuserName').val();
+				// var userid_ = $('#AIuserName').val();
 				if(info_ == "" ){
 					showMessage('写点什么吧!',0);
 					return;
 				}
-				if(userid_ == ""){
-					showMessage('聊之前请告诉我你的名字吧!',0);
-					return;
-				}
+				// if(userid_ == ""){
+				// 	showMessage('聊之前请告诉我你的名字吧!',0);
+				// 	return;
+				// }
 				showMessage('思考中~', 0);
-				$.ajax({
-					type: 'POST',
-					url: talkAPI,
-					data: {
-							"info": info_,
-							"userId": userid_
-					},
-					success: function(res) {
-						if(res.intent.code !== 0){
-							talkValTimer();
-							showMessage('似乎有什么错误,请和站长联系!',0);
-						}else{
-							talkValTimer();
-							showMessage(res.results[0].values.text,0);
-						}
-						console.log(res);
-						$('#AIuserText').val("");
-						sessionStorage.setItem("live2duser", userid_);
-					}
-				});
+				const evSource = new EventSource(talkAPI + "?info=" + encodeURIComponent(info_));
+				showMessage(evSource);
+				// $.ajax({
+				// 	type: 'POST',
+				// 	url: talkAPI,
+				// 	data: {
+				// 			"info": info_,
+				// 			"userId": userid_
+				// 	},
+				// 	success: function(res) {
+				// 		if(res.intent.code !== 0){
+				// 			talkValTimer();
+				// 			showMessage('似乎有什么错误,请和站长联系!',0);
+				// 		}else{
+				// 			talkValTimer();
+				// 			showMessage(res.results[0].values.text,0);
+				// 		}
+				// 		console.log(res);
+				// 		$('#AIuserText').val("");
+				// 		sessionStorage.setItem("live2duser", userid_);
+				// 	}
+				// });
 			});
 		}else{
 			$('#showInfoBtn').hide();