- Flutter 3.x 项目初始化(pubspec.yaml + 目录结构) - 核心依赖:dio/go_router/provider/shared_preferences/hive/geolocator - 统一登录页 + Token管理(TokenService + AuthInterceptor) - 底部Tab三合一导航(供水/巡检/营收) - 供水管理Tab:监测数据列表(MonitorListPage) - 巡检Tab:任务列表+状态筛选+进度展示(PatrolTaskListPage) - 营收Tab:抄表页面+账单列表(MeterReadingPage/BillListPage) - 消息推送服务(PushService) - GPS定位服务(LocationService) - 拍照/相册服务(CameraService) - 离线缓存服务(CacheService) - Android/iOS打包配置+权限声明 - GoRouter路由+Auth认证守卫 - Provider状态管理
45 lines
924 B
Dart
45 lines
924 B
Dart
/// 用户模型
|
|
class UserModel {
|
|
final String id;
|
|
final String username;
|
|
final String name;
|
|
final String? avatar;
|
|
final String role;
|
|
final String? department;
|
|
final String? phone;
|
|
|
|
UserModel({
|
|
required this.id,
|
|
required this.username,
|
|
required this.name,
|
|
this.avatar,
|
|
required this.role,
|
|
this.department,
|
|
this.phone,
|
|
});
|
|
|
|
factory UserModel.fromJson(Map<String, dynamic> json) {
|
|
return UserModel(
|
|
id: json['id']?.toString() ?? '',
|
|
username: json['username'] ?? '',
|
|
name: json['name'] ?? '',
|
|
avatar: json['avatar'],
|
|
role: json['role'] ?? '',
|
|
department: json['department'],
|
|
phone: json['phone'],
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
return {
|
|
'id': id,
|
|
'username': username,
|
|
'name': name,
|
|
'avatar': avatar,
|
|
'role': role,
|
|
'department': department,
|
|
'phone': phone,
|
|
};
|
|
}
|
|
}
|