ops-console v1.0.2 (versionCode 8) 源码入库

This commit is contained in:
txh
2026-09-03 18:01:05 +08:00
commit 685fff27c8
170 changed files with 53049 additions and 0 deletions

76
lib/models/user.dart Normal file
View 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,
);
}