feat:v1.4前端更新

This commit is contained in:
超凡
2025-06-24 14:43:09 +08:00
parent 6282774be5
commit 3202f42aac
1026 changed files with 118424 additions and 56490 deletions

View File

@@ -1,6 +1,36 @@
<template>
<view>
<view class='shoppingCart copy-data'>
<view :data-theme="theme">
<view class="cart_nav" :style='"height:"+navH+"rpx;"'>
<view class='navbarCon acea-row'>
<!-- #ifdef MP -->
<view class="select_nav flex justify-center align-center" id="home" :style="{ top: homeTop + 'rpx' }">
<text class="iconfont icon-fanhui2 px-20" @tap="returns"></text>
<text class="iconfont icon-gengduo5 px-20" @tap.stop="showNav"></text>
<text class="nav_line"></text>
</view>
<!-- #endif -->
<!-- #ifdef H5 -->
<view id="home" class="home acea-row row-center-wrapper iconfont icon-shouye4 h5_back"
:style="{ top: homeTop + 'rpx' }" @tap="returns">
</view>
<!-- #endif -->
<!-- #ifndef APP-PLUS -->
<view class="nav_title" :style="{ top: homeTop + 'rpx' }">购物车</view>
<!-- #endif -->
<!-- #ifdef H5 || APP-PLUS -->
<view class="right_select" :style="{ top: homeTop + 'rpx' }" @tap="showNav">
<text class="iconfont icon-gengduo2"></text>
</view>
<!-- #endif -->
</view>
</view>
<view class="dialog_nav" :style='"top:"+navH+"rpx;"' v-show="currentPage">
<view class="dialog_nav_item" v-for="(item,index) in selectNavList" :key="index" @click="linkPage(item.url)">
<text class="iconfont" :class="item.icon"></text>
<text class="pl-20">{{item.name}}</text>
</view>
</view>
<view class='shoppingCart copy-data' :style='"top:"+navH+"rpx;"' @touchstart="touchStart">
<view class='labelNav acea-row row-around'>
<view class='item'><text class='iconfont icon-xuanzhong'></text>100%正品保证</view>
<view class='item'><text class='iconfont icon-xuanzhong'></text>所有商品精挑细选</view>
@@ -9,13 +39,13 @@
<view class="borRadius14 cartBox">
<view
v-if="(cartList.valid.length === 0 && cartList.invalid.length === 0) || (cartList.valid.length > 0)"
class='nav acea-row row-between-wrapper my_nav'>
<view>购物数量 <text class='num font-color'>{{cartCount}}</text></view>
class='nav acea-row row-between-wrapper'>
<view>购物数量 <text class='num font_color'>{{cartCount}}</text></view>
<view v-if="cartList.valid.length > 0 || cartList.invalid.length > 0"
class='administrate acea-row row-center-wrapper' @click='manage'>{{ footerswitch ? '管理' : '取消'}}
</view>
</view>
<view v-if="cartList.valid.length > 0 || cartList.invalid.length > 0" class="pad30 my_nav_top">
<view v-if="cartList.valid.length > 0 || cartList.invalid.length > 0" class="pad30">
<view class='list'>
<checkbox-group @change="checkboxChange">
<block v-for="(item,index) in cartList.valid" :key="index">
@@ -28,7 +58,7 @@
<checkbox :value="item.id" :checked="item.checked"
:disabled="!item.attrStatus && footerswitch" />
<!-- #endif -->
<navigator :url='"/pages/goods_details/index?id="+item.productId' hover-class='none'
<navigator :url='"/pages/goods/goods_details/index?id="+item.productId' hover-class='none'
class='picTxt acea-row row-between-wrapper'>
<view class='pictrue'>
<image :src='item.image'></image>
@@ -37,8 +67,7 @@
<view class='line1' :class="item.attrStatus?'':'reColor'">{{item.storeName}}
</view>
<view class='infor line1' v-if="item.suk">属性{{item.suk}}</view>
<view class='money' v-if="item.attrStatus">{{item.price}}</view>
<!-- <view class='money' v-if="item.attrStatus">{{item.truePrice}}</view> -->
<view class='money mt-28' v-if="item.attrStatus">{{item.vipPrice ? item.vipPrice :item.price}}</view>
<view class="reElection acea-row row-between-wrapper" v-else>
<view class="title">请重新选择商品规格</view>
<view class="reBnt cart-color acea-row row-center-wrapper"
@@ -57,7 +86,6 @@
</block>
</checkbox-group>
</view>
<!-- cartList.valid.length===0 && cartList.invalid.length > 0 -->
<view v-if="cartList.invalid.length > 0" class='invalidGoods borRadius14'
:style="cartList.valid.length===0 && cartList.invalid.length > 0 ? 'position: relative;z-index: 111;top: -120rpx;':'position: static;'">
<view class='goodsNav acea-row row-between-wrapper'>
@@ -90,23 +118,31 @@
</block>
</view>
</view>
<!-- <view class='loadingicon acea-row row-center-wrapper' v-if="cartList.valid.length&&!loadend">
<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}}
</view> -->
<!-- #ifdef H5 -->
<view style="height:240rpx;"></view>
<!-- #endif -->
<!-- #ifdef MP || APP-PLUS -->
<view style="height:120rpx;"></view>
<!-- #endif -->
<view class='loadingicon acea-row row-center-wrapper' v-if="cartList.invalid.length&&loadend">
<text class='loading iconfont icon-jiazai'
:hidden='loadingInvalid==false'></text>{{loadTitleInvalid}}
</view>
</view>
<view class='noCart' v-if="cartList.valid.length == 0 && cartList.invalid.length == 0 && canShow">
<view class='noCart' v-if="(cartList.valid.length == 0 && cartList.invalid.length == 0 && canShow) || !isLogin">
<view class='pictrue'>
<image src='../../static/images/noCart.png'></image>
<image :src="urlDomain+'crmebimage/perset/staticImg/noCart.png'"></image>
</view>
<recommend :hostProduct='hostProduct'></recommend>
<!-- 推荐商品 -->
<recommend ref="recommendIndex"></recommend>
<!-- #ifdef H5 -->
<view style="height:120rpx;"></view>
<!-- #endif -->
</view>
</view>
</view>
<view class='footer acea-row row-between-wrapper' v-if="cartList.valid.length > 0">
<!-- <view style="height:260rpx;"></view> -->
<view class='footer acea-row row-between-wrapper' v-if="cartList.valid.length > 0" :class="bottomNavigationIsCustom?'bottom-custom':''">
<view>
<checkbox-group @change="checkboxAllChange">
<checkbox value="all" :checked="!!isAllSelect" />
@@ -114,14 +150,14 @@
</checkbox-group>
</view>
<view class='money acea-row row-middle' v-if="footerswitch==true">
<text class='font-color'>{{selectCountPrice}}</text>
<text class='price-color'>{{selectCountPrice}}</text>
<form @submit="subOrder" report-submit='true'>
<button class='placeOrder bg-color' formType="submit">立即下单</button>
<button class='placeOrder bg_color' formType="submit">立即下单</button>
</form>
</view>
<view class='button acea-row row-middle' v-else>
<form @submit="subCollect" report-submit='true'>
<button class='bnt cart-color' formType="submit">收藏</button>
<button class='btn_cart_color' formType="submit">收藏</button>
</form>
<form @submit="subDel" report-submit='true'>
<button class='bnt' formType="submit">删除</button>
@@ -133,15 +169,18 @@
id='product-window'></productWindow>
<view class="uni-p-b-96"></view>
<view class="uni-p-b-98"></view>
<!-- #ifdef MP -->
<!-- <authorize :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize> -->
<!-- #endif -->
<pageFooter></pageFooter>
</view>
</template>
<script>
import pageFooter from '@/components/pageFooter/index.vue'
// #ifdef APP-PLUS
let sysHeight = uni.getSystemInfoSync().statusBarHeight + 'px';
// #endif
// #ifndef APP-PLUS
let sysHeight = 0
// #endif
import {
getCartList,
getCartCounts,
@@ -150,31 +189,30 @@
getResetCart
} from '@/api/order.js';
import {
getProductHot,
tokenIsExistApi
} from '@/api/api.js';
import {
collectAll,
getProductDetail
} from '@/api/store.js';
import {
toLogin
} from '@/libs/login.js';
import {
mapGetters
} from "vuex";
import {getShare} from '@/api/public.js';
import {mapGetters} from "vuex";
import recommend from '@/components/recommend';
import productWindow from '@/components/productWindow';
// #ifdef MP
import authorize from '@/components/Authorize';
// #endif
import animationType from '@/utils/animationType.js'
import {
Debounce
} from '@/utils/validate.js'
let app = getApp();
export default {
components: {
recommend,
productWindow,
// #ifdef MP
authorize
// #endif
pageFooter
},
data() {
return {
urlDomain: this.$Cache.get("imgHost"),
cartCount: 0,
goodsHidden: false,
footerswitch: true,
@@ -213,19 +251,69 @@
cartId: 0,
product_id: 0,
sysHeight: sysHeight,
canShow: false
canShow: false,
configApi: {}, //分享类容配置
theme:app.globalData.theme,
navH:"",
homeTop: 20,
currentPage:false,
selectNavList:[
{name:'首页',icon:'icon-shouye8',url:'/pages/index/index'},
{name:'搜索',icon:'icon-sousuo6',url:'/pages/goods/goods_search/index'},
{name:'我的收藏',icon:'icon-shoucang3',url:'/pages/users/user_goods_collection/index'},
{name:'个人中心',icon:'icon-gerenzhongxin1',url:'/pages/user/index'},
],
tokenIsExist: false, //校验token是否有效
};
},
computed: mapGetters(['isLogin']),
computed: mapGetters(['isLogin','bottomNavigationIsCustom']),
onLoad: function(options) {
let that = this;
if (that.isLogin == false) {
toLogin();
}
//检查token是否有效
this.getTokenIsExist();
// #ifdef MP
this.navH = app.globalData.navHeight;
// #endif
// #ifndef MP
this.navH = 96;
// #endif
// #ifdef H5
this.shareApi();
// #endif
},
onReady() {
this.$nextTick(function() {
// #ifdef MP
const menuButton = uni.getMenuButtonBoundingClientRect();
const query = uni.createSelectorQuery().in(this);
query
.select('#home')
.boundingClientRect(data => {
this.homeTop = menuButton.top * 2 + menuButton.height - data.height;
})
.exec();
// #endif
});
},
onShow: function() {
this.canShow = false
if (this.isLogin == true) {
if (this.isLogin && this.tokenIsExist) {
this.getIndex();
};
},
methods: {
//校验token是否有效,true为有效false为无效
getTokenIsExist() {
tokenIsExistApi().then(res => {
this.tokenIsExist = res.data;
this.canShow = true;
if (this.isLogin && this.tokenIsExist) {
this.getIndex();
}
})
},
//首次进入加载的接口
getIndex(){
this.hotPage = 1;
this.hostProduct = [],
this.hotScroll = false,
@@ -237,7 +325,6 @@
this.pageInvalid = 1;
this.cartList.invalid = [];
this.getInvalidList();
//this.getCartNum();
this.footerswitch = true;
this.hotScroll = false;
this.hotPage = 1;
@@ -246,17 +333,11 @@
valid: [],
invalid: []
},
this.isAllSelect = false; //全选
this.isAllSelect = false; //全选
this.selectValue = []; //选中的数据
this.selectCountPrice = 0.00;
this.cartCount = 0;
this.isShowAuth = false;
};
},
methods: {
// 授权关闭
authColse: function(e) {
this.isShowAuth = e;
},
// 修改购物车
reGoCat: function() {
@@ -321,8 +402,19 @@
that.attr.cartAttr = true;
let productInfo = res.data.productInfo;
that.$set(that, 'productInfo', productInfo);
that.$set(that.attr, 'productAttr', res.data.productAttr);
// that.$set(that.attr, 'productAttr', res.data.productAttr);
that.$set(that, 'productValue', res.data.productValue);
let productAttr = res.data.productAttr.map(item => {
return {
attrName : item.attrName,
attrValues: item.attrValues.split(','),
id:item.id,
isDel:item.isDel,
productId:item.productId,
type:item.type
}
});
this.$set(that.attr,'productAttr',productAttr);
that.DefaultSelect();
}).catch(err => {
uni.hideLoading();
@@ -507,7 +599,7 @@
}
},
// 立即下单
subOrder: function(event) {
subOrder: Debounce(function(event) {
let that = this,
selectValue = that.selectValue;
@@ -518,7 +610,7 @@
title: '请选择产品'
});
}
},
}),
/**
* 预下单
*/
@@ -622,8 +714,7 @@
for (let index in validList) {
if (that.inArray(validList[index].id, selectValue)) {
selectCountPrice = that.$util.$h.Add(selectCountPrice, that.$util.$h.Mul(validList[index]
.cartNum, validList[
index].price))
.cartNum, validList[index].vipPrice ? validList[index].vipPrice : validList[index].price))
}
}
that.selectCountPrice = selectCountPrice;
@@ -647,7 +738,7 @@
this.$set(this.cartList, 'valid', this.cartList.valid)
}
},
subCart: function(index) {
subCart: Debounce(function(index) {
let that = this;
let status = false;
let item = that.cartList.valid[index];
@@ -667,26 +758,34 @@
that.getCartNum();
});
}
},
addCart: function(index) {
}),
addCart: Debounce(function(index) {
let that = this;
let item = that.cartList.valid[index];
item.cartNum = Number(item.cartNum) + 1;
let productInfo = item;
if (item.cartNum >= item.stock) {
if (item.cartNum < item.stock) {
item.numAdd = false;
item.numSub = false;
that.setCartNum(item.id, item.cartNum, function(data) {
that.cartList.valid[index] = item;
that.switchSelect();
that.getCartNum();
});
} else if (item.cartNum === item.stock) {
item.numAdd = true;
item.numSub = false;
that.setCartNum(item.id, item.cartNum, function(data) {
that.cartList.valid[index] = item;
that.switchSelect();
that.getCartNum();
});
} else {
item.cartNum = item.stock;
item.numAdd = true;
item.numSub = false;
} else {
item.numAdd = false;
item.numSub = false;
}
that.setCartNum(item.id, item.cartNum, function(data) {
that.cartList.valid[index] = item;
that.switchSelect();
that.getCartNum();
});
},
}),
//购物车数量变化
setCartNum(cartId, cartNum, successCallback) {
let that = this;
changeCartNum(cartId, cartNum).then(res => {
@@ -695,7 +794,7 @@
},
getCartNum: function() {
let that = this;
getCartCounts(true, 'sum').then(res => {
getCartCounts(true, 'total').then(res => {
that.cartCount = res.data.count;
});
},
@@ -723,9 +822,8 @@
limit: that.limit,
isValid: true
}
getCartCounts(true, 'sum').then(async c => {
getCartCounts(true, 'total').then(async c => {
that.cartCount = c.data.count;
if (c.data.count === 0) that.getHostProduct();
for (let i = 0; i < Math.ceil(that.cartCount / that.limit); i++) {
let cartList = await this.getCartData(data);
let valid = cartList.list;
@@ -766,7 +864,7 @@
}
}
that.$set(that.cartList, 'valid', validList);
data.page += 1;
data.page +=1;
that.selectValue = selectValue;
let newArr = validList.filter(item => item.attrStatus);
that.isAllSelect = newArr.length == selectValue.length && newArr.length;
@@ -793,7 +891,7 @@
let invalidList = that.$util.SplitArray(invalid, that.cartList.invalid);
that.$set(that.cartList, 'invalid', invalidList);
that.loadendInvalid = loadendInvalid;
that.loadTitleInvalid = loadendInvalid ? '我也是有底线的' : '加载更多';
that.loadTitleInvalid = loadendInvalid ? '我也是有底线的~' : '加载更多';
that.pageInvalid = that.pageInvalid + 1;
that.loadingInvalid = false;
//if(invalid.length===0) that.getHostProduct();
@@ -803,18 +901,6 @@
})
},
getHostProduct: function() {
let that = this;
if (that.hotScroll) return
getProductHot(
that.hotPage,
that.hotLimit,
).then(res => {
that.hotPage++
that.hotScroll = res.data.list.length < that.hotLimit
that.hostProduct = that.hostProduct.concat(res.data.list)
});
},
goodsOpen: function() {
let that = this;
that.goodsHidden = !that.goodsHidden;
@@ -865,6 +951,53 @@
}).catch(res => {
});
},
shareApi: function() {
getShare().then(res => {
this.$set(this, 'configApi', res.data);
// #ifdef H5
this.setOpenShare(res.data);
// #endif
})
},
// 微信分享;
setOpenShare: function(data) {
let that = this;
if (that.$wechat.isWeixin()) {
let configAppMessage = {
desc: data.synopsis,
title: data.title,
link: location.href,
imgUrl: data.img
};
that.$wechat.wechatEvevt(["updateAppMessageShareData", "updateTimelineShareData"],
configAppMessage);
}
},
returns: function() {
uni.switchTab({
url:'/pages/index/index'
})
},
showNav(){
this.currentPage = !this.currentPage;
},
//下拉导航页面跳转
linkPage(url){
if(url == '/pages/index/index' || url == '/pages/user/index'){
uni.switchTab({
url
})
}else{
uni.navigateTo({
animationType: animationType.type, animationDuration: animationType.duration,
url
})
}
this.currentPage = false
},
touchStart(){
this.currentPage = false;
}
},
onReachBottom() {
@@ -872,8 +1005,8 @@
if (that.loadend) {
that.getInvalidList();
}
if (that.cartList.valid.length == 0 && that.cartList.invalid.length == 0 && this.hotPage != 1) {
that.getHostProduct();
if (that.cartList.valid.length == 0 && that.cartList.invalid.length == 0) {
that.$refs.recommendIndex.get_host_product();
}
}
}
@@ -894,35 +1027,169 @@
.cartBox {
// background-color: #fff;
}
.cart_nav{
position: fixed;
@include main_bg_color(theme);
top: 0;
left: 0;
z-index: 99;
width: 100%;
}
.navbarCon {
position: absolute;
bottom: 0;
height: 100rpx;
width: 100%;
}
.h5_back {
color: #fff;
position: fixed;
left:20rpx;
font-size: 32rpx;
text-align: center;
line-height: 58rpx;
}
.select_nav{
width: 170rpx !important;
height: 60rpx !important;
border-radius: 33rpx;
background: rgba(255, 255, 255, 0.6);
color: #000;
position: fixed;
font-size: 18px;
line-height: 58rpx;
z-index: 1000;
left: 14rpx;
}
.px-20{
padding: 0 20rpx 0;
}
.nav_line{
content: '';
display: inline-block;
width: 1px;
height: 34rpx;
background: #fff;
position: absolute;
left: 0;
right: 0;
margin: auto;
}
.container_detail{
/* #ifdef MP */
margin-top:32rpx;
/* #endif */
}
.tab_nav{
width: 100%;
height: 48px;
padding:0 30rpx 0;
}
.nav_title{
width: 200rpx;
height: 58rpx;
line-height: 58rpx;
color: #fff;
font-size: 36rpx;
position: fixed;
text-align: center;
left: 0;
right: 0;
margin: auto;
}
.right_select{
position: fixed;
right: 20rpx;
color: #fff;
text-align: center;
line-height: 58rpx;
}
.dialog_nav{
position: fixed;
/* #ifdef MP */
left: 14rpx;
/* #endif */
/* #ifdef H5 || APP-PLUS*/
right: 14rpx;
/* #endif */
width: 240rpx;
background: #FFFFFF;
box-shadow: 0px 0px 16rpx rgba(0, 0, 0, 0.08);
z-index: 999;
border-radius: 14rpx;
&::before{
content: '';
width: 0;
height: 0;
position: absolute;
/* #ifdef MP */
left: 0;
right: 0;
margin:auto;
/* #endif */
/* #ifdef H5 || APP-PLUS */
right: 8px;
/* #endif */
top:-9px;
border-bottom: 10px solid #fff;
border-left: 10px solid transparent; /*transparent 表示透明*/
border-right: 10px solid transparent;
}
}
.dialog_nav_item{
width: 100%;
height: 84rpx;
line-height: 84rpx;
padding: 0 20rpx 0;
box-sizing: border-box;
border-bottom: #eee;
font-size: 28rpx;
color: #333;
position: relative;
.iconfont{
font-size: 32rpx;
}
&::after{
content: '';
position: absolute;
width:86px;
height: 1px;
background-color: #EEEEEE;
bottom: 0;
right: 0;
}
}
.pl-20{
padding-left: 20rpx;
}
.px-20{
padding: 0 20rpx 0;
}
.justify-center{
justify-content: center;
}
.align-center {
align-items: center;
}
.shoppingCart {
/* #ifdef H5 */
// padding-bottom: 0;
// padding-bottom: constant(safe-area-inset-bottom);
// padding-bottom: env(safe-area-inset-bottom);
/* #endif */
position: absolute;
width: 100%;
}
.shoppingCart .labelNav {
position: sticky;
height: 178rpx;
padding: 30rpx 30rpx 0 30rpx;
padding: 30rpx 30rpx 0 ;
font-size: 22rpx;
color: #fff;
position: fixed;
left: 0;
width: 100%;
box-sizing: border-box;
background-color: $theme-color;
@include main_bg_color(theme);
z-index: 5;
top: 0;
/* #ifdef MP-WEIXIN */
// top: calc(44px + 88rpx);
height: calc(178rpx + 44px + 45rpx);
padding-top: calc(44px + 50rpx);
// background-color: #282828;
/* #endif */
}
.shoppingCart .labelNav .item .iconfont {
@@ -939,10 +1206,8 @@
box-sizing: border-box;
font-size: 28rpx;
color: #282828;
position: fixed;
left: 30rpx;
margin: -90rpx auto 0 ;
z-index: 6;
top: 94rpx;
border-top-left-radius: 14rpx;
border-top-right-radius: 14rpx;
}
@@ -957,7 +1222,7 @@
}
.shoppingCart .noCart {
margin-top: 171rpx;
// margin-top: 171rpx;
background-color: #fff;
padding-top: 0.1rpx;
}
@@ -975,11 +1240,18 @@
.shoppingCart .list {
width: 100%;
margin-top: 178rpx;
// margin-top: 178rpx;
/* #ifdef MP */
// margin-bottom:120rpx;
/* #endif */
/* #ifndef MP */
// margin-bottom:240rpx;
/* #endif */
overflow: hidden;
border-bottom-left-radius: 14rpx;
border-bottom-right-radius: 14rpx;
}
.shoppingCart .list .item {
padding: 24rpx;
@@ -1033,13 +1305,23 @@
margin-top: 16rpx;
}
.shoppingCart .list .item .picTxt .text .money {
.money {
font-size: 32rpx;
color: #E93323;
margin-top: 28rpx;
font-weight: 600;
@include price_color(theme);
.price-color{
@include price_color(theme);
}
}
.mt-28{
margin-top: 28rpx;
}
.bg_color{
@include main_bg_color(theme);
}
.font_color{
@include main_color(theme);
}
.shoppingCart .list .item .picTxt .carnum {
height: 47rpx;
position: absolute;
@@ -1065,9 +1347,9 @@
line-height: 40rpx;
}
.shoppingCart .list .item .picTxt .carnum .reduce.on {
border-color: #e3e3e3;
color: #dedede;
.on {
border-color: #e3e3e3 !important;
color: #dedede !important;
}
.shoppingCart .list .item .picTxt .carnum .plus {
@@ -1085,10 +1367,6 @@
.shoppingCart .invalidGoods {
background-color: #fff;
margin-top: 30rpx;
/* #ifdef MP */
margin-top: 140rpx;
/* #endif */
}
.shoppingCart .invalidGoods .goodsNav {
@@ -1167,7 +1445,7 @@
}
.footer {
z-index: 9;
z-index: 999;
width: 100%;
height: 100rpx;
background-color: #fff;
@@ -1175,18 +1453,8 @@
padding: 0 24rpx;
box-sizing: border-box;
border-top: 1rpx solid #eee;
// border-bottom: 1px solid #EEEEEE;
/* #ifdef H5 */
bottom: 98rpx;
/* #endif */
/* #ifdef MP */
bottom: 0;
/* #endif */
/* #ifndef MP */
// bottom: 98rpx;
// bottom: calc(98rpx+ constant(safe-area-inset-bottom)); ///兼容 IOS<11.2/
// bottom: calc(98rpx + env(safe-area-inset-bottom)); ///兼容 IOS>11.2/
/* #endif */
bottom: var(--window-bottom);
}
.footer .checkAll {
@@ -1224,7 +1492,16 @@
text-align: center;
line-height: 60rpx;
}
.btn_cart_color{
font-size: 14px;
border-radius: 25px;
width: 80px;
height: 30px;
text-align: center;
line-height: 30px;
@include coupons_border_color(theme);
@include main_color(theme);
}
.footer .button form~form {
margin-left: 17rpx;
}
@@ -1232,17 +1509,20 @@
.uni-p-b-96 {
height: 96rpx;
}
.my_nav {
/* #ifdef MP-WEIXIN */
top: calc(44px + 88rpx + 50rpx) !important;
// background-color: #00aaff;
/* #endif */
/deep/ checkbox .uni-checkbox-input.uni-checkbox-input-checked {
@include main_bg_color(theme);
border: none !important;
color: #fff!important
}
.my_nav_top{
/* #ifdef MP-WEIXIN */
margin-top: calc(44px + 88rpx + 30rpx + 105rpx) !important;
// background-color: #00aaff;
/* #endif */
/deep/ checkbox .wx-checkbox-input.wx-checkbox-input-checked {
@include main_bg_color(theme);
border: none !important;
color: #fff!important;
margin-right: 0 !important;
}
.bottom-custom{
bottom: calc(98rpx+ constant(safe-area-inset-bottom)); ///兼容 IOS<11.2/
bottom: calc(98rpx + env(safe-area-inset-bottom)); ///兼容 IOS>11.2/
}
</style>