class PlanStepDto { int? id; String? stepIcon; String? stepContent; String? stepExplain; int? stepStatus; PlanStepDto({this.id, this.stepIcon, this.stepContent, this.stepExplain, this.stepStatus}); Map toJson() { final map = {}; map["id"] = id ?? 0; map["step_icon"] = stepIcon; map["step_content"] = stepContent; map["step_explain"] = stepExplain; map["step_status"] = stepStatus; return map; } PlanStepDto.fromJson(dynamic json) { id = json["id"]; stepIcon = json["step_icon"]; stepContent = json["step_content"]; stepExplain = json["step_explain"]; stepStatus = json["step_status"]; } /// 浅拷贝(只复制字段,不生成新 id) PlanStepDto copyWith({ int? id, String? stepIcon, String? stepContent, String? stepExplain, int? stepStatus, }) => PlanStepDto( id: id ?? this.id, stepIcon: stepIcon ?? this.stepIcon, stepContent: stepContent ?? this.stepContent, stepExplain: stepExplain ?? this.stepExplain, stepStatus: stepStatus ?? this.stepStatus, ); } class PlanDetailDto { String? agentName; String? summary; String? dialog; List stepsList; List suggestionsList; PlanDetailDto({ this.agentName, this.summary, this.dialog, List? stepsList, List? suggestionsList, }) : stepsList = stepsList ?? [], suggestionsList = suggestionsList ?? []; factory PlanDetailDto.fromJson(Map json) { return PlanDetailDto( agentName: json["agent_name"], summary: json["summary"], dialog: json["dialog"], stepsList: json["steps"] != null ? (json["steps"] as List).map((v) => PlanStepDto.fromJson(v)).toList() : [], suggestionsList: json["suggestions"] != null ? List.from(json["suggestions"]) : [], ); } Map toJson() { return { "agent_name": agentName, "summary": summary, "dialog": dialog, "steps": stepsList.map((v) => v.toJson()).toList(), "suggestions": suggestionsList, }; } }