import 'package:dio/dio.dart'; import 'package:maibu_satabot_v2/core/consts/http_api_consts.dart'; import 'package:maibu_satabot_v2/features/v2/home/data/datasources/site_datasource.dart'; import 'package:maibu_satabot_v2/features/v2/home/domain/entities/site_entity.dart'; class SiteDataSourceImpl implements SiteDataSource { final Dio dio; SiteDataSourceImpl(this.dio); @override Future> getSiteList(int orgId) async { // 构建查询参数:orgId 为 0 时不传递 final queryParams = { 'pageNum': 1, 'pageSize': 9999, }; if (orgId != 0) { queryParams['orgId'] = orgId; } final response = await dio.get( HttpApiConsts.getSiteList, queryParameters: queryParams, ); if (response.statusCode != 200) { throw Exception('网络请求失败: ${response.statusCode}'); } final responseData = response.data; if (responseData['code'] != 200) { throw Exception(responseData['msg'] ?? '业务异常'); } final List rows = responseData['rows'] ?? []; return rows.map((item) => SiteEntity.fromJson(item)).toList(); } }