You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
aku_new_community/lib/ui/market/market_page111.dart

302 lines
11 KiB

// // import 'package:aku_new_community/base/base_style.dart';
//
// import 'package:flutter/cupertino.dart';
// import 'package:flutter/material.dart';
//
// import 'package:bot_toast/bot_toast.dart';
// import 'package:flutter_easyrefresh/easy_refresh.dart';
// import 'package:flutter_screenutil/flutter_screenutil.dart';
// import 'package:get/get.dart';
// import 'package:waterfall_flow/waterfall_flow.dart';
//
// import 'package:aku_new_community/constants/api.dart';
// import 'package:aku_new_community/models/market/display_category_model.dart';
// import 'package:aku_new_community/models/market/goods_item.dart';
// import 'package:aku_new_community/models/market/market_category_model.dart';
// import 'package:aku_new_community/ui/market/category/category_card.dart';
// import 'package:aku_new_community/ui/market/category/category_page.dart';
// import 'package:aku_new_community/ui/market/goods/goods_card.dart';
// import 'package:aku_new_community/ui/market/order/my_order_page.dart';
// import 'package:aku_new_community/ui/market/search/search_goods_page.dart';
// import 'package:aku_new_community/utils/headers.dart';
// import 'package:aku_new_community/utils/network/base_list_model.dart';
// import 'package:aku_new_community/utils/network/net_util.dart';
// import 'package:aku_new_community/widget/bee_scaffold.dart';
//
// // import 'package:aku_new_community/ui/market/goods/goods_detail_page.dart';
//
// // import 'package:aku_new_community/widget/tab_bar/bee_tab_bar.dart';
//
// class MarketPage111 extends StatefulWidget {
// MarketPage111({Key? key}) : super(key: key);
//
// @override
// _MarketPageState createState() => _MarketPageState();
// }
//
// class _MarketPageState extends State<MarketPage111>
// with AutomaticKeepAliveClientMixin {
// List<MarketCategoryModel> _marketModels = [];
// List<GoodsItem> _hotItems = [];
// late EasyRefreshController _refreshController;
// int _pageNum = 1;
// int _size = 4;
// int _pageCount = 0;
//
// Future updateMarketInfo() async {
// BaseListModel baseListModel =
// await NetUtil().getList(API.market.hotTop, params: {
// "pageNum": _pageNum,
// "size": _size,
// });
// if (baseListModel.tableList!.isNotEmpty) {
// _hotItems = (baseListModel.tableList as List)
// .map((e) => GoodsItem.fromJson(e))
// .toList();
// }
// _pageCount = baseListModel.pageCount!;
// }
//
// Future loadMarketInfo() async {
// BaseListModel baseListModel =
// await NetUtil().getList(API.market.hotTop, params: {
// "pageNum": _pageNum,
// "size": _size,
// });
// if (baseListModel.tableList!.isNotEmpty) {
// _hotItems.addAll((baseListModel.tableList as List)
// .map((e) => GoodsItem.fromJson(e))
// .toList());
// }
// _pageCount = baseListModel.pageCount!;
// }
//
// @override
// void initState() {
// super.initState();
// _refreshController = EasyRefreshController();
// Future.delayed(Duration(milliseconds: 0), () async {
// _marketModels = await DisplayCategoryModel.top8;
// await updateMarketInfo();
// setState(() {});
// });
// }
//
// @override
// void dispose() {
// _refreshController.dispose();
// super.dispose();
// }
//
// @override
// Widget build(BuildContext context) {
// super.build(context);
// final mediaWidth = MediaQuery.of(context).size.width;
// return BeeScaffold(
// leading: IconButton(
// icon: Icon(CupertinoIcons.search),
// onPressed: () {
// Get.to(() => SearchGoodsPage());
// },
// ),
// title: '商城',
// actions: [
// MaterialButton(
// minWidth: 108.w,
// padding: EdgeInsets.zero,
// onPressed: () async {
// // Get.to(() => SecondHandPage());
// Get.to(() => MyOrderPage());
// },
// child: Column(
// mainAxisAlignment: MainAxisAlignment.center,
// mainAxisSize: MainAxisSize.max,
// children: [
// Image.asset(
// R.ASSETS_ICONS_SECOND_HAND_PNG,
// width: 48.w,
// height: 48.w,
// ),
// 4.hb,
// // '二手'.text.size(20.sp).black.make(),
// '订单'.text.size(20.sp).black.make(),
// ],
// ),
// ),
// MaterialButton(
// minWidth: 108.w,
// padding: EdgeInsets.zero,
// onPressed: () async {
// final cancel = BotToast.showLoading();
// List<MarketCategoryModel> models =
// await DisplayCategoryModel.fetchCategory(0);
// cancel();
// Get.to(() => CategoryPage(models: models));
// },
// child: Column(
// mainAxisAlignment: MainAxisAlignment.center,
// mainAxisSize: MainAxisSize.max,
// children: [
// Image.asset(
// R.ASSETS_ICONS_CATEGORY_PNG,
// width: 48.w,
// height: 48.w,
// ),
// 4.hb,
// '分类'.text.size(20.sp).black.make(),
// ],
// ),
// ),
// ],
// body:
// NestedScrollView(
// headerSliverBuilder: (context, value) {
// var gridItems = Material(
// color: Colors.white,
// clipBehavior: Clip.antiAlias,
// borderRadius: BorderRadius.circular(8.w),
// child: GridView(
// physics: NeverScrollableScrollPhysics(),
// gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
// crossAxisCount: 4,
// childAspectRatio: 1,
// ),
// shrinkWrap: true,
// children:
// _marketModels.map((e) => CategoryCard(model: e)).toList(),
// ),
// );
// return [
// SliverAppBar(
// //AppBar top Widget height
// //bottom height: 48
// // flexibleSpace的高为 (设备宽 - 边距)/4*2 + 外边距 + bottom高 + top热搜栏
// // * 热搜栏
// //expandedHeight:
// //(mediaWidth - 32.w * 2) / 4 * 2 + 16.w * 2 + 48 + 68.w,
// //
// expandedHeight: (mediaWidth - 32.w * 2) / 4 * 2 + 16.w * 2,
// backgroundColor: Colors.transparent,
// elevation: 0,
// flexibleSpace: FlexibleSpaceBar(
// background: Container(
// color: Color(0xFFF9F9F9),
// padding: EdgeInsets.only(
// top: 16.w,
// left: 32.w,
// right: 32.w,
// bottom: 16.w, //底部边距需要加上bottom高
// ),
// child: Column(
// children: [
// // SizedBox(
// // height: 58.w,
// // child: Row(
// // children: [
// // Text(
// // '热搜:',
// // style: TextStyle(
// // fontSize: 20.sp,
// // ),
// // ),
// // 20.wb,
// // ListView.separated(
// // scrollDirection: Axis.horizontal,
// // separatorBuilder: (_, __) => 20.wb,
// // itemBuilder: (context, index) {
// // final item = _hotItems[index];
// // return MaterialButton(
// // padding:
// // EdgeInsets.symmetric(horizontal: 40.w),
// // minWidth: 0,
// // shape: StadiumBorder(
// // side: BorderSide(
// // color: ktextSubColor,
// // width: 1,
// // ),
// // ),
// // materialTapTargetSize:
// // MaterialTapTargetSize.shrinkWrap,
// // onPressed: () {
// // Get.to(() => GoodsDetailPage(id: item.id));
// // },
// // child: Text(
// // item.title,
// // style: TextStyle(
// // color: ktextSubColor,
// // ),
// // ),
// // );
// // },
// // itemCount: _hotItems.length,
// // ).expand(),
// // ],
// // ),
// // ),
// // 10.hb,
// gridItems.expand(),
// ],
// ),
// ),
// ),
// pinned: true,
// toolbarHeight: 0,
// // bottom: PreferredSize(
// // child: Material(
// // color: Color(0xFFF9F9F9),
// // child: Align(
// // alignment: Alignment.centerLeft,
// // child: BeeTabBar(
// // scrollable: true,
// // controller: _tabController,
// // tabs: ['社区商城', '二手市场'],
// // ),
// // ),
// // ),
// // preferredSize: Size.fromHeight(48),
// // ),
// ),
// ];
// },
// body: EasyRefresh(
// firstRefresh: false,
// enableControlFinishLoad: false,
// header: MaterialHeader(),
// footer: MaterialFooter(),
// controller: _refreshController,
// onRefresh: () async {
// _pageNum = 1;
// await updateMarketInfo();
// setState(() {});
// },
// onLoad: () async {
// _pageNum++;
// await loadMarketInfo();
// if (_pageCount <= _pageNum) {
// _refreshController.finishLoad(noMore: false);
// }
// setState(() {});
// },
// child: WaterfallFlow.builder(
// gridDelegate: SliverWaterfallFlowDelegateWithFixedCrossAxisCount(
// crossAxisCount: 2,
// mainAxisSpacing: 20.w,
// crossAxisSpacing: 20.w,
// ),
// padding: EdgeInsets.all(32.w),
// itemBuilder: (context, index) {
// return SizedBox();
// //final item = _hotItems[index];
// // return GoodsCard(item: item);
// },
// itemCount: _hotItems.length,
// ),
// ),
// ),
// );
// }
//
// @override
// bool get wantKeepAlive => true;
// }