123.vue 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116
  1. <template>
  2. <view class='index'>
  3. <!-- #ifdef MP -->
  4. <view class='navbar' :style="'height:'+navH+'rpx'">
  5. <view class='navbarH' :style="'height:'+navH+'rpx'">
  6. <view class='navbarCon acea-row row-center-wrapper'>
  7. <view class='search acea-row row-middle'><text class='iconfont icon-xiazai5'></text>搜索商品</view>
  8. <view class='logo'>
  9. <image :src='logoUrl'></image>
  10. </view>
  11. </view>
  12. </view>
  13. </view>
  14. <!-- #endif -->
  15. <!-- #ifdef MP-WEIXIN -->
  16. <view class="indexTip" :style="'top:'+(navH+13)+'rpx'" :hidden="iShidden">
  17. <view class="tip acea-row row-between-wrapper">
  18. <view class="text">点击“<image src="../../static/images/spot.png"></image>”添加到我的小程序, 微信首页下拉即可访问商城。</view>
  19. <view class="iconfont icon-guanbi1" @click="closeTip"></view>
  20. </view>
  21. </view>
  22. <!-- #endif -->
  23. <!-- #ifdef H5 || APP-PLUS-NVUE -->
  24. <view class="header acea-row row-center-wrapper">
  25. <view class="logo">
  26. <image :src="logoUrl"></image>
  27. </view>
  28. <navigator url="/pages/goods_search/index" class="search acea-row row-middle" hover-class="none">
  29. <span class="iconfont icon-xiazai5"></span>搜索商品
  30. </navigator>
  31. </view>
  32. <!-- #endif -->
  33. <!-- #ifdef H5 -->
  34. <view v-if="$wechat.isWeixin()">
  35. <view class="follow acea-row row-between-wrapper" v-if="followHid && followUrl && !subscribe">
  36. <view>点击“立即关注”即可关注公众号</view>
  37. <view class="acea-row row-middle">
  38. <view class="bnt" @click="followTap">立即关注</view>
  39. <span class="iconfont icon-guanbi" @click="closeFollow"></span>
  40. </view>
  41. </view>
  42. <view class="followCode" v-if="followCode">
  43. <view class="pictrue"><img :src="followUrl" /></view>
  44. <view class="mask" @click="closeFollowCode"></view>
  45. </view>
  46. </view>
  47. <!-- #endif -->
  48. <view class='index-bg' v-if="imgUrls.length">
  49. <swiper indicator-dots="true" :autoplay="autoplay" :circular="circular" :interval="interval" :duration="duration"
  50. indicator-color="rgba(255,255,255,0.6)" indicator-active-color="#fff">
  51. <block v-for="(item,index) in imgUrls" :key="index">
  52. <swiper-item>
  53. <navigator :url='item.url' class='slide-navigator acea-row row-between-wrapper' hover-class='none'>
  54. <image :src="item.pic" class="slide-image"></image>
  55. </navigator>
  56. </swiper-item>
  57. </block>
  58. </swiper>
  59. </view>
  60. <view class='nav acea-row' v-if="menus.length">
  61. <block v-for="(item,index) in menus" :key="index">
  62. <navigator class='item' v-if="item.show == '1'" :url='item.url' open-type='switchTab' hover-class='none'>
  63. <view class='pictrue'>
  64. <image :src='item.pic'></image>
  65. </view>
  66. <view>{{item.name}}</view>
  67. </navigator>
  68. <navigator class='item' v-else :url='item.url' hover-class='none'>
  69. <view class='pictrue'>
  70. <image :src='item.pic'></image>
  71. </view>
  72. <view>{{item.name}}</view>
  73. </navigator>
  74. </block>
  75. </view>
  76. <view class='news acea-row row-between-wrapper' v-if="itemNew.length">
  77. <view class='pictrue'>
  78. <image src='../../static/images/news.png'></image>
  79. </view>
  80. <view class='swiperTxt'>
  81. <swiper :indicator-dots="indicatorDots" :autoplay="autoplay" interval="2500" :duration="duration" vertical="true"
  82. circular="true">
  83. <block v-for="(item,index) in itemNew" :key="index">
  84. <swiper-item catchtouchmove='catchTouchMove'>
  85. <navigator v-if="item.show == '1'" :url='item.url' open-type='switchTab' class='acea-row row-between-wrapper'
  86. hover-class='none'>
  87. <view class='text acea-row row-between-wrapper'>
  88. <view class='label border2' v-if="item.id%2 == 0">最新</view>
  89. <view class='newsTitle line1'>{{item.info}}</view>
  90. </view>
  91. <view class='iconfont icon-xiangyou'></view>
  92. </navigator>
  93. <navigator v-else open-type='navigate' :url='item.url' class='acea-row row-between-wrapper' hover-class='none'>
  94. <view class='text acea-row row-between-wrapper'>
  95. <view class='label border2' v-if="item.id%2 == 0">最新</view>
  96. <view class='newsTitle line1'>{{item.info}}</view>
  97. </view>
  98. <view class='iconfont icon-xiangyou'></view>
  99. </navigator>
  100. </swiper-item>
  101. </block>
  102. </swiper>
  103. </view>
  104. </view>
  105. <view class='specialArea acea-row row-between-wrapper' v-if="activityList.length">
  106. <block v-for="(item,index) in activityList" :key="index">
  107. <navigator class='assemble' :url='item.link' v-if="index < 1">
  108. <image :src='item.pic'></image>
  109. <view class='text'>
  110. <view class='name'>{{item.title}}</view>
  111. <view class='infor'>{{item.info}}</view>
  112. </view>
  113. </navigator>
  114. </block>
  115. <view class='list acea-row row-column-between'>
  116. <block v-for="(item,index) in activityList" :key="index">
  117. <navigator class='item' :url='item.link' v-if="index > 0">
  118. <image :src='item.pic'></image>
  119. <view class='text'>
  120. <view class='name'>{{item.title}}</view>
  121. <view class='infor'>{{item.info}}</view>
  122. </view>
  123. </navigator>
  124. </block>
  125. </view>
  126. </view>
  127. <view class='wrapper' v-if="fastList.length">
  128. <view class='title acea-row row-between-wrapper'>
  129. <view class='text'>
  130. <view class='name line1'>快速选择</view>
  131. <view class='line1'>{{fastInfo}}</view>
  132. </view>
  133. <navigator class='more' url='/pages/goods_cate/goods_cate' open-type='switchTab'>更多<text class='iconfont icon-jiantou'></text></navigator>
  134. </view>
  135. <view class='scroll-product'>
  136. <scroll-view class="scroll-view_x" scroll-x style="width:auto;overflow:hidden;">
  137. <block v-for="(item,index) in fastList" :key="index">
  138. <navigator hover-class="none" class='item' :url='"/pages/goods_list/index?sid="+item.id+"&title="+item.cate_name'>
  139. <view class='img-box'>
  140. <image :src='item.pic'></image>
  141. </view>
  142. <view class='pro-info line1'>{{item.cate_name}}</view>
  143. </navigator>
  144. </block>
  145. </scroll-view>
  146. </view>
  147. </view>
  148. <view class='wrapper' v-if="bastList.length">
  149. <view class='title acea-row row-between-wrapper'>
  150. <view class='text'>
  151. <view class='name line1'>精品推荐</view>
  152. <view class='line1'>{{bastInfo}}</view>
  153. </view>
  154. <navigator class='more' hover-class="none" url='/pages/first_new_product/index?type=1'>更多<text class='iconfont icon-jiantou'></text></navigator>
  155. </view>
  156. <view class='boutique'>
  157. <swiper autoplay="true" indicator-dots="true" :circular="circular" :interval="interval" :duration="duration"
  158. indicator-color="rgba(252,65,65,0.3)" indicator-active-color="#fc4141">
  159. <block v-for="(item,index) in bastBanner" :key="index">
  160. <swiper-item>
  161. <navigator :url='item.link' style='width:100%;height:100%;' hover-class='none'>
  162. <image :src="item.img" class="slide-image" />
  163. </navigator>
  164. </swiper-item>
  165. </block>
  166. </swiper>
  167. </view>
  168. <goodList :bastList="bastList"></goodList>
  169. </view>
  170. <view class='hotList' v-if="likeInfo.length">
  171. <view class='hot-bg'>
  172. <view class='title acea-row row-between-wrapper'>
  173. <view class='text line1'><text class='label'>热门榜单</text>根据销量、搜索、好评等综合得出</view>
  174. <navigator class='more' hover-class="none" url='/pages/first_new_product/index?type=2'>更多<text class="iconfont icon-jiantou"></text></navigator>
  175. </view>
  176. </view>
  177. <view class='list acea-row row-middle'>
  178. <block v-for="(item,index) in likeInfo" :key="index">
  179. <navigator class='item' :url='"/pages/goods_details/index?id="+item.id'>
  180. <view class='pictrue'>
  181. <image :src='item.image'></image>
  182. <image v-if="index == 0" src='../../static/images/one.png' class='numPic'></image>
  183. <image v-else-if="index == 1" src='../../static/images/two.png' class='numPic'></image>
  184. <image v-else-if="index == 2" src='../../static/images/three.png' class='numPic'></image>
  185. </view>
  186. <view class='name line1'>{{item.store_name}}</view>
  187. <view class='money font-color'>¥<text class='num'>{{item.price}}</text></view>
  188. </navigator>
  189. </block>
  190. </view>
  191. </view>
  192. <view class='adver' v-if="newGoodsBananr">
  193. <block>
  194. <image :src='newGoodsBananr'></image>
  195. </block>
  196. </view>
  197. <view class='wrapper' v-if="firstList.length">
  198. <view class='title acea-row row-between-wrapper'>
  199. <view class='text'>
  200. <view class='name line1'>首发新品<text class='new font-color'>NEW~</text></view>
  201. <view class='line1'>{{firstInfo}}</view>
  202. </view>
  203. <navigator class='more' hover-class="none" url='/pages/first_new_product/index?type=3'>更多<text class='iconfont icon-jiantou'></text></navigator>
  204. </view>
  205. <view class='newProducts'>
  206. <scroll-view class="scroll-view_x" scroll-x style="width:auto;overflow:hidden;">
  207. <block v-for="(item,index) in firstList" :key="index">
  208. <view hover-class="none" @tap="goDetail(item)" class='item'>
  209. <view class='img-box'>
  210. <image :src='item.image'></image>
  211. <span
  212. class="pictrue_log_medium pictrue_log_class"
  213. v-if="item.activity && item.activity.type === '1'"
  214. >秒杀</span
  215. >
  216. <span
  217. class="pictrue_log_medium pictrue_log_class"
  218. v-if="item.activity && item.activity.type === '2'"
  219. >砍价</span
  220. >
  221. <span
  222. class="pictrue_log_medium pictrue_log_class"
  223. v-if="item.activity && item.activity.type === '3'"
  224. >拼团</span
  225. >
  226. </view>
  227. <view class='pro-info line1'>{{item.store_name}}</view>
  228. <view class='money font-color'>¥{{item.price}}</view>
  229. </view>
  230. </block>
  231. </scroll-view>
  232. </view>
  233. </view>
  234. <view class='wrapper' v-if="benefit.length">
  235. <view class='title acea-row row-between-wrapper'>
  236. <view class='text'>
  237. <view class='name line1'>促销单品</view>
  238. <view class='line1'>{{salesInfo}}</view>
  239. </view>
  240. <navigator class='more' hover-class="none" url='/pages/promotional_items/index'>更多<text class='iconfont icon-jiantou'></text></navigator>
  241. </view>
  242. <promotionGood :benefit="benefit"></promotionGood>
  243. </view>
  244. <couponWindow :window='window' :couponList='couponList' @onColse='onColse'></couponWindow>
  245. </view>
  246. </template>
  247. <script>
  248. let app = getApp();
  249. import {
  250. getIndexData,
  251. getCoupons
  252. } from '@/api/api.js';
  253. // #ifdef MP-WEIXIN
  254. import {
  255. getTemlIds
  256. } from '@/api/api.js';
  257. import {
  258. SUBSCRIBE_MESSAGE,
  259. TIPS_KEY
  260. } from '@/config/cache';
  261. // #endif
  262. // #ifdef H5
  263. import {
  264. getShare,
  265. follow
  266. } from '@/api/public.js';
  267. // #endif
  268. import goodList from '@/components/goodList';
  269. import promotionGood from '@/components/promotionGood';
  270. import couponWindow from '@/components/couponWindow';
  271. import { goShopDetail } from '@/libs/order.js'
  272. import {
  273. mapGetters
  274. } from "vuex";
  275. export default {
  276. components: {
  277. goodList,
  278. promotionGood,
  279. couponWindow
  280. },
  281. data() {
  282. return {
  283. subscribe: false,
  284. followUrl: "",
  285. followHid: true,
  286. followCode: false,
  287. logoUrl: "",
  288. imgUrls: [],
  289. itemNew: [],
  290. activityList: [],
  291. menus: [],
  292. bastBanner: [],
  293. bastInfo: '',
  294. bastList: [],
  295. fastInfo: '',
  296. fastList: [],
  297. firstInfo: '',
  298. firstList: [],
  299. salesInfo: '',
  300. likeInfo: [],
  301. benefit: [],
  302. indicatorDots: false,
  303. circular: true,
  304. autoplay: true,
  305. interval: 3000,
  306. duration: 500,
  307. window: false,
  308. iShidden: false,
  309. navH: "",
  310. newGoodsBananr: '',
  311. couponList: []
  312. }
  313. },
  314. computed: mapGetters(['isLogin','uid']),
  315. onLoad(options) {
  316. this.$util.$L.getLocation();
  317. // #ifdef MP
  318. this.navH = app.globalData.navHeight;
  319. if (options.spid) app.globalData.spid = options.spid;
  320. if (options.scene) app.globalData.code = decodeURIComponent(options.scene);
  321. // #endif
  322. // #ifdef MP-WEIXIN
  323. if (this.$Cache.get(TIPS_KEY)) this.iShidden = true;
  324. this.getTemlIds();
  325. //#endif
  326. },
  327. onShow() {
  328. this.getIndexConfig();
  329. // #ifdef H5
  330. this.getFollow();
  331. // #endif
  332. },
  333. onReady() {
  334. },
  335. onHide() {
  336. this.window = false
  337. },
  338. methods: {
  339. // #ifdef MP-WEIXIN
  340. getTemlIds() {
  341. let messageTmplIds = this.$Cache.get(SUBSCRIBE_MESSAGE);
  342. if (!messageTmplIds) {
  343. getTemlIds().then(res => {
  344. if (res.data)
  345. this.$Cache.set(SUBSCRIBE_MESSAGE, JSON.stringify(res.data));
  346. })
  347. }
  348. },
  349. closeTip: function() {
  350. this.$Cache.set(TIPS_KEY, true);
  351. this.iShidden = true;
  352. },
  353. // #endif
  354. getIndexConfig: function() {
  355. let that = this;
  356. getIndexData().then(res => {
  357. that.$set(that, "imgUrls", res.data.banner);
  358. that.$set(that, "menus", res.data.menus);
  359. that.$set(that, "itemNew", res.data.roll);
  360. that.$set(that, "activityList", res.data.activity);
  361. that.$set(that, "bastBanner", res.data.info.bastBanner);
  362. that.$set(that, "bastInfo", res.data.info.bastInfo);
  363. that.$set(that, "bastList", res.data.info.bastList);
  364. that.$set(that, "fastInfo", res.data.info.fastInfo);
  365. that.$set(that, "fastList", res.data.info.fastList);
  366. that.$set(that, "firstInfo", res.data.info.firstInfo);
  367. that.$set(that, "firstList", res.data.info.firstList);
  368. that.$set(that, "salesInfo", res.data.info.salesInfo);
  369. that.$set(that, "likeInfo", res.data.likeInfo);
  370. that.$set(that, "benefit", res.data.benefit);
  371. that.$set(that, "logoUrl", res.data.logoUrl);
  372. that.$set(that, "couponList", res.data.couponList);
  373. that.$set(that, "newGoodsBananr", res.data.newGoodsBananr);
  374. // #ifdef H5
  375. that.subscribe = res.data.subscribe;
  376. that.setOpenShare();
  377. // #endif
  378. // 小程序判断用户是否授权;
  379. // #ifdef MP
  380. uni.getSetting({
  381. success(res) {
  382. if (!res.authSetting['scope.userInfo']) {
  383. that.window = that.couponList.length ? true : false;
  384. } else {
  385. that.window = false;
  386. that.iShidden = true;
  387. }
  388. }
  389. });
  390. // #endif
  391. // #ifndef MP
  392. if (that.isLogin) {
  393. that.window = false;
  394. } else {
  395. that.window = that.couponList.length ? true : false;
  396. }
  397. // #endif
  398. })
  399. },
  400. onColse: function() {
  401. this.window = false
  402. },
  403. catchTouchMove: function(res) {
  404. return false
  405. },
  406. // 首发新品
  407. goDetail(item){
  408. goShopDetail(item,this.uid).then(res=>{
  409. uni.navigateTo({
  410. url:`/pages/goods_details/index?id=${item.id}`
  411. })
  412. })
  413. },
  414. // 微信分享;
  415. setOpenShare: function() {
  416. let that = this;
  417. if (that.$wechat.isWeixin()) {
  418. getShare().then(res => {
  419. let data = res.data.data;
  420. let configAppMessage = {
  421. desc: data.synopsis,
  422. title: data.title,
  423. link: location.href,
  424. imgUrl: data.img
  425. };
  426. that.$wechat.wechatEvevt(["updateAppMessageShareData", "updateTimelineShareData"], configAppMessage);
  427. })
  428. }
  429. },
  430. // #ifdef H5
  431. closeFollow() {
  432. this.followHid = false;
  433. },
  434. followTap() {
  435. this.followCode = true;
  436. this.followHid = false;
  437. },
  438. closeFollowCode() {
  439. this.followCode = false;
  440. this.followHid = true;
  441. },
  442. getFollow() {
  443. follow().then(res => {
  444. this.followUrl = res.data.path;
  445. })
  446. .catch(() => {});
  447. },
  448. // #endif
  449. }
  450. }
  451. </script>
  452. <style lang='scss'>
  453. page{background-color:#fff!important;}
  454. /* #ifdef MP */
  455. .navbar {
  456. position: fixed;
  457. background-color: #fff;
  458. top: 0;
  459. left: 0;
  460. z-index: 999;
  461. width: 100%;
  462. .navbarH {
  463. position: relative;
  464. .navbarCon {
  465. position: absolute;
  466. bottom: 0;
  467. width: 100%;
  468. height: 97rpx;
  469. .name {
  470. color: #000;
  471. font-size: 36rpx;
  472. font-weight: bold;
  473. width: 300rpx;
  474. text-align: center;
  475. &.on {
  476. color: #fff;
  477. }
  478. }
  479. .icon-xiangzuo {
  480. color: #000;
  481. position: absolute;
  482. font-size: 40rpx;
  483. left: 16rpx;
  484. width: 100rpx;
  485. height: 56rpx;
  486. line-height: 54rpx;
  487. top: 50%;
  488. transform: translateY(-50%);
  489. &.on {
  490. color: #fff;
  491. }
  492. }
  493. .logo {
  494. width: 127rpx;
  495. height: 45rpx;
  496. position: absolute;
  497. left: 30rpx;
  498. top: 50%;
  499. transform: translateY(-50%);
  500. image {
  501. width: 100%;
  502. height: 100%;
  503. display: block;
  504. }
  505. }
  506. .search {
  507. width: 360rpx;
  508. height: 64rpx;
  509. background-color: #f7f7f7;
  510. border-radius: 50rpx;
  511. padding: 0 28rpx;
  512. box-sizing: border-box;
  513. font-size: 28rpx;
  514. color: #bbb;
  515. margin-right: 26rpx;
  516. .icon-xiazai5 {
  517. font-size: 34rpx;
  518. margin-right: 16rpx;
  519. }
  520. }
  521. }
  522. }
  523. }
  524. /* #endif */
  525. /* #ifdef MP-WEIXIN */
  526. .index .indexTip {
  527. position: fixed;
  528. right: 42rpx;
  529. z-index: 9;
  530. .tip {
  531. width: 400rpx;
  532. border-radius: 6rpx;
  533. background-color: #fff;
  534. padding: 15rpx 22rpx;
  535. position: relative;
  536. &::before {
  537. content: "";
  538. width: 0;
  539. height: 0;
  540. border-left: 15rpx solid transparent;
  541. border-right: 15rpx solid transparent;
  542. border-bottom: 17rpx solid #fff;
  543. position: absolute;
  544. top: -14rpx;
  545. right: 95rpx;
  546. }
  547. }
  548. .text {
  549. font-size: 22rpx;
  550. color: #333;
  551. width: 320rpx;
  552. image {
  553. width: 30rpx;
  554. height: 16rpx;
  555. display: inline-block;
  556. }
  557. }
  558. .iconfont {
  559. color: #cdcdcd;
  560. font-size: 32rpx;
  561. }
  562. }
  563. /* #endif */
  564. page {
  565. background-color: #fff !important;
  566. }
  567. .index {
  568. /* #ifdef H5 */
  569. .follow {
  570. position: fixed;
  571. top: 0;
  572. left: 0;
  573. width: 100%;
  574. background-color: rgba(0, 0, 0, 0.36);
  575. height: 80rpx;
  576. font-size: 28rpx;
  577. color: #fff;
  578. padding: 0 30rpx;
  579. z-index: 100000;
  580. .bnt {
  581. width: 160rpx;
  582. height: 50rpx;
  583. background-color: #E93323;
  584. border-radius: 25rpx;
  585. font-size: 24rpx;
  586. text-align: center;
  587. line-height: 50rpx;
  588. }
  589. .iconfont {
  590. font-size: 30rpx;
  591. margin-left: 29rpx;
  592. }
  593. }
  594. .followCode {
  595. .pictrue {
  596. width: 500rpx;
  597. height: 720rpx;
  598. border-radius: 12px;
  599. left: 50%;
  600. top: 50%;
  601. margin-left: -250rpx;
  602. margin-top: -360rpx;
  603. position: fixed;
  604. z-index: 99;
  605. img {
  606. width: 100%;
  607. height: 100%;
  608. }
  609. }
  610. }
  611. /* #endif */
  612. /* #ifdef H5 || APP-PLUS-NVUE */
  613. .header {
  614. height: 98rpx;
  615. width: 100%;
  616. .logo {
  617. width: 127rpx;
  618. height: 45rpx;
  619. margin-right: 25rpx;
  620. image {
  621. width: 100%;
  622. height: 100%;
  623. display: block;
  624. }
  625. }
  626. .search {
  627. width: 500rpx;
  628. height: 64rpx;
  629. background-color: #f7f7f7;
  630. border-radius: 50rpx;
  631. padding: 0 28rpx;
  632. font-size: 28rpx;
  633. color: #bbb;
  634. box-sizing: border-box;
  635. .iconfont {
  636. font-size: 34rpx;
  637. margin-right: 16rpx;
  638. }
  639. }
  640. }
  641. /* #endif */
  642. .index-bg {
  643. width: 100%;
  644. height: 375rpx;
  645. position: relative;
  646. swiper {
  647. width: 100%;
  648. height: 100%;
  649. position: relative;
  650. }
  651. .slide-navigator {
  652. width: 100%;
  653. height: 100%;
  654. .slide-image {
  655. width: 100%;
  656. height: 100%;
  657. }
  658. }
  659. .uni-swiper-dot {
  660. width: 20rpx !important;
  661. height: 5rpx !important;
  662. border-radius: 3rpx;
  663. }
  664. .uni-swiper-dots {
  665. &.uni-swiper-dots-horizontal {
  666. margin-bottom: 5rpx;
  667. }
  668. }
  669. }
  670. .nav {
  671. padding-top: 26rpx;
  672. .item {
  673. width: 25%;
  674. text-align: center;
  675. font-size: 26rpx;
  676. margin-bottom: 35rpx;
  677. .pictrue {
  678. width: 90rpx;
  679. height: 90rpx;
  680. margin: 0 auto 15rpx auto;
  681. image {
  682. width: 100%;
  683. height: 100%;
  684. border-radius: 50%;
  685. }
  686. }
  687. }
  688. }
  689. .news {
  690. height: 77rpx;
  691. border-top: 1rpx solid #f4f4f4;
  692. padding: 0 30rpx;
  693. box-shadow: 0 10rpx 30rpx #f5f5f5;
  694. .pictrue {
  695. width: 124rpx;
  696. height: 28rpx;
  697. border-right: 1rpx solid #ddd;
  698. padding-right: 23rpx;
  699. box-sizing: content-box;
  700. image {
  701. width: 100%;
  702. height: 100%;
  703. }
  704. }
  705. .swiperTxt {
  706. width: 523rpx;
  707. height: 100%;
  708. line-height: 77rpx;
  709. overflow: hidden;
  710. .text {
  711. width: 480rpx;
  712. .label {
  713. font-size: 20rpx;
  714. color: #ff4c48;
  715. width: 64rpx;
  716. height: 30rpx;
  717. border-radius: 40rpx;
  718. text-align: center;
  719. line-height: 30rpx;
  720. border: 2rpx solid #ff4947;
  721. }
  722. .newsTitle {
  723. width: 397rpx;
  724. font-size: 24rpx;
  725. color: #666;
  726. }
  727. }
  728. .iconfont {
  729. font-size: 28rpx;
  730. color: #888;
  731. }
  732. swiper {
  733. height: 100%;
  734. }
  735. }
  736. }
  737. .specialArea {
  738. padding: 30rpx;
  739. .assemble {
  740. width: 260rpx;
  741. height: 260rpx;
  742. position: relative;
  743. image {
  744. width: 100%;
  745. height: 100%;
  746. border-radius: 5rpx;
  747. }
  748. .text {
  749. position: absolute;
  750. top: 37rpx;
  751. left: 22rpx;
  752. }
  753. }
  754. .name {
  755. font-size: 30rpx;
  756. color: #fff;
  757. }
  758. .infor {
  759. font-size: 22rpx;
  760. color: rgba(255, 255, 255, 0.8);
  761. margin-top: 5rpx;
  762. }
  763. .list {
  764. height: 260rpx;
  765. width: 416rpx;
  766. .item {
  767. width: 100%;
  768. height: 124rpx;
  769. position: relative;
  770. image {
  771. width: 100%;
  772. height: 100%;
  773. }
  774. .text {
  775. position: absolute;
  776. top: 23rpx;
  777. left: 28rpx;
  778. }
  779. }
  780. }
  781. }
  782. .wrapper {
  783. .title {
  784. border-top: 1rpx solid #eee;
  785. padding-top: 34rpx;
  786. margin: 0 30rpx;
  787. .text {
  788. font-size: 24rpx;
  789. color: #999;
  790. width: 530rpx;
  791. .name {
  792. color: #282828;
  793. font-size: 30rpx;
  794. font-weight: bold;
  795. margin-bottom: 5rpx;
  796. position: relative;
  797. .new {
  798. position: absolute;
  799. top: 2rpx;
  800. left: 130rpx;
  801. font-size: 16rpx;
  802. font-weight: bold;
  803. }
  804. }
  805. }
  806. .more {
  807. font-size: 26rpx;
  808. color: #333;
  809. .iconfont {
  810. margin-left: 9rpx;
  811. font-size: 26rpx;
  812. vertical-align: 3rpx;
  813. }
  814. }
  815. }
  816. .scroll-product {
  817. white-space: nowrap;
  818. margin-top: 38rpx;
  819. padding: 0 30rpx 37rpx 30rpx;
  820. .item {
  821. width: 180rpx;
  822. display: inline-block;
  823. margin-right: 19rpx;
  824. border-bottom: 4rpx solid #47b479;
  825. box-shadow: 0 40rpx 30rpx -10rpx #eee;
  826. &:nth-of-type(3n) {
  827. border-bottom: 4rpx solid #ff6960;
  828. }
  829. &:nth-of-type(3n-1) {
  830. border-bottom: 4rpx solid #579afe;
  831. }
  832. &:nth-last-child(1) {
  833. margin-right: 0;
  834. }
  835. .img-box {
  836. position: relative;
  837. width: 100%;
  838. height: 180rpx;
  839. image {
  840. width: 100%;
  841. height: 100%;
  842. border-radius: 6rpx 6rpx 0 0;
  843. }
  844. }
  845. .pro-info {
  846. font-size: 24rpx;
  847. color: #282828;
  848. text-align: center;
  849. height: 60rpx;
  850. line-height: 60rpx;
  851. border: 1rpx solid #f5f5f5;
  852. border-bottom: 0;
  853. border-top: 0;
  854. padding: 0 10rpx;
  855. }
  856. }
  857. }
  858. .boutique {
  859. width: 690rpx;
  860. height: 300rpx;
  861. margin: 28rpx auto 0 auto;
  862. swiper {
  863. width: 100%;
  864. height: 100%;
  865. position: relative;
  866. }
  867. image {
  868. width: 100%;
  869. height: 260rpx;
  870. }
  871. .uni-swiper-dot {
  872. width: 7rpx !important;
  873. height: 7rpx !important;
  874. border-radius: 50%;
  875. }
  876. .uni-swiper-dot-active {
  877. width: 20rpx !important;
  878. border-radius: 5rpx !important;
  879. }
  880. .nui-swiper-dots {
  881. &.uni-swiper-dots-horizontal {
  882. margin-bottom: -8rpx;
  883. }
  884. }
  885. }
  886. .newProducts {
  887. white-space: nowrap;
  888. padding: 0 30rpx;
  889. margin: 35rpx 0 42rpx 0;
  890. .item {
  891. display: inline-block;
  892. width: 240rpx;
  893. margin-right: 20rpx;
  894. border: 1rpx solid #eee;
  895. border-radius: 12rpx;
  896. &:nth-last-child(1) {
  897. margin-right: 0;
  898. }
  899. .img-box {
  900. position: relative;
  901. width: 100%;
  902. height: 240rpx;
  903. image {
  904. width: 100%;
  905. height: 100%;
  906. border-radius: 12rpx 12rpx 0 0;
  907. }
  908. }
  909. .pro-info {
  910. font-size: 28rpx;
  911. color: #333;
  912. text-align: center;
  913. padding: 19rpx 10rpx 0 10rpx;
  914. }
  915. .money {
  916. padding: 0 10rpx 18rpx 10rpx;
  917. text-align: center;
  918. font-size: 26rpx;
  919. font-weight: bold;
  920. }
  921. }
  922. }
  923. }
  924. .hotList {
  925. .hot-bg {
  926. width: 100%;
  927. height: 215rpx;
  928. background-image: url('data:image/png;base64,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');
  929. background-repeat: no-repeat;
  930. background-size: 100% 100%;
  931. padding: 0 30rpx;
  932. box-sizing: border-box;
  933. font-size: 24rpx;
  934. color: #fff;
  935. margin-top: 15rpx;
  936. .title {
  937. height: 87rpx;
  938. .text {
  939. width: 575rpx;
  940. .label {
  941. font-size: 30rpx;
  942. font-weight: bold;
  943. margin-right: 20rpx;
  944. }
  945. }
  946. .more {
  947. font-size: 26rpx;
  948. .iconfont {
  949. font-size: 25rpx;
  950. vertical-align: 2rpx;
  951. margin-left: 10rpx;
  952. }
  953. }
  954. }
  955. }
  956. .list {
  957. width: 690rpx;
  958. height: 330rpx;
  959. border-radius: 20rpx;
  960. background-color: #fff;
  961. margin: -128rpx auto 0 auto;
  962. padding: 0 22rpx;
  963. box-sizing: border-box;
  964. box-shadow: 0 0 30rpx -10rpx #aaa;
  965. .item {
  966. width: 200rpx;
  967. &~.item {
  968. margin-left: 22rpx;
  969. }
  970. .pictrue {
  971. width: 100%;
  972. height: 200rpx;
  973. position: relative;
  974. image {
  975. width: 100%;
  976. height: 100%;
  977. border-radius: 10rpx;
  978. }
  979. .numPic {
  980. width: 50rpx;
  981. height: 50rpx;
  982. border-radius: 50%;
  983. position: absolute;
  984. top: 7rpx;
  985. left: 7rpx;
  986. }
  987. }
  988. .name {
  989. font-size: 26rpx;
  990. color: #282828;
  991. margin-top: 12rpx;
  992. }
  993. .money {
  994. font-size: 20rpx;
  995. font-weight: bold;
  996. margin-top: 4rpx;
  997. .num {
  998. font-size: 28rpx;
  999. }
  1000. }
  1001. }
  1002. }
  1003. }
  1004. .adver {
  1005. width: 100%;
  1006. height: 180rpx;
  1007. margin-top: 37rpx;
  1008. image {
  1009. width: 100%;
  1010. height: 100%;
  1011. }
  1012. }
  1013. }
  1014. </style>