|
@@ -1,40 +1,36 @@
|
|
|
<template>
|
|
|
<!-- 首页 -->
|
|
|
<view v-if="pageShow" class="page"
|
|
|
- :class="bgTabVal==2?'fullsize noRepeat':bgTabVal==1?'repeat ysize':'noRepeat ysize'"
|
|
|
- :style="[pageStyle]">
|
|
|
+ :class="bgTabVal==2?'fullsize noRepeat':bgTabVal==1?'repeat ysize':'noRepeat ysize'" :style="[pageStyle]">
|
|
|
<view v-if="!errorNetwork" :style="colorStyle">
|
|
|
<!-- 轮播搜索 -->
|
|
|
- <homeComb v-if="showHomeComb" :dataConfig="homeCombData" @bindSortId="bindSortId":isScrolled="isScrolled"></homeComb>
|
|
|
+ <homeComb v-if="showHomeComb" :dataConfig="homeCombData" @bindSortId="bindSortId" :isScrolled="isScrolled">
|
|
|
+ </homeComb>
|
|
|
<!-- 顶部搜索框 -->
|
|
|
<headerSerch v-if="isHeaderSerch" :dataConfig="headerSerchCombData"></headerSerch>
|
|
|
- <tabNav v-if="showCateNav" :dataConfig="cateNavData" @bindHeight="bindHeighta"
|
|
|
- @bindSortId="bindSortId" :isFixed="isFixed && !cateNavData.stickyConfig.tabVal"></tabNav>
|
|
|
+ <tabNav v-if="showCateNav" :dataConfig="cateNavData" @bindHeight="bindHeighta" @bindSortId="bindSortId"
|
|
|
+ :isFixed="isFixed && !cateNavData.stickyConfig.tabVal"></tabNav>
|
|
|
<view class="index">
|
|
|
<!-- 自定义样式 -->
|
|
|
<block v-for="(item, index) in styleConfig" :key="index">
|
|
|
<shortVideo v-if="item.name == 'shortVideo'" :dataConfig="item">
|
|
|
</shortVideo>
|
|
|
- <userInfor v-if="item.name == 'userInfor'" :dataConfig="item"
|
|
|
- @changeLogin="changeLogin">
|
|
|
+ <userInfor v-if="item.name == 'userInfor'" :dataConfig="item" @changeLogin="changeLogin">
|
|
|
</userInfor>
|
|
|
<newVip v-if="item.name == 'newVip'" :dataConfig="item"></newVip>
|
|
|
<!-- 文章列表 -->
|
|
|
<articleList v-if="item.name == 'articleList'" :dataConfig="item">
|
|
|
</articleList>
|
|
|
- <bargain v-if="item.name == 'bargain'" :dataConfig="item" @changeBarg="changeBarg"
|
|
|
- ></bargain>
|
|
|
+ <bargain v-if="item.name == 'bargain'" :dataConfig="item" @changeBarg="changeBarg"></bargain>
|
|
|
<blankPage v-if="item.name == 'blankPage'" :dataConfig="item"></blankPage>
|
|
|
<combination v-if="item.name == 'combination'" :dataConfig="item">
|
|
|
</combination>
|
|
|
<!-- 优惠券 -->
|
|
|
- <coupon v-if="item.name == 'coupon'" :dataConfig="item"
|
|
|
- @changeLogin="changeLogin"></coupon>
|
|
|
+ <coupon v-if="item.name == 'coupon'" :dataConfig="item" @changeLogin="changeLogin"></coupon>
|
|
|
<!-- 客户服务 -->
|
|
|
<customerService v-if="item.name == 'customerService'" :dataConfig="item">
|
|
|
</customerService>
|
|
|
<!-- 商品列表 -->
|
|
|
- <goodList v-if="item.name == 'goodList'" :dataConfig="item"></goodList>
|
|
|
<guide v-if="item.name == 'guide'" :dataConfig="item"></guide>
|
|
|
<!-- 直播模块 -->
|
|
|
<!-- #ifdef MP-WEIXIN -->
|
|
@@ -47,7 +43,7 @@
|
|
|
<pictureCube v-if="item.name == 'pictureCube'" :dataConfig="item"></pictureCube>
|
|
|
<!-- 促销列表 -->
|
|
|
<promotionList v-if="item.name == 'promotionList'" :dataConfig="item"
|
|
|
- :productVideoStatus='product_video_status' :positionTop="positionTop">
|
|
|
+ :productVideoStatus='product_video_status' :positionTop="positionTop">
|
|
|
</promotionList>
|
|
|
<richText v-if="item.name == 'richText'" :dataConfig="item"></richText>
|
|
|
<seckill v-if="item.name == 'seckill'" :dataConfig="item"></seckill>
|
|
@@ -66,57 +62,123 @@
|
|
|
<hotspot v-if="item.name == 'hotspot'" :dataConfig="item"></hotspot>
|
|
|
<follow v-if="item.name == 'follow'" :dataConfig="item"></follow>
|
|
|
</block>
|
|
|
+ <view class="goodsTitle" v-if="joinList.length>0">
|
|
|
+ <text class='borderBottom'>
|
|
|
+ 抢购商品
|
|
|
+ </text>
|
|
|
+ </view>
|
|
|
+ <view class="goodsItem" v-if="joinList.length>0">
|
|
|
+ <view class="itemList" @click="addCartChange(item)" v-for="(item,index) in joinList">
|
|
|
+ <view class="itemImage">
|
|
|
+ <image class="imageBanner" :src="item.image" mode="widthFix"></image>
|
|
|
+ </view>
|
|
|
+ <view class="itemContent">
|
|
|
+ <view class="itemTitle">
|
|
|
+ {{item.store_name}}
|
|
|
+ </view>
|
|
|
+ <view class="itemMoney">
|
|
|
+ <baseMoney :money="item.price" symbolSize="24" integerSize="40" decimalSize="24" weight
|
|
|
+ ></baseMoney>
|
|
|
+ </view>
|
|
|
+ <view class="bottomCart">
|
|
|
+ <view class="flex-center cart-btn">
|
|
|
+ <text class="iconfont icon-ic_increase fs-26"></text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="goodsTitle" v-if="giveList.length>0">
|
|
|
+ <text class='borderBottom'>
|
|
|
+ 爆单商品
|
|
|
+ </text>
|
|
|
+ </view>
|
|
|
+ <view class="goodsItem" v-if="giveList.length>0">
|
|
|
+ <view class="itemList" @click="addCartChange(item)" v-for="(item,index) in giveList">
|
|
|
+ <view class="itemImage">
|
|
|
+ <image class="imageBanner" :src="item.image" mode="widthFix"></image>
|
|
|
+ </view>
|
|
|
+ <view class="itemContent">
|
|
|
+ <view class="itemTitle">
|
|
|
+ {{item.store_name}}
|
|
|
+ </view>
|
|
|
+ <view class="itemMoney">
|
|
|
+ <baseMoney :money="item.price" symbolSize="24" integerSize="40" decimalSize="24" weight
|
|
|
+ ></baseMoney>
|
|
|
+ </view>
|
|
|
+ <view class="greenIn" v-if="item.give_award_range">
|
|
|
+ <text class="greenText">
|
|
|
+ {{item.give_award_range}}
|
|
|
+ </text>
|
|
|
+ 绿积分
|
|
|
+ </view>
|
|
|
+ <view class="bottomCart">
|
|
|
+ <view class="flex-center cart-btn">
|
|
|
+ <text class="iconfont icon-ic_increase fs-26"></text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <block v-for="(item, index) in styleConfig" :key="index">
|
|
|
+ <!-- 商品列表 -->
|
|
|
+ </block>
|
|
|
<!-- 分类商品模块 -->
|
|
|
<!-- #ifndef APP-PLUS -->
|
|
|
<view class="sort-product px-20" v-if="sortList.children && sortList.children.length">
|
|
|
<!-- #endif -->
|
|
|
- <!-- #ifdef APP-PLUS -->
|
|
|
- <!-- 商品排序 -->
|
|
|
- <view class="sort-product px-20" :style="{ marginTop: sortMpTop + 'px' }"
|
|
|
- v-if="sortList.children && sortList.children.length">
|
|
|
- <!-- #endif -->
|
|
|
- <view class="rd-24rpx bg--w111-fff p-24 mb-24" v-if="sortList.children && sortList.children.length">
|
|
|
- <scroll-view scroll-x="true" class="white-nowrap vertical-middle w-full" show-scrollbar="false">
|
|
|
- <view class="inline-block mr-24" v-for="(item, index) in sortList.children" :key="index">
|
|
|
- <view class="flex-col flex-center" @tap="changeSort(item, index)">
|
|
|
- <view class="picture w-90 h-90 rd-50-p111-"
|
|
|
- :class="{select: curSort == index}">
|
|
|
- <image :src="item.pic" class="w-full h-full rd-50-p111-"></image>
|
|
|
+ <!-- #ifdef APP-PLUS -->
|
|
|
+ <!-- 商品排序 -->
|
|
|
+ <view class="sort-product px-20" :style="{ marginTop: sortMpTop + 'px' }"
|
|
|
+ v-if="sortList.children && sortList.children.length">
|
|
|
+ <!-- #endif -->
|
|
|
+ <view class="rd-24rpx bg--w111-fff p-24 mb-24"
|
|
|
+ v-if="sortList.children && sortList.children.length">
|
|
|
+ <scroll-view scroll-x="true" class="white-nowrap vertical-middle w-full"
|
|
|
+ show-scrollbar="false">
|
|
|
+ <view class="inline-block mr-24" v-for="(item, index) in sortList.children"
|
|
|
+ :key="index">
|
|
|
+ <view class="flex-col flex-center" @tap="changeSort(item, index)">
|
|
|
+ <view class="picture w-90 h-90 rd-50-p111-" :class="{select: curSort == index}">
|
|
|
+ <image :src="item.pic" class="w-full h-full rd-50-p111-"></image>
|
|
|
+ </view>
|
|
|
+ <text class="fs-24 pt-14"
|
|
|
+ :class="{'font-num': curSort == index}">{{item.cate_name}}</text>
|
|
|
</view>
|
|
|
- <text class="fs-24 pt-14" :class="{'font-num': curSort == index}">{{item.cate_name}}</text>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- </scroll-view>
|
|
|
- </view>
|
|
|
- <waterfallsFlow ref="waterfallsFlow" :wfList="goodList" @itemTap="goDetail"></waterfallsFlow>
|
|
|
- <Loading :loaded="loaded" :loading="loading"></Loading>
|
|
|
- <view v-if="goodList.length == 0 && loaded">
|
|
|
- <emptyPage title="暂无商品,去看点别的吧~" ></emptyPage>
|
|
|
+ </scroll-view>
|
|
|
+ </view>
|
|
|
+ <waterfallsFlow ref="waterfallsFlow" :wfList="goodList" @itemTap="goDetail"></waterfallsFlow>
|
|
|
+ <Loading :loaded="loaded" :loading="loading"></Loading>
|
|
|
+ <view v-if="goodList.length == 0 && loaded">
|
|
|
+ <emptyPage title="暂无商品,去看点别的吧~"></emptyPage>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <couponWindow :window="isCouponShow" @onColse="couponClose" :couponImage="couponObj.image"
|
|
|
- :couponList="couponObj.list"></couponWindow>
|
|
|
+ <couponWindow :window="isCouponShow" @onColse="couponClose" :couponImage="couponObj.image"
|
|
|
+ :couponList="couponObj.list"></couponWindow>
|
|
|
+
|
|
|
<!-- #ifdef H5 -->
|
|
|
- <view v-if="site_config" class="site-config" @click="goICP">{{ site_config }}</view>
|
|
|
- <!-- #endif -->
|
|
|
- <view class="pb-safe" :style="[pdHeights]" v-if="isFooter"></view>
|
|
|
- <pageFooter @newDataStatus="newDataStatus"></pageFooter>
|
|
|
+ <view v-if="site_config" class="site-config" @click="goICP">{{ site_config }}</view>
|
|
|
+ <!-- #endif -->
|
|
|
+ <view class="pb-safe" :style="[pdHeights]" v-if="isFooter"></view>
|
|
|
+ <pageFooter @newDataStatus="newDataStatus"></pageFooter>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view v-else>
|
|
|
- <view class="error-network">
|
|
|
- <image :src="imgHost + '/statics/images/error-network.gif'"></image>
|
|
|
- <view class="title">网络连接断开</view>
|
|
|
- <view class="con">
|
|
|
- <view class="label">请检查情况:</view>
|
|
|
- <view class="item">· 在设置中是否已开启网络权限</view>
|
|
|
- <view class="item">· 当前是否处于弱网环境</view>
|
|
|
- <view class="item">· 版本是否过低,升级试试吧</view>
|
|
|
+ <view v-else>
|
|
|
+ <view class="error-network">
|
|
|
+ <image :src="imgHost + '/statics/images/error-network.gif'"></image>
|
|
|
+ <view class="title">网络连接断开</view>
|
|
|
+ <view class="con">
|
|
|
+ <view class="label">请检查情况:</view>
|
|
|
+ <view class="item">· 在设置中是否已开启网络权限</view>
|
|
|
+ <view class="item">· 当前是否处于弱网环境</view>
|
|
|
+ <view class="item">· 版本是否过低,升级试试吧</view>
|
|
|
+ </view>
|
|
|
+ <view class="btn" @click="reconnect">重新连接</view>
|
|
|
</view>
|
|
|
- <view class="btn" @click="reconnect">重新连接</view>
|
|
|
</view>
|
|
|
+
|
|
|
</view>
|
|
|
- </view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
@@ -171,39 +233,53 @@
|
|
|
import waterfallsFlow from "@/components/WaterfallsFlow/WaterfallsFlow.vue";
|
|
|
import emptyPage from '@/components/emptyPage.vue';
|
|
|
// #ifdef MP
|
|
|
- import {getTemlIds} from '@/api/api.js';
|
|
|
+ import {
|
|
|
+ getTemlIds
|
|
|
+ } from '@/api/api.js';
|
|
|
import {
|
|
|
SUBSCRIBE_MESSAGE,
|
|
|
TIPS_KEY
|
|
|
} from '@/config/cache';
|
|
|
// #endif
|
|
|
- import {mapGetters,mapMutations} from 'vuex';
|
|
|
- import {getDiy, getDiyVersion} from '@/api/api.js';
|
|
|
+ import {
|
|
|
+ mapGetters,
|
|
|
+ mapMutations
|
|
|
+ } from 'vuex';
|
|
|
+ import {
|
|
|
+ getDiy,
|
|
|
+ getDiyVersion
|
|
|
+ } from '@/api/api.js';
|
|
|
import {
|
|
|
getCategoryList,
|
|
|
getProductslist,
|
|
|
getProductHot,
|
|
|
diyProductApi
|
|
|
} from '@/api/store.js';
|
|
|
- import { goShopDetail } from '@/libs/order.js';
|
|
|
- import { toLogin } from '@/libs/login.js';
|
|
|
- import { HTTP_REQUEST_URL } from '@/config/app';
|
|
|
+ import {
|
|
|
+ goShopDetail
|
|
|
+ } from '@/libs/order.js';
|
|
|
+ import {
|
|
|
+ toLogin
|
|
|
+ } from '@/libs/login.js';
|
|
|
+ import {
|
|
|
+ HTTP_REQUEST_URL
|
|
|
+ } from '@/config/app';
|
|
|
import pageFooter from '@/components/pageFooter/index.vue';
|
|
|
import Loading from '@/components/Loading/index.vue';
|
|
|
import recommend from '@/components/recommend';
|
|
|
export default {
|
|
|
computed: {
|
|
|
- pageStyle(){
|
|
|
+ pageStyle() {
|
|
|
return {
|
|
|
backgroundColor: this.bgColor,
|
|
|
backgroundImage: this.bgPic ? `url(${this.bgPic})` : '',
|
|
|
minHeight: this.windowHeight + 'px'
|
|
|
}
|
|
|
},
|
|
|
- pdHeights(){
|
|
|
+ pdHeights() {
|
|
|
let H = `${this.pdHeight*2 + 100}rpx`
|
|
|
- return{
|
|
|
- height: this.isFooter?H:'100rpx'
|
|
|
+ return {
|
|
|
+ height: this.isFooter ? H : '100rpx'
|
|
|
}
|
|
|
},
|
|
|
...mapGetters(['isLogin', 'uid', 'cartNum']),
|
|
@@ -285,9 +361,9 @@
|
|
|
isHeaderSerch: false,
|
|
|
showHomeComb: false,
|
|
|
showCateNav: false,
|
|
|
- homeCombData:{},
|
|
|
- headerSerchCombData:{},
|
|
|
- cateNavData:{},
|
|
|
+ homeCombData: {},
|
|
|
+ headerSerchCombData: {},
|
|
|
+ cateNavData: {},
|
|
|
bgColor: '',
|
|
|
bgPic: '',
|
|
|
bgTabVal: '',
|
|
@@ -300,7 +376,9 @@
|
|
|
confirm_video_status: false,
|
|
|
positionTop: 0,
|
|
|
isFooter: false,
|
|
|
- pdHeight:0 //自定义底部导航上下边距和
|
|
|
+ pdHeight: 0, //自定义底部导航上下边距和
|
|
|
+ giveList: [], //爆单商品
|
|
|
+ joinList: [], //抢购商品
|
|
|
};
|
|
|
},
|
|
|
onLoad(options) {
|
|
@@ -314,7 +392,10 @@
|
|
|
}
|
|
|
});
|
|
|
})
|
|
|
- const {state, scope} = options;
|
|
|
+ const {
|
|
|
+ state,
|
|
|
+ scope
|
|
|
+ } = options;
|
|
|
this.diyData();
|
|
|
// #ifdef H5
|
|
|
this.setOpenShare();
|
|
@@ -349,8 +430,9 @@
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
+ this.getInitGoods();
|
|
|
},
|
|
|
- onUnload(){
|
|
|
+ onUnload() {
|
|
|
// 清除监听
|
|
|
uni.$off('activeFn');
|
|
|
},
|
|
@@ -393,6 +475,27 @@
|
|
|
onReady() {},
|
|
|
methods: {
|
|
|
...mapMutations(['SET_AUTOPLAY']),
|
|
|
+ addCartChange(item){
|
|
|
+ uni.navigateTo({
|
|
|
+ url: `/pages/goods_details/index?id=${item.id}`
|
|
|
+ });
|
|
|
+ },
|
|
|
+ getInitGoods() {
|
|
|
+ getProductslist({
|
|
|
+ page: 1,
|
|
|
+ limit: 1000,
|
|
|
+ give_award_range: 1,
|
|
|
+ }).then(res => {
|
|
|
+ this.giveList = res.data
|
|
|
+ });
|
|
|
+ getProductslist({
|
|
|
+ page: 1,
|
|
|
+ limit: 1000,
|
|
|
+ join_games: 1,
|
|
|
+ }).then(res => {
|
|
|
+ this.joinList = res.data
|
|
|
+ });
|
|
|
+ },
|
|
|
getCopyRight() {
|
|
|
copyRight().then(res => {
|
|
|
let data = res.data;
|
|
@@ -482,7 +585,7 @@
|
|
|
this.styleConfig = [];
|
|
|
if (data.type == 1) {
|
|
|
this.getProductList(data.classPage);
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
this.sortList = [];
|
|
|
this.getMicroPage(data.microPage, true);
|
|
|
}
|
|
@@ -500,15 +603,15 @@
|
|
|
});
|
|
|
getDiy(id).then(res => {
|
|
|
uni.hideLoading();
|
|
|
- let data = res.data;
|
|
|
- let diyArr = that.objToArr(res.data.value);
|
|
|
- diyArr = diyArr.filter(item => item.isHide !== '1');
|
|
|
- diyArr.forEach((item,index) => {
|
|
|
- if(['headerSerch','homeComb'].includes(item.name)){
|
|
|
- diyArr.splice(index, 1);
|
|
|
- }
|
|
|
- });
|
|
|
- this.styleConfig = diyArr;
|
|
|
+ let data = res.data;
|
|
|
+ let diyArr = that.objToArr(res.data.value);
|
|
|
+ diyArr = diyArr.filter(item => item.isHide !== '1');
|
|
|
+ diyArr.forEach((item, index) => {
|
|
|
+ if (['headerSerch', 'homeComb'].includes(item.name)) {
|
|
|
+ diyArr.splice(index, 1);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ this.styleConfig = diyArr;
|
|
|
}).catch(err => {
|
|
|
return that.$util.Tips({
|
|
|
title: err
|
|
@@ -674,7 +777,7 @@
|
|
|
this.showHomeComb = true
|
|
|
this.homeCombData = item;
|
|
|
if (item.searchConfig.tabVal) {
|
|
|
- this.positionTop = uni.getSystemInfoSync().statusBarHeight+43
|
|
|
+ this.positionTop = uni.getSystemInfoSync().statusBarHeight + 43
|
|
|
}
|
|
|
}
|
|
|
if (item.name == 'headerSerch') {
|
|
@@ -685,9 +788,9 @@
|
|
|
this.showCateNav = true;
|
|
|
this.cateNavData = item;
|
|
|
}
|
|
|
- if (item.isHide !== '1') {
|
|
|
- temp.push(item);
|
|
|
- }
|
|
|
+ if (item.isHide !== '1') {
|
|
|
+ temp.push(item);
|
|
|
+ }
|
|
|
});
|
|
|
|
|
|
function sortNumber(a, b) {
|
|
@@ -754,7 +857,7 @@
|
|
|
});
|
|
|
});
|
|
|
},
|
|
|
- newDataStatus(val,num) {
|
|
|
+ newDataStatus(val, num) {
|
|
|
this.isFooter = val ? true : false;
|
|
|
this.pdHeight = num;
|
|
|
},
|
|
@@ -810,14 +913,14 @@
|
|
|
//#ifdef MP
|
|
|
onShareAppMessage() {
|
|
|
let uid = this.uid ? this.uid : 0;
|
|
|
- if(this.shareInfo.img){
|
|
|
+ if (this.shareInfo.img) {
|
|
|
return {
|
|
|
title: this.shareInfo.title,
|
|
|
path: '/pages/index/index?spid=' + uid,
|
|
|
imageUrl: this.shareInfo.img,
|
|
|
desc: this.shareInfo.synopsis
|
|
|
};
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
return {
|
|
|
title: this.shareInfo.title,
|
|
|
path: '/pages/index/index?spid=' + uid
|
|
@@ -936,7 +1039,70 @@
|
|
|
width: 100%;
|
|
|
}
|
|
|
}
|
|
|
- .select{
|
|
|
+
|
|
|
+ .select {
|
|
|
border: 1px solid var(--view-theme);
|
|
|
}
|
|
|
-</style>
|
|
|
+
|
|
|
+ .goodsTitle {
|
|
|
+ font-size: 30rpx;
|
|
|
+ padding: 0rpx 30rpx;
|
|
|
+ line-height: 1;
|
|
|
+
|
|
|
+ .borderBottom {
|
|
|
+ border-bottom: 4px solid #e93323;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .goodsItem {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ padding: 30rpx;
|
|
|
+
|
|
|
+ .itemList {
|
|
|
+ width: 48%;
|
|
|
+ border-radius: 20rpx;
|
|
|
+ overflow: hidden;
|
|
|
+ background-color: #FFF;
|
|
|
+ }
|
|
|
+ .itemContent{
|
|
|
+ padding: 20rpx;
|
|
|
+ line-height: 1;
|
|
|
+ position: relative;
|
|
|
+ .itemTitle{
|
|
|
+ font-size: 28rpx;
|
|
|
+ }
|
|
|
+ .itemMoney{
|
|
|
+ color: var(--view-theme);
|
|
|
+ font-weight: bold;
|
|
|
+ padding: 10rpx 0;
|
|
|
+ }
|
|
|
+ .greenIn{
|
|
|
+ font-size: 20rpx;
|
|
|
+ .greenText{
|
|
|
+ font-size: 32rpx;
|
|
|
+ color: $uni-color-success;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .bottomCart{
|
|
|
+ position: absolute;
|
|
|
+ right: 20rpx;
|
|
|
+ bottom: 20rpx;
|
|
|
+ background:linear-gradient(90deg, var(--view-theme) 0%, var(--view-gradient) 100%); ;
|
|
|
+ border-radius: 100%;
|
|
|
+ width: 44rpx;
|
|
|
+ height: 44rpx;
|
|
|
+ color:#FFF;
|
|
|
+ line-height: 44rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .itemImage {
|
|
|
+ line-height: 0;
|
|
|
+ .imageBanner {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+</style>
|