This commit is contained in:
JiXinHui 2026-03-18 16:59:22 +08:00
commit 8f8ace89e1
1 changed files with 55 additions and 42 deletions

View File

@ -248,25 +248,27 @@
"
:id="'msg-' + message.id"
>
<image
class="ai-avatar"
src="/static/common/images/avatar_ai.png"
mode="scaleToFill"
/>
<view
class="message-content"
:class="{
'message-content-width': !message.isLoading,
}"
>
<!-- 加载动画 -->
<view v-if="message.isLoading" class="loading-dots">
<view class="dot"></view>
<view class="dot"></view>
<view class="dot"></view>
<view class="message-content-container-AI">
<image
class="ai-avatar"
src="/static/common/images/avatar_ai.png"
mode="scaleToFill"
/>
<view
class="message-content"
:class="{
'message-content-width': !message.isLoading,
}"
>
<!-- 加载动画 -->
<view v-if="message.isLoading" class="loading-dots">
<view class="dot"></view>
<view class="dot"></view>
<view class="dot"></view>
</view>
<!-- 正常消息内容 -->
<markdown-viewer v-else :content="message.message" />
</view>
<!-- 正常消息内容 -->
<markdown-viewer v-else :content="message.message" />
</view>
<!-- 回答反馈点赞/点踩 -->
@ -310,23 +312,25 @@
v-else-if="message.interactMode === 8"
:id="'msg-' + message.id"
>
<image
class="ai-avatar"
:src="receiverHeadSculptureUrl"
mode="scaleToFill"
/>
<view
class="message-content"
:class="{
'message-content-width': !message.isLoading,
}"
>
<view v-if="message.isLoading" class="loading-dots">
<view class="dot"></view>
<view class="dot"></view>
<view class="dot"></view>
<view class="message-content-container-Teacher">
<image
class="ai-avatar"
:src="receiverHeadSculptureUrl"
mode="scaleToFill"
/>
<view
class="message-content"
:class="{
'message-content-width': !message.isLoading,
}"
>
<view v-if="message.isLoading" class="loading-dots">
<view class="dot"></view>
<view class="dot"></view>
<view class="dot"></view>
</view>
<markdown-viewer v-else :content="message.message" />
</view>
<markdown-viewer v-else :content="message.message" />
</view>
</view>
</block>
@ -702,10 +706,12 @@ export default {
//
handleFeatureClick(item) {
const actions = {
"首页": () => this.resetChatState({ isChat: false }),
"转人工": () => this.handleTransferEntryClick(),
"结束会话": () => this.handleEndConversation(),
"电话咨询": () => { this.advicePhoneShow = true; }
首页: () => this.resetChatState({ isChat: false }),
转人工: () => this.handleTransferEntryClick(),
结束会话: () => this.handleEndConversation(),
电话咨询: () => {
this.advicePhoneShow = true;
},
};
const action = actions[item.title];
@ -1688,8 +1694,14 @@ export default {
}
.message-left {
justify-content: flex-start;
flex-wrap: wrap; /* 允许反馈区换行到消息下方 */
flex-direction: column;
.message-content-container-AI,
.message-content-container-Teacher {
display: flex;
justify-content: flex-start;
flex-wrap: wrap; /* 允许反馈区换行到消息下方 */
}
.ai-avatar {
width: 64rpx;
@ -1783,12 +1795,13 @@ export default {
}
.message-content-width {
width: 70%;
max-width: 70%;
}
// }
/* 回答反馈容器,跟随左侧消息,右下角对齐 */
.feedback-container {
width: 70%;
max-width: 70%;
margin-left: 80rpx; /* 头像宽度64rpx + 间距16rpx */
display: flex;
justify-content: flex-end;