phase3(foundation): http_util dio5 migration + null-safe models

- http_util.dart: dio4->5 (DioException, nullable params, drop unused statusCode,
  null-safe e.response!.data), countryCode ?? ''
- models/* (39 files): make all instance fields nullable (fromJson initializer-list
  pattern forces nullable); fix internal method usages (cart_info/cart_line_item/
  order/shipping_rate) with !/??
- models/ now passes dart analyze with 0 errors

Widget-level null-safety + remaining utils/store continue in next batch.
This commit is contained in:
2026-07-24 03:45:01 +08:00
parent 1a578c925d
commit 4f9aa4f683
40 changed files with 382 additions and 389 deletions

View File

@@ -8,30 +8,30 @@ import 'product_attribute.dart';
import 'product_image.dart';
class ProductDetail {
int id;
String image;
List<ProductImage> images;
String sku;
String name;
double price;
double regularPrice;
String description;
String description2;
String detailDescription;
double monthSales;
int rate;
double leftNum;
List<ProductAttribute> productAttributes;
bool nonInventory;
String extraData;
String purchaseNote;
double weight;
double dimentionsLength;
double dimentionsWidth;
double dimentionsHeight;
bool reviewsAllowed;
List<Category> categories;
List<Subproduct> subproducts;
int? id;
String? image;
List<ProductImage>? images;
String? sku;
String? name;
double? price;
double? regularPrice;
String? description;
String? description2;
String? detailDescription;
double? monthSales;
int? rate;
double? leftNum;
List<ProductAttribute>? productAttributes;
bool? nonInventory;
String? extraData;
String? purchaseNote;
double? weight;
double? dimentionsLength;
double? dimentionsWidth;
double? dimentionsHeight;
bool? reviewsAllowed;
List<Category>? categories;
List<Subproduct>? subproducts;
ProductDetail.fromJson(Map<String, dynamic> json)
: id = json['id'],