|
|
@ -46,12 +46,13 @@ class User { |
|
|
String password; |
|
|
String password; |
|
|
int viplv = 0; //添加会员等级字段,0表示普通用户 |
|
|
int viplv = 0; //添加会员等级字段,0表示普通用户 |
|
|
int viptime = 0; // 会员到期/剩余时间(秒/毫秒,按后端定义) |
|
|
int viptime = 0; // 会员到期/剩余时间(秒/毫秒,按后端定义) |
|
|
int tradetotaltime = 0; // 翻译总时长 |
|
|
int aichatintegral = 0; // ai聊天积分 |
|
|
int meettotaltime = 0; // 会议总时长 |
|
|
int aichattotalintegral = 0; // ai聊天总积分 |
|
|
int aichattotaltimer = 0; // 智能体总次数(兼容 aichattotaltime/aichattotaltimer) |
|
|
int tradeintegral = 0; // 翻译积分 |
|
|
int tradetime = 0; // 翻译剩余时长 |
|
|
int tradetotalintegral = 0; // 翻译总积分 |
|
|
int meettime = 0; // 会议剩余时长 |
|
|
int meetintegral = 0; // 会议积分 |
|
|
int aichattimer = 0; // 智能体剩余次数 |
|
|
int meettotalintegral = 0; // 会议总积分 |
|
|
|
|
|
|
|
|
List<UserDevice> devices; |
|
|
List<UserDevice> devices; |
|
|
|
|
|
|
|
|
// 私有构造函数 |
|
|
// 私有构造函数 |
|
|
@ -67,12 +68,12 @@ class User { |
|
|
required this.password, |
|
|
required this.password, |
|
|
required this.viplv, |
|
|
required this.viplv, |
|
|
required this.viptime, |
|
|
required this.viptime, |
|
|
required this.aichattotaltimer, |
|
|
required this.aichatintegral, |
|
|
required this.meettotaltime, |
|
|
required this.aichattotalintegral, |
|
|
required this.tradetotaltime, |
|
|
required this.tradeintegral, |
|
|
required this.aichattimer, |
|
|
required this.tradetotalintegral, |
|
|
required this.meettime, |
|
|
required this.meetintegral, |
|
|
required this.tradetime, |
|
|
required this.meettotalintegral, |
|
|
required this.devices, |
|
|
required this.devices, |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
@ -97,12 +98,12 @@ class User { |
|
|
viplv: (userData?['viplv'] as int?) ?? 0, // 提供默认值 |
|
|
viplv: (userData?['viplv'] as int?) ?? 0, // 提供默认值 |
|
|
viptime: (userData?['viptime'] as int?) ?? 0, // 提供默认值 |
|
|
viptime: (userData?['viptime'] as int?) ?? 0, // 提供默认值 |
|
|
|
|
|
|
|
|
aichattotaltimer: (userData?['aichattotaltimer'] as int?) ?? 0, |
|
|
aichatintegral: (userData?['aichatintegral'] as int?) ?? 0, |
|
|
meettotaltime: (userData?['meettotaltime'] as int?) ?? 0, |
|
|
aichattotalintegral: (userData?['aichattotalintegral'] as int?) ?? 0, |
|
|
tradetotaltime: (userData?['tradetotaltime'] as int?) ?? 0, |
|
|
tradeintegral: (userData?['tradeintegral'] as int?) ?? 0, |
|
|
aichattimer: (userData?['aichattimer'] as int?) ?? 0, |
|
|
tradetotalintegral: (userData?['tradetotalintegral'] as int?) ?? 0, |
|
|
meettime: (userData?['meettime'] as int?) ?? 0, |
|
|
meetintegral: (userData?['meetintegral'] as int?) ?? 0, |
|
|
tradetime: (userData?['tradetime'] as int?) ?? 0, |
|
|
meettotalintegral: (userData?['meettotalintegral'] as int?) ?? 0, |
|
|
|
|
|
|
|
|
devices: devicesData |
|
|
devices: devicesData |
|
|
?.map((e) => UserDevice.fromJson(e as Map<String, dynamic>)) |
|
|
?.map((e) => UserDevice.fromJson(e as Map<String, dynamic>)) |
|
|
@ -130,12 +131,12 @@ class User { |
|
|
password: (userData?['password'] as String?) ?? '', |
|
|
password: (userData?['password'] as String?) ?? '', |
|
|
viplv: (userData?['viplv'] as int?) ?? 0, // 提供默认值 |
|
|
viplv: (userData?['viplv'] as int?) ?? 0, // 提供默认值 |
|
|
viptime: (userData?['viptime'] as int?) ?? 0, // 提供默认值 |
|
|
viptime: (userData?['viptime'] as int?) ?? 0, // 提供默认值 |
|
|
aichattotaltimer: (userData?['aichattotaltimer'] as int?) ?? 0, |
|
|
aichatintegral: (userData?['aichatintegral'] as int?) ?? 0, |
|
|
meettotaltime: (userData?['meettotaltime'] as int?) ?? 0, |
|
|
aichattotalintegral: (userData?['aichattotalintegral'] as int?) ?? 0, |
|
|
tradetotaltime: (userData?['tradetotaltime'] as int?) ?? 0, |
|
|
tradeintegral: (userData?['tradeintegral'] as int?) ?? 0, |
|
|
aichattimer: (userData?['aichattimer'] as int?) ?? 0, |
|
|
tradetotalintegral: (userData?['tradetotalintegral'] as int?) ?? 0, |
|
|
meettime: (userData?['meettime'] as int?) ?? 0, |
|
|
meetintegral: (userData?['meetintegral'] as int?) ?? 0, |
|
|
tradetime: (userData?['tradetime'] as int?) ?? 0, |
|
|
meettotalintegral: (userData?['meettotalintegral'] as int?) ?? 0, |
|
|
devices: devicesData != null |
|
|
devices: devicesData != null |
|
|
? (devicesData) |
|
|
? (devicesData) |
|
|
.map((e) => UserDevice.fromJson(e as Map<String, dynamic>)) |
|
|
.map((e) => UserDevice.fromJson(e as Map<String, dynamic>)) |
|
|
@ -156,12 +157,14 @@ class User { |
|
|
password = user['password'] as String? ?? password; |
|
|
password = user['password'] as String? ?? password; |
|
|
viplv = user['viplv'] as int? ?? viplv; |
|
|
viplv = user['viplv'] as int? ?? viplv; |
|
|
viptime = user['viptime'] as int? ?? viptime; |
|
|
viptime = user['viptime'] as int? ?? viptime; |
|
|
tradetotaltime = user['tradetotaltime'] as int? ?? tradetotaltime; |
|
|
aichatintegral = user['aichatintegral'] as int? ?? aichatintegral; |
|
|
meettotaltime = user['meettotaltime'] as int? ?? meettotaltime; |
|
|
aichattotalintegral = |
|
|
aichattotaltimer = user['aichattotaltimer'] as int? ?? aichattotaltimer; |
|
|
user['aichattotalintegral'] as int? ?? aichattotalintegral; |
|
|
tradetime = user['tradetime'] as int? ?? tradetime; |
|
|
tradeintegral = user['tradeintegral'] as int? ?? tradeintegral; |
|
|
meettime = user['meettime'] as int? ?? meettime; |
|
|
tradetotalintegral = |
|
|
aichattimer = user['aichattimer'] as int? ?? aichattimer; |
|
|
user['tradetotalintegral'] as int? ?? tradetotalintegral; |
|
|
|
|
|
meetintegral = user['meetintegral'] as int? ?? meetintegral; |
|
|
|
|
|
meettotalintegral = user['meettotalintegral'] as int? ?? meettotalintegral; |
|
|
|
|
|
|
|
|
// 触发全局刷新信号,驱动依赖UI重建 |
|
|
// 触发全局刷新信号,驱动依赖UI重建 |
|
|
refreshTick.value++; |
|
|
refreshTick.value++; |
|
|
@ -181,12 +184,12 @@ class User { |
|
|
'password': password, |
|
|
'password': password, |
|
|
'viplv': viplv, |
|
|
'viplv': viplv, |
|
|
'viptime': viptime, |
|
|
'viptime': viptime, |
|
|
'tradetotaltime': tradetotaltime, |
|
|
'aichatintegral': aichatintegral, |
|
|
'meettotaltime': meettotaltime, |
|
|
'aichattotalintegral': aichattotalintegral, |
|
|
'aichattotaltimer': aichattotaltimer, |
|
|
'tradeintegral': tradeintegral, |
|
|
'tradetime': tradetime, |
|
|
'tradetotalintegral': tradetotalintegral, |
|
|
'meettime': meettime, |
|
|
'meetintegral': meetintegral, |
|
|
'aichattimer': aichattimer, |
|
|
'meettotalintegral': meettotalintegral, |
|
|
'devices': devices.map((device) => device.toJson()).toList(), |
|
|
'devices': devices.map((device) => device.toJson()).toList(), |
|
|
}, |
|
|
}, |
|
|
}; |
|
|
}; |
|
|
|