ops-console v1.0.2 (versionCode 8) 源码入库
This commit is contained in:
84
lib/models/sys_role.dart
Normal file
84
lib/models/sys_role.dart
Normal file
@@ -0,0 +1,84 @@
|
||||
/// 系统角色模型。
|
||||
///
|
||||
/// 对应后端 /sys/role/* 接口的角色实体。
|
||||
class SysRole {
|
||||
const SysRole({
|
||||
required this.roleId,
|
||||
required this.roleName,
|
||||
required this.remark,
|
||||
required this.createTime,
|
||||
});
|
||||
|
||||
/// 角色 ID。
|
||||
final String roleId;
|
||||
|
||||
/// 角色名称。
|
||||
final String roleName;
|
||||
|
||||
/// 备注。
|
||||
final String remark;
|
||||
|
||||
/// 创建时间。
|
||||
final DateTime? createTime;
|
||||
|
||||
factory SysRole.fromJson(Map<String, dynamic> json) {
|
||||
return SysRole(
|
||||
roleId: (json['roleId'] ?? json['id'])?.toString() ?? '',
|
||||
roleName: json['roleName']?.toString() ?? '',
|
||||
remark: json['remark']?.toString() ?? '',
|
||||
createTime: _parseDateTime(json['createTime']),
|
||||
);
|
||||
}
|
||||
|
||||
/// 兼容 `yyyy-MM-dd HH:mm:ss` 与 ISO 8601 两种时间格式。
|
||||
static DateTime? _parseDateTime(dynamic value) {
|
||||
if (value == null) return null;
|
||||
final text = value.toString().trim();
|
||||
if (text.isEmpty) return null;
|
||||
return DateTime.tryParse(text) ??
|
||||
DateTime.tryParse(text.replaceFirst(' ', 'T'));
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
'roleId': roleId,
|
||||
'roleName': roleName,
|
||||
'remark': remark,
|
||||
'createTime': createTime?.toIso8601String(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/// 角色-菜单关联模型(用于角色权限分配)。
|
||||
class RoleMenu {
|
||||
const RoleMenu({
|
||||
required this.id,
|
||||
required this.roleId,
|
||||
required this.menuId,
|
||||
});
|
||||
|
||||
/// 主键 ID。
|
||||
final String id;
|
||||
|
||||
/// 角色 ID。
|
||||
final String roleId;
|
||||
|
||||
/// 菜单 ID。
|
||||
final String menuId;
|
||||
|
||||
factory RoleMenu.fromJson(Map<String, dynamic> json) {
|
||||
return RoleMenu(
|
||||
id: json['id']?.toString() ?? '',
|
||||
roleId: json['roleId']?.toString() ?? '',
|
||||
menuId: json['menuId']?.toString() ?? '',
|
||||
);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
'id': id,
|
||||
'roleId': roleId,
|
||||
'menuId': menuId,
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user