diff --git a/lib/pages/goods_details_page/bloc/goods_details_page_repository.dart b/lib/pages/goods_details_page/bloc/goods_details_page_repository.dart index 96f4fb6..0136749 100644 --- a/lib/pages/goods_details_page/bloc/goods_details_page_repository.dart +++ b/lib/pages/goods_details_page/bloc/goods_details_page_repository.dart @@ -49,9 +49,14 @@ class GoodsDetailsPageRepository { try { String provider = model['provider']; String goodId = model['good_id']; + String pvd = model['pvd']; if (!EmptyUtil.isEmpty(provider) && !EmptyUtil.isEmpty(goodId)) { - Logger.log('商品类型 = $provider, 商品ID = $goodId'); - var result = await NetUtil.post('/api/v1/detail/$provider/$goodId', method: NetMethod.GET); + Logger.log('商品类型 = $provider, 商品ID = $goodId, pvd = $pvd'); + String reqUrl = '/api/v1/detail/$provider/$goodId'; + if(!EmptyUtil.isEmpty(pvd)) { + reqUrl = reqUrl + '?pvd=$pvd'; + } + var result = await NetUtil.post(reqUrl, method: NetMethod.GET); if (NetUtil.isSuccess(result) && !EmptyUtil.isEmpty(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA])) { return _baseDataProcess(false, goodId, provider, result[GlobalConfig.HTTP_RESPONSE_KEY_DATA], null); } diff --git a/lib/widgets/custom/multi_nav/custom_quick_entry.dart b/lib/widgets/custom/multi_nav/custom_quick_entry.dart index f19c67f..c97c9d2 100644 --- a/lib/widgets/custom/multi_nav/custom_quick_entry.dart +++ b/lib/widgets/custom/multi_nav/custom_quick_entry.dart @@ -22,8 +22,7 @@ class CustomQuickEntry extends StatelessWidget { Widget build(BuildContext context) { return BlocProvider( create: (_) { - return CustomQuickEntryBloc(repository: CustomQuickEntryRepository()) - ..add(CustomQuickEntryInitEvent(model: model)); + return CustomQuickEntryBloc(repository: CustomQuickEntryRepository())..add(CustomQuickEntryInitEvent(model: model)); }, child: _CustomQuickEntryContainer(model), ); @@ -39,8 +38,7 @@ class _CustomQuickEntryContainer extends StatefulWidget { __CustomQuickEntryContainerState createState() => __CustomQuickEntryContainerState(); } -class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> - with TickerProviderStateMixin, AutomaticKeepAliveClientMixin { +class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> with TickerProviderStateMixin, AutomaticKeepAliveClientMixin { /// Icon点击事件 void _itemIconClick(ListStyle model) { print("item type = ${model.skipIdentifier}"); @@ -81,9 +79,7 @@ class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> } if (state is CustomQuickEntryLoadedState) { if (state.model.isShowCategory == "1") { - return CustomQuickCateEntry( - model: state.model, - ); + return CustomQuickCateEntry(model: state.model); } else { return _getMainWidget(state.model); } @@ -119,6 +115,9 @@ class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> // 图标的高度 double iconHeight = 40.0; + if (model?.isShowCornerIcon == '1') { + iconHeight = 43.5; + } // 标题的高度 double titleHeight = 21.0; @@ -138,16 +137,12 @@ class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> // 进度条的边距 double barMargin = 15.0; // 总页数 - int totalPage = totalDataSize % (totalRowSize * columSize) == 0 - ? totalDataSize ~/ (totalRowSize * columSize) - : (totalDataSize ~/ (totalRowSize * columSize)) + 1; + int totalPage = totalDataSize % (totalRowSize * columSize) == 0 ? totalDataSize ~/ (totalRowSize * columSize) : (totalDataSize ~/ (totalRowSize * columSize)) + 1; Logger.log('totalPage = ' + totalPage?.toString()); // 总体高度 = 行数 * (子元素高度 + 边距高度) + 进度条的高度 double totalHeight = totalRowSize * (itemHeight + barMargin); - if (totalPage > 1 && - !EmptyUtil.isEmpty(model?.pagination) && - model.pagination != 'type_null' /*model.pagination_open == '0'*/) { + if (totalPage > 1 && !EmptyUtil.isEmpty(model?.pagination) && model.pagination != 'type_null' /*model.pagination_open == '0'*/) { totalHeight = totalRowSize * (itemHeight + barMargin) + 8; } @@ -167,28 +162,21 @@ class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> totalHeight = totalHeight + moduleTitleHeight; } - double marginLeftRight = model?.isLeftRightMargin == "1" - ? double.tryParse(model?.leftRightMargin ?? "0") - : 0; - double marginTop = - model?.isTopMargin == "1" ? double.tryParse(model?.topMargin ?? "0") : 0; + double marginLeftRight = model?.isLeftRightMargin == "1" ? double.tryParse(model?.leftRightMargin ?? "0") : 0; + double marginTop = model?.isTopMargin == "1" ? double.tryParse(model?.topMargin ?? "0") : 0; return Container( - margin: - EdgeInsets.only(top: marginTop, left: marginLeftRight, right: marginLeftRight), + margin: EdgeInsets.only(top: marginTop, left: marginLeftRight, right: marginLeftRight), decoration: BoxDecoration( color: HexColor.fromHex(model?.bgColor ?? ''), //color: Colors.green, borderRadius: BorderRadius.only( topRight: Radius.circular(ParseUtil.stringParseDouble(model?.topRightRadius)), topLeft: Radius.circular(ParseUtil.stringParseDouble(model?.topLeftRadius)), - bottomLeft: - Radius.circular(ParseUtil.stringParseDouble(model?.bottomLeftRadius)), - bottomRight: - Radius.circular(ParseUtil.stringParseDouble(model?.bottomRightRadius)), + bottomLeft: Radius.circular(ParseUtil.stringParseDouble(model?.bottomLeftRadius)), + bottomRight: Radius.circular(ParseUtil.stringParseDouble(model?.bottomRightRadius)), )), child: Container( - margin: - EdgeInsets.only(top: !hasCategory ? 15 : 0, bottom: totalPage > 1 ? 8 : 0), + margin: EdgeInsets.only(top: !hasCategory ? 15 : 0, bottom: totalPage > 1 ? 8 : 0), height: totalHeight, // 总体高度 width: double.infinity, @@ -201,20 +189,14 @@ class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> visible: !EmptyUtil.isEmpty(model?.moduleTitleName), child: Padding( padding: const EdgeInsets.only(left: 12.5, bottom: 10), - child: Text(model?.moduleTitleName ?? '', - style: TextStyle( - color: HexColor.fromHex(model?.moduleTitleColor), - fontWeight: FontWeight.bold, - fontSize: 15))), + child: Text(model?.moduleTitleName ?? '', style: TextStyle(color: HexColor.fromHex(model?.moduleTitleColor), fontWeight: FontWeight.bold, fontSize: 15))), ), // icon Expanded( child: Container( width: double.infinity, - height: hasCategory - ? totalHeight - categoryHeight - categoryBottomMargin - : totalHeight, + height: hasCategory ? totalHeight - categoryHeight - categoryBottomMargin : totalHeight, child: Swiper( controller: _controller, itemCount: totalPage, @@ -237,9 +219,7 @@ class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> ), ); }, - pagination: totalPage <= 1 - ? null - : _getSwiperPaginationContorl(model, totalPage), + pagination: totalPage <= 1 ? null : _getSwiperPaginationContorl(model, totalPage), ), ), ) @@ -310,15 +290,7 @@ class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> /// 页的数据 Widget _getPageWidget( - {double titleHeight, - double iconHeight, - int totalPage, - int currentPage, - int columSize, - int totalRowSize, - int totalDataSize, - CustomQuickEntryModel model, - double itemHeight}) { + {double titleHeight, double iconHeight, int totalPage, int currentPage, int columSize, int totalRowSize, int totalDataSize, CustomQuickEntryModel model, double itemHeight}) { List rowList = []; for (int i = 0; i < totalRowSize; i++) { rowList.add(i); @@ -404,8 +376,7 @@ class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> // currentColum + currentRow * columSize; // 当前元素的下表 = 当前的列数 + 当前的行数 * 列数 + 当前的页数 * 当前的行数 + 当前的列数 - int currentIndex = - currentColum + currentRow * columSize + currentPage * totalRowSize * columSize; + int currentIndex = currentColum + currentRow * columSize + currentPage * totalRowSize * columSize; // print('current Index sss = $currentIndex'); @@ -422,17 +393,29 @@ class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> behavior: HitTestBehavior.opaque, onTap: () { _itemIconClick(item); - }, + }, child: Container( + padding: EdgeInsets.only(top: model?.isShowCornerIcon == '1' ? 3 : 0), height: itemHeight, width: 60, // color: Colors.red, child: Column( children: [ /// 图标 - MyNetWorkImage( - item.img, - width: 40, + Stack( + children: [ + /// 图标 + Center( + child: MyNetWorkImage( + item.img, + width: 40, + ), + ), + /// 小角标 + Visibility( + visible: model?.isShowCornerIcon == '1', + child: Align(alignment: Alignment.topRight, child: Transform.translate( offset: Offset(7, -3) ,child: MyNetWorkImage(item?.rightIcon, width: 30)))) + ], ), /// 一级标题 @@ -442,22 +425,19 @@ class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> padding: const EdgeInsets.only(top: 5), child: Text( item?.title ?? '', - style: - TextStyle(fontSize: 12, color: HexColor.fromHex(model?.titleColor)), + style: TextStyle(fontSize: 12, color: HexColor.fromHex(model?.titleColor)), ), ), ), /// 二级标题 Visibility( - visible: !EmptyUtil.isEmpty(model?.isShowSubTitle) && - model.isShowSubTitle == '1', + visible: !EmptyUtil.isEmpty(model?.isShowSubTitle) && model.isShowSubTitle == '1', child: Padding( padding: const EdgeInsets.only(top: 5), child: Text( item?.subTitle ?? '', - style: TextStyle( - fontSize: 10, color: HexColor.fromHex(model?.subTitleColor)), + style: TextStyle(fontSize: 10, color: HexColor.fromHex(model?.subTitleColor)), ), ), ) @@ -469,8 +449,7 @@ class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> /// 进度条 SwiperPlugin _getSwiperPaginationContorl(CustomQuickEntryModel model, int pageCount) { - if (EmptyUtil.isEmpty(model?.pagination) || - model.pagination == 'type_null' /*model.pagination_open == '0'*/) { + if (EmptyUtil.isEmpty(model?.pagination) || model.pagination == 'type_null' /*model.pagination_open == '0'*/) { return null; } @@ -487,11 +466,7 @@ class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> SwiperPagination _swiperPaginationDot(CustomQuickEntryModel model) { return SwiperPagination( margin: const EdgeInsets.only(), - builder: DotSwiperPaginationBuilder( - color: HexColor.fromHex(model?.paginationUnselectColor), - activeColor: HexColor.fromHex(model?.paginationSelectColor), - size: 8, - activeSize: 8)); + builder: DotSwiperPaginationBuilder(color: HexColor.fromHex(model?.paginationUnselectColor), activeColor: HexColor.fromHex(model?.paginationSelectColor), size: 8, activeSize: 8)); } // 自定义进度条 条形 @@ -501,8 +476,7 @@ class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> list.add(i); } - return SwiperCustomPagination( - builder: (BuildContext context, SwiperPluginConfig config) { + return SwiperCustomPagination(builder: (BuildContext context, SwiperPluginConfig config) { return Align( alignment: Alignment(0.0, 1), child: Row( @@ -511,12 +485,10 @@ class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> children: list.map((index) { var borderRadius; if (index == 0) { - borderRadius = BorderRadius.only( - topLeft: Radius.circular(2), bottomLeft: Radius.circular(2)); + borderRadius = BorderRadius.only(topLeft: Radius.circular(2), bottomLeft: Radius.circular(2)); } if (index == list.length - 1) { - borderRadius = BorderRadius.only( - topRight: Radius.circular(2), bottomRight: Radius.circular(2)); + borderRadius = BorderRadius.only(topRight: Radius.circular(2), bottomRight: Radius.circular(2)); } if (index == config.activeIndex) { @@ -526,11 +498,7 @@ class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> return Container( height: 4, width: 25, - decoration: BoxDecoration( - borderRadius: borderRadius, - color: index == config.activeIndex - ? HexColor.fromHex('#FF4242') - : HexColor.fromHex('#FFFFFF')), + decoration: BoxDecoration(borderRadius: borderRadius, color: index == config.activeIndex ? HexColor.fromHex('#FF4242') : HexColor.fromHex('#FFFFFF')), ); }).toList(), ), @@ -569,12 +537,9 @@ class CustomQuickCateEntry extends StatefulWidget { _CustomQuickCateEntryState createState() => _CustomQuickCateEntryState(); } -class _CustomQuickCateEntryState extends State - with TickerProviderStateMixin, AutomaticKeepAliveClientMixin { +class _CustomQuickCateEntryState extends State with TickerProviderStateMixin, AutomaticKeepAliveClientMixin { TabController tabController; - - bool isOnTap = false; Timer onTapTimer; @@ -585,15 +550,12 @@ class _CustomQuickCateEntryState extends State @override void initState() { - if (widget?.model != null) { - tabController = - TabController(length: widget?.model?.typeList?.length ?? 0, vsync: this); + tabController = TabController(length: widget?.model?.typeList?.length ?? 0, vsync: this); tabController.addListener(() {}); } _controller = SwiperController(); - super.initState(); } @@ -660,7 +622,10 @@ class _CustomQuickCateEntryState extends State print("行数" + totalRowSize.toString()); // 图标的高度 - double iconHeight = 40; + double iconHeight = 40.0; + if (model?.isShowCornerIcon == '1') { + iconHeight = 43.5; + } // 标题的高度 double titleHeight = 21.0; @@ -680,16 +645,12 @@ class _CustomQuickCateEntryState extends State // 进度条的边距 double barMargin = 10.0; // 总页数 - int totalPage = totalDataSize % (totalRowSize * columSize) == 0 - ? totalDataSize ~/ (totalRowSize * columSize) - : (totalDataSize ~/ (totalRowSize * columSize)) + 1; + int totalPage = totalDataSize % (totalRowSize * columSize) == 0 ? totalDataSize ~/ (totalRowSize * columSize) : (totalDataSize ~/ (totalRowSize * columSize)) + 1; Logger.log('totalPage = ' + totalPage?.toString()); // 总体高度 = 行数 * (子元素高度 + 边距高度) + 进度条的高度 double totalHeight = totalRowSize * (itemHeight + barMargin); - if (totalPage > 1 && - !EmptyUtil.isEmpty(model?.pagination) && - model.pagination != 'type_null' /*model.pagination_open == '0'*/) { + if (totalPage > 1 && !EmptyUtil.isEmpty(model?.pagination) && model.pagination != 'type_null' /*model.pagination_open == '0'*/) { totalHeight = totalRowSize * (itemHeight + barMargin) + 6; } @@ -709,11 +670,8 @@ class _CustomQuickCateEntryState extends State totalHeight = totalHeight + moduleTitleHeight; } - double marginLeftRight = model?.isLeftRightMargin == "1" - ? double.tryParse(model?.leftRightMargin ?? "0") - : 0; - double marginTop = - model?.isTopMargin == "1" ? double.tryParse(model?.topMargin ?? "0") : 0; + double marginLeftRight = model?.isLeftRightMargin == "1" ? double.tryParse(model?.leftRightMargin ?? "0") : 0; + double marginTop = model?.isTopMargin == "1" ? double.tryParse(model?.topMargin ?? "0") : 0; int currentTypeIndex = 0; @@ -725,9 +683,7 @@ class _CustomQuickCateEntryState extends State } if (item.listStyle.length > totalRowSize) { - for (int index = 0; - index < (item.listStyle.length / (columSize * totalRowSize)).ceil(); - index++) { + for (int index = 0; index < (item.listStyle.length / (columSize * totalRowSize)).ceil(); index++) { var list = List(); var startIndex = index * columSize * totalRowSize; for (var i = 0; i < columSize * totalRowSize; i++) { @@ -746,18 +702,15 @@ class _CustomQuickCateEntryState extends State } return Container( - margin: - EdgeInsets.only(top: marginTop, left: marginLeftRight, right: marginLeftRight), + margin: EdgeInsets.only(top: marginTop, left: marginLeftRight, right: marginLeftRight), decoration: BoxDecoration( color: HexColor.fromHex(model?.bgColor ?? ''), //color: Colors.green, borderRadius: BorderRadius.only( topRight: Radius.circular(ParseUtil.stringParseDouble(model?.topRightRadius)), topLeft: Radius.circular(ParseUtil.stringParseDouble(model?.topLeftRadius)), - bottomLeft: - Radius.circular(ParseUtil.stringParseDouble(model?.bottomLeftRadius)), - bottomRight: - Radius.circular(ParseUtil.stringParseDouble(model?.bottomRightRadius)), + bottomLeft: Radius.circular(ParseUtil.stringParseDouble(model?.bottomLeftRadius)), + bottomRight: Radius.circular(ParseUtil.stringParseDouble(model?.bottomRightRadius)), )), child: Container( height: totalHeight + (totalRowSize * 5) + 5 + 5, @@ -795,8 +748,7 @@ class _CustomQuickCateEntryState extends State controller: tabController, indicatorSize: TabBarIndicatorSize.label, indicatorColor: Colors.transparent, - indicator: - BubbleTabIndicator(indicatorColor: HexColor.fromHex("#FF4242")), + indicator: BubbleTabIndicator(indicatorColor: HexColor.fromHex("#FF4242")), ), ) : Container(), @@ -841,9 +793,7 @@ class _CustomQuickCateEntryState extends State _buildTab(CustomQuickEntryModel model, int columSize, double marginLeft) { List listWidget = List(); - var maxWidth = - ((MediaQuery.of(context).size.width - marginLeft * 2) - (32 * columSize)) / - columSize; + var maxWidth = ((MediaQuery.of(context).size.width - marginLeft * 2) - (32 * columSize)) / columSize; print("测试" + columSize.toString()); for (var item in model?.typeList) { listWidget.add(Tab( @@ -858,15 +808,7 @@ class _CustomQuickCateEntryState extends State /// 获取有分类页 _getCategoryPageWidget( - {double titleHeight, - double iconHeight, - int totalPage, - int currentPage, - int columSize, - int totalRowSize, - int totalDataSize, - CustomQuickEntryModel model, - double itemHeight}) { + {double titleHeight, double iconHeight, int totalPage, int currentPage, int columSize, int totalRowSize, int totalDataSize, CustomQuickEntryModel model, double itemHeight}) { List rowList = []; for (int i = 0; i < totalRowSize; i++) { rowList.add(i); @@ -970,16 +912,28 @@ class _CustomQuickCateEntryState extends State behavior: HitTestBehavior.opaque, onTap: () => _itemIconClick(item), child: Container( + padding: EdgeInsets.only(top: model?.isShowCornerIcon == '1' ? 3 : 0), height: itemHeight, width: 60, // color: Colors.red, child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ - /// 图标 - MyNetWorkImage( - item.img, - width: 40, + + Stack( + children: [ + /// 图标 + Center( + child: MyNetWorkImage( + item.img, + width: 40, + ), + ), + /// 小角标 + Visibility( + visible: model?.isShowCornerIcon == '1', + child: Align(alignment: Alignment.topRight, child: Transform.translate( offset: Offset(7, -3) ,child: MyNetWorkImage(item?.rightIcon, width: 30)))) + ], ), /// 一级标题 @@ -989,22 +943,19 @@ class _CustomQuickCateEntryState extends State padding: const EdgeInsets.only(top: 2), child: Text( item?.title ?? '', - style: - TextStyle(fontSize: 12, color: HexColor.fromHex(model?.titleColor)), + style: TextStyle(fontSize: 12, color: HexColor.fromHex(model?.titleColor)), ), ), ), /// 二级标题 Visibility( - visible: !EmptyUtil.isEmpty(model?.isShowSubTitle) && - model.isShowSubTitle == '1', + visible: !EmptyUtil.isEmpty(model?.isShowSubTitle) && model.isShowSubTitle == '1', child: Padding( padding: const EdgeInsets.only(top: 0), child: Text( item?.subTitle ?? '', - style: TextStyle( - fontSize: 10, color: HexColor.fromHex(model?.subTitleColor)), + style: TextStyle(fontSize: 10, color: HexColor.fromHex(model?.subTitleColor)), ), ), ) @@ -1023,8 +974,7 @@ class _CustomQuickCateEntryState extends State /// 进度条 SwiperPlugin _getSwiperPaginationContorl(CustomQuickEntryModel model, int pageCount) { - if (EmptyUtil.isEmpty(model?.pagination) || - model.pagination == 'type_null' /*model.pagination_open == '0'*/) { + if (EmptyUtil.isEmpty(model?.pagination) || model.pagination == 'type_null' /*model.pagination_open == '0'*/) { return null; } @@ -1042,11 +992,7 @@ class _CustomQuickCateEntryState extends State return SwiperPagination( margin: const EdgeInsets.only(), builder: DotSwiperPaginationBuilder( - space: 2, - color: HexColor.fromHex(model?.paginationUnselectColor), - activeColor: HexColor.fromHex(model?.paginationSelectColor), - size: 6, - activeSize: 7)); + space: 2, color: HexColor.fromHex(model?.paginationUnselectColor), activeColor: HexColor.fromHex(model?.paginationSelectColor), size: 6, activeSize: 7)); } // 自定义进度条 条形 @@ -1055,8 +1001,7 @@ class _CustomQuickCateEntryState extends State for (int i = 0; i < pageCount; i++) { list.add(i); } - return SwiperCustomPagination( - builder: (BuildContext context, SwiperPluginConfig config) { + return SwiperCustomPagination(builder: (BuildContext context, SwiperPluginConfig config) { return Align( alignment: Alignment(0.0, 1), child: Row( @@ -1065,12 +1010,10 @@ class _CustomQuickCateEntryState extends State children: list.map((index) { var borderRadius; if (index == 0) { - borderRadius = BorderRadius.only( - topLeft: Radius.circular(2), bottomLeft: Radius.circular(2)); + borderRadius = BorderRadius.only(topLeft: Radius.circular(2), bottomLeft: Radius.circular(2)); } if (index == list.length - 1) { - borderRadius = BorderRadius.only( - topRight: Radius.circular(2), bottomRight: Radius.circular(2)); + borderRadius = BorderRadius.only(topRight: Radius.circular(2), bottomRight: Radius.circular(2)); } if (index == config.activeIndex) { @@ -1079,13 +1022,9 @@ class _CustomQuickCateEntryState extends State return Container( height: 4, - width: 8, - + width: 8, decoration: BoxDecoration( - borderRadius: borderRadius, - color: index == config.activeIndex - ? HexColor.fromHex(model.paginationSelectColor) - : HexColor.fromHex(model.paginationUnselectColor)), + borderRadius: borderRadius, color: index == config.activeIndex ? HexColor.fromHex(model.paginationSelectColor) : HexColor.fromHex(model.paginationUnselectColor)), ); }).toList(), ), @@ -1094,7 +1033,6 @@ class _CustomQuickCateEntryState extends State } @override - // TODO: implement wantKeepAlive bool get wantKeepAlive => true; } diff --git a/lib/widgets/home/home_goods/models/home_goods_model.dart b/lib/widgets/home/home_goods/models/home_goods_model.dart index 563b860..bf48c19 100644 --- a/lib/widgets/home/home_goods/models/home_goods_model.dart +++ b/lib/widgets/home/home_goods/models/home_goods_model.dart @@ -12,6 +12,7 @@ class HomeGoodsModel extends Equatable { String marketPrice; String currentPrice; String inorderCount; + String pvd; Map detailData; HomeGoodsModel({ @@ -27,6 +28,7 @@ class HomeGoodsModel extends Equatable { this.currentPrice, this.inorderCount, this.detailData, + this.pvd, }); HomeGoodsModel.fromJson(Map json) { @@ -42,6 +44,7 @@ class HomeGoodsModel extends Equatable { currentPrice = json['current_price']; inorderCount = json['inorder_count']; detailData = json['detail_data']; + pvd = json['pvd']; } void fromJson(Map json) { @@ -57,6 +60,7 @@ class HomeGoodsModel extends Equatable { currentPrice = json['current_price']; inorderCount = json['inorder_count']; detailData = json['detail_data']; + pvd = json['pvd']; } Map toJson() { @@ -73,6 +77,7 @@ class HomeGoodsModel extends Equatable { data['current_price'] = this.currentPrice; data['inorder_count'] = this.inorderCount; data['detail_data'] = this.detailData; + data['pvd'] = this.pvd; return data; }