import 'package:aku_new_community/constants/api.dart'; import 'package:aku_new_community/constants/sars_api.dart'; import 'package:aku_new_community/model/good/market_swiper_model.dart'; import 'package:aku_new_community/models/community/dynamic_my_list_body.dart'; import 'package:aku_new_community/models/community/information_list_model.dart'; import 'package:aku_new_community/models/community/topic_model.dart'; import 'package:aku_new_community/models/home/home_activity_model.dart'; import 'package:aku_new_community/models/home/home_announce_model.dart'; import 'package:aku_new_community/models/home/home_swiper_model.dart'; import 'package:aku_new_community/models/market/goods_popular_model.dart'; import 'package:aku_new_community/models/market/market_all_category_model.dart'; import 'package:aku_new_community/models/market/market_category_model.dart'; import 'package:aku_new_community/models/market/market_statistics_model.dart'; import 'package:aku_new_community/utils/network/base_list_model.dart'; import 'package:aku_new_community/utils/network/base_model.dart'; import 'package:aku_new_community/utils/network/net_util.dart'; import 'package:bot_toast/bot_toast.dart'; class CommunityFunc { ///查询热门话题 static Future> getListGambit() async { var model = await NetUtil().get( SARSAPI.community.topNewList, params: {'hotShowNum': 3, 'showNum': 3}, ); if ((model.data as List).length == 0) return []; return (model.data as List).map((e) => TopicModel.fromJson(e)).toList(); } ///我的动态 static Future> getMyEventItem() async { BaseListModel model = await NetUtil().getList( SARSAPI.community.dynamicMyListL, params: {'pageNum': 1, 'size': 8}, ); if (model.rows.length == 0) return []; return model.rows.map((e) => DynamicMyListBody.fromJson(e)).toList(); } ///查询热门资讯 static Future> getHotNews() async { BaseListModel model = await NetUtil().getList( SARSAPI.information.list, params: {'pageNum': 1, 'size': 4}, ); if (model.rows.length == 0) return []; return model.rows.map((e) => InformationListModel.fromJson(e)).toList(); } ///给单个资讯增加浏览量 static Future addViews(int newsId) async { BaseModel model = await NetUtil().get( API.community.addViews, params: { 'newsId': newsId, }, ); if (model.success) return ''; return model.msg; } ///查询顶部统计信息 static Future getMarketStatistics() async { BaseModel model = await NetUtil().get( SARSAPI.market.home.topInfo, ); if (model.success) { return MarketStatisticsModel.fromJson(model.data); } else { BotToast.showText(text: model.msg); return null; } } ///获取商品分类 static Future> getGoodsClassificationList( int parentId) async { BaseListModel model = await NetUtil().getList( SARSAPI.market.category.category, params: {'pageNum': 1, 'size': 9, 'parentId': parentId}, ); if (model.rows.length == 0) return []; return model.rows.map((e) => MarketCategoryModel.fromJson(e)).toList(); } ///查询爆款推荐 static Future> getGoodsPopularModel(int num) async { BaseModel model = await NetUtil().get( SARSAPI.market.good.popular, params: {'num': num}, ); if (model.data!.length == 0) return []; return (model.data as List) .map((e) => GoodsPopularModel.fromJson(e)) .toList(); } ///获取所有商品的分类 static Future> getCategory() async { BaseModel model = await NetUtil().get( SARSAPI.market.category.categoryInfo, ); if (model.data!.length == 0) return []; else { return (model.data as List) .map((e) => MarketAllCategoryModel.fromJson(e)) .toList(); } } ///获取商城的轮播图 static Future> marketSwiper() async { BaseModel model = await NetUtil().get( SARSAPI.market.rotation.rotation, ); if (model.data!.length == 0) return []; return (model.data as List) .map((e) => MarketSwiperModel.fromJson(e)) .toList(); } static Future> activityList() async { BaseListModel model = await NetUtil().getList( SARSAPI.activity.list, params: {'pageNum': 1, 'size': 5}, ); if (model.rows.length == 0) return []; return model.rows.map((e) => HomeActivityModel.fromJson(e)).toList(); } static Future> board() async { BaseListModel model = await NetUtil().getList( SARSAPI.announce.list, params: {'pageNum': 1, 'size': 5}, ); if (model.rows.length == 0) return []; return model.rows.map((e) => HomeAnnounceModel.fromJson(e)).toList(); } static Future> swiper() async { BaseModel model = await NetUtil().get( SARSAPI.homeCarouse.list, ); if (model.data!.length == 0) return []; return (model.data as List) .map((e) => HomeSwiperModel.fromJson(e)) .toList(); } }