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