ops-console v1.0.2 (versionCode 8) 源码入库
This commit is contained in:
76
lib/models/user.dart
Normal file
76
lib/models/user.dart
Normal file
@@ -0,0 +1,76 @@
|
||||
/// 用户模型。
|
||||
///
|
||||
/// 字段由 [AuthService] 从真实登录响应(/sys/login)与
|
||||
/// 当前用户接口(/sys/user/info)映射而来。
|
||||
class User {
|
||||
const User({
|
||||
required this.id,
|
||||
required this.account,
|
||||
required this.displayName,
|
||||
required this.role,
|
||||
required this.token,
|
||||
this.orgId = '',
|
||||
this.roleId = '',
|
||||
this.orgType = 0,
|
||||
this.superAdmin = false,
|
||||
});
|
||||
|
||||
/// 用户唯一标识(真实模式下取 orgId,缺省回退为账号)。
|
||||
final String id;
|
||||
|
||||
/// 登录账号。
|
||||
final String account;
|
||||
|
||||
/// 显示名称。
|
||||
final String displayName;
|
||||
|
||||
/// 角色(如:运维管理员;多个角色以 `/` 连接)。
|
||||
final String role;
|
||||
|
||||
/// 登录令牌。
|
||||
final String token;
|
||||
|
||||
/// 当前用户所属组织 ID(用于表单默认选中)。
|
||||
final String orgId;
|
||||
|
||||
/// 当前用户角色 ID(用于表单默认选中)。
|
||||
final String roleId;
|
||||
|
||||
/// 当前用户所属组织类型(来自登录响应 orgType):
|
||||
/// 0=平台(管理员) 1=渠道(渠道商) 2=代理商。
|
||||
/// 用于按账号类别显隐功能模块(用户管理 / 渠道商管理)。
|
||||
final int orgType;
|
||||
|
||||
/// 是否超级管理员(来自登录响应 superAdmin);为 true 视为管理员。
|
||||
final bool superAdmin;
|
||||
|
||||
/// 序列化为 JSON(用于本地持久化)。
|
||||
Map<String, dynamic> toJson() => {
|
||||
'id': id,
|
||||
'account': account,
|
||||
'displayName': displayName,
|
||||
'role': role,
|
||||
'token': token,
|
||||
'orgId': orgId,
|
||||
'roleId': roleId,
|
||||
'orgType': orgType,
|
||||
'superAdmin': superAdmin,
|
||||
};
|
||||
|
||||
/// 从 JSON 反序列化。
|
||||
factory User.fromJson(Map<String, dynamic> json) => User(
|
||||
id: json['id']?.toString() ?? '',
|
||||
account: json['account']?.toString() ?? '',
|
||||
displayName: json['displayName']?.toString() ?? '',
|
||||
role: json['role']?.toString() ?? '',
|
||||
token: json['token']?.toString() ?? '',
|
||||
orgId: json['orgId']?.toString() ?? '',
|
||||
roleId: json['roleId']?.toString() ?? '',
|
||||
orgType: json['orgType'] is int
|
||||
? json['orgType'] as int
|
||||
: int.tryParse(json['orgType']?.toString() ?? '') ?? 0,
|
||||
superAdmin: json['superAdmin'] is bool
|
||||
? json['superAdmin'] as bool
|
||||
: false,
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user