Template
Core 基础设施:Flavor 三包体系、Drift+SQLCipher 加密数据库 7 拦截器 Dio 网络栈、CrashReporter 崩溃日志、Sealed Failure 错误体系 5 色板主题系统、Auth 认证骨架(Clean Architecture)、Dev Panel、Mock Adapter 通过验证:flutter analyze(0 errors)、flutter test(全绿)、staging APK 74.8MB
43 lines
1018 B
Dart
43 lines
1018 B
Dart
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
import 'package:sunny_mochi/features/auth/domain/entities/user_entity.dart';
|
|
|
|
part 'user_model.freezed.dart';
|
|
part 'user_model.g.dart';
|
|
|
|
@freezed
|
|
abstract class UserModel with _$UserModel {
|
|
const factory UserModel({
|
|
String? userId,
|
|
String? username,
|
|
String? realName,
|
|
String? phone,
|
|
String? avatar,
|
|
String? token,
|
|
String? tokenName,
|
|
String? refreshToken,
|
|
String? email,
|
|
DateTime? birthday,
|
|
int? gender,
|
|
String? employeeNo,
|
|
String? company,
|
|
String? department,
|
|
}) = _UserModel;
|
|
|
|
factory UserModel.fromJson(Map<String, dynamic> json) =>
|
|
_$UserModelFromJson(json);
|
|
}
|
|
|
|
extension UserModelX on UserModel {
|
|
UserEntity toEntity() => UserEntity(
|
|
userId: userId,
|
|
username: username,
|
|
realName: realName,
|
|
phone: phone,
|
|
avatar: avatar,
|
|
token: token,
|
|
employeeNo: employeeNo,
|
|
company: company,
|
|
department: department,
|
|
);
|
|
}
|