@@ -62,13 +62,13 @@ export default {
62
62
stock
63
63
} ) {
64
64
let cart = state . cartList ;
65
- if ( cart [ shopid ] && cart [ shopid ] [ category_id ] && cart [ shopid ] [ category_id ] [ item_id ] && cart [ shopid ] [ category_id ] [ item_id ] [ food_id ] ) {
66
- cart [ shopid ] [ category_id ] [ item_id ] [ food_id ] [ 'num' ] ++ ;
65
+ let shop = cart [ shopid ] = ( cart [ shopid ] || { } ) ;
66
+ let category = shop [ category_id ] = ( shop [ category_id ] || { } ) ;
67
+ let item = category [ item_id ] = ( category [ item_id ] || { } ) ;
68
+ if ( item [ food_id ] ) {
69
+ item [ food_id ] [ 'num' ] ++ ;
67
70
} else {
68
- cart [ shopid ] = ( cart [ shopid ] || { } ) ;
69
- cart [ shopid ] [ category_id ] = ( cart [ shopid ] [ category_id ] || { } ) ;
70
- cart [ shopid ] [ category_id ] [ item_id ] = ( cart [ shopid ] [ category_id ] [ item_id ] || { } ) ;
71
- cart [ shopid ] [ category_id ] [ item_id ] [ food_id ] = {
71
+ item [ food_id ] = {
72
72
"num" : 1 ,
73
73
"id" : food_id ,
74
74
"name" : name ,
@@ -94,15 +94,18 @@ export default {
94
94
specs,
95
95
} ) {
96
96
let cart = state . cartList ;
97
- if ( cart [ shopid ] && cart [ shopid ] [ category_id ] && cart [ shopid ] [ category_id ] [ item_id ] && cart [ shopid ] [ category_id ] [ item_id ] [ food_id ] ) {
98
- if ( cart [ shopid ] [ category_id ] [ item_id ] [ food_id ] [ 'num' ] > 0 ) {
99
- cart [ shopid ] [ category_id ] [ item_id ] [ food_id ] [ 'num' ] -- ;
97
+ let shop = cart [ shopid ] = ( cart [ shopid ] || { } ) ;
98
+ let category = shop [ category_id ] = ( shop [ category_id ] || { } ) ;
99
+ let item = category [ item_id ] = ( category [ item_id ] || { } ) ;
100
+ if ( item ) {
101
+ if ( item [ food_id ] [ 'num' ] > 0 ) {
102
+ item [ food_id ] [ 'num' ] -- ;
100
103
state . cartList = { ...cart } ;
101
104
//存入localStorage
102
105
setStore ( 'buyCart' , state . cartList ) ;
103
106
} else {
104
107
//商品数量为0,则清空当前商品的信息
105
- cart [ shopid ] [ category_id ] [ item_id ] [ food_id ] = null ;
108
+ item [ food_id ] = null ;
106
109
}
107
110
}
108
111
} ,
0 commit comments