ProductMessageItem.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <template>
  2. <!-- 图片消息 -->
  3. <template v-if="KeFuMessageContentTypeEnum.PRODUCT === message.contentType">
  4. <div
  5. :class="[
  6. message.senderType === UserTypeEnum.MEMBER
  7. ? `ml-10px`
  8. : message.senderType === UserTypeEnum.ADMIN
  9. ? `mr-10px`
  10. : ''
  11. ]"
  12. >
  13. <ProductItem
  14. :picUrl="getMessageContent.picUrl"
  15. :price="getMessageContent.price"
  16. :skuText="getMessageContent.introduction"
  17. :title="getMessageContent.spuName"
  18. :titleWidth="400"
  19. priceColor="#FF3000"
  20. />
  21. </div>
  22. </template>
  23. </template>
  24. <script lang="ts" setup>
  25. import { KeFuMessageContentTypeEnum } from '../tools/constants'
  26. import ProductItem from './ProductItem.vue'
  27. import { UserTypeEnum } from '@/utils/constants'
  28. import { KeFuMessageRespVO } from '@/api/mall/promotion/kefu/message'
  29. defineOptions({ name: 'ProductMessageItem' })
  30. const props = defineProps<{
  31. message: KeFuMessageRespVO
  32. }>()
  33. /** 获悉消息内容 */
  34. const getMessageContent = computed(() => JSON.parse(props.message.content))
  35. </script>