index.wxml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. <wxs module="textUtil" src="../../../utils/textUtil.wxs" />
  2. <import src="index.skeleton.wxml" />
  3. <template is="skeleton" wx-if="{{isLoading}}" />
  4. <block wx:if="{{!isLoading}}">
  5. <!-- 共用自定义头部 -->
  6. <view class="flex commonHead {{isTop?'isTop':''}}" style='height:{{statusBarHeight}}px;'>
  7. <view class='flex commonContent' style='height:{{statusBarHeight}}px;'>
  8. <view class='commonHeadWrap flex'>
  9. <view class='headIconBox flex-c-c' wx:if="{{isLogOn && (userRole == 4 || userRole == 99) && !isTop}}" bindtap="goToPoster">
  10. <image class="icon" src="/static/icon/icon_boss_code.png" mode="aspectFill"></image>
  11. </view>
  12. <view class="searchCon flex-c {{ isLogOn && (userRole == 4 || userRole == 99) && !isTop ?'':'noLeft'}}" bindtap="navigateTo" data-url="/pages/index/pages/search/search">
  13. <image class="icon" src="/static/icon/icon_new_search.png" mode="aspectFill"></image>
  14. <view class="searchText">搜索商品</view>
  15. </view>
  16. </view>
  17. </view>
  18. </view>
  19. <!-- 常规版首页内容 -->
  20. <view class="pageContainer" wx:if="{{!isActivityPage}}">
  21. <view class="pageTopCom">
  22. <!-- 第一个轮播图 -->
  23. <block>
  24. <view class="swiperContainer pageOneSwiper" wx:if="{{oneData && oneData.length > 0}}">
  25. <swiper class="oneSwiperImage" wx:if="{{oneData.length > 1}}" indicator-dots="{{true}}" circular="true" autoplay="true" interval="4500" duration="500">
  26. <block wx:for="{{oneData}}" wx:for-item="item" wx:key="index">
  27. <swiper-item bind:tap="adClick" data-jumpid="{{item.jump_id}}" data-jumptype="{{item.jump_type}}" data-id="{{item.id}}">
  28. <image mode='aspectFill' lazy-load="{{true}}" class='swiperImage' src='{{item.image}}'></image>
  29. </swiper-item>
  30. </block>
  31. </swiper>
  32. <block wx:for="{{oneData}}" wx:for-item="item" wx:key="index" wx:if="{{oneData.length <= 1}}">
  33. <view class="oneSwiperImage" bind:tap="adClick" data-jumpid="{{item.jump_id}}" data-jumptype="{{item.jump_type}}" data-id="{{item.id}}">
  34. <image mode='aspectFill' lazy-load="{{true}}" class='swiperImage' src='{{item.image}}'></image>
  35. </view>
  36. </block>
  37. </view>
  38. <view class="noOneData" wx:else>
  39. <image class="swiperImage" lazy-load="{{true}}" src="http://lachang.fanfanle.cn/uploads/10001/20231121/e5db6a94825cc3f5b8bfa4491d3241db.jpg" mode="aspectFill"></image>
  40. </view>
  41. </block>
  42. <!-- 惠存 惠买 -->
  43. <view class="benefitBox flex-c-c">
  44. <view class="benefitItem" bindtap="navigateTo" data-url="/pages/index/pages/riceCard/cardList/cardList">
  45. <image class="back" lazy-load="{{true}}" src="/static/images/image_index_h1.png" mode="aspectFill"></image>
  46. </view>
  47. <view class="benefitItem" bindtap="navigateTo" data-url="/pages/bonus/pages/bonusShop/bonusShop">
  48. <image class="back" lazy-load="{{true}}" src="/static/images/image_index_h2.png" mode="aspectFill"></image>
  49. </view>
  50. </view>
  51. <view class="pageKkBox flex-c-c">
  52. <image src="/static/images/image_kk.png" mode="aspectFill"></image>
  53. </view>
  54. <!-- Mi PLUS会员 -->
  55. <view class="menmberContent" bind:tap="memberClick">
  56. <image class="icon" src="/static/images/home_joinmembership.png" mode="aspectFill"></image>
  57. </view>
  58. <!-- 视频 -->
  59. <view class="videoContent" wx:if="{{videoPath}}">
  60. <view class="videoBox">
  61. <video id="myVideo" src="{{videoPath}}" show-play-btn="{{true}}" custom-cache="{{false}}" controls show-center-play-btn="{{false}}" objectFit='cover'></video>
  62. <view class="videoImageBox flex-c-c" wx:if="{{!isPlay}}">
  63. <image class="videoIcon" bind:tap="videoPlay" src="/static/icon/icon_bf.png"></image>
  64. <image class="videoCover" mode="aspectFill" src="{{videoImage}}"></image>
  65. <view class="videoMantle"></view>
  66. </view>
  67. </view>
  68. </view>
  69. <!-- 第二个轮播图 -->
  70. <!-- <view class="pageMainItemBox">
  71. <view class="swiperContainer two" wx:if="{{twoData && twoData.length > 0}}">
  72. <swiper class="oneSwiperImage" wx:if="{{twoData.length > 1}}" indicator-dots="{{true}}" circular="true" autoplay="true" interval="6000" duration="500">
  73. <block wx:for="{{twoData}}" wx:for-item="item" wx:key="index">
  74. <swiper-item bind:tap="adClick" data-jumpid="{{item.jump_id}}" data-jumptype="{{item.jump_type}}" data-id="{{item.id}}">
  75. <image mode='aspectFill' lazy-load="{{true}}" class='swiperImage' src='{{item.image}}'></image>
  76. </swiper-item>
  77. </block>
  78. </swiper>
  79. <block wx:for="{{twoData}}" wx:for-item="item" wx:key="index" wx:if="{{twoData.length <= 1}}">
  80. <view class="oneSwiperImage" bind:tap="adClick" data-jumpid="{{item.jump_id}}" data-jumptype="{{item.jump_type}}" data-id="{{item.id}}">
  81. <image mode='aspectFill' lazy-load="{{true}}" class='swiperImage' src='{{item.image}}'></image>
  82. </view>
  83. </block>
  84. </view>
  85. </view> -->
  86. <!-- 探秘 体验模块 -->
  87. <!-- <view class="exploreList" wx:if="{{threeData && threeData.length > 0}}">
  88. <block wx:for="{{threeData}}" wx:for-item="item" wx:key="index">
  89. <view class="exploreItem" bind:tap="adClick" data-jumpid="{{item.jump_id}}" data-jumptype="{{item.jump_type}}" data-id="{{item.id}}">
  90. <view class="exploreCon">
  91. <image src="{{item.image}}" lazy-load="{{true}}" mode="aspectFill"></image>
  92. </view>
  93. </view>
  94. </block>
  95. </view> -->
  96. <!-- 第三个轮播图 -->
  97. <!-- <view class="pageMainItemBox" wx:if="{{fourData && fourData.length > 0}}">
  98. <view class="swiperContainer two">
  99. <swiper class="oneSwiperImage" wx:if="{{fourData.length > 1}}" circular="true" autoplay="true" interval="5200" duration="500">
  100. <block wx:for="{{fourData}}" wx:for-item="item" wx:key="index">
  101. <swiper-item bind:tap="adClick" data-jumpid="{{item.jump_id}}" data-jumptype="{{item.jump_type}}" data-id="{{item.id}}">
  102. <image mode='aspectFill' lazy-load="{{true}}" class='swiperImage' src='{{item.image}}'></image>
  103. </swiper-item>
  104. </block>
  105. </swiper>
  106. <block wx:for="{{fourData}}" wx:for-item="item" wx:key="index" wx:if="{{fourData.length <= 1}}">
  107. <view class="oneSwiperImage" bind:tap="adClick" data-jumpid="{{item.jump_id}}" data-jumptype="{{item.jump_type}}" data-id="{{item.id}}">
  108. <image mode='aspectFill' lazy-load="{{true}}" class='swiperImage' src='{{item.image}}'></image>
  109. </view>
  110. </block>
  111. </view>
  112. </view> -->
  113. </view>
  114. <!-- 产品展示区 -->
  115. <view class="pageBotBack" id="pageBotBack" wx:if="{{goodsList && goodsList.length > 0}}">
  116. <view class="pageModelTitle flex-c-c">
  117. <image class="icon" src="/static/icon/icon_index_ll.png" mode="aspectFill"></image>
  118. <view class="name">产品展示</view>
  119. <image class="icon right" src="/static/icon/icon_index_ll.png" mode="aspectFill"></image>
  120. </view>
  121. <view class="goodsList flex">
  122. <block wx:for="{{goodsList}}" wx:for-item="item" wx:key="index">
  123. <view class="goodsItem" bindtap="navigateTo" data-url="/pages/cart/pages/goodsDetail/goodsDetail?goods_id={{item.goods_id}}">
  124. <view class="goodsContent">
  125. <view class="goodsImgBox">
  126. <image src="{{item.goods_image+textUtil.imageMiddle()}}" mode="aspectFill" lazy-load="{{true}}"></image>
  127. </view>
  128. <view class="goodsInfoBox">
  129. <view>
  130. <view class="title textSpill2">
  131. <!-- 秒杀标识 -->
  132. <image wx:if="{{item.miaosha && item.miaosha.type == 4}}" class="icon" src="/static/icon/goodsMx.png" mode="aspectFill"></image>
  133. <image wx:elif="{{item.za}}" class="icon goodsMyZy" src="/static/icon/goodsMyZy.png" mode="aspectFill"></image>
  134. <view class="goodsNameText">{{item.goods_name}}</view>
  135. </view>
  136. <view class="sales flex">
  137. <view>月销量:</view>
  138. <view class="number">
  139. {{textUtil.numberFixed(item.goods_sales)}}
  140. </view>
  141. </view>
  142. </view>
  143. <view class="botBox flex-c">
  144. <view class="priceBox flex">
  145. <view class="tag">¥</view>
  146. <view class="pra">
  147. {{textUtil.priceSplit(item.spec_type == 10?item.goods_price_min:item.goods_price_min)[0]}}
  148. </view>
  149. <view class="prb">
  150. .{{textUtil.priceSplit(item.spec_type == 10?item.goods_price_min:item.goods_price_min)[1]}}
  151. </view>
  152. </view>
  153. <view class="linkprice flex" wx:if="{{textUtil.isShowLinePrice(item.goods_price_min,item.line_price_min)}}">
  154. <view>¥</view>
  155. <view class="lPr">{{item.line_price_min}}</view>
  156. </view>
  157. </view>
  158. <!-- 抢 -->
  159. <view class="robBox" wx:if="{{(item.miaosha && item.miaosha.type == 4) || item.za}}">
  160. <image class="icon" src="/static/icon/icon_robBoxIndex.png" mode="aspectFill"></image>
  161. </view>
  162. <view class="addCartBox" wx:else catchtap="addCart" data-id="{{item.goods_id}}" data-stock="{{item.stock_total}}">
  163. <image class="icon" wx:if="{{item.stock_total && item.stock_total >0}}" src="/static/icon/icon_add_cart.png" mode="aspectFill"></image>
  164. <image class="icon" wx:else src="/static/icon/icon_add_no.png" mode="aspectFill"></image>
  165. </view>
  166. </view>
  167. </view>
  168. </view>
  169. </block>
  170. </view>
  171. </view>
  172. <!-- 分享按钮 -->
  173. <button class="pageShare flex-c-c" open-type='share'>
  174. <image class="shareIcon" src="/static/icon/icon_index_fx.png" mode="aspectFill"></image>
  175. </button>
  176. </view>
  177. <!-- 活动版首页 -->
  178. <view class="activityContainer" wx:if="{{isActivityPage}}">
  179. <activityPage id="activityPage" activityViewData="{{activityViewData}}" activityBack="{{activityBack}}"></activityPage>
  180. </view>
  181. </block>
  182. <!-- 弹窗广告 -->
  183. <tui-modal show="{{showPopupAd && popupData.length > 0}}" background="transparent" custom padding="0rpx" width="580rpx" radius="16rpx" top="45%">
  184. <view class="popupModal" bind:tap="adClick" data-jumpid="{{popupData[0].jump_id}}" data-type="1" data-jumptype="{{popupData[0].jump_type}}" data-id="{{popupData[0].id}}">
  185. <image class="popupImage" src="{{popupData[0].image || popupData[0].imgUrl}}" mode="aspectFill"></image>
  186. <view class="closeIcon" catchtap="popupClose">
  187. <image class="icon" src="/static/icon/icon_modal_newX.png"></image>
  188. </view>
  189. </view>
  190. </tui-modal>
  191. <!-- 登陆弹窗 -->
  192. <login show-login="{{!isLogOn && scene == 1047 && appleSId}}" />