查询数据

This commit is contained in:
2025-11-12 18:02:04 +08:00
parent 412f2786a2
commit c4f34f3e00
8 changed files with 206 additions and 133 deletions

View File

@@ -4,6 +4,7 @@ class BaseModel<T> {
final int code; // 状态码0正常其他异常
final bool status; // 状态布尔值true正常false异常
final String message; // 消息,例如 "success"
final String msg; // 消息,例如 "success"
final T? data; // 核心数据,使用泛型 T可以是任何类型
final int time; // 时间戳
final dynamic error; // 错误信息,可以是任何类型或 null
@@ -12,6 +13,7 @@ class BaseModel<T> {
required this.code,
required this.status,
required this.message,
required this.msg,
this.data, // data 可以为 null
required this.time,
this.error, // error 可以为 null
@@ -19,9 +21,9 @@ class BaseModel<T> {
/// fromJson 工厂构造函数(重构后)
factory BaseModel.fromJson(
Map<String, dynamic> json, {
T? Function(dynamic dataJson)? dataBuilder,
}) {
Map<String, dynamic> json, {
T? Function(dynamic dataJson)? dataBuilder,
}) {
// 使用一个辅助函数来安全地转换类型,防止因类型不匹配(如 "0" vs 0而崩溃
int _parseInt(dynamic value) {
if (value is int) return value;
@@ -42,7 +44,7 @@ class BaseModel<T> {
if (T != dynamic) {
try {
finalData = json['data'] as T?;
} catch(e) {
} catch (e) {
// 如果直接转换失败,保持为 null避免崩溃
finalData = null;
}
@@ -56,7 +58,8 @@ class BaseModel<T> {
return BaseModel<T>(
code: _parseInt(json['code']),
status: json['status'] as bool? ?? false,
message: json['message']?.toString() ?? 'No message',
message: json['message'] ?? '暂不可用,请稍后',
msg: json['msg'] ?? '暂不可用,请稍后',
time: _parseInt(json['time']),
data: finalData,
error: json['error'],
@@ -68,6 +71,7 @@ class BaseModel<T> {
'code': code,
'status': status,
'message': message,
'msg': msg,
'time': time,
'data': data,
'error': error,

View File

@@ -10,6 +10,10 @@ class AppTheme {
static const String test_service_url = "http://beta-esg.api.lnh2e.com/";
static const String release_service_url = "";
//加氢站相关查询
static const String jiaqing_service_url = "https://beta.lnh2e.com/api/lingniu-manager-v1/v1/";
//车辆信息
static const String car_service_url = "http://47.99.166.38:20000/";
static const Color secondaryColor = Colors.orange;