@@ -1,18 +1,6 @@ | |||||
{ | { | ||||
"configVersion": 2, | "configVersion": 2, | ||||
"packages": [ | "packages": [ | ||||
{ | |||||
"name": "_fe_analyzer_shared", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/_fe_analyzer_shared-6.0.0", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.2" | |||||
}, | |||||
{ | |||||
"name": "analyzer", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/analyzer-0.39.14", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.6" | |||||
}, | |||||
{ | { | ||||
"name": "archive", | "name": "archive", | ||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/archive-2.0.11", | "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/archive-2.0.11", | ||||
@@ -43,54 +31,6 @@ | |||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "2.0" | "languageVersion": "2.0" | ||||
}, | }, | ||||
{ | |||||
"name": "build", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/build-1.3.0", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.7" | |||||
}, | |||||
{ | |||||
"name": "build_config", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/build_config-0.4.2", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.6" | |||||
}, | |||||
{ | |||||
"name": "build_daemon", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/build_daemon-2.1.4", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.6" | |||||
}, | |||||
{ | |||||
"name": "build_resolvers", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/build_resolvers-1.3.11", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.7" | |||||
}, | |||||
{ | |||||
"name": "build_runner", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/build_runner-1.10.1", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.6" | |||||
}, | |||||
{ | |||||
"name": "build_runner_core", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/build_runner_core-6.0.1", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.7" | |||||
}, | |||||
{ | |||||
"name": "built_collection", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/built_collection-4.3.2", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.6" | |||||
}, | |||||
{ | |||||
"name": "built_value", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/built_value-7.1.0", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.3" | |||||
}, | |||||
{ | { | ||||
"name": "cached_network_image", | "name": "cached_network_image", | ||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image-2.2.0+1", | "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image-2.2.0+1", | ||||
@@ -103,30 +43,12 @@ | |||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "1.0" | "languageVersion": "1.0" | ||||
}, | }, | ||||
{ | |||||
"name": "checked_yaml", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/checked_yaml-1.0.2", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.3" | |||||
}, | |||||
{ | |||||
"name": "cli_util", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/cli_util-0.1.4", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.0" | |||||
}, | |||||
{ | { | ||||
"name": "clock", | "name": "clock", | ||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/clock-1.0.1", | "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/clock-1.0.1", | ||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "2.0" | "languageVersion": "2.0" | ||||
}, | }, | ||||
{ | |||||
"name": "code_builder", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/code_builder-3.4.1", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.7" | |||||
}, | |||||
{ | { | ||||
"name": "collection", | "name": "collection", | ||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/collection-1.14.11", | "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/collection-1.14.11", | ||||
@@ -145,18 +67,6 @@ | |||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "2.1" | "languageVersion": "2.1" | ||||
}, | }, | ||||
{ | |||||
"name": "csslib", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/csslib-0.16.2", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.2" | |||||
}, | |||||
{ | |||||
"name": "dart_style", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/dart_style-1.3.6", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.7" | |||||
}, | |||||
{ | { | ||||
"name": "device_info", | "name": "device_info", | ||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/device_info-0.4.2+7", | "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/device_info-0.4.2+7", | ||||
@@ -187,12 +97,6 @@ | |||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "2.2" | "languageVersion": "2.2" | ||||
}, | }, | ||||
{ | |||||
"name": "fixnum", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/fixnum-0.10.11", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.1" | |||||
}, | |||||
{ | { | ||||
"name": "flutter", | "name": "flutter", | ||||
"rootUri": "file:///Users/fnuser/Documents/flutter-sdk/packages/flutter", | "rootUri": "file:///Users/fnuser/Documents/flutter-sdk/packages/flutter", | ||||
@@ -247,36 +151,12 @@ | |||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "2.0" | "languageVersion": "2.0" | ||||
}, | }, | ||||
{ | |||||
"name": "glob", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/glob-1.2.0", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.1" | |||||
}, | |||||
{ | |||||
"name": "graphs", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/graphs-0.2.0", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.0" | |||||
}, | |||||
{ | |||||
"name": "html", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/html-0.14.0+3", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.3" | |||||
}, | |||||
{ | { | ||||
"name": "http", | "name": "http", | ||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/http-0.12.2", | "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/http-0.12.2", | ||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "2.4" | "languageVersion": "2.4" | ||||
}, | }, | ||||
{ | |||||
"name": "http_multi_server", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/http_multi_server-2.2.0", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.1" | |||||
}, | |||||
{ | { | ||||
"name": "http_parser", | "name": "http_parser", | ||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/http_parser-3.1.4", | "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/http_parser-3.1.4", | ||||
@@ -295,42 +175,12 @@ | |||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "2.5" | "languageVersion": "2.5" | ||||
}, | }, | ||||
{ | |||||
"name": "io", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/io-0.3.4", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.0" | |||||
}, | |||||
{ | { | ||||
"name": "jdsdk", | "name": "jdsdk", | ||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/jdsdk-0.0.1", | "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/jdsdk-0.0.1", | ||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "2.1" | "languageVersion": "2.1" | ||||
}, | }, | ||||
{ | |||||
"name": "js", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/js-0.6.2", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.0" | |||||
}, | |||||
{ | |||||
"name": "json_annotation", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/json_annotation-3.0.1", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.6" | |||||
}, | |||||
{ | |||||
"name": "json_serializable", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/json_serializable-3.4.1", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.7" | |||||
}, | |||||
{ | |||||
"name": "logging", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/logging-0.11.4", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.0" | |||||
}, | |||||
{ | { | ||||
"name": "matcher", | "name": "matcher", | ||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.6", | "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.6", | ||||
@@ -343,36 +193,12 @@ | |||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "1.12" | "languageVersion": "1.12" | ||||
}, | }, | ||||
{ | |||||
"name": "mime", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/mime-0.9.7", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.0" | |||||
}, | |||||
{ | { | ||||
"name": "nested", | "name": "nested", | ||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/nested-0.0.4", | "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/nested-0.0.4", | ||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "2.2" | "languageVersion": "2.2" | ||||
}, | }, | ||||
{ | |||||
"name": "node_interop", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/node_interop-1.1.1", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.0" | |||||
}, | |||||
{ | |||||
"name": "node_io", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/node_io-1.1.1", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.2" | |||||
}, | |||||
{ | |||||
"name": "package_config", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/package_config-1.9.3", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.7" | |||||
}, | |||||
{ | { | ||||
"name": "package_info", | "name": "package_info", | ||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/package_info-0.4.3", | "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/package_info-0.4.3", | ||||
@@ -439,12 +265,6 @@ | |||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "2.1" | "languageVersion": "2.1" | ||||
}, | }, | ||||
{ | |||||
"name": "pool", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/pool-1.4.0", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.0" | |||||
}, | |||||
{ | { | ||||
"name": "process", | "name": "process", | ||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/process-3.0.13", | "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/process-3.0.13", | ||||
@@ -463,12 +283,6 @@ | |||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "2.0" | "languageVersion": "2.0" | ||||
}, | }, | ||||
{ | |||||
"name": "pubspec_parse", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/pubspec_parse-0.1.5", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.2" | |||||
}, | |||||
{ | { | ||||
"name": "quiver", | "name": "quiver", | ||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/quiver-2.0.5", | "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/quiver-2.0.5", | ||||
@@ -511,18 +325,6 @@ | |||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "2.1" | "languageVersion": "2.1" | ||||
}, | }, | ||||
{ | |||||
"name": "shelf", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/shelf-0.7.9", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.1" | |||||
}, | |||||
{ | |||||
"name": "shelf_web_socket", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/shelf_web_socket-0.2.3", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.0" | |||||
}, | |||||
{ | { | ||||
"name": "shimmer", | "name": "shimmer", | ||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/shimmer-1.1.1", | "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/shimmer-1.1.1", | ||||
@@ -535,12 +337,6 @@ | |||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "1.11" | "languageVersion": "1.11" | ||||
}, | }, | ||||
{ | |||||
"name": "source_gen", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/source_gen-0.9.6", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.7" | |||||
}, | |||||
{ | { | ||||
"name": "source_span", | "name": "source_span", | ||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.5.5", | "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.5.5", | ||||
@@ -571,12 +367,6 @@ | |||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "2.0" | "languageVersion": "2.0" | ||||
}, | }, | ||||
{ | |||||
"name": "stream_transform", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/stream_transform-1.2.0", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.6" | |||||
}, | |||||
{ | { | ||||
"name": "string_scanner", | "name": "string_scanner", | ||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.0.5", | "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.0.5", | ||||
@@ -601,12 +391,6 @@ | |||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "2.2" | "languageVersion": "2.2" | ||||
}, | }, | ||||
{ | |||||
"name": "timing", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/timing-0.1.1+2", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.2" | |||||
}, | |||||
{ | { | ||||
"name": "typed_data", | "name": "typed_data", | ||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.1.6", | "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.1.6", | ||||
@@ -661,18 +445,6 @@ | |||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "2.0" | "languageVersion": "2.0" | ||||
}, | }, | ||||
{ | |||||
"name": "watcher", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/watcher-0.9.7+15", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.2" | |||||
}, | |||||
{ | |||||
"name": "web_socket_channel", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/web_socket_channel-1.1.0", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.0" | |||||
}, | |||||
{ | { | ||||
"name": "webview_flutter", | "name": "webview_flutter", | ||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/webview_flutter-0.3.22+1", | "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/webview_flutter-0.3.22+1", | ||||
@@ -691,12 +463,6 @@ | |||||
"packageUri": "lib/", | "packageUri": "lib/", | ||||
"languageVersion": "2.3" | "languageVersion": "2.3" | ||||
}, | }, | ||||
{ | |||||
"name": "yaml", | |||||
"rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/yaml-2.2.1", | |||||
"packageUri": "lib/", | |||||
"languageVersion": "2.4" | |||||
}, | |||||
{ | { | ||||
"name": "zhiying_comm", | "name": "zhiying_comm", | ||||
"rootUri": "../", | "rootUri": "../", | ||||
@@ -704,7 +470,7 @@ | |||||
"languageVersion": "2.1" | "languageVersion": "2.1" | ||||
} | } | ||||
], | ], | ||||
"generated": "2020-09-21T02:30:27.331807Z", | |||||
"generated": "2020-09-23T04:02:45.114883Z", | |||||
"generator": "pub", | "generator": "pub", | ||||
"generatorVersion": "2.7.2" | "generatorVersion": "2.7.2" | ||||
} | } |
@@ -1,34 +1,28 @@ | |||||
import 'package:json_annotation/json_annotation.dart'; | |||||
part 'skip_model.g.dart'; | |||||
@JsonSerializable() | |||||
class SkipModel extends Object { | |||||
@JsonKey(name: 'name') | |||||
String name; | |||||
@JsonKey(name: 'icon') | |||||
String icon; | |||||
@JsonKey(name: 'required_login') | |||||
class SkipModel { | |||||
String url; | |||||
String requiredLogin; | String requiredLogin; | ||||
@JsonKey(name: 'required_taobao_auth') | |||||
String requiredTaobaoAuth; | String requiredTaobaoAuth; | ||||
@JsonKey(name: 'skip_identifier') | |||||
String skipIdentifier; | String skipIdentifier; | ||||
SkipModel( | SkipModel( | ||||
this.name, | |||||
this.icon, | |||||
this.requiredLogin, | |||||
this.requiredTaobaoAuth, | |||||
this.skipIdentifier, | |||||
); | |||||
factory SkipModel.fromJson(Map<String, dynamic> srcJson) => | |||||
_$SkipModelFromJson(srcJson); | |||||
Map<String, dynamic> toJson() => _$SkipModelToJson(this); | |||||
{this.url, | |||||
this.requiredLogin, | |||||
this.requiredTaobaoAuth, | |||||
this.skipIdentifier}); | |||||
SkipModel.fromJson(Map<String, dynamic> json) { | |||||
url = json['url']; | |||||
requiredLogin = json['required_login']; | |||||
requiredTaobaoAuth = json['required_taobao_auth']; | |||||
skipIdentifier = json['skip_identifier']; | |||||
} | |||||
Map<String, dynamic> toJson() { | |||||
final Map<String, dynamic> data = new Map<String, dynamic>(); | |||||
data['url'] = this.url; | |||||
data['required_login'] = this.requiredLogin; | |||||
data['required_taobao_auth'] = this.requiredTaobaoAuth; | |||||
data['skip_identifier'] = this.skipIdentifier; | |||||
return data; | |||||
} | |||||
} | } |
@@ -1,25 +0,0 @@ | |||||
// GENERATED CODE - DO NOT MODIFY BY HAND | |||||
part of 'skip_model.dart'; | |||||
// ************************************************************************** | |||||
// JsonSerializableGenerator | |||||
// ************************************************************************** | |||||
SkipModel _$SkipModelFromJson(Map<String, dynamic> json) { | |||||
return SkipModel( | |||||
json['name'] as String, | |||||
json['icon'] as String, | |||||
json['required_login'] as String, | |||||
json['required_taobao_auth'] as String, | |||||
json['skip_identifier'] as String, | |||||
); | |||||
} | |||||
Map<String, dynamic> _$SkipModelToJson(SkipModel instance) => <String, dynamic>{ | |||||
'name': instance.name, | |||||
'icon': instance.icon, | |||||
'required_login': instance.requiredLogin, | |||||
'required_taobao_auth': instance.requiredTaobaoAuth, | |||||
'skip_identifier': instance.skipIdentifier, | |||||
}; |
@@ -1,106 +1,96 @@ | |||||
import 'package:equatable/equatable.dart'; | |||||
import 'package:json_annotation/json_annotation.dart'; | |||||
part 'widget_model.g.dart'; | |||||
@JsonSerializable() | |||||
// ignore: must_be_immutable | |||||
class WidgetModel extends Object implements Equatable { | |||||
@JsonKey(name: 'aspect_ratio') | |||||
String aspectRatio; | |||||
@JsonKey(name: 'badge') | |||||
String badge; | |||||
@JsonKey(name: 'bg_color') | |||||
String bgColor; | |||||
@JsonKey(name: 'bg_color_t') | |||||
String bgColorT; | |||||
@JsonKey(name: 'bg_img') | |||||
String bgImg; | |||||
@JsonKey(name: 'components') | |||||
List<WidgetModel> components; | |||||
@JsonKey(name: 'data') | |||||
String data; | |||||
@JsonKey(name: 'font_color') | |||||
String fontColor; | |||||
@JsonKey(name: 'icon') | |||||
String icon; | |||||
@JsonKey(name: 'img') | |||||
String img; | |||||
@JsonKey(name: 'is_global') | |||||
int isGlobal; | |||||
@JsonKey(name: 'margin') | |||||
String margin; | |||||
@JsonKey(name: 'mod_id') | |||||
class WidgetModel { | |||||
int modId; | int modId; | ||||
@JsonKey(name: 'mod_name') | |||||
String modName; | |||||
@JsonKey(name: 'mod_pid') | |||||
int modPid; | int modPid; | ||||
@JsonKey(name: 'path') | |||||
String path; | |||||
@JsonKey(name: 'position') | |||||
String modName; | |||||
String position; | String position; | ||||
@JsonKey(name: 'sort') | |||||
int sort; | |||||
@JsonKey(name: 'subtitle') | |||||
String subtitle; | |||||
@JsonKey(name: 'title') | |||||
String skipIdentifier; | |||||
String title; | String title; | ||||
@JsonKey(name: 'url') | |||||
String subtitle; | |||||
String url; | String url; | ||||
String margin; | |||||
String aspectRatio; | |||||
String icon; | |||||
String img; | |||||
String fontColor; | |||||
String bgImg; | |||||
String bgColor; | |||||
String bgColorT; | |||||
String badge; | |||||
String path; | |||||
String data; | |||||
int sort; | |||||
int isGlobal; | |||||
WidgetModel( | WidgetModel( | ||||
this.aspectRatio, | |||||
this.badge, | |||||
this.bgColor, | |||||
this.bgColorT, | |||||
this.bgImg, | |||||
this.components, | |||||
this.data, | |||||
this.fontColor, | |||||
this.icon, | |||||
this.img, | |||||
this.isGlobal, | |||||
this.margin, | |||||
this.modId, | |||||
this.modName, | |||||
this.modPid, | |||||
this.path, | |||||
this.position, | |||||
this.sort, | |||||
this.subtitle, | |||||
this.title, | |||||
this.url, | |||||
); | |||||
factory WidgetModel.fromJson(Map<String, dynamic> srcJson) => | |||||
_$WidgetModelFromJson(srcJson); | |||||
Map<String, dynamic> toJson() => _$WidgetModelToJson(this); | |||||
@override | |||||
List<Object> get props => [modId]; | |||||
@override | |||||
bool get stringify => null; | |||||
{this.modId, | |||||
this.modPid, | |||||
this.modName, | |||||
this.position, | |||||
this.skipIdentifier, | |||||
this.title, | |||||
this.subtitle, | |||||
this.url, | |||||
this.margin, | |||||
this.aspectRatio, | |||||
this.icon, | |||||
this.img, | |||||
this.fontColor, | |||||
this.bgImg, | |||||
this.bgColor, | |||||
this.bgColorT, | |||||
this.badge, | |||||
this.path, | |||||
this.data, | |||||
this.sort, | |||||
this.isGlobal}); | |||||
WidgetModel.fromJson(Map<String, dynamic> json) { | |||||
modId = json['mod_id']; | |||||
modPid = json['mod_pid']; | |||||
modName = json['mod_name']; | |||||
position = json['position']; | |||||
skipIdentifier = json['skip_identifier']; | |||||
title = json['title']; | |||||
subtitle = json['subtitle']; | |||||
url = json['url']; | |||||
margin = json['margin']; | |||||
aspectRatio = json['aspect_ratio']; | |||||
icon = json['icon']; | |||||
img = json['img']; | |||||
fontColor = json['font_color']; | |||||
bgImg = json['bg_img']; | |||||
bgColor = json['bg_color']; | |||||
bgColorT = json['bg_color_t']; | |||||
badge = json['badge']; | |||||
path = json['path']; | |||||
data = json['data']; | |||||
sort = json['sort']; | |||||
isGlobal = json['is_global']; | |||||
} | |||||
Map<String, dynamic> toJson() { | |||||
final Map<String, dynamic> data = new Map<String, dynamic>(); | |||||
data['mod_id'] = this.modId; | |||||
data['mod_pid'] = this.modPid; | |||||
data['mod_name'] = this.modName; | |||||
data['position'] = this.position; | |||||
data['skip_identifier'] = this.skipIdentifier; | |||||
data['title'] = this.title; | |||||
data['subtitle'] = this.subtitle; | |||||
data['url'] = this.url; | |||||
data['margin'] = this.margin; | |||||
data['aspect_ratio'] = this.aspectRatio; | |||||
data['icon'] = this.icon; | |||||
data['img'] = this.img; | |||||
data['font_color'] = this.fontColor; | |||||
data['bg_img'] = this.bgImg; | |||||
data['bg_color'] = this.bgColor; | |||||
data['bg_color_t'] = this.bgColorT; | |||||
data['badge'] = this.badge; | |||||
data['path'] = this.path; | |||||
data['data'] = this.data; | |||||
data['sort'] = this.sort; | |||||
data['is_global'] = this.isGlobal; | |||||
return data; | |||||
} | |||||
} | } |
@@ -1,61 +0,0 @@ | |||||
// GENERATED CODE - DO NOT MODIFY BY HAND | |||||
part of 'widget_model.dart'; | |||||
// ************************************************************************** | |||||
// JsonSerializableGenerator | |||||
// ************************************************************************** | |||||
WidgetModel _$WidgetModelFromJson(Map<String, dynamic> json) { | |||||
return WidgetModel( | |||||
json['aspect_ratio'] as String, | |||||
json['badge'] as String, | |||||
json['bg_color'] as String, | |||||
json['bg_color_t'] as String, | |||||
json['bg_img'] as String, | |||||
(json['components'] as List) | |||||
?.map((e) => | |||||
e == null ? null : WidgetModel.fromJson(e as Map<String, dynamic>)) | |||||
?.toList(), | |||||
json['data'] as String, | |||||
json['font_color'] as String, | |||||
json['icon'] as String, | |||||
json['img'] as String, | |||||
json['is_global'] as int, | |||||
json['margin'] as String, | |||||
json['mod_id'] is int ? json['mod_id'] as int : int.parse(json['mod_id']?.toString()), | |||||
json['mod_name'] as String, | |||||
json['mod_pid'] as int, | |||||
json['path'] as String, | |||||
json['position'] as String, | |||||
json['sort'] as int, | |||||
json['subtitle'] as String, | |||||
json['title'] as String, | |||||
json['url'] as String, | |||||
); | |||||
} | |||||
Map<String, dynamic> _$WidgetModelToJson(WidgetModel instance) => | |||||
<String, dynamic>{ | |||||
'aspect_ratio': instance.aspectRatio, | |||||
'badge': instance.badge, | |||||
'bg_color': instance.bgColor, | |||||
'bg_color_t': instance.bgColorT, | |||||
'bg_img': instance.bgImg, | |||||
'components': instance.components, | |||||
'data': instance.data, | |||||
'font_color': instance.fontColor, | |||||
'icon': instance.icon, | |||||
'img': instance.img, | |||||
'is_global': instance.isGlobal, | |||||
'margin': instance.margin, | |||||
'mod_id': instance.modId, | |||||
'mod_name': instance.modName, | |||||
'mod_pid': instance.modPid, | |||||
'path': instance.path, | |||||
'position': instance.position, | |||||
'sort': instance.sort, | |||||
'subtitle': instance.subtitle, | |||||
'title': instance.title, | |||||
'url': instance.url, | |||||
}; |
@@ -13,14 +13,26 @@ class UserInfoNotifier with ChangeNotifier { | |||||
/// 用户信息 | /// 用户信息 | ||||
UserInfoModel _userInfo; | UserInfoModel _userInfo; | ||||
UserInfoModel get userInfo { | |||||
if (null == _userInfo) { | |||||
getUserInfoModel().then((user) { | |||||
if (user != null) notifyListeners(); | |||||
}); | |||||
} | |||||
return _userInfo; | |||||
} | |||||
/// 更新用户数据 | /// 更新用户数据 | ||||
void setUserInfo(UserInfoModel loginUser) async { | void setUserInfo(UserInfoModel loginUser) async { | ||||
print('${loginUser.toString()}'); | print('${loginUser.toString()}'); | ||||
this._userInfo = loginUser; | this._userInfo = loginUser; | ||||
// 缓存数据 | // 缓存数据 | ||||
await SharedPreferencesUtil.setStringValue(GlobalConfig.SHARED_KEY_TOKEN, loginUser.token); | |||||
await SharedPreferencesUtil.setStringValue(GlobalConfig.SHARED_KEY_MOBILE, loginUser.mobile); | |||||
await SharedPreferencesUtil.setStringValue(GlobalConfig.SHARED_KEY_USER_INFO, jsonEncode(loginUser.toJson())); | |||||
await SharedPreferencesUtil.setStringValue( | |||||
GlobalConfig.SHARED_KEY_TOKEN, loginUser.token); | |||||
await SharedPreferencesUtil.setStringValue( | |||||
GlobalConfig.SHARED_KEY_MOBILE, loginUser.mobile); | |||||
await SharedPreferencesUtil.setStringValue( | |||||
GlobalConfig.SHARED_KEY_USER_INFO, jsonEncode(loginUser.toJson())); | |||||
notifyListeners(); | notifyListeners(); | ||||
} | } | ||||
@@ -28,9 +40,12 @@ class UserInfoNotifier with ChangeNotifier { | |||||
void unLogin() async { | void unLogin() async { | ||||
this._userInfo = null; | this._userInfo = null; | ||||
// 清除缓存数据 | // 清除缓存数据 | ||||
await SharedPreferencesUtil.setStringValue(GlobalConfig.SHARED_KEY_TOKEN, ''); | |||||
await SharedPreferencesUtil.setStringValue(GlobalConfig.SHARED_KEY_MOBILE, ''); | |||||
await SharedPreferencesUtil.setStringValue(GlobalConfig.SHARED_KEY_USER_INFO, ''); | |||||
await SharedPreferencesUtil.setStringValue( | |||||
GlobalConfig.SHARED_KEY_TOKEN, ''); | |||||
await SharedPreferencesUtil.setStringValue( | |||||
GlobalConfig.SHARED_KEY_MOBILE, ''); | |||||
await SharedPreferencesUtil.setStringValue( | |||||
GlobalConfig.SHARED_KEY_USER_INFO, ''); | |||||
notifyListeners(); | notifyListeners(); | ||||
} | } | ||||
@@ -40,7 +55,8 @@ class UserInfoNotifier with ChangeNotifier { | |||||
return _userInfo; | return _userInfo; | ||||
} | } | ||||
try { | try { | ||||
String userInfoJson = await SharedPreferencesUtil.getStringValue(GlobalConfig.SHARED_KEY_USER_INFO); | |||||
String userInfoJson = await SharedPreferencesUtil.getStringValue( | |||||
GlobalConfig.SHARED_KEY_USER_INFO); | |||||
_userInfo = UserInfoModel.fromJson(jsonDecode(userInfoJson)); | _userInfo = UserInfoModel.fromJson(jsonDecode(userInfoJson)); | ||||
} catch (e) { | } catch (e) { | ||||
Logger.log(e); | Logger.log(e); | ||||
@@ -1,3 +1,4 @@ | |||||
import 'package:cached_network_image/cached_network_image.dart'; | |||||
import 'package:flutter/cupertino.dart'; | import 'package:flutter/cupertino.dart'; | ||||
import 'package:flutter/gestures.dart'; | import 'package:flutter/gestures.dart'; | ||||
import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||
@@ -5,7 +6,6 @@ import 'package:flutter_bloc/flutter_bloc.dart'; | |||||
import 'package:zhiying_comm/pages/login_page/account/login_account_page.dart'; | import 'package:zhiying_comm/pages/login_page/account/login_account_page.dart'; | ||||
import 'package:zhiying_comm/util/empty_util.dart'; | import 'package:zhiying_comm/util/empty_util.dart'; | ||||
import 'package:zhiying_comm/zhiying_comm.dart'; | import 'package:zhiying_comm/zhiying_comm.dart'; | ||||
import 'package:cached_network_image/cached_network_image.dart'; | |||||
import 'bloc/bloc.dart'; | import 'bloc/bloc.dart'; | ||||
import 'bloc/login_repository.dart'; | import 'bloc/login_repository.dart'; | ||||
@@ -16,9 +16,8 @@ import 'model/login_model.dart'; | |||||
/// 登陆页面 | /// 登陆页面 | ||||
/// | /// | ||||
class LoginPage extends StatelessWidget { | class LoginPage extends StatelessWidget { | ||||
final Map<String, dynamic> data; | |||||
const LoginPage(this.data, {Key key}) : super(key: key); | |||||
const LoginPage({Key key}) : super(key: key); | |||||
@override | @override | ||||
Widget build(BuildContext context) { | Widget build(BuildContext context) { | ||||
@@ -44,7 +43,7 @@ class _LoginPageContainerState extends State<LoginPageContainer> { | |||||
print('登陆$type'); | print('登陆$type'); | ||||
if(type == 'mobile'){ | if(type == 'mobile'){ | ||||
Navigator.push(context, MaterialPageRoute( | Navigator.push(context, MaterialPageRoute( | ||||
builder: (_) => LoginAccountPage(null) | |||||
builder: (_) => LoginAccountPage(null) | |||||
)); | )); | ||||
} | } | ||||
} | } | ||||
@@ -109,6 +108,7 @@ class _LoginPageContainerState extends State<LoginPageContainer> { | |||||
Widget _getMainWidget(LoginModel model) { | Widget _getMainWidget(LoginModel model) { | ||||
return Column( | return Column( | ||||
children: <Widget>[ | children: <Widget>[ | ||||
/// 头部 | /// 头部 | ||||
_headWidget(model), | _headWidget(model), | ||||
_sizedHeight50, | _sizedHeight50, | ||||
@@ -206,13 +206,13 @@ class _LoginPageContainerState extends State<LoginPageContainer> { | |||||
/// 协议 | /// 协议 | ||||
Widget _protocolWidget(LoginModel model) { | Widget _protocolWidget(LoginModel model) { | ||||
return RichText( | |||||
text: TextSpan(text: '', children: model.main.agreements.map((item){ | |||||
return TextSpan(text: item?.text, style: TextStyle(color: HexColor.fromHex(item?.textColor), fontSize: 10),recognizer: TapGestureRecognizer()..onTap = (){ | |||||
_jumpUserAgreement(item?.url); | |||||
}); | |||||
}).toList()), | |||||
); | |||||
return RichText( | |||||
text: TextSpan(text: '', children: model.main.agreements.map((item){ | |||||
return TextSpan(text: item?.text, style: TextStyle(color: HexColor.fromHex(item?.textColor), fontSize: 10),recognizer: TapGestureRecognizer()..onTap = (){ | |||||
_jumpUserAgreement(item?.url); | |||||
}); | |||||
}).toList()), | |||||
); | |||||
} | } | ||||
/// 其它登陆方式 | /// 其它登陆方式 | ||||
@@ -7,8 +7,8 @@ | |||||
* @FilePath: /hairuyi_flutter_yunfadan/lib/utils/color.dart | * @FilePath: /hairuyi_flutter_yunfadan/lib/utils/color.dart | ||||
*/ | */ | ||||
import 'dart:ui'; | |||||
import 'dart:math'; | import 'dart:math'; | ||||
import 'dart:ui'; | |||||
import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||
import 'package:zhiying_comm/util/log/let_log.dart'; | import 'package:zhiying_comm/util/log/let_log.dart'; | ||||
@@ -20,7 +20,7 @@ extension HexColor on Color { | |||||
final buffer = StringBuffer(); | final buffer = StringBuffer(); | ||||
if (hexString.length == 6 || hexString.length == 7) buffer.write('ff'); | if (hexString.length == 6 || hexString.length == 7) buffer.write('ff'); | ||||
buffer.write(hexString.replaceFirst('#', '')); | buffer.write(hexString.replaceFirst('#', '')); | ||||
return Color(int.parse(buffer.toString(), radix: 16)); | |||||
return Color(int.tryParse(buffer.toString(), radix: 16)); | |||||
}catch(e){ | }catch(e){ | ||||
Logger.log(e); | Logger.log(e); | ||||
} | } | ||||
@@ -1,24 +1,22 @@ | |||||
import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||
import 'package:provider/provider.dart'; | |||||
import 'package:zhiying_comm/pages/login_page/login_page.dart'; | import 'package:zhiying_comm/pages/login_page/login_page.dart'; | ||||
import 'package:zhiying_comm/zhiying_comm.dart'; | import 'package:zhiying_comm/zhiying_comm.dart'; | ||||
import 'package:provider/provider.dart'; | |||||
class RouterUtil { | class RouterUtil { | ||||
static Future route(Map<String, dynamic> model, BuildContext context) async { | |||||
// 唯一跳转标识 | |||||
String skipIdentifier = model['skip_identifier']?.toString(); | |||||
// 需要登录 | |||||
String requiredLogin = model['required_login']?.toString(); | |||||
// 需要淘宝授权 | |||||
String requiredTaobaoAuth = model['required_taobao_auth']?.toString(); | |||||
if (skipIdentifier == null || skipIdentifier == '') { | |||||
/*公共跳转 | |||||
* skipModel 跳转参数 | |||||
* data 额外参数 | |||||
* */ | |||||
static Future route(SkipModel skipModel, Map<String, dynamic> data, | |||||
BuildContext context) async { | |||||
if (skipModel.skipIdentifier == null || skipModel.skipIdentifier == '') { | |||||
print('skipIdentifier 参数不存在,无法跳转页面'); | print('skipIdentifier 参数不存在,无法跳转页面'); | ||||
return Future.error('skipIdentifier 参数不存在,无法跳转页面'); | return Future.error('skipIdentifier 参数不存在,无法跳转页面'); | ||||
} | } | ||||
print('skipIdentifier: ${skipIdentifier}'); | |||||
print('skipIdentifier: ${skipModel.skipIdentifier}'); | |||||
if (requiredLogin == '1') { | |||||
if (skipModel?.requiredLogin == '1') { | |||||
UserInfoModel user = | UserInfoModel user = | ||||
await Provider.of<UserInfoNotifier>(context, listen: false) | await Provider.of<UserInfoNotifier>(context, listen: false) | ||||
.getUserInfoModel(); | .getUserInfoModel(); | ||||
@@ -27,18 +25,19 @@ class RouterUtil { | |||||
print('need login...'); | print('need login...'); | ||||
return Navigator.of(context) | return Navigator.of(context) | ||||
.push(MaterialPageRoute(builder: (BuildContext context) { | .push(MaterialPageRoute(builder: (BuildContext context) { | ||||
return LoginPage(model); | |||||
return LoginPage(); | |||||
})); | })); | ||||
} | } | ||||
} | } | ||||
Widget page = EmptyPage(); | Widget page = EmptyPage(); | ||||
if (PageFactory.hasRegisted(skipIdentifier)) { | |||||
page = PageFactory.create(skipIdentifier, model); | |||||
if (PageFactory.hasRegisted(skipModel.skipIdentifier)) { | |||||
page = PageFactory.create(skipModel.skipIdentifier, data); | |||||
} else { | } else { | ||||
Api api = Api('/api/v1/mod/${skipIdentifier.toString()}', | |||||
Api api = Api('/api/v1/mod/${skipModel.skipIdentifier.toString()}', | |||||
method: NetMethod.GET); | method: NetMethod.GET); | ||||
var result = await api.onRequest(); | var result = await api.onRequest(); | ||||
Logger.debug(result); | |||||
page = PageFactory.create('index', Map<String, dynamic>.from(result)); | page = PageFactory.create('index', Map<String, dynamic>.from(result)); | ||||
} | } | ||||
return Navigator.of(context) | return Navigator.of(context) | ||||
@@ -30,13 +30,13 @@ class SharedPreferencesUtil { | |||||
} | } | ||||
static Future<bool> setStringValue(String key, String value) async { | static Future<bool> setStringValue(String key, String value) async { | ||||
if (!EmptyUtil.isEmpty(key) && !EmptyUtil.isEmpty(value)) { | |||||
Logger.log('key = ${key}, value = $value'); | |||||
SharedPreferences prefs = await SharedPreferences.getInstance(); | |||||
if (null != prefs) { | |||||
return prefs.setString(key, value); | |||||
} | |||||
// if (!EmptyUtil.isEmpty(key) && !EmptyUtil.isEmpty(value)) { | |||||
Logger.log('key = ${key}, value = $value'); | |||||
SharedPreferences prefs = await SharedPreferences.getInstance(); | |||||
if (null != prefs) { | |||||
return prefs.setString(key, value); | |||||
} | } | ||||
// } | |||||
return false; | return false; | ||||
} | } | ||||
@@ -21,8 +21,6 @@ dependencies: | |||||
# 图片缓存 | # 图片缓存 | ||||
cached_network_image: ^2.2.0+1 | cached_network_image: ^2.2.0+1 | ||||
equatable: ^1.2.0 | equatable: ^1.2.0 | ||||
json_serializable: ^3.3.0 | |||||
build_runner: ^1.10.0 | |||||
# 屏幕适配 | # 屏幕适配 | ||||
flutter_screenutil: ^1.1.0 | flutter_screenutil: ^1.1.0 | ||||
# 缓存 | # 缓存 | ||||