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

248 lines
5.3 KiB

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