import 'package:json_annotation/json_annotation.dart'; part 'user_info_detail.g.dart'; @JsonSerializable(checked: true) class UserInfoDetail extends Object { @JsonKey(name: 'Name') String name; @JsonKey(name: 'Status') int status; @JsonKey(name: 'Mobile') String? mobile; @JsonKey(name: 'Account') String account; @JsonKey(name: 'UserType') int userType; @JsonKey(name: 'SchoolId') int schoolId; @JsonKey(name: 'SchoolName') String? schoolName; @JsonKey(name: 'Email') String? email; @JsonKey(name: 'Id') int id; @JsonKey(name: 'RecordIsShow') bool recordIsShow; @JsonKey(name: 'LiveIsShow') bool liveIsShow; @JsonKey(name: 'FileIsShow') bool fileIsShow; @JsonKey(name: 'EquipmentIsShow') bool equipmentIsShow; @JsonKey(name: 'DataIsShow') bool dataIsShow; @JsonKey(name: 'DataUrl') String? dataUrl; @JsonKey(name: 'TaskIsShow') bool taskIsShow; @JsonKey(name: 'DataMonitorIsShow') bool dataMonitorIsShow; @JsonKey(name: 'GCSLists') List? gCSLists; @JsonKey(name: 'LearnedCoursesNum') int learnedCoursesNum; @JsonKey(name: 'RoleAnys') RoleAnys roleAnys; @JsonKey(name: 'RoleIsShowMenus') List roleIsShowMenus; @JsonKey(name: 'OrgId') int orgId; @JsonKey(name: 'IsCanVerify') bool isCanVerify; @JsonKey(name: 'StageSubject') StageSubject? stageSubject; @JsonKey(name: 'UserOrgList') List userOrgList; // 蓝牙笔 SN @JsonKey(name: 'PointPenSn') String? pointPenSn; // 蓝牙笔 Mac @JsonKey(name: 'PointPenMAC') String? pointPenMac; UserInfoDetail( this.name, this.status, this.mobile, this.account, this.userType, this.schoolId, this.schoolName, this.email, this.id, this.recordIsShow, this.liveIsShow, this.fileIsShow, this.equipmentIsShow, this.dataIsShow, this.dataUrl, this.taskIsShow, this.dataMonitorIsShow, this.gCSLists, this.learnedCoursesNum, this.roleAnys, this.roleIsShowMenus, this.orgId, this.isCanVerify, this.stageSubject, this.userOrgList, this.pointPenSn, this.pointPenMac, ) { // 系統如果被非法操作,否则不会出现此情况,Mac 不会单独存在 if (pointPenSn == null && pointPenMac != null) { pointPenMac = null; } } factory UserInfoDetail.fromJson(Map srcJson) => _$UserInfoDetailFromJson(srcJson); Map toJson() => _$UserInfoDetailToJson(this); } @JsonSerializable() class GCSLists extends Object { @JsonKey(name: 'Value') String value; @JsonKey(name: 'Text') String? text; @JsonKey(name: 'GCSLists') List? gCSLists; GCSLists( this.value, this.text, this.gCSLists, ); factory GCSLists.fromJson(Map srcJson) => _$GCSListsFromJson(srcJson); Map toJson() => _$GCSListsToJson(this); } @JsonSerializable() class RoleAnys extends Object { @JsonKey(name: 'YxIsShow') bool yxIsShow; @JsonKey(name: 'HtzxIsShow') bool htzxIsShow; @JsonKey(name: 'ZjIsShow') bool zjIsShow; @JsonKey(name: 'LjzkIsShow') bool ljzkIsShow; @JsonKey(name: 'IsResoure') bool isResoure; @JsonKey(name: 'YxNeiBuIsShow') bool yxNeiBuIsShow; @JsonKey(name: 'HtNeiBuIsShow') bool htNeiBuIsShow; @JsonKey(name: 'ZhongZhiIsShow') bool zhongZhiIsShow; @JsonKey(name: 'JSCZIsShow') bool jSCZIsShow; @JsonKey(name: 'YLRHYXIsShow') bool yLRHYXIsShow; @JsonKey(name: 'CSFZIsShow') bool cSFZIsShow; @JsonKey(name: 'YBYXIsShow') bool yBYXIsShow; RoleAnys( this.yxIsShow, this.htzxIsShow, this.zjIsShow, this.ljzkIsShow, this.isResoure, this.yxNeiBuIsShow, this.htNeiBuIsShow, this.zhongZhiIsShow, this.jSCZIsShow, this.yLRHYXIsShow, this.cSFZIsShow, this.yBYXIsShow, ); factory RoleAnys.fromJson(Map srcJson) => _$RoleAnysFromJson(srcJson); Map toJson() => _$RoleAnysToJson(this); } @JsonSerializable() class RoleIsShowMenus extends Object { @JsonKey(name: 'MenuName') String menuName; @JsonKey(name: 'MenuUrl') String menuUrl; @JsonKey(name: 'Parameter') String? parameter; @JsonKey(name: 'Children') List? children; RoleIsShowMenus( this.menuName, this.menuUrl, this.parameter, this.children, ); factory RoleIsShowMenus.fromJson(Map srcJson) => _$RoleIsShowMenusFromJson(srcJson); Map toJson() => _$RoleIsShowMenusToJson(this); } @JsonSerializable() class StageSubject extends Object { @JsonKey(name: 'StageId') int stageId; @JsonKey(name: 'StageName') String stageName; @JsonKey(name: 'SubjectId') int subjectId; @JsonKey(name: 'SubjectName') String subjectName; StageSubject( this.stageId, this.stageName, this.subjectId, this.subjectName, ); factory StageSubject.fromJson(Map srcJson) => _$StageSubjectFromJson(srcJson); Map toJson() => _$StageSubjectToJson(this); } @JsonSerializable() class UserOrgList extends Object { @JsonKey(name: 'Id') int id; @JsonKey(name: 'Name') String name; UserOrgList( this.id, this.name, ); factory UserOrgList.fromJson(Map srcJson) => _$UserOrgListFromJson(srcJson); Map toJson() => _$UserOrgListToJson(this); }