* add ai message loading.

This commit is contained in:
dingyongliang
2024-02-19 14:35:41 +08:00
parent 967997217d
commit 765c3c7a73
7 changed files with 37 additions and 5 deletions
-1
View File
@@ -440,7 +440,6 @@ $lang->ai->miniPrograms->desc = 'Introduction';
$lang->ai->miniPrograms->categoryList = array('writing' => 'Writing', 'statistics' => 'Statistics', 'creative' => 'Creative', 'raiders' => 'Guideline ', 'schedule' => 'Schedule');
$lang->ai->miniPrograms->modelList = array('openai-gpt35' => 'openai / GPT-3.5');
$lang->ai->miniPrograms->allCategories = array('' => 'All categories');
$lang->ai->miniPrograms->squareCategories = array('collection' => 'My collection', 'discovery' => 'Discovery', 'latest' => 'Latest');
$lang->ai->miniPrograms->collect = 'Collect';
$lang->ai->miniPrograms->more = 'More';
$lang->ai->miniPrograms->iconModification = 'Icon modification';
-1
View File
@@ -440,7 +440,6 @@ $lang->ai->miniPrograms->desc = 'Introduction';
$lang->ai->miniPrograms->categoryList = array('writing' => 'Writing', 'statistics' => 'Statistics', 'creative' => 'Creative', 'raiders' => 'Guideline ', 'schedule' => 'Schedule');
$lang->ai->miniPrograms->modelList = array('openai-gpt35' => 'openai / GPT-3.5');
$lang->ai->miniPrograms->allCategories = array('' => 'All categories');
$lang->ai->miniPrograms->squareCategories = array('collection' => 'My collection', 'discovery' => 'Discovery', 'latest' => 'Latest');
$lang->ai->miniPrograms->collect = 'Collect';
$lang->ai->miniPrograms->more = 'More';
$lang->ai->miniPrograms->iconModification = 'Icon modification';
-1
View File
@@ -441,7 +441,6 @@ $lang->ai->miniPrograms->desc = 'Introduction';
$lang->ai->miniPrograms->categoryList = array('writing' => 'Writing', 'statistics' => 'Statistics', 'creative' => 'Creative', 'raiders' => 'Guideline ', 'schedule' => 'Schedule');
$lang->ai->miniPrograms->modelList = array('openai-gpt35' => 'openai / GPT-3.5');
$lang->ai->miniPrograms->allCategories = array('' => 'All categories');
$lang->ai->miniPrograms->squareCategories = array('collection' => 'My collection', 'discovery' => 'Discovery', 'latest' => 'Latest');
$lang->ai->miniPrograms->collect = 'Collect';
$lang->ai->miniPrograms->more = 'More';
$lang->ai->miniPrograms->iconModification = 'Icon modification';
-1
View File
@@ -439,7 +439,6 @@ $lang->ai->miniPrograms->icon = '图标';
$lang->ai->miniPrograms->desc = '简介';
$lang->ai->miniPrograms->categoryList = array('writing' => '写作', 'statistics' => '统计', 'creative' => '创意', 'raiders' => '攻略', 'schedule' => '日程');
$lang->ai->miniPrograms->allCategories = array('' => '所有分组');
$lang->ai->miniPrograms->squareCategories = array('collection' => '我的收藏', 'discovery' => '发现', 'latest' => '最新');
$lang->ai->miniPrograms->collect = '收藏';
$lang->ai->miniPrograms->more = '更多';
$lang->ai->miniPrograms->modelList = array('openai-gpt35' => 'OpenAI / GPT-3.5');
+1 -1
View File
@@ -558,7 +558,7 @@ class aiModel extends model
$data->appID = $appID;
$data->user = $user;
$data->type = 'ntf';
$data->content = sprintf($this->lang->ai->miniPrograms->squareCategories, date("Y/n/j G:i"));
$data->content = sprintf($this->lang->ai->miniPrograms->newVersionTip, date("Y/n/j G:i"));
$data->createdDate = helper::now();
$this->dao->insert(TABLE_AIMESSAGE)
+14
View File
@@ -207,3 +207,17 @@
.chat {
overflow: hidden;
}
@keyframes -pulse {
50% {
opacity: .5;
}
}
.animate-pulse {
animation: -pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.loading-bar {
background: #E4E4E4;
}
+22
View File
@@ -135,6 +135,7 @@ function sendMessagesToAI(message)
{
const {content, time} = message;
const $message = createMessage('ai', content, time);
$messageList.find('.tmp-message').remove();
$messageList.append($message);
$messageList[0].scrollTo(0, $messageList[0].scrollHeight);
@@ -160,6 +161,7 @@ function sendMessagesToAI(message)
const $message = createMessage('user', message);
$messageList.append($message);
$messageList.append(createTmpMessage());
$messageList[0].scrollTo(0, $messageList[0].scrollHeight);
}
@@ -351,6 +353,26 @@ function createMessageBody(role, content, time)
.append($content);
}
function createTmpMessage()
{
const $avatar = createAvatar('ai');
const $body = $(`<div class="message-body flex-1">
<div class="animate-pulse">
<div class="h-3 w-24 loading-bar mb-1.5 rounded"></div>
</div>
<div class="message-content ai-message-content w-full">
<div class="animate-pulse w-full">
<div class="h-3 w-full loading-bar mb-2 rounded"></div>
<div class="h-3 w-full loading-bar mb-2 rounded"></div>
<div class="h-3 w-1/2 loading-bar rounded"></div>
</div>
</div>
</div>`);
return $(`<div class="message ai-message tmp-message"></div>`)
.append($avatar)
.append($body);
}
/**
* Create message.
*