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

75
lib/models/schedule.dart Normal file
View File

@@ -0,0 +1,75 @@
/// 定时任务模型。
///
/// 对应后端 /sys/schedule/* 接口的定时任务实体。
/// status 取值:0=正常 1=暂停。
class Schedule {
const Schedule({
required this.jobId,
required this.beanName,
required this.methodName,
required this.params,
required this.cronExpression,
required this.status,
required this.remark,
required this.createTime,
});
/// 任务 ID。
final String jobId;
/// Spring Bean 名称。
final String beanName;
/// 方法名称。
final String methodName;
/// 方法参数。
final String params;
/// Cron 表达式。
final String cronExpression;
/// 状态(0=正常 1=暂停)。
final int status;
/// 备注。
final String remark;
/// 创建时间。
final DateTime? createTime;
factory Schedule.fromJson(Map<String, dynamic> json) {
return Schedule(
jobId: (json['jobId'] ?? json['id'])?.toString() ?? '',
beanName: json['beanName']?.toString() ?? '',
methodName: json['methodName']?.toString() ?? '',
params: json['params']?.toString() ?? '',
cronExpression: json['cronExpression']?.toString() ?? '',
status: int.tryParse(json['status']?.toString() ?? '0') ?? 0,
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 {
'jobId': jobId,
'beanName': beanName,
'methodName': methodName,
'params': params,
'cronExpression': cronExpression,
'status': status,
'remark': remark,
'createTime': createTime?.toIso8601String(),
};
}
}