|
@ -2,8 +2,9 @@ |
|
|
<view class="container"> |
|
|
<view class="container"> |
|
|
<!-- 小程序头部兼容 --> |
|
|
<!-- 小程序头部兼容 --> |
|
|
<!-- #ifdef MP --> |
|
|
<!-- #ifdef MP --> |
|
|
<nav-bar>mallcloud商城</nav-bar> |
|
|
<nav-bar>汇融云链</nav-bar> |
|
|
<view class="MP-search" @click="search()" style=""><input class="MP-search-input" type="text" disabled="true" placeholder="输入关键字搜索" /></view> |
|
|
<view class="MP-search" @click="search()" style=""><input class="MP-search-input" type="text" disabled="true" |
|
|
|
|
|
placeholder="输入关键字搜索" /></view> |
|
|
<!-- #endif --> |
|
|
<!-- #endif --> |
|
|
|
|
|
|
|
|
<!-- 头部轮播 --> |
|
|
<!-- 头部轮播 --> |
|
@ -18,7 +19,8 @@ |
|
|
<!-- 背景色区域 --> |
|
|
<!-- 背景色区域 --> |
|
|
<view class="titleNview-background" :style="{ backgroundColor: titleNViewBackground }"></view> |
|
|
<view class="titleNview-background" :style="{ backgroundColor: titleNViewBackground }"></view> |
|
|
<swiper class="carousel" circular @change="swiperChange"> |
|
|
<swiper class="carousel" circular @change="swiperChange"> |
|
|
<swiper-item v-for="(item, index) in carouselList" :key="index" class="carousel-item" @click="navToTabPage(item.url)"> |
|
|
<swiper-item v-for="(item, index) in carouselList" :key="index" class="carousel-item" |
|
|
|
|
|
@click="navToTabPage(item.url)"> |
|
|
<image :src="item.pic" /> |
|
|
<image :src="item.pic" /> |
|
|
</swiper-item> |
|
|
</swiper-item> |
|
|
</swiper> |
|
|
</swiper> |
|
@ -32,54 +34,56 @@ |
|
|
<!-- 分类 --> |
|
|
<!-- 分类 --> |
|
|
<view class="cate-section"> |
|
|
<view class="cate-section"> |
|
|
<view class="cate-item" @click="navToTabPage('../../pagesA/product/groupActivityList')"> |
|
|
<view class="cate-item" @click="navToTabPage('../../pagesA/product/groupActivityList')"> |
|
|
<image src="/static/temp/c3.png"></image> |
|
|
<image src="/static/temp//antFill-gift.png"></image> |
|
|
<text>套餐商品</text> |
|
|
<text>惠农套餐</text> |
|
|
</view> |
|
|
</view> |
|
|
<view class="cate-item" @click="navToTabPage('../../pagesA/product/groupList')"> |
|
|
<view class="cate-item" @click="navToTabPage('../../pagesA/product/groupList')"> |
|
|
<image src="/static/temp/c5.png"></image> |
|
|
<image src="/static/temp/fasfausers.png"></image> |
|
|
<text>拼团活动</text> |
|
|
<text>拼团特价</text> |
|
|
</view> |
|
|
</view> |
|
|
<view class="cate-item" @click="navToTabPage('../../pagesA/product/giftList')"> |
|
|
<view class="cate-item" @click="navToTabPage('../../pagesA/product/giftList')"> |
|
|
<image src="/static/temp/c6.png"></image> |
|
|
<image src="/static/temp/fabfa-dropbox.png"></image> |
|
|
<text>积分商城</text> |
|
|
<text>税分兑换</text> |
|
|
</view> |
|
|
</view> |
|
|
<view class="cate-item" @click="navToTabPage('/pages/index/secskill')"> |
|
|
<view class="cate-item" @click="navToTabPage('/pages/index/secskill')"> |
|
|
<image src="/static/temp/c7.png"></image> |
|
|
<image src="/static/temp/fasfa-history.png"></image> |
|
|
<text>限时秒杀</text> |
|
|
<text>限时抢购</text> |
|
|
</view> |
|
|
</view> |
|
|
<view class="cate-item" @click="navToTabPage('../../pagesA/build/communityList')"> |
|
|
<view class="cate-item" @click="navToTabPage('../../pagesA/build/communityList')"> |
|
|
<image src="/static/temp/c8.png"></image> |
|
|
<image src="/static/temp/antFill-home.png"></image> |
|
|
<text>社区商城</text> |
|
|
<text>农村社区</text> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
<view class="cate-section"> |
|
|
<view class="cate-section"> |
|
|
<view class="cate-item" @click="navToTabPage('../../pagesA/product/list?isFenxiao=1')"> |
|
|
<view class="cate-item" @click="navToTabPage('../../pagesA/product/list?isFenxiao=1')"> |
|
|
<image src="/static/temp/c3.png"></image> |
|
|
<image src="/static/temp/fasfa-sitemap.png"></image> |
|
|
<text>分销商品</text> |
|
|
<text>分销商品</text> |
|
|
</view> |
|
|
</view> |
|
|
<view class="cate-item" @click="navToTabPage('../../pagesA/product/list?isVip=1')"> |
|
|
<view class="cate-item" @click="navToTabPage('../../pagesA/product/list?isVip=1')"> |
|
|
<image src="/static/temp/c5.png"></image> |
|
|
<image src="/static/temp/fasfa-archive.png"></image> |
|
|
<text>会员商品</text> |
|
|
<text>会员商品</text> |
|
|
</view> |
|
|
</view> |
|
|
<view class="cate-item" @click="navToTabPage('/pages/category/areaGoods')"> |
|
|
<view class="cate-item" @click="navToTabPage('/pages/category/areaGoods')"> |
|
|
<image src="/static/temp/c6.png"></image> |
|
|
<image src="/static/temp/fasfa-truck.png"></image> |
|
|
<text>区域商品</text> |
|
|
<text>区域商品</text> |
|
|
</view> |
|
|
</view> |
|
|
<view class="cate-item" @click="navToTabPage('../../pagesC/seller/index')"> |
|
|
|
|
|
<image src="/static/temp/c7.png"></image> |
|
|
|
|
|
<text>卖家中心</text> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="cate-item" @click="navToTabPage('../../pagesA/product/tag')"> |
|
|
<view class="cate-item" @click="navToTabPage('../../pagesA/product/tag')"> |
|
|
<image src="/static/temp/c8.png"></image> |
|
|
<image src="/static/temp/fasfa-shopping.png"></image> |
|
|
<text>精选标签</text> |
|
|
<text>精选标签</text> |
|
|
</view> |
|
|
</view> |
|
|
|
|
|
<view class="cate-item" @click="navToTabPage('../../pagesC/seller/index')"> |
|
|
|
|
|
<image src="/static/temp/fasfa-street.png"></image> |
|
|
|
|
|
<text>卖家中心</text> |
|
|
|
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
|
|
|
|
|
|
<!-- 秒杀楼层 https://s.click.taobao.com/Wds7c1w --> |
|
|
<!-- 秒杀楼层 https://s.click.taobao.com/Wds7c1w --> |
|
|
<view class="seckill-section m-t" v-if="homeFlashPromotion.flashSessionInfoList && homeFlashPromotion.flashSessionInfoList.length > 0"> |
|
|
<view class="seckill-section m-t" |
|
|
|
|
|
v-if="homeFlashPromotion.flashSessionInfoList && homeFlashPromotion.flashSessionInfoList.length > 0"> |
|
|
<view class="s-header"> |
|
|
<view class="s-header"> |
|
|
<view class="" style="width: 80%;display: flex;flex-direction: row;align-items: center;"> |
|
|
<view class="" style="width: 80%;display: flex;flex-direction: row;align-items: center;"> |
|
|
<image class="s-img" src="/static/temp/secskill-img.jpg" mode="widthFix" @click="navToDetailPageL('https://s.click.taobao.com/Wds7c1w')"></image> |
|
|
<image class="s-img" src="/static/temp/secskill-img.jpg" mode="widthFix" |
|
|
|
|
|
@click="navToDetailPageL('https://s.click.taobao.com/Wds7c1w')"></image> |
|
|
<text class="tip" style="margin-left: 20upx;">{{ homeFlashPromotion.flashName }}</text> |
|
|
<text class="tip" style="margin-left: 20upx;">{{ homeFlashPromotion.flashName }}</text> |
|
|
<view class="s-header" style="width:35%;margin-left: 20upx;"> |
|
|
<view class="s-header" style="width:35%;margin-left: 20upx;"> |
|
|
<text class="tip">{{ homeFlashPromotion.startTime || '18:00' }}</text> |
|
|
<text class="tip">{{ homeFlashPromotion.startTime || '18:00' }}</text> |
|
@ -89,10 +93,12 @@ |
|
|
</view> |
|
|
</view> |
|
|
<text class="yticon icon-you" @click="navToTabPage('/pages/index/secskill')"></text> |
|
|
<text class="yticon icon-you" @click="navToTabPage('/pages/index/secskill')"></text> |
|
|
</view> |
|
|
</view> |
|
|
<view v-if="item2.productList && item2.productList.length > 0" v-for="(item2, index2) in homeFlashPromotion.flashSessionInfoList" :key="index2"> |
|
|
<view v-if="item2.productList && item2.productList.length > 0" |
|
|
|
|
|
v-for="(item2, index2) in homeFlashPromotion.flashSessionInfoList" :key="index2"> |
|
|
<scroll-view class="floor-list" scroll-x> |
|
|
<scroll-view class="floor-list" scroll-x> |
|
|
<view class="scoll-wrapper"> |
|
|
<view class="scoll-wrapper"> |
|
|
<view v-for="(item, index) in item2.productList" :key="index" class="floor-item" @click="navToSkillDetailPage(item)"> |
|
|
<view v-for="(item, index) in item2.productList" :key="index" class="floor-item" |
|
|
|
|
|
@click="navToSkillDetailPage(item)"> |
|
|
<image :src="item.productImg" mode="aspectFill"></image> |
|
|
<image :src="item.productImg" mode="aspectFill"></image> |
|
|
<text class="title clamp">{{ item.productName }}</text> |
|
|
<text class="title clamp">{{ item.productName }}</text> |
|
|
<text class="price">¥{{ item.flashPromotionPrice }}</text> |
|
|
<text class="price">¥{{ item.flashPromotionPrice }}</text> |
|
@ -104,13 +110,14 @@ |
|
|
<view class="f-header m-t" @click="navToTabPage('../../pagesC/store/storeList')"> |
|
|
<view class="f-header m-t" @click="navToTabPage('../../pagesC/store/storeList')"> |
|
|
<image src="/static/temp/nav1.png"></image> |
|
|
<image src="/static/temp/nav1.png"></image> |
|
|
<view class="tit-box"> |
|
|
<view class="tit-box"> |
|
|
<text class="tit">精品店铺</text> |
|
|
<text class="tit">农店推荐</text> |
|
|
<text class="tit2">Guess You Like It</text> |
|
|
<text class="tit2">Guess You Like It</text> |
|
|
</view> |
|
|
</view> |
|
|
<text class="yticon icon-you"></text> |
|
|
<text class="yticon icon-you"></text> |
|
|
</view> |
|
|
</view> |
|
|
<view class="cate-section"> |
|
|
<view class="cate-section"> |
|
|
<view class="cate-item" @click="navToTabPageStore(item1.id)" v-for="(item1, index) in storeList" :key="index"> |
|
|
<view class="cate-item" @click="navToTabPageStore(item1.id)" v-for="(item1, index) in storeList" |
|
|
|
|
|
:key="index"> |
|
|
<image v-if="item1.logo" :src="item1.logo"></image> |
|
|
<image v-if="item1.logo" :src="item1.logo"></image> |
|
|
<image v-else src="/static/missing-face.png"></image> |
|
|
<image v-else src="/static/missing-face.png"></image> |
|
|
<text>{{ item1.name |formatLongText }}</text> |
|
|
<text>{{ item1.name |formatLongText }}</text> |
|
@ -121,7 +128,8 @@ |
|
|
<coupon v-for="(item, index) in couponList" :key="index" v-bind:item="item" theme="#ff0000"></coupon> |
|
|
<coupon v-for="(item, index) in couponList" :key="index" v-bind:item="item" theme="#ff0000"></coupon> |
|
|
|
|
|
|
|
|
<!-- 团购楼层 --> |
|
|
<!-- 团购楼层 --> |
|
|
<view class="f-header m-t" @click="navToTabPage('../../pagesA/product/groupList')" v-if="groupHotGoodsList.length > 0"> |
|
|
<view class="f-header m-t" @click="navToTabPage('../../pagesA/product/groupList')" |
|
|
|
|
|
v-if="groupHotGoodsList.length > 0"> |
|
|
<image src="/static/temp/h1.png"></image> |
|
|
<image src="/static/temp/h1.png"></image> |
|
|
<view class="tit-box"> |
|
|
<view class="tit-box"> |
|
|
<text class="tit">精品团购</text> |
|
|
<text class="tit">精品团购</text> |
|
@ -129,9 +137,10 @@ |
|
|
</view> |
|
|
</view> |
|
|
<text class="yticon icon-you"></text> |
|
|
<text class="yticon icon-you"></text> |
|
|
</view> |
|
|
</view> |
|
|
<view class="group-section"> |
|
|
<view class="group-section" v-if="groupHotGoodsList.length > 0"> |
|
|
<swiper class="g-swiper" :duration="500"> |
|
|
<swiper class="g-swiper" :duration="500"> |
|
|
<swiper-item class="g-swiper-item" v-for="(item, index) in groupHotGoodsList" :key="index" v-if="index % 2 === 0" @click="navToGroupDetailPage(item)"> |
|
|
<swiper-item class="g-swiper-item" v-for="(item, index) in groupHotGoodsList" :key="index" |
|
|
|
|
|
v-if="index % 2 === 0" @click="navToGroupDetailPage(item)"> |
|
|
<view class="g-item left"> |
|
|
<view class="g-item left"> |
|
|
<image :src="item.goods.pic" mode="aspectFill"></image> |
|
|
<image :src="item.goods.pic" mode="aspectFill"></image> |
|
|
<view class="t-box"> |
|
|
<view class="t-box"> |
|
@ -141,7 +150,8 @@ |
|
|
<text class="m-price">¥{{ item.goods.price }}</text> |
|
|
<text class="m-price">¥{{ item.goods.price }}</text> |
|
|
</view> |
|
|
</view> |
|
|
<view class="pro-box"> |
|
|
<view class="pro-box"> |
|
|
<view class="progress-box"><progress percent="72" activeColor="#fa436a" active stroke-width="6" /></view> |
|
|
<view class="progress-box"><progress percent="72" activeColor="#fa436a" active |
|
|
|
|
|
stroke-width="6" /></view> |
|
|
<text>{{ item.maxPeople }}人成团</text> |
|
|
<text>{{ item.maxPeople }}人成团</text> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
@ -160,10 +170,13 @@ |
|
|
<text class="yticon icon-you"></text> |
|
|
<text class="yticon icon-you"></text> |
|
|
</view> |
|
|
</view> |
|
|
<view class="hot-floor" v-if="item1.goodsList.length > 0" v-for="(item1, index) in cat_list" :key="index"> |
|
|
<view class="hot-floor" v-if="item1.goodsList.length > 0" v-for="(item1, index) in cat_list" :key="index"> |
|
|
<view class="floor-img-box"><image class="floor-img" :src="item1.pic" mode="scaleToFill"></image></view> |
|
|
<view class="floor-img-box"> |
|
|
|
|
|
<image class="floor-img" :src="item1.pic" mode="scaleToFill"></image> |
|
|
|
|
|
</view> |
|
|
<scroll-view class="floor-list" scroll-x> |
|
|
<scroll-view class="floor-list" scroll-x> |
|
|
<view class="scoll-wrapper"> |
|
|
<view class="scoll-wrapper"> |
|
|
<view v-for="(item, index) in item1.goodsList" :key="index" class="floor-item" @click="navToDetailPage(item)"> |
|
|
<view v-for="(item, index) in item1.goodsList" :key="index" class="floor-item" |
|
|
|
|
|
@click="navToDetailPage(item)"> |
|
|
<image :src="item.pic" mode="aspectFill"></image> |
|
|
<image :src="item.pic" mode="aspectFill"></image> |
|
|
<text class="title clamp">{{ item.name }}</text> |
|
|
<text class="title clamp">{{ item.name }}</text> |
|
|
<text class="price">¥{{ item.price }}</text> |
|
|
<text class="price">¥{{ item.price }}</text> |
|
@ -177,7 +190,8 @@ |
|
|
</view> |
|
|
</view> |
|
|
|
|
|
|
|
|
<!-- 新品推荐 --> |
|
|
<!-- 新品推荐 --> |
|
|
<view v-if='homeNewProductList && homeNewProductList.length>0' class="f-header m-t" @click="navToTabPage('../../pagesA/product/list')"> |
|
|
<view v-if='homeNewProductList && homeNewProductList.length>0' class="f-header m-t" |
|
|
|
|
|
@click="navToTabPage('../../pagesA/product/list')"> |
|
|
<image src="/static/temp/h1.png"></image> |
|
|
<image src="/static/temp/h1.png"></image> |
|
|
<view class="tit-box"> |
|
|
<view class="tit-box"> |
|
|
<text class="tit">新品推荐</text> |
|
|
<text class="tit">新品推荐</text> |
|
@ -187,8 +201,11 @@ |
|
|
</view> |
|
|
</view> |
|
|
|
|
|
|
|
|
<view class="guess-section"> |
|
|
<view class="guess-section"> |
|
|
<view v-for="(item, index) in homeNewProductList" :key="index" class="guess-item" @click="navToDetailPage1(item)"> |
|
|
<view v-for="(item, index) in homeNewProductList" :key="index" class="guess-item" |
|
|
<view class="image-wrapper"><image :src="item.pic" mode="aspectFill"></image></view> |
|
|
@click="navToDetailPage1(item)"> |
|
|
|
|
|
<view class="image-wrapper"> |
|
|
|
|
|
<image :src="item.pic" mode="aspectFill"></image> |
|
|
|
|
|
</view> |
|
|
<text class="title clamp">{{ item.productName }}</text> |
|
|
<text class="title clamp">{{ item.productName }}</text> |
|
|
<text class="price">¥{{ item.price }}</text> |
|
|
<text class="price">¥{{ item.price }}</text> |
|
|
|
|
|
|
|
@ -196,7 +213,8 @@ |
|
|
|
|
|
|
|
|
</view> |
|
|
</view> |
|
|
<!-- 人气推荐 --> |
|
|
<!-- 人气推荐 --> |
|
|
<view v-if='homeRecommendProductList && homeRecommendProductList.length>0' class="f-header m-t" @click="navToTabPage('../../pagesA/product/list')"> |
|
|
<view v-if='homeRecommendProductList && homeRecommendProductList.length>0' class="f-header m-t" |
|
|
|
|
|
@click="navToTabPage('../../pagesA/product/list')"> |
|
|
<image src="/static/temp/h1.png"></image> |
|
|
<image src="/static/temp/h1.png"></image> |
|
|
<view class="tit-box"> |
|
|
<view class="tit-box"> |
|
|
<text class="tit">人气推荐</text> |
|
|
<text class="tit">人气推荐</text> |
|
@ -206,8 +224,11 @@ |
|
|
</view> |
|
|
</view> |
|
|
|
|
|
|
|
|
<view class="guess-section"> |
|
|
<view class="guess-section"> |
|
|
<view v-for="(item, index) in homeRecommendProductList" :key="index" class="guess-item" @click="navToDetailPage1(item)"> |
|
|
<view v-for="(item, index) in homeRecommendProductList" :key="index" class="guess-item" |
|
|
<view class="image-wrapper"><image :src="item.pic" mode="aspectFill"></image></view> |
|
|
@click="navToDetailPage1(item)"> |
|
|
|
|
|
<view class="image-wrapper"> |
|
|
|
|
|
<image :src="item.pic" mode="aspectFill"></image> |
|
|
|
|
|
</view> |
|
|
<text class="title clamp">{{ item.name }}</text> |
|
|
<text class="title clamp">{{ item.name }}</text> |
|
|
<text class="price">¥{{ item.price }}</text> |
|
|
<text class="price">¥{{ item.price }}</text> |
|
|
|
|
|
|
|
@ -225,15 +246,18 @@ |
|
|
</view> |
|
|
</view> |
|
|
|
|
|
|
|
|
<view class="guess-section"> |
|
|
<view class="guess-section"> |
|
|
<view v-for="(item, index) in newProductList" :key="index" class="guess-item" @click="navToDetailPage(item)"> |
|
|
<view v-for="(item, index) in newProductList" :key="index" class="guess-item" |
|
|
<view class="image-wrapper"><image :src="item.pic" mode="aspectFill"></image></view> |
|
|
@click="navToDetailPage(item)"> |
|
|
|
|
|
<view class="image-wrapper"> |
|
|
|
|
|
<image :src="item.pic" mode="aspectFill"></image> |
|
|
|
|
|
</view> |
|
|
<text class="title clamp">{{ item.name }}</text> |
|
|
<text class="title clamp">{{ item.name }}</text> |
|
|
<text class="price">¥{{ item.price }}</text> |
|
|
<text class="price">¥{{ item.price }}</text> |
|
|
<text>【{{ item.storeName }}】</text> |
|
|
<text>【{{ item.storeName }}】</text> |
|
|
</view> |
|
|
</view> |
|
|
<uni-load-more :status="loadingType"></uni-load-more> |
|
|
<uni-load-more :status="loadingType"></uni-load-more> |
|
|
</view> |
|
|
</view> |
|
|
<mallplusCopyright></mallplusCopyright> |
|
|
<!-- <mallplusCopyright></mallplusCopyright> --> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</template> |
|
|
</template> |
|
@ -243,8 +267,12 @@ import mallplusCopyright from '@/components/mall-copyright/mallplusCopyright.vue |
|
|
import Api from '@/common/api'; |
|
|
import Api from '@/common/api'; |
|
|
import coupon from '@/components/coolc-coupon/coolc-coupon'; |
|
|
import coupon from '@/components/coolc-coupon/coolc-coupon'; |
|
|
|
|
|
|
|
|
import { formatDate } from '@/common/date'; |
|
|
import { |
|
|
import { mapState } from 'vuex'; |
|
|
formatDate |
|
|
|
|
|
} from '@/common/date'; |
|
|
|
|
|
import { |
|
|
|
|
|
mapState |
|
|
|
|
|
} from 'vuex'; |
|
|
import navBar from '@/components/zhouWei-navBar'; |
|
|
import navBar from '@/components/zhouWei-navBar'; |
|
|
import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue'; |
|
|
import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue'; |
|
|
export default { |
|
|
export default { |
|
@ -284,6 +312,7 @@ export default { |
|
|
this.getNewProductList(); |
|
|
this.getNewProductList(); |
|
|
}, |
|
|
}, |
|
|
onPullDownRefresh() { |
|
|
onPullDownRefresh() { |
|
|
|
|
|
console.log("onPullDownRefresh") |
|
|
this.pageNum = this.pageNum + 1; |
|
|
this.pageNum = this.pageNum + 1; |
|
|
this.getNewProductList('refresh'); |
|
|
this.getNewProductList('refresh'); |
|
|
|
|
|
|
|
@ -294,6 +323,7 @@ export default { |
|
|
}, |
|
|
}, |
|
|
onShareAppMessage() {}, |
|
|
onShareAppMessage() {}, |
|
|
onLoad(ops) { |
|
|
onLoad(ops) { |
|
|
|
|
|
|
|
|
let isWeiXin = this.$common.isWeiXinBrowser(); |
|
|
let isWeiXin = this.$common.isWeiXinBrowser(); |
|
|
this.getNewProductList('refresh'); |
|
|
this.getNewProductList('refresh'); |
|
|
if (ops.invitecode) { |
|
|
if (ops.invitecode) { |
|
@ -386,8 +416,7 @@ filters: { |
|
|
onBridgeReady(data) { |
|
|
onBridgeReady(data) { |
|
|
var _this = this; |
|
|
var _this = this; |
|
|
window.WeixinJSBridge.invoke( |
|
|
window.WeixinJSBridge.invoke( |
|
|
'getBrandWCPayRequest', |
|
|
'getBrandWCPayRequest', { |
|
|
{ |
|
|
|
|
|
appId: data.appid, // 公众号名称,由商户传入 |
|
|
appId: data.appid, // 公众号名称,由商户传入 |
|
|
timeStamp: data.timeStamp, // 时间戳,自1970年以来的秒数 |
|
|
timeStamp: data.timeStamp, // 时间戳,自1970年以来的秒数 |
|
|
nonceStr: data.nonceStr, // 随机串 |
|
|
nonceStr: data.nonceStr, // 随机串 |
|
@ -449,7 +478,9 @@ filters: { |
|
|
* 获取轮播图 |
|
|
* 获取轮播图 |
|
|
*/ |
|
|
*/ |
|
|
async getBanner() { |
|
|
async getBanner() { |
|
|
let params = { storeId: 0 }; |
|
|
let params = { |
|
|
|
|
|
storeId: 1 |
|
|
|
|
|
}; |
|
|
console.log(uni.getSystemInfoSync().platform); |
|
|
console.log(uni.getSystemInfoSync().platform); |
|
|
switch (uni.getSystemInfoSync().platform) { |
|
|
switch (uni.getSystemInfoSync().platform) { |
|
|
case 'android': |
|
|
case 'android': |
|
@ -463,7 +494,9 @@ filters: { |
|
|
break; |
|
|
break; |
|
|
} |
|
|
} |
|
|
let data = await Api.apiCall('get', Api.index.bannerList, params); |
|
|
let data = await Api.apiCall('get', Api.index.bannerList, params); |
|
|
|
|
|
console.log("1111111", data) |
|
|
if (data) { |
|
|
if (data) { |
|
|
|
|
|
console.log("122》》》》》》》》》》》》》》》》》》》》", data) |
|
|
this.carouselList = data || []; |
|
|
this.carouselList = data || []; |
|
|
this.swiperLength = this.carouselList.length; |
|
|
this.swiperLength = this.carouselList.length; |
|
|
this.titleNViewBackground = 'rgb(203, 87, 60)'; |
|
|
this.titleNViewBackground = 'rgb(203, 87, 60)'; |
|
@ -473,9 +506,13 @@ filters: { |
|
|
* 获取轮播图 |
|
|
* 获取轮播图 |
|
|
*/ |
|
|
*/ |
|
|
async getCouponList() { |
|
|
async getCouponList() { |
|
|
let params = { pageSize: 3 }; |
|
|
let params = { |
|
|
|
|
|
pageSize: 3 |
|
|
|
|
|
}; |
|
|
let data = await Api.apiCall('get', Api.index.selectNotRecive, params); |
|
|
let data = await Api.apiCall('get', Api.index.selectNotRecive, params); |
|
|
if (data) { |
|
|
if (data) { |
|
|
|
|
|
console.log("优惠券") |
|
|
|
|
|
console.log("优惠券",data) |
|
|
this.couponList = data || []; |
|
|
this.couponList = data || []; |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
@ -492,7 +529,9 @@ filters: { |
|
|
} else { |
|
|
} else { |
|
|
this.loadingType = 'more'; |
|
|
this.loadingType = 'more'; |
|
|
} |
|
|
} |
|
|
let params = { pageNum: this.pageNum }; |
|
|
let params = { |
|
|
|
|
|
pageNum: this.pageNum |
|
|
|
|
|
}; |
|
|
let list = await Api.apiCall('get', Api.goods.goodsList, params); |
|
|
let list = await Api.apiCall('get', Api.goods.goodsList, params); |
|
|
|
|
|
|
|
|
let goodsList = list.records; |
|
|
let goodsList = list.records; |
|
@ -517,7 +556,11 @@ filters: { |
|
|
* 获取团购信息 |
|
|
* 获取团购信息 |
|
|
*/ |
|
|
*/ |
|
|
async getStoreList() { |
|
|
async getStoreList() { |
|
|
let params = { pageSize: 5, isBoutique: 1,sort:2 }; |
|
|
let params = { |
|
|
|
|
|
pageSize: 5, |
|
|
|
|
|
isBoutique: 1, |
|
|
|
|
|
sort: 2 |
|
|
|
|
|
}; |
|
|
let groupHotGoodsList = await Api.apiCall('get', Api.member.storeList, params); |
|
|
let groupHotGoodsList = await Api.apiCall('get', Api.member.storeList, params); |
|
|
this.storeList = groupHotGoodsList.records; |
|
|
this.storeList = groupHotGoodsList.records; |
|
|
}, |
|
|
}, |
|
@ -567,8 +610,9 @@ filters: { |
|
|
let groupHotGoodsList = await Api.apiCall('get', Api.goods.groupHotGoodsList, params); |
|
|
let groupHotGoodsList = await Api.apiCall('get', Api.goods.groupHotGoodsList, params); |
|
|
this.groupHotGoodsList = groupHotGoodsList; |
|
|
this.groupHotGoodsList = groupHotGoodsList; |
|
|
this.logining = false; |
|
|
this.logining = false; |
|
|
|
|
|
console.log("22222", data) |
|
|
if (data) { |
|
|
if (data) { |
|
|
|
|
|
console.log("》》》》》》》》》》》》》》》》》》》》", data) |
|
|
this.carouselList = data.advertiseList || []; |
|
|
this.carouselList = data.advertiseList || []; |
|
|
this.swiperLength = this.carouselList.length; |
|
|
this.swiperLength = this.carouselList.length; |
|
|
this.titleNViewBackground = 'rgb(203, 87, 60)'; |
|
|
this.titleNViewBackground = 'rgb(203, 87, 60)'; |
|
@ -665,7 +709,9 @@ filters: { |
|
|
title: '请稍后' |
|
|
title: '请稍后' |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
let params = { couponId: item.id }; |
|
|
let params = { |
|
|
|
|
|
couponId: item.id |
|
|
|
|
|
}; |
|
|
let data = await Api.apiCall('post', Api.index.acceptCoupon, params); |
|
|
let data = await Api.apiCall('post', Api.index.acceptCoupon, params); |
|
|
console.log(data); |
|
|
console.log(data); |
|
|
if (data) { |
|
|
if (data) { |
|
@ -741,6 +787,7 @@ filters: { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
z-index: 999; |
|
|
z-index: 999; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.MP-search-input { |
|
|
.MP-search-input { |
|
|
font-size: 28upx; |
|
|
font-size: 28upx; |
|
|
background: #f5f5f5; |
|
|
background: #f5f5f5; |
|
@ -749,6 +796,7 @@ filters: { |
|
|
border-radius: 50upx; |
|
|
border-radius: 50upx; |
|
|
text-align: center; |
|
|
text-align: center; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.mp-search-box { |
|
|
.mp-search-box { |
|
|
position: absolute; |
|
|
position: absolute; |
|
|
left: 0; |
|
|
left: 0; |
|
@ -756,6 +804,7 @@ filters: { |
|
|
z-index: 9999; |
|
|
z-index: 9999; |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
padding: 0 80upx; |
|
|
padding: 0 80upx; |
|
|
|
|
|
|
|
|
.ser-input { |
|
|
.ser-input { |
|
|
flex: 1; |
|
|
flex: 1; |
|
|
height: 60upx; |
|
|
height: 60upx; |
|
@ -767,6 +816,7 @@ filters: { |
|
|
background: rgba(255, 255, 255, 0.6); |
|
|
background: rgba(255, 255, 255, 0.6); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
page { |
|
|
page { |
|
|
.cate-section { |
|
|
.cate-section { |
|
|
position: relative; |
|
|
position: relative; |
|
@ -774,17 +824,21 @@ page { |
|
|
border-radius: 16upx 16upx 0 0; |
|
|
border-radius: 16upx 16upx 0 0; |
|
|
margin-top: -20upx; |
|
|
margin-top: -20upx; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.carousel-section { |
|
|
.carousel-section { |
|
|
padding: 0; |
|
|
padding: 0; |
|
|
|
|
|
|
|
|
.titleNview-placing { |
|
|
.titleNview-placing { |
|
|
padding-top: 0; |
|
|
padding-top: 0; |
|
|
height: 0; |
|
|
height: 0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.carousel { |
|
|
.carousel { |
|
|
.carousel-item { |
|
|
.carousel-item { |
|
|
padding: 0; |
|
|
padding: 0; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.swiper-dots { |
|
|
.swiper-dots { |
|
|
left: 45upx; |
|
|
left: 45upx; |
|
|
bottom: 40upx; |
|
|
bottom: 40upx; |
|
@ -795,9 +849,11 @@ page { |
|
|
page { |
|
|
page { |
|
|
background: #f5f5f5; |
|
|
background: #f5f5f5; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.m-t { |
|
|
.m-t { |
|
|
margin-top: 20upx; |
|
|
margin-top: 20upx; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 头部 轮播图 */ |
|
|
/* 头部 轮播图 */ |
|
|
.carousel-section { |
|
|
.carousel-section { |
|
|
position: relative; |
|
|
position: relative; |
|
@ -818,6 +874,7 @@ page { |
|
|
transition: 0.4s; |
|
|
transition: 0.4s; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.carousel { |
|
|
.carousel { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
height: 350upx; |
|
|
height: 350upx; |
|
@ -835,6 +892,7 @@ page { |
|
|
border-radius: 10upx; |
|
|
border-radius: 10upx; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.swiper-dots { |
|
|
.swiper-dots { |
|
|
display: flex; |
|
|
display: flex; |
|
|
position: absolute; |
|
|
position: absolute; |
|
@ -865,6 +923,7 @@ page { |
|
|
transform: translateX(-50%); |
|
|
transform: translateX(-50%); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 分类 */ |
|
|
/* 分类 */ |
|
|
.cate-section { |
|
|
.cate-section { |
|
|
display: flex; |
|
|
display: flex; |
|
@ -873,6 +932,7 @@ page { |
|
|
flex-wrap: wrap; |
|
|
flex-wrap: wrap; |
|
|
padding: 30upx 22upx; |
|
|
padding: 30upx 22upx; |
|
|
background: #fff; |
|
|
background: #fff; |
|
|
|
|
|
|
|
|
.cate-item { |
|
|
.cate-item { |
|
|
display: flex; |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
flex-direction: column; |
|
@ -880,6 +940,7 @@ page { |
|
|
font-size: $font-sm + 2upx; |
|
|
font-size: $font-sm + 2upx; |
|
|
color: $font-color-dark; |
|
|
color: $font-color-dark; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 原图标颜色太深,不想改图了,所以加了透明度 */ |
|
|
/* 原图标颜色太深,不想改图了,所以加了透明度 */ |
|
|
image { |
|
|
image { |
|
|
width: 88upx; |
|
|
width: 88upx; |
|
@ -890,34 +951,41 @@ page { |
|
|
box-shadow: 4upx 4upx 20upx rgba(250, 67, 106, 0.3); |
|
|
box-shadow: 4upx 4upx 20upx rgba(250, 67, 106, 0.3); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.ad-1 { |
|
|
.ad-1 { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
height: 210upx; |
|
|
height: 210upx; |
|
|
padding: 10upx 0; |
|
|
padding: 10upx 0; |
|
|
background: #fff; |
|
|
background: #fff; |
|
|
|
|
|
|
|
|
image { |
|
|
image { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
height: 100%; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 秒杀专区 */ |
|
|
/* 秒杀专区 */ |
|
|
.seckill-section { |
|
|
.seckill-section { |
|
|
padding: 0upx 20upx 20upx; |
|
|
padding: 0upx 20upx 20upx; |
|
|
background: #fff; |
|
|
background: #fff; |
|
|
|
|
|
|
|
|
.s-header { |
|
|
.s-header { |
|
|
display: flex; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
align-items: center; |
|
|
height: 90upx; |
|
|
height: 90upx; |
|
|
line-height: 1; |
|
|
line-height: 1; |
|
|
|
|
|
|
|
|
.s-img { |
|
|
.s-img { |
|
|
width: 140upx; |
|
|
width: 140upx; |
|
|
height: 30upx; |
|
|
height: 30upx; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.tip { |
|
|
.tip { |
|
|
font-size: $font-base; |
|
|
font-size: $font-base; |
|
|
color: $font-color-light; |
|
|
color: $font-color-light; |
|
|
// margin: 0 20upx 0 40upx; |
|
|
// margin: 0 20upx 0 40upx; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.timer { |
|
|
.timer { |
|
|
display: inline-block; |
|
|
display: inline-block; |
|
|
width: 40upx; |
|
|
width: 40upx; |
|
@ -930,6 +998,7 @@ page { |
|
|
border-radius: 2px; |
|
|
border-radius: 2px; |
|
|
background: rgba(0, 0, 0, 0.8); |
|
|
background: rgba(0, 0, 0, 0.8); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.icon-you { |
|
|
.icon-you { |
|
|
font-size: $font-lg; |
|
|
font-size: $font-lg; |
|
|
color: $font-color-light; |
|
|
color: $font-color-light; |
|
@ -937,24 +1006,29 @@ page { |
|
|
text-align: right; |
|
|
text-align: right; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.floor-list { |
|
|
.floor-list { |
|
|
white-space: nowrap; |
|
|
white-space: nowrap; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.scoll-wrapper { |
|
|
.scoll-wrapper { |
|
|
display: flex; |
|
|
display: flex; |
|
|
align-items: flex-start; |
|
|
align-items: flex-start; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.floor-item { |
|
|
.floor-item { |
|
|
width: 150upx; |
|
|
width: 150upx; |
|
|
margin-right: 20upx; |
|
|
margin-right: 20upx; |
|
|
font-size: $font-sm + 2upx; |
|
|
font-size: $font-sm + 2upx; |
|
|
color: $font-color-dark; |
|
|
color: $font-color-dark; |
|
|
line-height: 1.8; |
|
|
line-height: 1.8; |
|
|
|
|
|
|
|
|
image { |
|
|
image { |
|
|
width: 150upx; |
|
|
width: 150upx; |
|
|
height: 150upx; |
|
|
height: 150upx; |
|
|
border-radius: 6upx; |
|
|
border-radius: 6upx; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.price { |
|
|
.price { |
|
|
color: $uni-color-primary; |
|
|
color: $uni-color-primary; |
|
|
} |
|
|
} |
|
@ -967,82 +1041,100 @@ page { |
|
|
height: 140upx; |
|
|
height: 140upx; |
|
|
padding: 0upx 20upx; |
|
|
padding: 0upx 20upx; |
|
|
background: #fff; |
|
|
background: #fff; |
|
|
|
|
|
|
|
|
image { |
|
|
image { |
|
|
flex-shrink: 0; |
|
|
flex-shrink: 0; |
|
|
width: 80upx; |
|
|
width: 80upx; |
|
|
height: 80upx; |
|
|
height: 80upx; |
|
|
margin-right: 20upx; |
|
|
margin-right: 20upx; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.tit-box { |
|
|
.tit-box { |
|
|
flex: 1; |
|
|
flex: 1; |
|
|
display: flex; |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
flex-direction: column; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.tit { |
|
|
.tit { |
|
|
font-size: $font-lg + 2upx; |
|
|
font-size: $font-lg + 2upx; |
|
|
color: #font-color-dark; |
|
|
color: #font-color-dark; |
|
|
line-height: 1.3; |
|
|
line-height: 1.3; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.tit2 { |
|
|
.tit2 { |
|
|
font-size: $font-sm; |
|
|
font-size: $font-sm; |
|
|
color: $font-color-light; |
|
|
color: $font-color-light; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.icon-you { |
|
|
.icon-you { |
|
|
font-size: $font-lg + 2upx; |
|
|
font-size: $font-lg + 2upx; |
|
|
color: $font-color-light; |
|
|
color: $font-color-light; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 团购楼层 */ |
|
|
/* 团购楼层 */ |
|
|
.group-section { |
|
|
.group-section { |
|
|
background: #fff; |
|
|
background: #fff; |
|
|
|
|
|
|
|
|
.g-swiper { |
|
|
.g-swiper { |
|
|
height: 650upx; |
|
|
height: 650upx; |
|
|
padding-bottom: 20upx; |
|
|
padding-bottom: 20upx; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.g-swiper-item { |
|
|
.g-swiper-item { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
padding: 0 20upx; |
|
|
padding: 0 20upx; |
|
|
display: flex; |
|
|
display: flex; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
image { |
|
|
image { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
height: 460upx; |
|
|
height: 460upx; |
|
|
border-radius: 4px; |
|
|
border-radius: 4px; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.g-item { |
|
|
.g-item { |
|
|
display: flex; |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
flex-direction: column; |
|
|
overflow: hidden; |
|
|
overflow: hidden; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.left { |
|
|
.left { |
|
|
flex: 1.2; |
|
|
flex: 1.2; |
|
|
|
|
|
|
|
|
// margin-right: 24upx; |
|
|
// margin-right: 24upx; |
|
|
.t-box { |
|
|
.t-box { |
|
|
padding-top: 20upx; |
|
|
padding-top: 20upx; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.right { |
|
|
.right { |
|
|
flex: 0.8; |
|
|
flex: 0.8; |
|
|
flex-direction: column-reverse; |
|
|
flex-direction: column-reverse; |
|
|
|
|
|
|
|
|
.t-box { |
|
|
.t-box { |
|
|
padding-bottom: 20upx; |
|
|
padding-bottom: 20upx; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.t-box { |
|
|
.t-box { |
|
|
height: 160upx; |
|
|
height: 160upx; |
|
|
font-size: $font-base + 2upx; |
|
|
font-size: $font-base + 2upx; |
|
|
color: $font-color-dark; |
|
|
color: $font-color-dark; |
|
|
line-height: 1.6; |
|
|
line-height: 1.6; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.price { |
|
|
.price { |
|
|
color: $uni-color-primary; |
|
|
color: $uni-color-primary; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.m-price { |
|
|
.m-price { |
|
|
font-size: $font-sm + 2upx; |
|
|
font-size: $font-sm + 2upx; |
|
|
text-decoration: line-through; |
|
|
text-decoration: line-through; |
|
|
color: $font-color-light; |
|
|
color: $font-color-light; |
|
|
margin-left: 8upx; |
|
|
margin-left: 8upx; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.pro-box { |
|
|
.pro-box { |
|
|
display: flex; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
align-items: center; |
|
@ -1051,6 +1143,7 @@ page { |
|
|
color: $font-base; |
|
|
color: $font-base; |
|
|
padding-right: 10upx; |
|
|
padding-right: 10upx; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.progress-box { |
|
|
.progress-box { |
|
|
flex: 1; |
|
|
flex: 1; |
|
|
border-radius: 10px; |
|
|
border-radius: 10px; |
|
@ -1058,15 +1151,18 @@ page { |
|
|
margin-right: 8upx; |
|
|
margin-right: 8upx; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 分类推荐楼层 */ |
|
|
/* 分类推荐楼层 */ |
|
|
.hot-floor { |
|
|
.hot-floor { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
overflow: hidden; |
|
|
overflow: hidden; |
|
|
margin-bottom: 20upx; |
|
|
margin-bottom: 20upx; |
|
|
|
|
|
|
|
|
.floor-img-box { |
|
|
.floor-img-box { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
height: 320upx; |
|
|
height: 320upx; |
|
|
position: relative; |
|
|
position: relative; |
|
|
|
|
|
|
|
|
&:after { |
|
|
&:after { |
|
|
content: ''; |
|
|
content: ''; |
|
|
position: absolute; |
|
|
position: absolute; |
|
@ -1077,10 +1173,12 @@ page { |
|
|
background: linear-gradient(rgba(255, 255, 255, 0.06) 30%, #f8f8f8); |
|
|
background: linear-gradient(rgba(255, 255, 255, 0.06) 30%, #f8f8f8); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.floor-img { |
|
|
.floor-img { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
height: 100%; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.floor-list { |
|
|
.floor-list { |
|
|
white-space: nowrap; |
|
|
white-space: nowrap; |
|
|
padding: 20upx; |
|
|
padding: 20upx; |
|
@ -1093,25 +1191,30 @@ page { |
|
|
position: relative; |
|
|
position: relative; |
|
|
z-index: 1; |
|
|
z-index: 1; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.scoll-wrapper { |
|
|
.scoll-wrapper { |
|
|
display: flex; |
|
|
display: flex; |
|
|
align-items: flex-start; |
|
|
align-items: flex-start; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.floor-item { |
|
|
.floor-item { |
|
|
width: 180upx; |
|
|
width: 180upx; |
|
|
margin-right: 20upx; |
|
|
margin-right: 20upx; |
|
|
font-size: $font-sm + 2upx; |
|
|
font-size: $font-sm + 2upx; |
|
|
color: $font-color-dark; |
|
|
color: $font-color-dark; |
|
|
line-height: 1.8; |
|
|
line-height: 1.8; |
|
|
|
|
|
|
|
|
image { |
|
|
image { |
|
|
width: 180upx; |
|
|
width: 180upx; |
|
|
height: 180upx; |
|
|
height: 180upx; |
|
|
border-radius: 6upx; |
|
|
border-radius: 6upx; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.price { |
|
|
.price { |
|
|
color: $uni-color-primary; |
|
|
color: $uni-color-primary; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.more { |
|
|
.more { |
|
|
display: flex; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
align-items: center; |
|
@ -1124,39 +1227,47 @@ page { |
|
|
background: #f3f3f3; |
|
|
background: #f3f3f3; |
|
|
font-size: $font-base; |
|
|
font-size: $font-base; |
|
|
color: $font-color-light; |
|
|
color: $font-color-light; |
|
|
|
|
|
|
|
|
text:first-child { |
|
|
text:first-child { |
|
|
margin-bottom: 4upx; |
|
|
margin-bottom: 4upx; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 单条商品 */ |
|
|
/* 单条商品 */ |
|
|
.goods-box-single { |
|
|
.goods-box-single { |
|
|
display: flex; |
|
|
display: flex; |
|
|
padding: 20upx 0; |
|
|
padding: 20upx 0; |
|
|
|
|
|
|
|
|
.goods-img { |
|
|
.goods-img { |
|
|
display: block; |
|
|
display: block; |
|
|
width: 120upx; |
|
|
width: 120upx; |
|
|
height: 120upx; |
|
|
height: 120upx; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.right { |
|
|
.right { |
|
|
flex: 1; |
|
|
flex: 1; |
|
|
display: flex; |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
flex-direction: column; |
|
|
padding: 0 30upx 0 24upx; |
|
|
padding: 0 30upx 0 24upx; |
|
|
overflow: hidden; |
|
|
overflow: hidden; |
|
|
|
|
|
|
|
|
.title { |
|
|
.title { |
|
|
font-size: $font-base + 2upx; |
|
|
font-size: $font-base + 2upx; |
|
|
color: $font-color-dark; |
|
|
color: $font-color-dark; |
|
|
line-height: 1; |
|
|
line-height: 1; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.attr-box { |
|
|
.attr-box { |
|
|
font-size: $font-sm + 2upx; |
|
|
font-size: $font-sm + 2upx; |
|
|
color: $font-color-light; |
|
|
color: $font-color-light; |
|
|
padding: 10upx 12upx; |
|
|
padding: 10upx 12upx; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.price { |
|
|
.price { |
|
|
font-size: $font-base + 2upx; |
|
|
font-size: $font-base + 2upx; |
|
|
color: $font-color-dark; |
|
|
color: $font-color-dark; |
|
|
|
|
|
|
|
|
&:before { |
|
|
&:before { |
|
|
content: '¥'; |
|
|
content: '¥'; |
|
|
font-size: $font-sm; |
|
|
font-size: $font-sm; |
|
@ -1173,13 +1284,16 @@ page { |
|
|
padding: 20upx 30upx; |
|
|
padding: 20upx 30upx; |
|
|
font-size: $font-sm + 2upx; |
|
|
font-size: $font-sm + 2upx; |
|
|
color: $font-color-light; |
|
|
color: $font-color-light; |
|
|
|
|
|
|
|
|
.num { |
|
|
.num { |
|
|
margin: 0 8upx; |
|
|
margin: 0 8upx; |
|
|
color: $font-color-dark; |
|
|
color: $font-color-dark; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.price { |
|
|
.price { |
|
|
font-size: $font-lg; |
|
|
font-size: $font-lg; |
|
|
color: $font-color-dark; |
|
|
color: $font-color-dark; |
|
|
|
|
|
|
|
|
&:before { |
|
|
&:before { |
|
|
content: '¥'; |
|
|
content: '¥'; |
|
|
font-size: $font-sm; |
|
|
font-size: $font-sm; |
|
@ -1187,6 +1301,7 @@ page { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.action-box { |
|
|
.action-box { |
|
|
display: flex; |
|
|
display: flex; |
|
|
justify-content: flex-end; |
|
|
justify-content: flex-end; |
|
@ -1195,6 +1310,7 @@ page { |
|
|
position: relative; |
|
|
position: relative; |
|
|
padding-right: 30upx; |
|
|
padding-right: 30upx; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.action-btn { |
|
|
.action-btn { |
|
|
width: 160upx; |
|
|
width: 160upx; |
|
|
height: 60upx; |
|
|
height: 60upx; |
|
@ -1207,12 +1323,15 @@ page { |
|
|
color: $font-color-dark; |
|
|
color: $font-color-dark; |
|
|
background: #fff; |
|
|
background: #fff; |
|
|
border-radius: 100px; |
|
|
border-radius: 100px; |
|
|
|
|
|
|
|
|
&:after { |
|
|
&:after { |
|
|
border-radius: 100px; |
|
|
border-radius: 100px; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
&.recom { |
|
|
&.recom { |
|
|
background: #fff9f9; |
|
|
background: #fff9f9; |
|
|
color: $base-color; |
|
|
color: $base-color; |
|
|
|
|
|
|
|
|
&:after { |
|
|
&:after { |
|
|
border-color: #f7bcc8; |
|
|
border-color: #f7bcc8; |
|
|
} |
|
|
} |
|
@ -1225,36 +1344,43 @@ page { |
|
|
flex-wrap: wrap; |
|
|
flex-wrap: wrap; |
|
|
padding: 0 30upx; |
|
|
padding: 0 30upx; |
|
|
background: #fff; |
|
|
background: #fff; |
|
|
|
|
|
|
|
|
.guess-item { |
|
|
.guess-item { |
|
|
display: flex; |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
flex-direction: column; |
|
|
width: 48%; |
|
|
width: 48%; |
|
|
padding-bottom: 40upx; |
|
|
padding-bottom: 40upx; |
|
|
|
|
|
|
|
|
&:nth-child(2n + 1) { |
|
|
&:nth-child(2n + 1) { |
|
|
margin-right: 4%; |
|
|
margin-right: 4%; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.image-wrapper { |
|
|
.image-wrapper { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
height: 330upx; |
|
|
height: 330upx; |
|
|
border-radius: 3px; |
|
|
border-radius: 3px; |
|
|
overflow: hidden; |
|
|
overflow: hidden; |
|
|
|
|
|
|
|
|
image { |
|
|
image { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
height: 100%; |
|
|
opacity: 1; |
|
|
opacity: 1; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.title { |
|
|
.title { |
|
|
font-size: $font-lg; |
|
|
font-size: $font-lg; |
|
|
color: $font-color-dark; |
|
|
color: $font-color-dark; |
|
|
line-height: 80upx; |
|
|
line-height: 80upx; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.price { |
|
|
.price { |
|
|
font-size: $font-lg; |
|
|
font-size: $font-lg; |
|
|
color: $uni-color-primary; |
|
|
color: $uni-color-primary; |
|
|
line-height: 1; |
|
|
line-height: 1; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.coupon_box { |
|
|
.coupon_box { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
height: auto; |
|
|
height: auto; |
|
@ -1274,6 +1400,7 @@ page { |
|
|
text-align: center; |
|
|
text-align: center; |
|
|
position: relative; |
|
|
position: relative; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.text span { |
|
|
.text span { |
|
|
width: 180upx; |
|
|
width: 180upx; |
|
|
height: 40upx; |
|
|
height: 40upx; |
|
@ -1290,6 +1417,7 @@ page { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.getPosition { |
|
|
.getPosition { |
|
|
height: 100upx; |
|
|
height: 100upx; |
|
|
display: flex; |
|
|
display: flex; |
|
|