import 'dart:convert'; import 'dart:developer' as developer; import 'package:get/get.dart'; import '../../../routes/app_routes.dart'; import '../../../data/models/goods.dart'; import '../../../data/services/network/api.dart'; import 'goods_base_controller.dart'; // ... existing code ... class GoodsaiController extends GoodsBaseController { @override Future> fetchProducts() async { final resp = await Api.getGoods({'usagetype': UsageType.AI.toInt}); // 输出完整响应,便于调试接口结构 try { developer.log('getGoods(AI) resp: ${jsonEncode(resp)}'); } catch (_) { developer.log('getGoods(AI) resp (raw): $resp'); } if (resp == null || resp is! Map) return []; 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']) : null; if (data is List) { final list = data.whereType>().map(DBGoods.fromJson).toList(); // 兜底过滤确保展示 AI 类型 return list.where((g) => g.usagetype == UsageType.AI).toList(); } return []; } // 如需自定义跳转逻辑,可保留重写调用父类 // Future purchase(DBGoods item) async => super.purchase(item); }