main.vue 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <!--
  2. 【微信消息 - 音乐】
  3. -->
  4. <template>
  5. <div>
  6. <el-link
  7. type="success"
  8. :underline="false"
  9. target="_blank"
  10. :href="hqMusicUrl ? hqMusicUrl : musicUrl"
  11. >
  12. <div
  13. class="avue-card__body"
  14. style="padding: 10px; background-color: #fff; border-radius: 5px"
  15. >
  16. <div class="avue-card__avatar">
  17. <img :src="thumbMediaUrl" alt="" />
  18. </div>
  19. <div class="avue-card__detail">
  20. <div class="avue-card__title" style="margin-bottom: unset">{{ title }}</div>
  21. <div class="avue-card__info" style="height: unset">{{ description }}</div>
  22. </div>
  23. </div>
  24. </el-link>
  25. </div>
  26. </template>
  27. <script lang="ts" setup>
  28. defineOptions({ name: 'WxMusic' })
  29. const props = defineProps({
  30. title: {
  31. required: false,
  32. type: String
  33. },
  34. description: {
  35. required: false,
  36. type: String
  37. },
  38. musicUrl: {
  39. required: false,
  40. type: String
  41. },
  42. hqMusicUrl: {
  43. required: false,
  44. type: String
  45. },
  46. thumbMediaUrl: {
  47. required: true,
  48. type: String
  49. }
  50. })
  51. defineExpose({
  52. musicUrl: props.musicUrl
  53. })
  54. </script>
  55. <style lang="scss" scoped>
  56. /* 因为 joolun 实现依赖 avue 组件,该页面使用了 card.scss */
  57. @import '../wx-msg/card.scss';
  58. </style>