关于flutter中购物车会话逻辑的问题

问题描述 投票:0回答:1

目前我正在开发flutter电商应用程序。在其中添加将商品添加到购物车的逻辑,因为我从产品页面获取商品并将其添加到购物车页面中。但是,一旦我从购物车页面导航回产品页面,购物车中就有可用的商品,但是,当我再次导航回任何其他页面并再次访问购物车页面时,购物车就会变空。而且我还想从主页授予对购物车的访问权限,以便当我单击主页上的购物车选项时显示添加到购物车中的产品。这是我的问题,如何管理 cartitems 商店会话整个项目。

我通过共享偏好进行了尝试,我希望通过共享偏好获得结果

flutter flutter-dependencies
1个回答
0
投票

我认为要管理购物车项目,您可以使用 Flutter 电子商务应用程序中的共享首选项来存储会话。您可以编写一个服务类,您可以像这样处理它:

class CartService {
  static const _key = 'cart_items';

  /// Here save the cart items to shared preferences
  static Future<void> saveCartItems(List<CartItem> cartItems) async {
    final prefs = await SharedPreferences.getInstance();
    final jsonList = cartItems.map((item) => item.toJson()).toList();
    await prefs.setString(_key, json.encode(jsonList));
  }

  /// Here retrieve the cart items from shared preferences
  static Future<List<CartItem>> getCartItems() async {
    final prefs = await SharedPreferences.getInstance();
    final jsonString = prefs.getString(_key);
    if (jsonString != null) {
      final jsonList = json.decode(jsonString) as List<dynamic>;
      return jsonList.map((json) => CartItem.fromJson(json)).toList();
    }
    return [];
  }
}

我将您的购物车的数据视为我正在保存和检索的CartItem模型。

© www.soinside.com 2019 - 2024. All rights reserved.