Showing
6 changed files
with
600 additions
and
110 deletions
lib/category/models/category_entity.dart
0 → 100644
| 1 | +import 'dart:convert'; | ||
| 2 | +import 'package:Parlando/generated/json/base/json_field.dart'; | ||
| 3 | +import 'package:Parlando/generated/json/category_entity.g.dart'; | ||
| 4 | + | ||
| 5 | +@JsonSerializable() | ||
| 6 | +class CategoryEntity { | ||
| 7 | + String? status; | ||
| 8 | + int? code; | ||
| 9 | + String? message; | ||
| 10 | + CategoryData? data; | ||
| 11 | + CategoryError? error; | ||
| 12 | + | ||
| 13 | + CategoryEntity(); | ||
| 14 | + | ||
| 15 | + factory CategoryEntity.fromJson(Map<String, dynamic> json) => | ||
| 16 | + $CategoryEntityFromJson(json); | ||
| 17 | + | ||
| 18 | + Map<String, dynamic> toJson() => $CategoryEntityToJson(this); | ||
| 19 | + | ||
| 20 | + @override | ||
| 21 | + String toString() { | ||
| 22 | + return jsonEncode(this); | ||
| 23 | + } | ||
| 24 | +} | ||
| 25 | + | ||
| 26 | +@JsonSerializable() | ||
| 27 | +class CategoryData { | ||
| 28 | + List<CategoryDataData>? data; | ||
| 29 | + CategoryDataMeta? meta; | ||
| 30 | + | ||
| 31 | + CategoryData(); | ||
| 32 | + | ||
| 33 | + factory CategoryData.fromJson(Map<String, dynamic> json) => | ||
| 34 | + $CategoryDataFromJson(json); | ||
| 35 | + | ||
| 36 | + Map<String, dynamic> toJson() => $CategoryDataToJson(this); | ||
| 37 | + | ||
| 38 | + @override | ||
| 39 | + String toString() { | ||
| 40 | + return jsonEncode(this); | ||
| 41 | + } | ||
| 42 | +} | ||
| 43 | + | ||
| 44 | +@JsonSerializable() | ||
| 45 | +class CategoryDataData { | ||
| 46 | + int? id; | ||
| 47 | + String? title; | ||
| 48 | + String? subtitle; | ||
| 49 | + @JSONField(name: "left_text") | ||
| 50 | + String? leftText; | ||
| 51 | + @JSONField(name: "right_text") | ||
| 52 | + String? rightText; | ||
| 53 | + @JSONField(name: "poem_id") | ||
| 54 | + String? poemId; | ||
| 55 | + String? state; | ||
| 56 | + @JSONField(name: "created_at") | ||
| 57 | + String? createdAt; | ||
| 58 | + @JSONField(name: "updated_at") | ||
| 59 | + String? updatedAt; | ||
| 60 | + CategoryDataDataPoem? poem; | ||
| 61 | + | ||
| 62 | + CategoryDataData(); | ||
| 63 | + | ||
| 64 | + factory CategoryDataData.fromJson(Map<String, dynamic> json) => | ||
| 65 | + $CategoryDataDataFromJson(json); | ||
| 66 | + | ||
| 67 | + Map<String, dynamic> toJson() => $CategoryDataDataToJson(this); | ||
| 68 | + | ||
| 69 | + @override | ||
| 70 | + String toString() { | ||
| 71 | + return jsonEncode(this); | ||
| 72 | + } | ||
| 73 | +} | ||
| 74 | + | ||
| 75 | +@JsonSerializable() | ||
| 76 | +class CategoryDataDataPoem { | ||
| 77 | + int? id; | ||
| 78 | + String? title; | ||
| 79 | + String? author; | ||
| 80 | + String? content; | ||
| 81 | + String? annotate; | ||
| 82 | + String? spelling; | ||
| 83 | + String? en; | ||
| 84 | + String? state; | ||
| 85 | + @JSONField(name: "created_at") | ||
| 86 | + String? createdAt; | ||
| 87 | + @JSONField(name: "updated_at") | ||
| 88 | + String? updatedAt; | ||
| 89 | + | ||
| 90 | + CategoryDataDataPoem(); | ||
| 91 | + | ||
| 92 | + factory CategoryDataDataPoem.fromJson(Map<String, dynamic> json) => | ||
| 93 | + $CategoryDataDataPoemFromJson(json); | ||
| 94 | + | ||
| 95 | + Map<String, dynamic> toJson() => $CategoryDataDataPoemToJson(this); | ||
| 96 | + | ||
| 97 | + @override | ||
| 98 | + String toString() { | ||
| 99 | + return jsonEncode(this); | ||
| 100 | + } | ||
| 101 | +} | ||
| 102 | + | ||
| 103 | +@JsonSerializable() | ||
| 104 | +class CategoryDataMeta { | ||
| 105 | + CategoryDataMetaPagination? pagination; | ||
| 106 | + | ||
| 107 | + CategoryDataMeta(); | ||
| 108 | + | ||
| 109 | + factory CategoryDataMeta.fromJson(Map<String, dynamic> json) => | ||
| 110 | + $CategoryDataMetaFromJson(json); | ||
| 111 | + | ||
| 112 | + Map<String, dynamic> toJson() => $CategoryDataMetaToJson(this); | ||
| 113 | + | ||
| 114 | + @override | ||
| 115 | + String toString() { | ||
| 116 | + return jsonEncode(this); | ||
| 117 | + } | ||
| 118 | +} | ||
| 119 | + | ||
| 120 | +@JsonSerializable() | ||
| 121 | +class CategoryDataMetaPagination { | ||
| 122 | + int? total; | ||
| 123 | + int? count; | ||
| 124 | + @JSONField(name: "per_page") | ||
| 125 | + int? perPage; | ||
| 126 | + @JSONField(name: "current_page") | ||
| 127 | + int? currentPage; | ||
| 128 | + | ||
| 129 | + CategoryDataMetaPagination(); | ||
| 130 | + | ||
| 131 | + factory CategoryDataMetaPagination.fromJson(Map<String, dynamic> json) => | ||
| 132 | + $CategoryDataMetaPaginationFromJson(json); | ||
| 133 | + | ||
| 134 | + Map<String, dynamic> toJson() => $CategoryDataMetaPaginationToJson(this); | ||
| 135 | + | ||
| 136 | + @override | ||
| 137 | + String toString() { | ||
| 138 | + return jsonEncode(this); | ||
| 139 | + } | ||
| 140 | +} | ||
| 141 | + | ||
| 142 | +@JsonSerializable() | ||
| 143 | +class CategoryError { | ||
| 144 | + CategoryError(); | ||
| 145 | + | ||
| 146 | + factory CategoryError.fromJson(Map<String, dynamic> json) => | ||
| 147 | + $CategoryErrorFromJson(json); | ||
| 148 | + | ||
| 149 | + Map<String, dynamic> toJson() => $CategoryErrorToJson(this); | ||
| 150 | + | ||
| 151 | + @override | ||
| 152 | + String toString() { | ||
| 153 | + return jsonEncode(this); | ||
| 154 | + } | ||
| 155 | +} |
| 1 | +import 'package:Parlando/category/models/category_entity.dart'; | ||
| 2 | +import 'package:Parlando/net/dio_utils.dart'; | ||
| 3 | +import 'package:Parlando/net/http_api.dart'; | ||
| 4 | +import 'package:Parlando/util/toast_utils.dart'; | ||
| 1 | import 'package:flutter/material.dart'; | 5 | import 'package:flutter/material.dart'; |
| 2 | import 'package:Parlando/category/models/category_item_entity.dart'; | 6 | import 'package:Parlando/category/models/category_item_entity.dart'; |
| 3 | import 'package:Parlando/category/provider/categories_page_provider.dart'; | 7 | import 'package:Parlando/category/provider/categories_page_provider.dart'; |
| ... | @@ -33,71 +37,64 @@ class _CategoryListPageState extends State<CategoryListPage> { | ... | @@ -33,71 +37,64 @@ class _CategoryListPageState extends State<CategoryListPage> { |
| 33 | } | 37 | } |
| 34 | 38 | ||
| 35 | Future _onRefresh() async { | 39 | Future _onRefresh() async { |
| 36 | - await Future.delayed(const Duration(seconds: 2), () { | 40 | + _page = 1; |
| 37 | - setState(() { | 41 | + _list = []; |
| 38 | - _page = 1; | 42 | + DioUtils.instance.asyncRequestNetwork<CategoryEntity>( |
| 39 | - _list = [ | 43 | + Method.get, |
| 40 | - CategoryItemEntity( | 44 | + HttpApi.packPoem, |
| 41 | - flag: "此时", | 45 | + params: {'page': _page}, |
| 42 | - timeLunar: "辛丑牛年 庚子月 乙卯日 辰时", | 46 | + onSuccess: (data) { |
| 43 | - timeSolar: "2022年01月02日 09点22分", | 47 | + List<CategoryDataData> list = data!.data!.data!; |
| 44 | - period: "冬", | 48 | + for (CategoryDataData each in list) { |
| 45 | - poem: "绿蚁新醅酒,红泥小火炉。\n晚来天欲雪,能饮一杯无?", | 49 | + _list.add( |
| 46 | - author: "[唐]白居易《问刘十九》", | 50 | + CategoryItemEntity( |
| 47 | - bgImage: "assets/images/category/category_item_bg.jpeg", | 51 | + flag: each.leftText, |
| 48 | - ), | 52 | + timeLunar: each.title, |
| 49 | - CategoryItemEntity( | 53 | + timeSolar: each.subtitle, |
| 50 | - flag: "此地", | 54 | + period: each.rightText, |
| 51 | - timeLunar: "北京 海淀 万泉庄", | 55 | + poem: each.poem!.content, |
| 52 | - period: "京", | 56 | + author: each.poem!.author, |
| 53 | - poem: "前不见古人,后不见来者。\n念天地之悠悠,独怆然而涕下!", | 57 | + bgImage: "assets/images/category/category_item_bg.jpeg", |
| 54 | - author: "[唐]陈子昂《登幽州台歌》", | 58 | + ), |
| 55 | - bgImage: "", | 59 | + ); |
| 56 | - ), | 60 | + } |
| 57 | - CategoryItemEntity( | 61 | + _setCategoriesCount(_list.length); |
| 58 | - flag: "此乐", | 62 | + setState(() {}); |
| 59 | - period: "茶", | 63 | + }, |
| 60 | - poem: "坐酌泠泠水,看煎瑟瑟尘。\n无由持一碗,寄与爱茶人。", | 64 | + onError: (code, msg) { |
| 61 | - author: "[唐]白居易《山泉煎茶有怀》", | 65 | + Toast.show("获取数据失败!"); |
| 62 | - bgImage: "", | 66 | + }, |
| 63 | - ), | 67 | + ); |
| 64 | - CategoryItemEntity( | ||
| 65 | - flag: "此景", | ||
| 66 | - timeLunar: "辛丑牛年 庚子月 乙卯日 辰时", | ||
| 67 | - timeSolar: "2022年01月02日 09点22分", | ||
| 68 | - period: "天空", | ||
| 69 | - poem: | ||
| 70 | - "夏木多好鸟,偏知反舌名。\n林幽仍共宿,时过即无声。\n竹外天空晓,谿头雨自晴。\n居人宜寂寞,深院益凄清。\n入雾暗相失,当风闲易惊。\n来年上林苑,知尔最先鸣。", | ||
| 71 | - author: "[唐]张籍《徐州试反舌无声》", | ||
| 72 | - bgImage: "", | ||
| 73 | - ), | ||
| 74 | - ]; | ||
| 75 | - }); | ||
| 76 | - _setCategoriesCount(_list.length); | ||
| 77 | - }); | ||
| 78 | } | 68 | } |
| 79 | 69 | ||
| 80 | Future _loadMore() async { | 70 | Future _loadMore() async { |
| 81 | - await Future.delayed(const Duration(seconds: 2), () { | 71 | + _page++; |
| 82 | - setState(() { | 72 | + DioUtils.instance.asyncRequestNetwork<CategoryEntity>( |
| 83 | - _list.addAll( | 73 | + Method.get, |
| 84 | - List.generate( | 74 | + HttpApi.packPoem, |
| 85 | - 10, | 75 | + params: {'page': _page}, |
| 86 | - (i) => CategoryItemEntity( | 76 | + onSuccess: (data) { |
| 87 | - flag: "此时", | 77 | + List<CategoryDataData> list = data!.data!.data!; |
| 88 | - timeLunar: "辛丑牛年 庚子月 乙卯日 辰时", | 78 | + for (CategoryDataData each in list) { |
| 89 | - timeSolar: "2022年01月02日 09点22分", | 79 | + _list.add( |
| 90 | - period: "冬", | 80 | + CategoryItemEntity( |
| 91 | - poem: "绿蚁新醅酒,红泥小火炉。\n晚来天欲雪,能饮一杯无?", | 81 | + flag: each.leftText, |
| 92 | - author: "[唐]白居易《问刘十九》", | 82 | + timeLunar: each.title, |
| 93 | - bgImage: "", | 83 | + timeSolar: each.subtitle, |
| 84 | + period: each.rightText, | ||
| 85 | + poem: each.poem!.content, | ||
| 86 | + author: each.poem!.author, | ||
| 87 | + bgImage: "assets/images/category/category_item_bg.jpeg", | ||
| 94 | ), | 88 | ), |
| 95 | - ), | 89 | + ); |
| 96 | - ); | 90 | + } |
| 97 | - _page++; | 91 | + _setCategoriesCount(_list.length); |
| 98 | - }); | 92 | + setState(() {}); |
| 99 | - _setCategoriesCount(_list.length); | 93 | + }, |
| 100 | - }); | 94 | + onError: (code, msg) { |
| 95 | + Toast.show("获取数据失败!"); | ||
| 96 | + }, | ||
| 97 | + ); | ||
| 101 | } | 98 | } |
| 102 | 99 | ||
| 103 | void _setCategoriesCount(int count) { | 100 | void _setCategoriesCount(int count) { | ... | ... |
| ... | @@ -6,6 +6,7 @@ | ... | @@ -6,6 +6,7 @@ |
| 6 | import 'package:flutter/material.dart'; | 6 | import 'package:flutter/material.dart'; |
| 7 | import 'package:Parlando/account/models/upload_avatar_entity.dart'; | 7 | import 'package:Parlando/account/models/upload_avatar_entity.dart'; |
| 8 | import 'package:Parlando/account/models/user_entity.dart'; | 8 | import 'package:Parlando/account/models/user_entity.dart'; |
| 9 | +import 'package:Parlando/category/models/category_entity.dart'; | ||
| 9 | import 'package:Parlando/category/models/category_item_entity.dart'; | 10 | import 'package:Parlando/category/models/category_item_entity.dart'; |
| 10 | import 'package:Parlando/home/models/setting_entity.dart'; | 11 | import 'package:Parlando/home/models/setting_entity.dart'; |
| 11 | import 'package:Parlando/login/models/auth_entity.dart'; | 12 | import 'package:Parlando/login/models/auth_entity.dart'; |
| ... | @@ -25,6 +26,14 @@ class JsonConvert { | ... | @@ -25,6 +26,14 @@ class JsonConvert { |
| 25 | (UserEntity).toString(): UserEntity.fromJson, | 26 | (UserEntity).toString(): UserEntity.fromJson, |
| 26 | (UserData).toString(): UserData.fromJson, | 27 | (UserData).toString(): UserData.fromJson, |
| 27 | (UserError).toString(): UserError.fromJson, | 28 | (UserError).toString(): UserError.fromJson, |
| 29 | + (CategoryEntity).toString(): CategoryEntity.fromJson, | ||
| 30 | + (CategoryData).toString(): CategoryData.fromJson, | ||
| 31 | + (CategoryDataData).toString(): CategoryDataData.fromJson, | ||
| 32 | + (CategoryDataDataPoem).toString(): CategoryDataDataPoem.fromJson, | ||
| 33 | + (CategoryDataMeta).toString(): CategoryDataMeta.fromJson, | ||
| 34 | + (CategoryDataMetaPagination).toString(): | ||
| 35 | + CategoryDataMetaPagination.fromJson, | ||
| 36 | + (CategoryError).toString(): CategoryError.fromJson, | ||
| 28 | (CategoryItemEntity).toString(): CategoryItemEntity.fromJson, | 37 | (CategoryItemEntity).toString(): CategoryItemEntity.fromJson, |
| 29 | (SettingEntity).toString(): SettingEntity.fromJson, | 38 | (SettingEntity).toString(): SettingEntity.fromJson, |
| 30 | (SettingData).toString(): SettingData.fromJson, | 39 | (SettingData).toString(): SettingData.fromJson, |
| ... | @@ -33,17 +42,17 @@ class JsonConvert { | ... | @@ -33,17 +42,17 @@ class JsonConvert { |
| 33 | (AuthEntity).toString(): AuthEntity.fromJson, | 42 | (AuthEntity).toString(): AuthEntity.fromJson, |
| 34 | (AuthData).toString(): AuthData.fromJson, | 43 | (AuthData).toString(): AuthData.fromJson, |
| 35 | (AuthError).toString(): AuthError.fromJson, | 44 | (AuthError).toString(): AuthError.fromJson, |
| 36 | - (UploadEntity).toString(): UploadEntity.fromJson, | 45 | + (UploadEntity).toString(): UploadEntity.fromJson, |
| 37 | - (UploadData).toString(): UploadData.fromJson, | 46 | + (UploadData).toString(): UploadData.fromJson, |
| 38 | - (UploadError).toString(): UploadError.fromJson, | 47 | + (UploadError).toString(): UploadError.fromJson, |
| 39 | - (LangSortEntity).toString(): LangSortEntity.fromJson, | 48 | + (LangSortEntity).toString(): LangSortEntity.fromJson, |
| 40 | - (SearchEntity).toString(): SearchEntity.fromJson, | 49 | + (SearchEntity).toString(): SearchEntity.fromJson, |
| 41 | - (SearchItems).toString(): SearchItems.fromJson, | 50 | + (SearchItems).toString(): SearchItems.fromJson, |
| 42 | - (SearchItemsOwner).toString(): SearchItemsOwner.fromJson, | 51 | + (SearchItemsOwner).toString(): SearchItemsOwner.fromJson, |
| 43 | - (SearchItemsLicense).toString(): SearchItemsLicense.fromJson, | 52 | + (SearchItemsLicense).toString(): SearchItemsLicense.fromJson, |
| 44 | - (FriendEntity).toString(): FriendEntity.fromJson, | 53 | + (FriendEntity).toString(): FriendEntity.fromJson, |
| 45 | - (FriendData).toString(): FriendData.fromJson, | 54 | + (FriendData).toString(): FriendData.fromJson, |
| 46 | - }; | 55 | + }; |
| 47 | 56 | ||
| 48 | T? convert<T>(dynamic value) { | 57 | T? convert<T>(dynamic value) { |
| 49 | if (value == null) { | 58 | if (value == null) { |
| ... | @@ -151,67 +160,155 @@ class JsonConvert { | ... | @@ -151,67 +160,155 @@ class JsonConvert { |
| 151 | .map<UserError>((Map<String, dynamic> e) => UserError.fromJson(e)) | 160 | .map<UserError>((Map<String, dynamic> e) => UserError.fromJson(e)) |
| 152 | .toList() as M; | 161 | .toList() as M; |
| 153 | } | 162 | } |
| 163 | + if (<CategoryEntity>[] is M) { | ||
| 164 | + return data | ||
| 165 | + .map<CategoryEntity>( | ||
| 166 | + (Map<String, dynamic> e) => CategoryEntity.fromJson(e)) | ||
| 167 | + .toList() as M; | ||
| 168 | + } | ||
| 169 | + if (<CategoryData>[] is M) { | ||
| 170 | + return data | ||
| 171 | + .map<CategoryData>( | ||
| 172 | + (Map<String, dynamic> e) => CategoryData.fromJson(e)) | ||
| 173 | + .toList() as M; | ||
| 174 | + } | ||
| 175 | + if (<CategoryDataData>[] is M) { | ||
| 176 | + return data | ||
| 177 | + .map<CategoryDataData>( | ||
| 178 | + (Map<String, dynamic> e) => CategoryDataData.fromJson(e)) | ||
| 179 | + .toList() as M; | ||
| 180 | + } | ||
| 181 | + if (<CategoryDataDataPoem>[] is M) { | ||
| 182 | + return data | ||
| 183 | + .map<CategoryDataDataPoem>( | ||
| 184 | + (Map<String, dynamic> e) => CategoryDataDataPoem.fromJson(e)) | ||
| 185 | + .toList() as M; | ||
| 186 | + } | ||
| 187 | + if (<CategoryDataMeta>[] is M) { | ||
| 188 | + return data | ||
| 189 | + .map<CategoryDataMeta>( | ||
| 190 | + (Map<String, dynamic> e) => CategoryDataMeta.fromJson(e)) | ||
| 191 | + .toList() as M; | ||
| 192 | + } | ||
| 193 | + if (<CategoryDataMetaPagination>[] is M) { | ||
| 194 | + return data | ||
| 195 | + .map<CategoryDataMetaPagination>((Map<String, dynamic> e) => | ||
| 196 | + CategoryDataMetaPagination.fromJson(e)) | ||
| 197 | + .toList() as M; | ||
| 198 | + } | ||
| 199 | + if (<CategoryError>[] is M) { | ||
| 200 | + return data | ||
| 201 | + .map<CategoryError>( | ||
| 202 | + (Map<String, dynamic> e) => CategoryError.fromJson(e)) | ||
| 203 | + .toList() as M; | ||
| 204 | + } | ||
| 154 | if (<CategoryItemEntity>[] is M) { | 205 | if (<CategoryItemEntity>[] is M) { |
| 155 | - return data.map<CategoryItemEntity>((Map<String, dynamic> e) => CategoryItemEntity.fromJson(e)).toList() as M; | 206 | + return data |
| 207 | + .map<CategoryItemEntity>( | ||
| 208 | + (Map<String, dynamic> e) => CategoryItemEntity.fromJson(e)) | ||
| 209 | + .toList() as M; | ||
| 156 | } | 210 | } |
| 157 | - if(<SettingEntity>[] is M){ | 211 | + if (<SettingEntity>[] is M) { |
| 158 | - return data.map<SettingEntity>((Map<String, dynamic> e) => SettingEntity.fromJson(e)).toList() as M; | 212 | + return data |
| 213 | + .map<SettingEntity>( | ||
| 214 | + (Map<String, dynamic> e) => SettingEntity.fromJson(e)) | ||
| 215 | + .toList() as M; | ||
| 159 | } | 216 | } |
| 160 | - if(<SettingData>[] is M){ | 217 | + if (<SettingData>[] is M) { |
| 161 | - return data.map<SettingData>((Map<String, dynamic> e) => SettingData.fromJson(e)).toList() as M; | 218 | + return data |
| 219 | + .map<SettingData>((Map<String, dynamic> e) => SettingData.fromJson(e)) | ||
| 220 | + .toList() as M; | ||
| 162 | } | 221 | } |
| 163 | - if(<SettingDataLoginSetting>[] is M){ | 222 | + if (<SettingDataLoginSetting>[] is M) { |
| 164 | - return data.map<SettingDataLoginSetting>((Map<String, dynamic> e) => SettingDataLoginSetting.fromJson(e)).toList() as M; | 223 | + return data |
| 224 | + .map<SettingDataLoginSetting>( | ||
| 225 | + (Map<String, dynamic> e) => SettingDataLoginSetting.fromJson(e)) | ||
| 226 | + .toList() as M; | ||
| 165 | } | 227 | } |
| 166 | - if(<SettingError>[] is M){ | 228 | + if (<SettingError>[] is M) { |
| 167 | - return data.map<SettingError>((Map<String, dynamic> e) => SettingError.fromJson(e)).toList() as M; | 229 | + return data |
| 230 | + .map<SettingError>( | ||
| 231 | + (Map<String, dynamic> e) => SettingError.fromJson(e)) | ||
| 232 | + .toList() as M; | ||
| 168 | } | 233 | } |
| 169 | - if(<AuthEntity>[] is M){ | 234 | + if (<AuthEntity>[] is M) { |
| 170 | - return data.map<AuthEntity>((Map<String, dynamic> e) => AuthEntity.fromJson(e)).toList() as M; | 235 | + return data |
| 236 | + .map<AuthEntity>((Map<String, dynamic> e) => AuthEntity.fromJson(e)) | ||
| 237 | + .toList() as M; | ||
| 171 | } | 238 | } |
| 172 | - if(<AuthData>[] is M){ | 239 | + if (<AuthData>[] is M) { |
| 173 | - return data.map<AuthData>((Map<String, dynamic> e) => AuthData.fromJson(e)).toList() as M; | 240 | + return data |
| 241 | + .map<AuthData>((Map<String, dynamic> e) => AuthData.fromJson(e)) | ||
| 242 | + .toList() as M; | ||
| 174 | } | 243 | } |
| 175 | - if(<AuthError>[] is M){ | 244 | + if (<AuthError>[] is M) { |
| 176 | - return data.map<AuthError>((Map<String, dynamic> e) => AuthError.fromJson(e)).toList() as M; | 245 | + return data |
| 246 | + .map<AuthError>((Map<String, dynamic> e) => AuthError.fromJson(e)) | ||
| 247 | + .toList() as M; | ||
| 177 | } | 248 | } |
| 178 | - if(<UploadEntity>[] is M){ | 249 | + if (<UploadEntity>[] is M) { |
| 179 | - return data.map<UploadEntity>((Map<String, dynamic> e) => UploadEntity.fromJson(e)).toList() as M; | 250 | + return data |
| 251 | + .map<UploadEntity>( | ||
| 252 | + (Map<String, dynamic> e) => UploadEntity.fromJson(e)) | ||
| 253 | + .toList() as M; | ||
| 180 | } | 254 | } |
| 181 | - if(<UploadData>[] is M){ | 255 | + if (<UploadData>[] is M) { |
| 182 | - return data.map<UploadData>((Map<String, dynamic> e) => UploadData.fromJson(e)).toList() as M; | 256 | + return data |
| 257 | + .map<UploadData>((Map<String, dynamic> e) => UploadData.fromJson(e)) | ||
| 258 | + .toList() as M; | ||
| 183 | } | 259 | } |
| 184 | - if(<UploadError>[] is M){ | 260 | + if (<UploadError>[] is M) { |
| 185 | - return data.map<UploadError>((Map<String, dynamic> e) => UploadError.fromJson(e)).toList() as M; | 261 | + return data |
| 262 | + .map<UploadError>((Map<String, dynamic> e) => UploadError.fromJson(e)) | ||
| 263 | + .toList() as M; | ||
| 186 | } | 264 | } |
| 187 | - if(<LangSortEntity>[] is M){ | 265 | + if (<LangSortEntity>[] is M) { |
| 188 | - return data.map<LangSortEntity>((Map<String, dynamic> e) => LangSortEntity.fromJson(e)).toList() as M; | 266 | + return data |
| 267 | + .map<LangSortEntity>( | ||
| 268 | + (Map<String, dynamic> e) => LangSortEntity.fromJson(e)) | ||
| 269 | + .toList() as M; | ||
| 189 | } | 270 | } |
| 190 | - if(<SearchEntity>[] is M){ | 271 | + if (<SearchEntity>[] is M) { |
| 191 | - return data.map<SearchEntity>((Map<String, dynamic> e) => SearchEntity.fromJson(e)).toList() as M; | 272 | + return data |
| 273 | + .map<SearchEntity>( | ||
| 274 | + (Map<String, dynamic> e) => SearchEntity.fromJson(e)) | ||
| 275 | + .toList() as M; | ||
| 192 | } | 276 | } |
| 193 | - if(<SearchItems>[] is M){ | 277 | + if (<SearchItems>[] is M) { |
| 194 | - return data.map<SearchItems>((Map<String, dynamic> e) => SearchItems.fromJson(e)).toList() as M; | 278 | + return data |
| 279 | + .map<SearchItems>((Map<String, dynamic> e) => SearchItems.fromJson(e)) | ||
| 280 | + .toList() as M; | ||
| 195 | } | 281 | } |
| 196 | - if(<SearchItemsOwner>[] is M){ | 282 | + if (<SearchItemsOwner>[] is M) { |
| 197 | - return data.map<SearchItemsOwner>((Map<String, dynamic> e) => SearchItemsOwner.fromJson(e)).toList() as M; | 283 | + return data |
| 284 | + .map<SearchItemsOwner>( | ||
| 285 | + (Map<String, dynamic> e) => SearchItemsOwner.fromJson(e)) | ||
| 286 | + .toList() as M; | ||
| 198 | } | 287 | } |
| 199 | - if(<SearchItemsLicense>[] is M){ | 288 | + if (<SearchItemsLicense>[] is M) { |
| 200 | - return data.map<SearchItemsLicense>((Map<String, dynamic> e) => SearchItemsLicense.fromJson(e)).toList() as M; | 289 | + return data |
| 290 | + .map<SearchItemsLicense>( | ||
| 291 | + (Map<String, dynamic> e) => SearchItemsLicense.fromJson(e)) | ||
| 292 | + .toList() as M; | ||
| 201 | } | 293 | } |
| 202 | - if(<FriendEntity>[] is M){ | 294 | + if (<FriendEntity>[] is M) { |
| 203 | - return data.map<FriendEntity>((Map<String, dynamic> e) => FriendEntity.fromJson(e)).toList() as M; | 295 | + return data |
| 296 | + .map<FriendEntity>( | ||
| 297 | + (Map<String, dynamic> e) => FriendEntity.fromJson(e)) | ||
| 298 | + .toList() as M; | ||
| 204 | } | 299 | } |
| 205 | - if(<FriendData>[] is M){ | 300 | + if (<FriendData>[] is M) { |
| 206 | - return data.map<FriendData>((Map<String, dynamic> e) => FriendData.fromJson(e)).toList() as M; | 301 | + return data |
| 302 | + .map<FriendData>((Map<String, dynamic> e) => FriendData.fromJson(e)) | ||
| 303 | + .toList() as M; | ||
| 207 | } | 304 | } |
| 208 | 305 | ||
| 209 | debugPrint("${M.toString()} not found"); | 306 | debugPrint("${M.toString()} not found"); |
| 210 | 307 | ||
| 211 | return null; | 308 | return null; |
| 212 | -} | 309 | + } |
| 213 | 310 | ||
| 214 | - static M? fromJsonAsT<M>(dynamic json) { | 311 | + static M? fromJsonAsT<M>(dynamic json) { |
| 215 | if (json is List) { | 312 | if (json is List) { |
| 216 | return _getListChildType<M>(json.map((e) => e as Map<String, dynamic>).toList()); | 313 | return _getListChildType<M>(json.map((e) => e as Map<String, dynamic>).toList()); |
| 217 | } else { | 314 | } else { | ... | ... |
lib/generated/json/category_entity.g.dart
0 → 100644
| 1 | +import 'package:Parlando/generated/json/base/json_convert_content.dart'; | ||
| 2 | +import 'package:Parlando/category/models/category_entity.dart'; | ||
| 3 | + | ||
| 4 | +CategoryEntity $CategoryEntityFromJson(Map<String, dynamic> json) { | ||
| 5 | + final CategoryEntity categoryEntity = CategoryEntity(); | ||
| 6 | + final String? status = jsonConvert.convert<String>(json['status']); | ||
| 7 | + if (status != null) { | ||
| 8 | + categoryEntity.status = status; | ||
| 9 | + } | ||
| 10 | + final int? code = jsonConvert.convert<int>(json['code']); | ||
| 11 | + if (code != null) { | ||
| 12 | + categoryEntity.code = code; | ||
| 13 | + } | ||
| 14 | + final String? message = jsonConvert.convert<String>(json['message']); | ||
| 15 | + if (message != null) { | ||
| 16 | + categoryEntity.message = message; | ||
| 17 | + } | ||
| 18 | + final CategoryData? data = jsonConvert.convert<CategoryData>(json['data']); | ||
| 19 | + if (data != null) { | ||
| 20 | + categoryEntity.data = data; | ||
| 21 | + } | ||
| 22 | + final CategoryError? error = | ||
| 23 | + jsonConvert.convert<CategoryError>(json['error']); | ||
| 24 | + if (error != null) { | ||
| 25 | + categoryEntity.error = error; | ||
| 26 | + } | ||
| 27 | + return categoryEntity; | ||
| 28 | +} | ||
| 29 | + | ||
| 30 | +Map<String, dynamic> $CategoryEntityToJson(CategoryEntity entity) { | ||
| 31 | + final Map<String, dynamic> data = <String, dynamic>{}; | ||
| 32 | + data['status'] = entity.status; | ||
| 33 | + data['code'] = entity.code; | ||
| 34 | + data['message'] = entity.message; | ||
| 35 | + data['data'] = entity.data?.toJson(); | ||
| 36 | + data['error'] = entity.error?.toJson(); | ||
| 37 | + return data; | ||
| 38 | +} | ||
| 39 | + | ||
| 40 | +CategoryData $CategoryDataFromJson(Map<String, dynamic> json) { | ||
| 41 | + final CategoryData categoryData = CategoryData(); | ||
| 42 | + final List<CategoryDataData>? data = | ||
| 43 | + jsonConvert.convertListNotNull<CategoryDataData>(json['data']); | ||
| 44 | + if (data != null) { | ||
| 45 | + categoryData.data = data; | ||
| 46 | + } | ||
| 47 | + final CategoryDataMeta? meta = | ||
| 48 | + jsonConvert.convert<CategoryDataMeta>(json['meta']); | ||
| 49 | + if (meta != null) { | ||
| 50 | + categoryData.meta = meta; | ||
| 51 | + } | ||
| 52 | + return categoryData; | ||
| 53 | +} | ||
| 54 | + | ||
| 55 | +Map<String, dynamic> $CategoryDataToJson(CategoryData entity) { | ||
| 56 | + final Map<String, dynamic> data = <String, dynamic>{}; | ||
| 57 | + data['data'] = entity.data?.map((v) => v.toJson()).toList(); | ||
| 58 | + data['meta'] = entity.meta?.toJson(); | ||
| 59 | + return data; | ||
| 60 | +} | ||
| 61 | + | ||
| 62 | +CategoryDataData $CategoryDataDataFromJson(Map<String, dynamic> json) { | ||
| 63 | + final CategoryDataData categoryDataData = CategoryDataData(); | ||
| 64 | + final int? id = jsonConvert.convert<int>(json['id']); | ||
| 65 | + if (id != null) { | ||
| 66 | + categoryDataData.id = id; | ||
| 67 | + } | ||
| 68 | + final String? title = jsonConvert.convert<String>(json['title']); | ||
| 69 | + if (title != null) { | ||
| 70 | + categoryDataData.title = title; | ||
| 71 | + } | ||
| 72 | + final String? subtitle = jsonConvert.convert<String>(json['subtitle']); | ||
| 73 | + if (subtitle != null) { | ||
| 74 | + categoryDataData.subtitle = subtitle; | ||
| 75 | + } | ||
| 76 | + final String? leftText = jsonConvert.convert<String>(json['left_text']); | ||
| 77 | + if (leftText != null) { | ||
| 78 | + categoryDataData.leftText = leftText; | ||
| 79 | + } | ||
| 80 | + final String? rightText = jsonConvert.convert<String>(json['right_text']); | ||
| 81 | + if (rightText != null) { | ||
| 82 | + categoryDataData.rightText = rightText; | ||
| 83 | + } | ||
| 84 | + final String? poemId = jsonConvert.convert<String>(json['poem_id']); | ||
| 85 | + if (poemId != null) { | ||
| 86 | + categoryDataData.poemId = poemId; | ||
| 87 | + } | ||
| 88 | + final String? state = jsonConvert.convert<String>(json['state']); | ||
| 89 | + if (state != null) { | ||
| 90 | + categoryDataData.state = state; | ||
| 91 | + } | ||
| 92 | + final String? createdAt = jsonConvert.convert<String>(json['created_at']); | ||
| 93 | + if (createdAt != null) { | ||
| 94 | + categoryDataData.createdAt = createdAt; | ||
| 95 | + } | ||
| 96 | + final String? updatedAt = jsonConvert.convert<String>(json['updated_at']); | ||
| 97 | + if (updatedAt != null) { | ||
| 98 | + categoryDataData.updatedAt = updatedAt; | ||
| 99 | + } | ||
| 100 | + final CategoryDataDataPoem? poem = | ||
| 101 | + jsonConvert.convert<CategoryDataDataPoem>(json['poem']); | ||
| 102 | + if (poem != null) { | ||
| 103 | + categoryDataData.poem = poem; | ||
| 104 | + } | ||
| 105 | + return categoryDataData; | ||
| 106 | +} | ||
| 107 | + | ||
| 108 | +Map<String, dynamic> $CategoryDataDataToJson(CategoryDataData entity) { | ||
| 109 | + final Map<String, dynamic> data = <String, dynamic>{}; | ||
| 110 | + data['id'] = entity.id; | ||
| 111 | + data['title'] = entity.title; | ||
| 112 | + data['subtitle'] = entity.subtitle; | ||
| 113 | + data['left_text'] = entity.leftText; | ||
| 114 | + data['right_text'] = entity.rightText; | ||
| 115 | + data['poem_id'] = entity.poemId; | ||
| 116 | + data['state'] = entity.state; | ||
| 117 | + data['created_at'] = entity.createdAt; | ||
| 118 | + data['updated_at'] = entity.updatedAt; | ||
| 119 | + data['poem'] = entity.poem?.toJson(); | ||
| 120 | + return data; | ||
| 121 | +} | ||
| 122 | + | ||
| 123 | +CategoryDataDataPoem $CategoryDataDataPoemFromJson(Map<String, dynamic> json) { | ||
| 124 | + final CategoryDataDataPoem categoryDataDataPoem = CategoryDataDataPoem(); | ||
| 125 | + final int? id = jsonConvert.convert<int>(json['id']); | ||
| 126 | + if (id != null) { | ||
| 127 | + categoryDataDataPoem.id = id; | ||
| 128 | + } | ||
| 129 | + final String? title = jsonConvert.convert<String>(json['title']); | ||
| 130 | + if (title != null) { | ||
| 131 | + categoryDataDataPoem.title = title; | ||
| 132 | + } | ||
| 133 | + final String? author = jsonConvert.convert<String>(json['author']); | ||
| 134 | + if (author != null) { | ||
| 135 | + categoryDataDataPoem.author = author; | ||
| 136 | + } | ||
| 137 | + final String? content = jsonConvert.convert<String>(json['content']); | ||
| 138 | + if (content != null) { | ||
| 139 | + categoryDataDataPoem.content = content; | ||
| 140 | + } | ||
| 141 | + final String? annotate = jsonConvert.convert<String>(json['annotate']); | ||
| 142 | + if (annotate != null) { | ||
| 143 | + categoryDataDataPoem.annotate = annotate; | ||
| 144 | + } | ||
| 145 | + final String? spelling = jsonConvert.convert<String>(json['spelling']); | ||
| 146 | + if (spelling != null) { | ||
| 147 | + categoryDataDataPoem.spelling = spelling; | ||
| 148 | + } | ||
| 149 | + final String? en = jsonConvert.convert<String>(json['en']); | ||
| 150 | + if (en != null) { | ||
| 151 | + categoryDataDataPoem.en = en; | ||
| 152 | + } | ||
| 153 | + final String? state = jsonConvert.convert<String>(json['state']); | ||
| 154 | + if (state != null) { | ||
| 155 | + categoryDataDataPoem.state = state; | ||
| 156 | + } | ||
| 157 | + final String? createdAt = jsonConvert.convert<String>(json['created_at']); | ||
| 158 | + if (createdAt != null) { | ||
| 159 | + categoryDataDataPoem.createdAt = createdAt; | ||
| 160 | + } | ||
| 161 | + final String? updatedAt = jsonConvert.convert<String>(json['updated_at']); | ||
| 162 | + if (updatedAt != null) { | ||
| 163 | + categoryDataDataPoem.updatedAt = updatedAt; | ||
| 164 | + } | ||
| 165 | + return categoryDataDataPoem; | ||
| 166 | +} | ||
| 167 | + | ||
| 168 | +Map<String, dynamic> $CategoryDataDataPoemToJson(CategoryDataDataPoem entity) { | ||
| 169 | + final Map<String, dynamic> data = <String, dynamic>{}; | ||
| 170 | + data['id'] = entity.id; | ||
| 171 | + data['title'] = entity.title; | ||
| 172 | + data['author'] = entity.author; | ||
| 173 | + data['content'] = entity.content; | ||
| 174 | + data['annotate'] = entity.annotate; | ||
| 175 | + data['spelling'] = entity.spelling; | ||
| 176 | + data['en'] = entity.en; | ||
| 177 | + data['state'] = entity.state; | ||
| 178 | + data['created_at'] = entity.createdAt; | ||
| 179 | + data['updated_at'] = entity.updatedAt; | ||
| 180 | + return data; | ||
| 181 | +} | ||
| 182 | + | ||
| 183 | +CategoryDataMeta $CategoryDataMetaFromJson(Map<String, dynamic> json) { | ||
| 184 | + final CategoryDataMeta categoryDataMeta = CategoryDataMeta(); | ||
| 185 | + final CategoryDataMetaPagination? pagination = | ||
| 186 | + jsonConvert.convert<CategoryDataMetaPagination>(json['pagination']); | ||
| 187 | + if (pagination != null) { | ||
| 188 | + categoryDataMeta.pagination = pagination; | ||
| 189 | + } | ||
| 190 | + return categoryDataMeta; | ||
| 191 | +} | ||
| 192 | + | ||
| 193 | +Map<String, dynamic> $CategoryDataMetaToJson(CategoryDataMeta entity) { | ||
| 194 | + final Map<String, dynamic> data = <String, dynamic>{}; | ||
| 195 | + data['pagination'] = entity.pagination?.toJson(); | ||
| 196 | + return data; | ||
| 197 | +} | ||
| 198 | + | ||
| 199 | +CategoryDataMetaPagination $CategoryDataMetaPaginationFromJson( | ||
| 200 | + Map<String, dynamic> json) { | ||
| 201 | + final CategoryDataMetaPagination categoryDataMetaPagination = | ||
| 202 | + CategoryDataMetaPagination(); | ||
| 203 | + final int? total = jsonConvert.convert<int>(json['total']); | ||
| 204 | + if (total != null) { | ||
| 205 | + categoryDataMetaPagination.total = total; | ||
| 206 | + } | ||
| 207 | + final int? count = jsonConvert.convert<int>(json['count']); | ||
| 208 | + if (count != null) { | ||
| 209 | + categoryDataMetaPagination.count = count; | ||
| 210 | + } | ||
| 211 | + final int? perPage = jsonConvert.convert<int>(json['per_page']); | ||
| 212 | + if (perPage != null) { | ||
| 213 | + categoryDataMetaPagination.perPage = perPage; | ||
| 214 | + } | ||
| 215 | + final int? currentPage = jsonConvert.convert<int>(json['current_page']); | ||
| 216 | + if (currentPage != null) { | ||
| 217 | + categoryDataMetaPagination.currentPage = currentPage; | ||
| 218 | + } | ||
| 219 | + return categoryDataMetaPagination; | ||
| 220 | +} | ||
| 221 | + | ||
| 222 | +Map<String, dynamic> $CategoryDataMetaPaginationToJson( | ||
| 223 | + CategoryDataMetaPagination entity) { | ||
| 224 | + final Map<String, dynamic> data = <String, dynamic>{}; | ||
| 225 | + data['total'] = entity.total; | ||
| 226 | + data['count'] = entity.count; | ||
| 227 | + data['per_page'] = entity.perPage; | ||
| 228 | + data['current_page'] = entity.currentPage; | ||
| 229 | + return data; | ||
| 230 | +} | ||
| 231 | + | ||
| 232 | +CategoryError $CategoryErrorFromJson(Map<String, dynamic> json) { | ||
| 233 | + final CategoryError categoryError = CategoryError(); | ||
| 234 | + return categoryError; | ||
| 235 | +} | ||
| 236 | + | ||
| 237 | +Map<String, dynamic> $CategoryErrorToJson(CategoryError entity) { | ||
| 238 | + final Map<String, dynamic> data = <String, dynamic>{}; | ||
| 239 | + return data; | ||
| 240 | +} |
| ... | @@ -61,4 +61,4 @@ UploadAvatarError $UploadAvatarErrorFromJson(Map<String, dynamic> json) { | ... | @@ -61,4 +61,4 @@ UploadAvatarError $UploadAvatarErrorFromJson(Map<String, dynamic> json) { |
| 61 | Map<String, dynamic> $UploadAvatarErrorToJson(UploadAvatarError entity) { | 61 | Map<String, dynamic> $UploadAvatarErrorToJson(UploadAvatarError entity) { |
| 62 | final Map<String, dynamic> data = <String, dynamic>{}; | 62 | final Map<String, dynamic> data = <String, dynamic>{}; |
| 63 | return data; | 63 | return data; |
| 64 | -} | 64 | +} |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | class HttpApi { | 1 | class HttpApi { |
| 2 | static const String setting = 'setting'; | 2 | static const String setting = 'setting'; |
| 3 | + static const String packPoem = 'packpoem'; | ||
| 3 | static const String register = 'register'; | 4 | static const String register = 'register'; |
| 4 | static const String verify = 'verify'; | 5 | static const String verify = 'verify'; |
| 5 | static const String login = 'login'; | 6 | static const String login = 'login'; | ... | ... |
-
Please register or login to post a comment