景徳镇旅游微信小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

215 lines
4.4 KiB

8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
  1. <template>
  2. <view class="page">
  3. <view class="banner">
  4. <uv-swiper
  5. :list="bannerList"
  6. indicator
  7. height="620rpx"
  8. indicatorStyle="bottom: 100rpx;"
  9. keyName="url"></uv-swiper>
  10. <view class="top">
  11. <view class="search">
  12. <uv-search
  13. placeholder="请输入搜索服务"
  14. :showAction="false"
  15. search-icon-size="40rpx"
  16. v-model="keyword"></uv-search>
  17. </view>
  18. <view class="title">
  19. <image src="/static/image/home/title.png" mode=""></image>
  20. </view>
  21. </view>
  22. </view>
  23. <view class="content">
  24. <view class="grid">
  25. <uv-grid :border="false"
  26. :col="5">
  27. <uv-grid-item
  28. v-for="(item,index) in baseList"
  29. @click="$utils.navigateTo(item.path)"
  30. :key="index">
  31. <image class="grid-icon" :src="item.icon" mode="aspectFill"></image>
  32. <text class="grid-text">{{item.title}}</text>
  33. </uv-grid-item>
  34. </uv-grid>
  35. </view>
  36. <view class="video-title">
  37. 视频中的景徳镇
  38. </view>
  39. <videoList ref="videoList"/>
  40. </view>
  41. <PrivacyAgreementPoup/>
  42. <tabber select="0"/>
  43. </view>
  44. </template>
  45. <script>
  46. import PrivacyAgreementPoup from '@/components/config/PrivacyAgreementPoup.vue'
  47. import videoList from '@/components/list/videoList.vue'
  48. export default {
  49. components : {
  50. PrivacyAgreementPoup,
  51. videoList,
  52. },
  53. data() {
  54. return {
  55. baseList : [
  56. {
  57. icon : '/static/image/home/g1.png',
  58. title : '申遗历程',
  59. path : '/pages_order/service/applyRelic',
  60. },
  61. {
  62. icon : '/static/image/home/g2.png',
  63. title : '遗产概况',
  64. path : '/pages_order/service/situation',
  65. },
  66. {
  67. icon : '/static/image/home/g3.png',
  68. title : '遗产讲述',
  69. path : '/pages_order/service/tellList?type=0',
  70. },
  71. {
  72. icon : '/static/image/home/g4.png',
  73. title : '达人同游',
  74. path : '/pages_order/service/tellList?type=1',
  75. },
  76. {
  77. icon : '/static/image/home/g5.png',
  78. title : '遗产路径',
  79. path : '',
  80. },
  81. {
  82. icon : '/static/image/home/g6.png',
  83. title : '我要跟拍',
  84. path : '/pages_order/service/following' ,
  85. },
  86. {
  87. icon : '/static/image/home/g7.png',
  88. title : '非遗体验',
  89. path : '/pages_order/service/experience',
  90. },
  91. {
  92. icon : '/static/image/home/g8.png',
  93. title : '无忧服务',
  94. path : '/pages_order/service/carefree',
  95. },
  96. {
  97. icon : '/static/image/home/g9.png',
  98. title : '文创好物',
  99. path : '/pages_order/product/productList',
  100. },
  101. {
  102. icon : '/static/image/home/g10.png',
  103. title : '我要帮助',
  104. path : '',
  105. },
  106. ],
  107. bannerList: [
  108. {
  109. url: 'https://img-s-msn-com.akamaized.net/tenant/amp/entityid/BB1msKSi.img',
  110. },
  111. {
  112. url: 'https://img-s-msn-com.akamaized.net/tenant/amp/entityid/BB1msKSi.img',
  113. },
  114. {
  115. url: 'https://img-s-msn-com.akamaized.net/tenant/amp/entityid/BB1msKSi.img',
  116. },
  117. ],
  118. productList: [],
  119. keyword : '',
  120. }
  121. },
  122. computed : {
  123. },
  124. onShow() {
  125. this.$refs.videoList.queryVideoList()
  126. this.queryBannerList()
  127. },
  128. //滚动到屏幕底部
  129. onReachBottom() {
  130. this.$refs.videoList.loadMoreData()
  131. },
  132. methods: {
  133. queryBannerList(){
  134. this.$api('queryBannerList', res => {
  135. if(res.code == 200){
  136. this.bannerList = res.result
  137. }
  138. })
  139. },
  140. }
  141. }
  142. </script>
  143. <style scoped lang="scss">
  144. .page{
  145. .banner{
  146. position: relative;
  147. .top{
  148. position: absolute;
  149. top: var(--status-bar-height);
  150. left: 0;
  151. padding-top: 30rpx;
  152. display: flex;
  153. width: 100%;
  154. flex-direction: column;
  155. align-items: center;
  156. .search{
  157. width: 400rpx;
  158. margin-left: -100rpx;
  159. /deep/ .uv-search__content__icon{
  160. padding: 30rpx 0;
  161. }
  162. }
  163. .title{
  164. image{
  165. width: 600rpx;
  166. height: 300rpx;
  167. }
  168. }
  169. }
  170. }
  171. .content{
  172. position: relative;
  173. margin-top: -60rpx;
  174. .grid{
  175. padding-bottom: 30rpx;
  176. background-color: #fff;
  177. border-radius: 60rpx;
  178. box-shadow: 0 0 10rpx 10rpx #00000033;
  179. .grid-icon{
  180. width: 80rpx;
  181. height: 80rpx;
  182. margin-bottom: 10rpx;
  183. margin-top: 30rpx;
  184. }
  185. .grid-text{
  186. font-size: 24rpx;
  187. font-weight: 900;
  188. }
  189. }
  190. .video-title{
  191. padding: 20rpx 30rpx;
  192. background-color: $uni-color;
  193. color: #fff;
  194. font-weight: 900;
  195. font-size: 24rpx;
  196. margin: 10rpx 20rpx;
  197. margin-top: 30rpx;
  198. width: fit-content;
  199. border-radius: 20rpx;
  200. }
  201. }
  202. }
  203. </style>