定义接口的公共返回对象
import 'package:ejzc_app_flutter/generated/json/base/json_convert_content.dart';
class ResponseEntity<T> {
T? data;
int? errorCode;
String? errorMsg;
ResponseEntity(
{required this.data, required this.errorCode, required this.errorMsg});
ResponseEntity.fromJson(Map<String, dynamic> json) {
data = JsonConvert.fromJsonAsT<T>(json['data']);
errorCode = json['code'];
errorMsg = json['msg'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
if (this.data != null) {
data['data'] = this.data;
}
data['code'] = errorCode;
data['msg'] = errorMsg;
return data;
}
}
DIO post 的封装
postMethod<T>(api,
{Map<String, dynamic>? queryParameters,
required Map<String, dynamic> data}) async {
Response response =
await dio.post(api, data: data, queryParameters: queryParameters);
var a = ResponseEntity<T>.fromJson(response.data as Map<String, dynamic>);
return a;
}
使用
class DailyService {
// 获取日志列表/日志详情
static getDailyList(data) async {
var res = await Http.getInstance()
.postMethod<DailyData>('/log/page', data: data, queryParameters: {
'pageNo': data['pageNo'],
'pageSize': data['pageSize'],
});
// 打印类型
return res.data?.records;
}
}