Test.vue 3.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. <template>
  2. <div class="index-box">
  3. <img :src="bgImage" class="bg-image" />
  4. <!-- 透明返回按钮 -->
  5. <div style=" position: absolute;width: 55px;height: 52px;" @click="$router.go(-1)"></div>
  6. <!-- 透明返回按钮 -->
  7. <div class="body-swiper">
  8. <div class="slider-wrapper">
  9. <!-- 左滑动 -->
  10. <div class="body-swiper-left">
  11. <img style="width:70%;position: relative; right: -1vw;" src="../assets/buttonImage/2左滑.png" />
  12. </div>
  13. <!-- swiper -->
  14. <div class="body-swiper-middle">
  15. <index-image :list="list"></index-image>
  16. </div>
  17. <!-- swiper -->
  18. <!-- 右滑动 -->
  19. <div class="body-swiper-right">
  20. <img style="width:70%;position: relative; right: -1vw;" src="../assets/buttonImage/3右滑.png" />
  21. </div>
  22. </div>
  23. <div class="button-img" @click="() => this.$router.push('/signup')">
  24. <img style="width:100%;" src="../assets/buttonImage/1即刻尊享.png" />
  25. </div>
  26. </div>
  27. </div>
  28. </template>
  29. <script>
  30. export default {
  31. props: {
  32. typePages: {
  33. type: Object,
  34. default: () => ({})
  35. }
  36. },
  37. data() {
  38. return {
  39. images: {
  40. yushi: {
  41. bgImage: require('../../public/yushi-image/1.jpg'),
  42. list: [
  43. require('../../public/yushi-image/2.png'),
  44. require('../../public/yushi-image/3.png'),
  45. require('../../public/yushi-image/4.png')
  46. ]
  47. },
  48. yimao: {
  49. bgImage: require('../../public/yimao-image/1.jpg'),
  50. list: [
  51. require('../../public/yimao-image/2.png'),
  52. require('../../public/yimao-image/3.png'),
  53. require('../../public/yimao-image/4.png')
  54. ]
  55. },
  56. keting: {
  57. bgImage: require('../../public/keting-image/1.jpg'),
  58. list: [
  59. require('../../public/keting-image/2.png'),
  60. require('../../public/keting-image/3.png'),
  61. require('../../public/keting-image/4.png'),
  62. require('../../public/keting-image/5.png')
  63. ]
  64. },
  65. yangtai: {
  66. bgImage: require('../../public/yangtai-image/1.jpg'),
  67. list: [
  68. require('../../public/yangtai-image/2.png'),
  69. require('../../public/yangtai-image/3.png'),
  70. require('../../public/yangtai-image/4.png'),
  71. require('../../public/yangtai-image/5.png')
  72. ]
  73. }
  74. },
  75. songList: {},
  76. swiperList: []
  77. }
  78. },
  79. computed: {
  80. bgImage() {
  81. if (!this.$route.params.types) return ''
  82. return this.images[this.$route.params.types].bgImage
  83. },
  84. list() {
  85. if (!this.$route.params.types) return []
  86. return this.images[this.$route.params.types].list
  87. }
  88. },
  89. components: {
  90. IndexImage: () => import('./IndexImage.vue')
  91. }
  92. }
  93. </script>
  94. <style lang="scss" scoped>
  95. .index-box {
  96. width: 100vw;
  97. height: 100vh;
  98. display: flex;
  99. .bg-image {
  100. width: 100%;
  101. height: 100vh;
  102. position: absolute;
  103. }
  104. .body-swiper {
  105. position: absolute;
  106. width: 100vw;
  107. top: 47.5vh;
  108. display: flex;
  109. .slider-wrapper {
  110. width: 100%;
  111. position: relative;
  112. }
  113. &-left {
  114. left: 1vw;
  115. }
  116. &-right {
  117. right: 1vw;
  118. }
  119. &-left,
  120. &-right {
  121. position: absolute;
  122. display: flex;
  123. align-items: center;
  124. margin: 0 auto;
  125. z-index: 10;
  126. top: -2vh;
  127. height: 100%;
  128. width: 6vw;
  129. }
  130. &-middle {
  131. width: 100%;
  132. }
  133. }
  134. .button-img {
  135. position: absolute;
  136. width: 45vw;
  137. left: 27.5vw;
  138. top: 39vh;
  139. }
  140. }
  141. </style>