model.dart 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. class TimeBean {
  2. // ignore: non_constant_identifier_names
  3. String? utc_time;
  4. // ignore: non_constant_identifier_names
  5. String? server_time;
  6. // ignore: non_constant_identifier_names
  7. int? uts_ts;
  8. // ignore: non_constant_identifier_names
  9. int? server_ts;
  10. static TimeBean fromJson(Map<String, dynamic> data) {
  11. TimeBean timeBean = TimeBean();
  12. timeBean.utc_time = data['utc_time'];
  13. timeBean.server_time = data['server_time'];
  14. timeBean.uts_ts = data['uts_ts'];
  15. timeBean.server_ts = data['server_ts'];
  16. return timeBean;
  17. }
  18. }
  19. class CheckinDay {
  20. int? days;
  21. int? dayIndex;
  22. int? checkinTime;
  23. String? checkinStatus;
  24. static CheckinDay fromJson(Map<String, dynamic> data) {
  25. CheckinDay bean = CheckinDay();
  26. bean.dayIndex = data['day_index'];
  27. bean.days = data['days'];
  28. bean.checkinTime = data['checkin_time'];
  29. bean.checkinStatus = data['checkin_status'];
  30. return bean;
  31. }
  32. }
  33. class FastBean {
  34. bool? ongoing;
  35. String? mode;
  36. String? status;
  37. int? days;
  38. // ignore: non_constant_identifier_names
  39. int? currentDayIndex;
  40. int? finishDays;
  41. // ignore: non_constant_identifier_names
  42. int? startTime;
  43. // ignore: non_constant_identifier_names
  44. int? endTime;
  45. int? beginDayNum;
  46. bool? crossDay;
  47. bool needConfirm = false;
  48. List<CheckinDay>? checkinDays;
  49. static FastBean fromJson(Map<String, dynamic> data) {
  50. FastBean fastBean = FastBean();
  51. fastBean.ongoing = data['ongoing'];
  52. fastBean.mode = data['mode'];
  53. fastBean.days = data['days'];
  54. fastBean.status = data['status'];
  55. fastBean.currentDayIndex = data['current_day_index'];
  56. fastBean.finishDays = data['finish_days'];
  57. fastBean.startTime = data['start_time'];
  58. fastBean.endTime = data['end_time'];
  59. fastBean.crossDay = data['cross_day'];
  60. fastBean.beginDayNum = data['begin_day_num'];
  61. fastBean.needConfirm = data['need_confirm'];
  62. fastBean.checkinDays = [];
  63. if (data['checkin_days'] != null) {
  64. for (var item in data['checkin_days']) {
  65. fastBean.checkinDays!.add(CheckinDay.fromJson(item));
  66. }
  67. }
  68. return fastBean;
  69. }
  70. }
  71. class OngoingFast {}
  72. class CheckinBean {
  73. int? days;
  74. int? day_index;
  75. late int year, month, day;
  76. int? start_time, end_time;
  77. bool? cross_day;
  78. String? checkout_status;
  79. String? checkin_status;
  80. static CheckinBean fromJson(Map<String, dynamic> data) {
  81. CheckinBean checkinBean = CheckinBean();
  82. checkinBean.days = data['days'];
  83. checkinBean.day_index = data['day_index'];
  84. // checkinBean.days = data['day_num'];
  85. String day_num = data['day_num'].toString();
  86. checkinBean.year = int.parse(day_num.substring(0, 4));
  87. checkinBean.month = int.parse(day_num.substring(4, 6));
  88. checkinBean.day = int.parse(day_num.substring(6, 8));
  89. checkinBean.start_time = data['start_time'];
  90. checkinBean.end_time = data['end_time'];
  91. checkinBean.cross_day = data['cross_day'];
  92. checkinBean.checkout_status = data['checkout_status'];
  93. checkinBean.checkin_status = data['checkin_status'];
  94. return checkinBean;
  95. }
  96. }
  97. class FinishDayBean {
  98. late int year, month, day;
  99. int win_stone = 0;
  100. int single_count = 0;
  101. int challenge_count = 0;
  102. static FinishDayBean fromJson(Map<String, dynamic> data) {
  103. FinishDayBean finishDayBean = FinishDayBean();
  104. String day_num = data['day_num'].toString();
  105. finishDayBean.year = int.parse(day_num.substring(0, 4));
  106. finishDayBean.month = int.parse(day_num.substring(4, 6));
  107. finishDayBean.day = int.parse(day_num.substring(6, 8));
  108. finishDayBean.win_stone = data['rjv_earnings'];
  109. finishDayBean.single_count = data['single_count'];
  110. finishDayBean.challenge_count = data['challenge_count'];
  111. return finishDayBean;
  112. }
  113. }
  114. class CalendarItemBean {
  115. bool isToday = false; //是否是今天
  116. bool isHighlight = false; //是否高亮
  117. bool isIng = false; //进行中的绿环显示
  118. bool showCircle = false; //挑战模式虚框背景
  119. int? year, month, day; //日历年月日
  120. FastBean? fast; //断食对象
  121. FinishDayBean? finishDayBean; //历史日期进食统计
  122. RecordItem? recordItem; //记录详情
  123. var singleProgress;
  124. }
  125. class RecordItem {
  126. List<RecordSticker>? stickers;
  127. List<RecordProgressBg>? progressBg;
  128. List<RecordProgress>? progress;
  129. }
  130. class RecordSticker {
  131. double begin = 0.0;
  132. double width = 0.0;
  133. int days = 0;
  134. }
  135. class RecordProgressBg {
  136. double begin = 0.0;
  137. double width = 0.0;
  138. bool? showStart, showTarget;
  139. RecordProgress? progress;
  140. }
  141. class RecordProgress {
  142. double begin = 0.0;
  143. double width = 0.0;
  144. double beginAlpha = 0.0;
  145. double endAlpha = 0.0;
  146. bool showArrow = false;
  147. }
  148. class ChallengeCheckinBean {
  149. bool today = false;
  150. bool abandon = false; //是否终止
  151. bool rightTime = false; //是否超时
  152. bool passed = false; //是否今天以前
  153. int day = 1;
  154. int stone = 0;
  155. }
  156. class FastResultBean {
  157. String? mode;
  158. String? status;
  159. String? checkinStatus;
  160. String? fastingStatus;
  161. int days = 0;
  162. int? beginDayNum;
  163. int? currentDayIndex;
  164. int? currentDayNum;
  165. int? startTime;
  166. int? endTime;
  167. bool? crossDay = false;
  168. bool? ongoing = false;
  169. bool? over = false;
  170. int rjvExpenditure = 0;
  171. int rjvEarnings = 0;
  172. int rjvEarningsMax = 0;
  173. int rjvProfit = 0;
  174. int rjvYieldRate = 0;
  175. int rjvBalance = 0;
  176. static FastResultBean fromJson(Map<String, dynamic> data) {
  177. FastResultBean bean = FastResultBean();
  178. bean.mode = data['mode'];
  179. bean.days = data['days'];
  180. bean.beginDayNum = data['begin_day_num'];
  181. bean.currentDayIndex = data['current_day_index'];
  182. bean.currentDayNum = data['current_day_num'];
  183. bean.startTime = data['start_time'];
  184. bean.endTime = data['end_time'];
  185. bean.crossDay = data['cross_day'];
  186. bean.status = data['status'];
  187. bean.ongoing = data['ongoing'];
  188. bean.rjvExpenditure = data['rjv_expenditure'];
  189. bean.rjvEarnings = data['rjv_earnings'];
  190. bean.rjvEarningsMax = data['rjv_earnings_max'];
  191. bean.rjvProfit = data['rjv_profit'];
  192. bean.rjvYieldRate = data['rjv_yield_rate'];
  193. bean.rjvBalance = data['rjv_balance'];
  194. bean.checkinStatus = data['checkin_status'];
  195. bean.over = data['over'];
  196. bean.fastingStatus = data['fasting_status'];
  197. return bean;
  198. }
  199. }
  200. class UserBean {
  201. String? uid;
  202. bool mobieBind = false;
  203. bool wxBind = false;
  204. String? mobile;
  205. String? avatar;
  206. String? nickname;
  207. String? type;
  208. String? inviteCode;
  209. bool inputInviteCode = true;
  210. int rjvBalance = 0;
  211. int dayLevel = 1;
  212. bool needImprove = true;
  213. static UserBean fromJson(Map<String, dynamic> data) {
  214. UserBean bean = UserBean();
  215. bean.uid = data['id'];
  216. bean.mobieBind = data['mobile_bind'];
  217. bean.wxBind = data['login_bind']['wx'];
  218. bean.mobile = data['mobile'];
  219. bean.avatar = data['avatar'];
  220. bean.nickname = data['nickname'];
  221. bean.type = data['type'];
  222. bean.inviteCode = data['invite_code'];
  223. bean.inputInviteCode = data['input_invite_code'];
  224. bean.rjvBalance = data['rjv_balance'];
  225. bean.needImprove = data['need_improve'];
  226. bean.dayLevel = data['day_level'];
  227. return bean;
  228. }
  229. }
  230. class HistoryBean {
  231. int stone = 0;
  232. String description = '';
  233. DateTime? dateTime;
  234. static HistoryBean fromJson(Map<String, dynamic> data) {
  235. HistoryBean bean = HistoryBean();
  236. bean.stone = data['rjv_change'];
  237. bean.description = data['description'] ?? '';
  238. bean.dateTime = DateTime.fromMillisecondsSinceEpoch(data['time'] * 1000);
  239. return bean;
  240. }
  241. }
  242. class RechargeBean{
  243. String id = '';
  244. int rjv = 0;
  245. double amount = 0.0;
  246. String tags = '';
  247. bool def = false;
  248. static RechargeBean fromJson(Map<String,dynamic> data){
  249. RechargeBean bean = RechargeBean();
  250. bean.id = data['id'];
  251. bean.rjv = data['rjv'];
  252. bean.amount = data['amount']/100;
  253. bean.tags = data['tags'];
  254. bean.def = data['def'];
  255. return bean;
  256. }
  257. }