收藏
回答

B页面setStorageSync app.js里getStorageSyn

app.js里的代码

onLaunch: function () {

that.timer = setInterval(function () {

that.getCartTotalNum(that)

}, 100);

},

getCartTotalNum: function () {

let carts = wx.getStorageSync('goods_cart');//这里的值不会改变

let cartTotalNum = 0

if (carts.stock) {

let stock = carts.stock.split(',');

for (var i = 0; i < stock.length; i++) {

let se = stock[i].split('|');

cartTotalNum += parseInt(se[1])

}

}

if (carts.vendor) {

let vendor = carts.vendor.split(',');

for (var i = 0; i < vendor.length; i++) {

let se = vendor[i].split('|');

cartTotalNum += parseInt(se[1])

}

}

if (carts.clear) {

let clear = carts.clear.split(',');

for (var i = 0; i < clear.length; i++) {

let se = clear[i].split('|');

cartTotalNum += parseInt(se[1])

}

}

if (carts.second) {

let second = carts.second.split(',');

for (var i = 0; i < second.length; i++) {

let se = second[i].split('|');

cartTotalNum += parseInt(se[1])

}

}

if (cartTotalNum > 0) {   //判断购物车的数量个数,购物车如果为空就走else

cartTotalNum = cartTotalNum > 99 ? '99+' : cartTotalNum;

wx.setTabBarBadge({ //购物车不为空 ,给购物车的tabar右上角添加购物车数量标志

index: 2,           //标志添加位置

text: "" + cartTotalNum + ""        //通过编译,将购物车总数量放到这里

})

} else {//购物车为空

wx.removeTabBarBadge({    //移除指定位置的tabbar右上角的标志

index: 2,

})

}

},

B页面赋值

getCartList:function(){

var that = this;

var ids = wx.getStorageSync('goods_cart');

if(!ids){

ids = app.globalData.cartType

}

let param = {};

param.openid = app.globalData.openId;

param.cart_ids = JSON.stringify(ids);

app.httpClient.post('api_v2/cart/all',param)

.then(res=>{

wx.hideLoading();

let list = res.data.msg;

that.setData({

cartList: list,       //将取反后的集合setData到我们的Data

isCarts: !list.goods.length && !list.vendor.length && !list.second.length && !list.clear.length?true:false,

selectAllStatus: true, totalMoney: 0.00,totalNum: 0,

selectGoodsStatus: true, selectVendorStatus: true, selectSecondStatus: true, selectClearStatus: true, isEdit: true, editText: '编辑商品',

});

let carts = app.globalData.cartType;

if(list.goods.length>0){

let st = '';

for(var i = 0 ;i<list.goods.length;i++){

st += list.goods[i].spec_id + '|' + list.goods[i].goods_num + '' + ','

}

st = st.substr(0,st.length-1);

carts.stock = st;

}

if (list.vendor.length > 0) {

let ve = '';

for (var i = 0; i < list.vendor.length; i++) {

ve += list.vendor[i].spec_id + '|' + list.vendor[i].goods_num + '' + ','

}

ve = ve.substr(0, ve.length - 1);

carts.vendor = ve;

}

if (list.clear.length > 0) {

let cl = '';

for (var i = 0; i < list.clear.length; i++) {

cl += list.clear[i].spec_id + '|' + list.clear[i].goods_num + '' + ','

}

cl = cl.substr(0, cl.length - 1);

carts.clear = cl;

}

if (list.second.length > 0) {

let se = '';

for (var i = 0; i < list.second.length; i++) {

se += list.second[i].spec_id + '|' + list.second[i].goods_num + '' + ','

}

se = se.substr(0, se.length - 1);

carts.second = se;

}

wx.setStorageSync('goods_cart', carts);

that.getTotalMoney();

})

.catch(res=>{})

}





回答关注问题邀请回答
收藏

1 个回答

  • 灵芝
    灵芝
    2019-06-17

    是需要反馈什么问题?

    2019-06-17
    有用
    回复
登录 后发表内容