class TimeBean { // ignore: non_constant_identifier_names String? utc_time; // ignore: non_constant_identifier_names String? server_time; // ignore: non_constant_identifier_names int? uts_ts; // ignore: non_constant_identifier_names int? server_ts; static TimeBean fromJson(Map data) { TimeBean timeBean = TimeBean(); timeBean.utc_time = data['utc_time']; timeBean.server_time = data['server_time']; timeBean.uts_ts = data['uts_ts']; timeBean.server_ts = data['server_ts']; return timeBean; } } class CheckinDay { int? days; int? dayIndex; int? checkinTime; String? checkinStatus; static CheckinDay fromJson(Map data) { CheckinDay bean = CheckinDay(); bean.dayIndex = data['day_index']; bean.days = data['days']; bean.checkinTime = data['checkin_time']; bean.checkinStatus = data['checkin_status']; return bean; } } class FastBean { bool? ongoing; String? mode; String? status; int? days; // ignore: non_constant_identifier_names int? currentDayIndex; int? finishDays; // ignore: non_constant_identifier_names int? startTime; // ignore: non_constant_identifier_names int? endTime; int? beginDayNum; bool? crossDay; bool needConfirm = false; List? checkinDays; static FastBean fromJson(Map data) { FastBean fastBean = FastBean(); fastBean.ongoing = data['ongoing']; fastBean.mode = data['mode']; fastBean.days = data['days']; fastBean.status = data['status']; fastBean.currentDayIndex = data['current_day_index']; fastBean.finishDays = data['finish_days']; fastBean.startTime = data['start_time']; fastBean.endTime = data['end_time']; fastBean.crossDay = data['cross_day']; fastBean.beginDayNum = data['begin_day_num']; fastBean.needConfirm = data['need_confirm']; fastBean.checkinDays = []; if (data['checkin_days'] != null) { for (var item in data['checkin_days']) { fastBean.checkinDays!.add(CheckinDay.fromJson(item)); } } return fastBean; } } class OngoingFast {} class CheckinBean { int? days; int? day_index; late int year, month, day; int? start_time, end_time; bool? cross_day; String? checkout_status; String? checkin_status; static CheckinBean fromJson(Map data) { CheckinBean checkinBean = CheckinBean(); checkinBean.days = data['days']; checkinBean.day_index = data['day_index']; // checkinBean.days = data['day_num']; String day_num = data['day_num'].toString(); checkinBean.year = int.parse(day_num.substring(0, 4)); checkinBean.month = int.parse(day_num.substring(4, 6)); checkinBean.day = int.parse(day_num.substring(6, 8)); checkinBean.start_time = data['start_time']; checkinBean.end_time = data['end_time']; checkinBean.cross_day = data['cross_day']; checkinBean.checkout_status = data['checkout_status']; checkinBean.checkin_status = data['checkin_status']; return checkinBean; } } class FinishDayBean { late int year, month, day; int win_stone = 0; int single_count = 0; int challenge_count = 0; static FinishDayBean fromJson(Map data) { FinishDayBean finishDayBean = FinishDayBean(); String day_num = data['day_num'].toString(); finishDayBean.year = int.parse(day_num.substring(0, 4)); finishDayBean.month = int.parse(day_num.substring(4, 6)); finishDayBean.day = int.parse(day_num.substring(6, 8)); finishDayBean.win_stone = data['rjv_earnings']; finishDayBean.single_count = data['single_count']; finishDayBean.challenge_count = data['challenge_count']; return finishDayBean; } } class CalendarItemBean { bool isToday = false; //是否是今天 bool isHighlight = false; //是否高亮 bool isIng = false; //进行中的绿环显示 bool showCircle = false; //挑战模式虚框背景 int? year, month, day; //日历年月日 FastBean? fast; //断食对象 FinishDayBean? finishDayBean; //历史日期进食统计 RecordItem? recordItem; //记录详情 var singleProgress; } class RecordItem { List? stickers; List? progressBg; List? progress; } class RecordSticker { double begin = 0.0; double width = 0.0; int days = 0; } class RecordProgressBg { double begin = 0.0; double width = 0.0; bool? showStart, showTarget; RecordProgress? progress; } class RecordProgress { double begin = 0.0; double width = 0.0; double beginAlpha = 0.0; double endAlpha = 0.0; bool showArrow = false; } class ChallengeCheckinBean { bool today = false; bool abandon = false; //是否终止 bool rightTime = false; //是否超时 bool passed = false; //是否今天以前 int day = 1; int stone = 0; } class FastResultBean { String? mode; String? status; String? checkinStatus; String? fastingStatus; int days = 0; int? beginDayNum; int? currentDayIndex; int? currentDayNum; int? startTime; int? endTime; bool? crossDay = false; bool? ongoing = false; bool? over = false; int rjvExpenditure = 0; int rjvEarnings = 0; int rjvEarningsMax = 0; int rjvProfit = 0; int rjvYieldRate = 0; int rjvBalance = 0; static FastResultBean fromJson(Map data) { FastResultBean bean = FastResultBean(); bean.mode = data['mode']; bean.days = data['days']; bean.beginDayNum = data['begin_day_num']; bean.currentDayIndex = data['current_day_index']; bean.currentDayNum = data['current_day_num']; bean.startTime = data['start_time']; bean.endTime = data['end_time']; bean.crossDay = data['cross_day']; bean.status = data['status']; bean.ongoing = data['ongoing']; bean.rjvExpenditure = data['rjv_expenditure']; bean.rjvEarnings = data['rjv_earnings']; bean.rjvEarningsMax = data['rjv_earnings_max']; bean.rjvProfit = data['rjv_profit']; bean.rjvYieldRate = data['rjv_yield_rate']; bean.rjvBalance = data['rjv_balance']; bean.checkinStatus = data['checkin_status']; bean.over = data['over']; bean.fastingStatus = data['fasting_status']; return bean; } } class UserBean { String? uid; bool mobieBind = false; bool wxBind = false; String? mobile; String? avatar; String? nickname; String? type; String? inviteCode; bool inputInviteCode = true; int rjvBalance = 0; int dayLevel = 1; bool needImprove = true; static UserBean fromJson(Map data) { UserBean bean = UserBean(); bean.uid = data['id']; bean.mobieBind = data['mobile_bind']; bean.wxBind = data['login_bind']['wx']; bean.mobile = data['mobile']; bean.avatar = data['avatar']; bean.nickname = data['nickname']; bean.type = data['type']; bean.inviteCode = data['invite_code']; bean.inputInviteCode = data['input_invite_code']; bean.rjvBalance = data['rjv_balance']; bean.needImprove = data['need_improve']; bean.dayLevel = data['day_level']; return bean; } } class HistoryBean { int stone = 0; String description = ''; DateTime? dateTime; static HistoryBean fromJson(Map data) { HistoryBean bean = HistoryBean(); bean.stone = data['rjv_change']; bean.description = data['description'] ?? ''; bean.dateTime = DateTime.fromMillisecondsSinceEpoch(data['time'] * 1000); return bean; } } class RechargeBean{ String id = ''; int rjv = 0; double amount = 0.0; String tags = ''; bool def = false; static RechargeBean fromJson(Map data){ RechargeBean bean = RechargeBean(); bean.id = data['id']; bean.rjv = data['rjv']; bean.amount = data['amount']/100; bean.tags = data['tags']; bean.def = data['def']; return bean; } }