fix(runtime): add_remove_button cartInfo 误加 ! (nullfix 脚本) -> 去掉. getCartInfoByBusiness 返回可空, 购物车空时 ! 崩溃 -> AddRemoveButton build L197 Unexpected null value. 修复 /shop 商品列表和 /checkout lineItem 的 +/- 按钮崩溃

This commit is contained in:
2026-08-01 02:22:26 +08:00
parent 4da7fb32de
commit 639d2033f0
2 changed files with 4 additions and 6 deletions

View File

@@ -288,13 +288,11 @@ class DesktopCheckoutState extends State<DesktopCheckout> with SingleTickerProvi
} }
Widget mainBody() { Widget mainBody() {
final _bi = cartInfo?.businessInfo;
print('CK_DEBUG: bi=${_bi != null} shipTime=${_bi?.shippingTime} addr=${_bi?.address != null} name=${_bi?.name}');
return ListView.builder( return ListView.builder(
itemCount: 6, itemCount: 6,
addAutomaticKeepAlives: true, addAutomaticKeepAlives: true,
itemBuilder: (BuildContext context, int position) { itemBuilder: (BuildContext context, int position) {
var deliveryTimeInSeconds = (_bi?.shippingTime ?? 0) * 60 + (durationInTraffic != null ? durationInTraffic!.value ?? 0 : 0); var deliveryTimeInSeconds = (cartInfo!.businessInfo!.shippingTime ?? 0) * 60 + (durationInTraffic != null ? durationInTraffic!.value ?? 0 : 0);
print('aaa: $deliveryTimeInSeconds'); print('aaa: $deliveryTimeInSeconds');
DateTime now = DateTime.now(); DateTime now = DateTime.now();
var formatter = DateFormat('H:mm'); var formatter = DateFormat('H:mm');

View File

@@ -61,7 +61,7 @@ class AddRemoveButtonState extends State<AddRemoveButton> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (widget.product!.leftNum == null) { if (widget.product!.leftNum == null) {
_qty = 0; _qty = 0;
cartInfo = Utils.getCartInfoByBusiness(store.state.cartInfos, widget.business!)!; cartInfo = Utils.getCartInfoByBusiness(store.state.cartInfos, widget.business!);
if (cartInfo != null) { if (cartInfo != null) {
for (var i = 0; i < cartInfo!.productList!.length; i++) { for (var i = 0; i < cartInfo!.productList!.length; i++) {
if (cartInfo!.productList![i].product!.id == widget.product!.id if (cartInfo!.productList![i].product!.id == widget.product!.id
@@ -102,7 +102,7 @@ class AddRemoveButtonState extends State<AddRemoveButton> {
} }
if (widget.addToBasket) { if (widget.addToBasket) {
_qty = 0; _qty = 0;
cartInfo = Utils.getCartInfoByBusiness(store.state.cartInfos, widget.business!)!; cartInfo = Utils.getCartInfoByBusiness(store.state.cartInfos, widget.business!);
if (cartInfo != null) { if (cartInfo != null) {
for (var i = 0; i < cartInfo!.productList!.length; i++) { for (var i = 0; i < cartInfo!.productList!.length; i++) {
if (cartInfo!.productList![i].product!.id == widget.product!.id) { if (cartInfo!.productList![i].product!.id == widget.product!.id) {
@@ -194,7 +194,7 @@ class AddRemoveButtonState extends State<AddRemoveButton> {
); );
} else { } else {
_qty = 0; _qty = 0;
cartInfo = Utils.getCartInfoByBusiness(store.state.cartInfos, widget.business!)!; cartInfo = Utils.getCartInfoByBusiness(store.state.cartInfos, widget.business!);
if (cartInfo != null) { if (cartInfo != null) {
for (var i = 0; i < cartInfo!.productList!.length; i++) { for (var i = 0; i < cartInfo!.productList!.length; i++) {
if (cartInfo!.productList![i].product!.id == widget.product!.id) { if (cartInfo!.productList![i].product!.id == widget.product!.id) {