import '../../../data/models/goods.dart'; import '../../../data/services/network/api.dart'; import 'goods_base_controller.dart'; class GoodsvipController extends GoodsBaseController { @override Future> fetchProducts() async { final types = [ UsageType.AI, UsageType.Meet, UsageType.Translation, UsageType.Vip, ]; final Map all = {}; for (final t in types) { final resp = await Api.getGoods({'usagetype': t.toInt}); if (resp == null || resp is! Map) continue; if (resp.containsKey('error') || resp.containsKey('msg')) { final msg = resp['error'] ?? resp['msg'] ?? '服务器错误'; throw Exception(msg); } final container = (resp is Map && resp['data'] is Map) ? resp['data'] : resp; final data = (container is Map) ? (container['goodss'] ?? container['goodes'] ?? container['goods']) : null; if (data is List) { final list = data .whereType>() .map(DBGoods.fromJson) .toList(); for (final g in list) { all[g.id] = g; } } } return all.values.toList(); } // Future purchase(DBGoods item) async => super.purchase(item); }