preview.tsx 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. import { defineComponent } from 'vue'
  2. import { ElButton, ElFormItem, ElForm, ElRadio } from 'element-plus'
  3. import runtime, * as RuntimeUtils from './runtime'
  4. import styles from './preview.module.less'
  5. import QRCode from 'qrcode';
  6. import icon1 from './images/icon1.png'
  7. import icon2 from './images/icon2.png'
  8. import icon3 from './images/icon3.png'
  9. import icon4 from './images/icon4.png'
  10. import icon5 from './images/icon5.png'
  11. import logo from './images/logo.png'
  12. import start from './images/start.png'
  13. export default defineComponent({
  14. name: 'LiveBroadcastSharePreview',
  15. props: ['form','url'],
  16. data() {
  17. return {
  18. detail: {
  19. roomTitle: '',
  20. liveStartTime: '',
  21. liveRemark: '',
  22. },
  23. }
  24. },
  25. mounted() {
  26. let canvas = document.getElementById('canvas');
  27. let text = this.url;
  28. QRCode.toCanvas(canvas, text, {width:79,margin:1},function (error) {
  29. if (error){
  30. console.error(error);
  31. }
  32. console.log('QRCode success!')
  33. })
  34. },
  35. methods: {
  36. copyText() {
  37. },
  38. shareImage() {
  39. }
  40. },
  41. render() {
  42. return (
  43. <div id="preview">
  44. {this.form.preTemplate === '1' ?
  45. <div class={styles.first}>
  46. <h2>{this.form.roomTitle}</h2>
  47. <p class={styles.teacher}> 主讲人:{this.form.speakerName}</p>
  48. <img src={icon1} class={styles.icon} alt="" />
  49. <div class={styles.preCore}>
  50. <img src={start} class={styles.start} alt="" />
  51. <p class={styles.title}>开播时间</p>
  52. <p class={styles.time}>{this.form.liveStartTime}</p>
  53. <p class={styles.title}>直播内容</p>
  54. <div class={styles.content}>
  55. <img class={styles.pre} src={icon5} alt="" />
  56. <img class={styles.end} src={icon4} alt="" />
  57. {this.form.liveRemark}
  58. </div>
  59. </div>
  60. <div class={styles.bottom}>
  61. <img class={styles.logo} src={logo} alt="" />
  62. <div class={styles.code}>
  63. <div>
  64. <canvas id='canvas' height="80" width="80" style="width: 80px; margin:0"></canvas>
  65. </div>
  66. </div>
  67. </div >
  68. </div> : null}
  69. {this.form.preTemplate === '2' ?
  70. <div class={styles.second} >
  71. <h2>{this.form.roomTitle}</h2>
  72. <p class={styles.teacher}>主讲人:{this.form.speakerName}</p>
  73. <img src={icon3} class={styles.icon} alt="" />
  74. <div class={styles.preCore}>
  75. <img src={start} class={styles.start} alt="" />
  76. <p class={styles.title}>开播时间</p>
  77. <p class={styles.time}>{this.form.liveStartTime}</p>
  78. <p class={styles.title}>直播内容</p>
  79. <div class={styles.content}>
  80. <img class={styles.pre} src={icon5} alt="" />
  81. <img class={styles.end} src={icon4} alt="" />
  82. {this.form.liveRemark}
  83. </div>
  84. </div>
  85. <div class={styles.bottom}>
  86. <img class={styles.logo} src={logo} alt="" />
  87. <div class={styles.code}>
  88. <div>
  89. <canvas id='canvas' height="80" width="80" style="width: 80px; margin:0"></canvas>
  90. </div>
  91. </div>
  92. </div>
  93. </div> : null
  94. }
  95. {this.form.preTemplate === '3' ?
  96. <div class={styles.third} >
  97. <h2>{this.form.roomTitle}</h2>
  98. <p class={styles.teacher}>主讲人:{this.form.speakerName}</p>
  99. <img src={icon2} class={styles.icon} alt="" />
  100. <div class={styles.preCore}>
  101. <img src={start} class={styles.start} alt="" />
  102. <p class={styles.title}>开播时间</p>
  103. <p class={styles.time}>{this.form.liveStartTime}</p>
  104. <p class={styles.title}>直播内容</p>
  105. <div class={styles.content}>
  106. <img class={styles.pre} src={icon5} alt="" />
  107. <img class={styles.end} src={icon4} alt="" />
  108. {this.form.liveRemark}
  109. </div>
  110. </div>
  111. <div class={styles.bottom}>
  112. <img class={styles.logo} src={logo} alt="" />
  113. <div class={styles.code}>
  114. <div>
  115. <canvas id='canvas' height="80" width="80" style="width: 80px; margin:0"></canvas>
  116. </div>
  117. </div>
  118. </div>
  119. </div> : null
  120. }
  121. </div >
  122. )
  123. },
  124. })