fix: 问题修复
This commit is contained in:
parent
93898e03a9
commit
c56580d6c0
@ -5,57 +5,31 @@
|
|||||||
</text>
|
</text>
|
||||||
|
|
||||||
<!-- 图片消息 -->
|
<!-- 图片消息 -->
|
||||||
<image
|
<image v-else-if="message.type === 'TIMImageElem'" class="message-image" :src="message.payload.imageInfoArray[0].LocalURL ||
|
||||||
v-else-if="message.type === 'TIMImageElem'"
|
|
||||||
class="message-image"
|
|
||||||
:src="
|
|
||||||
message.payload.imageInfoArray[0].LocalURL ||
|
|
||||||
message.payload.imageInfoArray[0].url
|
message.payload.imageInfoArray[0].url
|
||||||
"
|
" mode="aspectFill" :style="getImageStyle(message.payload.imageInfoArray[0])" @click="
|
||||||
mode="aspectFill"
|
|
||||||
:style="getImageStyle(message.payload.imageInfoArray[0])"
|
|
||||||
@click="
|
|
||||||
$emit(
|
$emit(
|
||||||
'previewImage',
|
'previewImage',
|
||||||
message.payload.imageInfoArray[0].LocalURL ||
|
message.payload.imageInfoArray[0].LocalURL ||
|
||||||
message.payload.imageInfoArray[0].url
|
message.payload.imageInfoArray[0].url
|
||||||
)
|
)
|
||||||
"
|
" />
|
||||||
/>
|
|
||||||
|
|
||||||
<!-- 语音消息 -->
|
<!-- 语音消息 -->
|
||||||
<view
|
<view v-else-if="message.type === 'TIMSoundElem'" class="voice-message" :class="{ 'voice-playing': isPlaying }"
|
||||||
v-else-if="message.type === 'TIMSoundElem'"
|
:style="getVoiceStyle(message.payload.second)" @click="$emit('playVoice', message)">
|
||||||
class="voice-message"
|
|
||||||
:class="{ 'voice-playing': isPlaying }"
|
|
||||||
:style="getVoiceStyle(message.payload.second)"
|
|
||||||
@click="$emit('playVoice', message)"
|
|
||||||
>
|
|
||||||
<view class="voice-content">
|
<view class="voice-content">
|
||||||
<view class="voice-icon-wrapper">
|
<view class="voice-icon-wrapper">
|
||||||
<uni-icons
|
<uni-icons type="sound" size="20" :color="message.flow === 'out' ? '#fff' : '#333'"
|
||||||
type="sound"
|
:class="{ 'icon-animate': isPlaying }" />
|
||||||
size="20"
|
|
||||||
:color="message.flow === 'out' ? '#fff' : '#333'"
|
|
||||||
:class="{ 'icon-animate': isPlaying }"
|
|
||||||
/>
|
|
||||||
<!-- 播放中的声波动画 -->
|
<!-- 播放中的声波动画 -->
|
||||||
<view v-if="isPlaying" class="sound-wave">
|
<view v-if="isPlaying" class="sound-wave">
|
||||||
<view
|
<view class="wave-bar" :style="{ background: message.flow === 'out' ? '#fff' : '#0877f1' }"
|
||||||
class="wave-bar"
|
style="animation-delay: 0s"></view>
|
||||||
:style="{ background: message.flow === 'out' ? '#fff' : '#0877f1' }"
|
<view class="wave-bar" :style="{ background: message.flow === 'out' ? '#fff' : '#0877f1' }"
|
||||||
style="animation-delay: 0s"
|
style="animation-delay: 0.2s"></view>
|
||||||
></view>
|
<view class="wave-bar" :style="{ background: message.flow === 'out' ? '#fff' : '#0877f1' }"
|
||||||
<view
|
style="animation-delay: 0.4s"></view>
|
||||||
class="wave-bar"
|
|
||||||
:style="{ background: message.flow === 'out' ? '#fff' : '#0877f1' }"
|
|
||||||
style="animation-delay: 0.2s"
|
|
||||||
></view>
|
|
||||||
<view
|
|
||||||
class="wave-bar"
|
|
||||||
:style="{ background: message.flow === 'out' ? '#fff' : '#0877f1' }"
|
|
||||||
style="animation-delay: 0.4s"
|
|
||||||
></view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<text class="voice-duration">{{ message.payload.second }}"</text>
|
<text class="voice-duration">{{ message.payload.second }}"</text>
|
||||||
@ -65,39 +39,24 @@
|
|||||||
<!-- 自定义消息卡片 -->
|
<!-- 自定义消息卡片 -->
|
||||||
<template v-else-if="message.type === 'TIMCustomElem'">
|
<template v-else-if="message.type === 'TIMCustomElem'">
|
||||||
<!-- 文章消息 -->
|
<!-- 文章消息 -->
|
||||||
<view
|
<view v-if="getCustomMessageType(message) === 'article'" class="article-card" @click="handleArticleClick(message)">
|
||||||
v-if="getCustomMessageType(message) === 'article'"
|
|
||||||
class="article-card"
|
|
||||||
@click="handleArticleClick(message)"
|
|
||||||
>
|
|
||||||
<view class="article-content">
|
<view class="article-content">
|
||||||
<view class="article-title">{{ getArticleData(message).title }}</view>
|
<view class="article-title">{{ getArticleData(message).title }}</view>
|
||||||
<view class="article-desc">{{ getArticleData(message).desc }}</view>
|
<view class="article-desc">{{ getArticleData(message).desc }}</view>
|
||||||
</view>
|
</view>
|
||||||
<image
|
<image v-if="getArticleData(message).imgUrl" class="article-image" :src="getArticleData(message).imgUrl"
|
||||||
v-if="getArticleData(message).imgUrl"
|
mode="aspectFill" />
|
||||||
class="article-image"
|
|
||||||
:src="getArticleData(message).imgUrl"
|
|
||||||
mode="aspectFill"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 问卷消息 -->
|
<!-- 问卷消息 -->
|
||||||
<view
|
<view v-else-if="getCustomMessageType(message) === 'survey'" class="survey-card"
|
||||||
v-else-if="getCustomMessageType(message) === 'survey'"
|
@click="handleSurveyClick(message)">
|
||||||
class="survey-card"
|
|
||||||
@click="handleSurveyClick(message)"
|
|
||||||
>
|
|
||||||
<view class="survey-content">
|
<view class="survey-content">
|
||||||
<view class="survey-title">{{ getSurveyData(message).title }}</view>
|
<view class="survey-title">{{ getSurveyData(message).title }}</view>
|
||||||
<view class="survey-desc">{{ getSurveyData(message).desc }}</view>
|
<view class="survey-desc">{{ getSurveyData(message).desc }}</view>
|
||||||
</view>
|
</view>
|
||||||
<image
|
<image v-if="getSurveyData(message).imgUrl" class="survey-image" :src="getSurveyData(message).imgUrl"
|
||||||
v-if="getSurveyData(message).imgUrl"
|
mode="aspectFill" />
|
||||||
class="survey-image"
|
|
||||||
:src="getSurveyData(message).imgUrl"
|
|
||||||
mode="aspectFill"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 其他自定义消息 -->
|
<!-- 其他自定义消息 -->
|
||||||
@ -122,6 +81,7 @@ import { getParsedCustomMessage } from "@/utils/chat-utils.js";
|
|||||||
// import MessageCard from "./message-card/message-card.vue";
|
// import MessageCard from "./message-card/message-card.vue";
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
corpId: String,
|
||||||
message: Object,
|
message: Object,
|
||||||
patientInfo: Object,
|
patientInfo: Object,
|
||||||
formatTime: Function,
|
formatTime: Function,
|
||||||
@ -237,7 +197,7 @@ const getArticleData = (message) => {
|
|||||||
const handleArticleClick = (message) => {
|
const handleArticleClick = (message) => {
|
||||||
const { articleId } = getArticleData(message);
|
const { articleId } = getArticleData(message);
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pages/article/article-detail?id=${articleId}`,
|
url: `/pages/article/article-detail?id=${articleId}&corpId=${props.corpId}`,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -99,6 +99,7 @@
|
|||||||
<view class="message-bubble" :class="getBubbleClass(message)">
|
<view class="message-bubble" :class="getBubbleClass(message)">
|
||||||
<!-- 消息内容 -->
|
<!-- 消息内容 -->
|
||||||
<MessageTypes
|
<MessageTypes
|
||||||
|
:corpId="corpId"
|
||||||
:message="message"
|
:message="message"
|
||||||
:formatTime="formatTime"
|
:formatTime="formatTime"
|
||||||
:playingVoiceId="playingVoiceId"
|
:playingVoiceId="playingVoiceId"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user