景徳镇旅游微信小程序
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.

287 lines
5.8 KiB

7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 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. <view class="videoList">
  40. <view class="video-item"
  41. v-for="(item, index) in 10"
  42. :key="index">
  43. <view class="image">
  44. <image src="https://img-s-msn-com.akamaized.net/tenant/amp/entityid/BB1msKSi.img" mode="aspectFill"></image>
  45. <view class="icon">
  46. <uv-icon
  47. size="35rpx"
  48. name="play-right-fill">
  49. </uv-icon>
  50. </view>
  51. </view>
  52. <view class="bottom">
  53. <view class="headImage">
  54. <image src="https://img-s-msn-com.akamaized.net/tenant/amp/entityid/BB1msKSi.img" mode="aspectFill"></image>
  55. 爱旅行的小张
  56. </view>
  57. <view class="like">
  58. <uv-icon
  59. size="45rpx"
  60. v-if="false"
  61. name="heart"></uv-icon>
  62. <uv-icon
  63. size="45rpx"
  64. color="#FF4340"
  65. v-else
  66. name="heart-fill"></uv-icon>
  67. 300
  68. </view>
  69. </view>
  70. </view>
  71. </view>
  72. </view>
  73. <PrivacyAgreementPoup/>
  74. <tabber select="0"/>
  75. </view>
  76. </template>
  77. <script>
  78. import PrivacyAgreementPoup from '@/components/config/PrivacyAgreementPoup.vue'
  79. export default {
  80. components : {
  81. PrivacyAgreementPoup,
  82. },
  83. data() {
  84. return {
  85. queryParams: {
  86. pageNo: 1,
  87. pageSize: 10,
  88. title: ''
  89. },
  90. baseList : [
  91. {
  92. icon : '/static/image/home/g1.png',
  93. title : '申遗历程',
  94. path : '',
  95. },
  96. {
  97. icon : '/static/image/home/g2.png',
  98. title : '遗产概况',
  99. path : '',
  100. },
  101. {
  102. icon : '/static/image/home/g3.png',
  103. title : '遗产讲述',
  104. path : '',
  105. },
  106. {
  107. icon : '/static/image/home/g4.png',
  108. title : '达人同游',
  109. path : '',
  110. },
  111. {
  112. icon : '/static/image/home/g5.png',
  113. title : '遗产路径',
  114. path : '',
  115. },
  116. {
  117. icon : '/static/image/home/g6.png',
  118. title : '我要跟拍',
  119. path : '',
  120. },
  121. {
  122. icon : '/static/image/home/g7.png',
  123. title : '非遗体验',
  124. path : '',
  125. },
  126. {
  127. icon : '/static/image/home/g8.png',
  128. title : '无忧服务',
  129. path : '/pages_order/service/carefree',
  130. },
  131. {
  132. icon : '/static/image/home/g9.png',
  133. title : '文创好物',
  134. path : '',
  135. },
  136. {
  137. icon : '/static/image/home/g10.png',
  138. title : '我要帮助',
  139. path : '',
  140. },
  141. ],
  142. bannerList: [
  143. {
  144. url: 'https://img-s-msn-com.akamaized.net/tenant/amp/entityid/BB1msKSi.img',
  145. },
  146. {
  147. url: 'https://img-s-msn-com.akamaized.net/tenant/amp/entityid/BB1msKSi.img',
  148. },
  149. {
  150. url: 'https://img-s-msn-com.akamaized.net/tenant/amp/entityid/BB1msKSi.img',
  151. },
  152. ],
  153. productList: [],
  154. keyword : '',
  155. }
  156. },
  157. computed : {
  158. },
  159. methods: {
  160. }
  161. }
  162. </script>
  163. <style scoped lang="scss">
  164. .page{
  165. padding-bottom: 200rpx;
  166. .banner{
  167. position: relative;
  168. .top{
  169. position: absolute;
  170. top: var(--status-bar-height);
  171. left: 0;
  172. padding-top: 30rpx;
  173. display: flex;
  174. width: 100%;
  175. flex-direction: column;
  176. align-items: center;
  177. .search{
  178. width: 400rpx;
  179. margin-left: -100rpx;
  180. /deep/ .uv-search__content__icon{
  181. padding: 30rpx 0;
  182. }
  183. }
  184. .title{
  185. image{
  186. width: 600rpx;
  187. height: 300rpx;
  188. }
  189. }
  190. }
  191. }
  192. .content{
  193. position: relative;
  194. margin-top: -60rpx;
  195. .grid{
  196. padding-bottom: 30rpx;
  197. background-color: #fff;
  198. border-radius: 60rpx;
  199. box-shadow: 0 0 10rpx 10rpx #00000033;
  200. .grid-icon{
  201. width: 80rpx;
  202. height: 80rpx;
  203. margin-bottom: 10rpx;
  204. margin-top: 30rpx;
  205. }
  206. .grid-text{
  207. font-size: 24rpx;
  208. font-weight: 900;
  209. }
  210. }
  211. .video-title{
  212. padding: 20rpx 30rpx;
  213. background-color: $uni-color;
  214. color: #fff;
  215. font-weight: 900;
  216. font-size: 24rpx;
  217. margin: 10rpx 20rpx;
  218. margin-top: 30rpx;
  219. width: fit-content;
  220. border-radius: 20rpx;
  221. }
  222. .videoList{
  223. display: flex;
  224. flex-wrap: wrap;
  225. .video-item{
  226. margin: 20rpx;
  227. width: 335rpx;
  228. .image{
  229. position: relative;
  230. width: 100%;
  231. height: 460rpx;
  232. border-radius: 30rpx;
  233. overflow: hidden;
  234. image{
  235. width: 100%;
  236. height: 100%;
  237. }
  238. .icon{
  239. position: absolute;
  240. right: 30rpx;
  241. top: 30rpx;
  242. width: 60rpx;
  243. height: 60rpx;
  244. background-color: #ffffffaa;
  245. border-radius: 50%;
  246. display: flex;
  247. justify-content: center;
  248. align-items: center;
  249. }
  250. }
  251. .bottom{
  252. padding: 10rpx 0;
  253. font-size: 22rpx;
  254. display: flex;
  255. justify-content: space-between;
  256. .headImage{
  257. display: flex;
  258. align-items: center;
  259. image{
  260. width: 50rpx;
  261. height: 50rpx;
  262. border-radius: 50%;
  263. margin-right: 6rpx;
  264. }
  265. }
  266. .like{
  267. display: flex;
  268. align-items: center;
  269. }
  270. }
  271. }
  272. }
  273. }
  274. }
  275. </style>