diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json index f0746b6..b019053 100644 --- a/.dart_tool/package_config.json +++ b/.dart_tool/package_config.json @@ -1,18 +1,6 @@ { "configVersion": 2, "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", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/archive-2.0.11", @@ -43,54 +31,6 @@ "packageUri": "lib/", "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", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image-2.2.0+1", @@ -103,30 +43,12 @@ "packageUri": "lib/", "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", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/clock-1.0.1", "packageUri": "lib/", "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", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/collection-1.14.11", @@ -145,18 +67,6 @@ "packageUri": "lib/", "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", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/device_info-0.4.2+7", @@ -187,12 +97,6 @@ "packageUri": "lib/", "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", "rootUri": "file:///Users/fnuser/Documents/flutter-sdk/packages/flutter", @@ -247,36 +151,12 @@ "packageUri": "lib/", "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", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/http-0.12.2", "packageUri": "lib/", "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", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/http_parser-3.1.4", @@ -295,42 +175,12 @@ "packageUri": "lib/", "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", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/jdsdk-0.0.1", "packageUri": "lib/", "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", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.6", @@ -343,36 +193,12 @@ "packageUri": "lib/", "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", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/nested-0.0.4", "packageUri": "lib/", "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", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/package_info-0.4.3", @@ -439,12 +265,6 @@ "packageUri": "lib/", "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", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/process-3.0.13", @@ -463,12 +283,6 @@ "packageUri": "lib/", "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", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/quiver-2.0.5", @@ -511,18 +325,6 @@ "packageUri": "lib/", "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", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/shimmer-1.1.1", @@ -535,12 +337,6 @@ "packageUri": "lib/", "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", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.5.5", @@ -571,12 +367,6 @@ "packageUri": "lib/", "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", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.0.5", @@ -601,12 +391,6 @@ "packageUri": "lib/", "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", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.1.6", @@ -661,18 +445,6 @@ "packageUri": "lib/", "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", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/webview_flutter-0.3.22+1", @@ -691,12 +463,6 @@ "packageUri": "lib/", "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", "rootUri": "../", @@ -704,7 +470,7 @@ "languageVersion": "2.1" } ], - "generated": "2020-09-21T02:30:27.331807Z", + "generated": "2020-09-23T04:02:45.114883Z", "generator": "pub", "generatorVersion": "2.7.2" } diff --git a/example/android/app/src/main/res/drawable/yw_1222_baichuan.jpg b/example/android/app/src/main/res/drawable/yw_1222_baichuan.jpg new file mode 100755 index 0000000..54c80e5 Binary files /dev/null and b/example/android/app/src/main/res/drawable/yw_1222_baichuan.jpg differ diff --git a/lib/models/base/skip_model.dart b/lib/models/base/skip_model.dart index 69bd6de..d7c1440 100644 --- a/lib/models/base/skip_model.dart +++ b/lib/models/base/skip_model.dart @@ -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; - - @JsonKey(name: 'required_taobao_auth') String requiredTaobaoAuth; - - @JsonKey(name: 'skip_identifier') String skipIdentifier; 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; + } } diff --git a/lib/models/base/skip_model.g.dart b/lib/models/base/skip_model.g.dart deleted file mode 100644 index 1d67283..0000000 --- a/lib/models/base/skip_model.g.dart +++ /dev/null @@ -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, - }; diff --git a/lib/models/base/widget_model.dart b/lib/models/base/widget_model.dart index c23ba8a..6f806dc 100644 --- a/lib/models/base/widget_model.dart +++ b/lib/models/base/widget_model.dart @@ -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; - - @JsonKey(name: 'mod_name') - String modName; - - @JsonKey(name: 'mod_pid') int modPid; - - @JsonKey(name: 'path') - String path; - - @JsonKey(name: 'position') + String modName; String position; - - @JsonKey(name: 'sort') - int sort; - - @JsonKey(name: 'subtitle') - String subtitle; - - @JsonKey(name: 'title') + String skipIdentifier; String title; - - @JsonKey(name: 'url') + String subtitle; 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( - 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; + } } diff --git a/lib/models/base/widget_model.g.dart b/lib/models/base/widget_model.g.dart deleted file mode 100644 index 5bc4739..0000000 --- a/lib/models/base/widget_model.g.dart +++ /dev/null @@ -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, - }; diff --git a/lib/models/user/user_info_model_notifier.dart b/lib/models/user/user_info_model_notifier.dart index e373d54..6234a62 100644 --- a/lib/models/user/user_info_model_notifier.dart +++ b/lib/models/user/user_info_model_notifier.dart @@ -13,14 +13,26 @@ class UserInfoNotifier with ChangeNotifier { /// 用户信息 UserInfoModel _userInfo; + UserInfoModel get userInfo { + if (null == _userInfo) { + getUserInfoModel().then((user) { + if (user != null) notifyListeners(); + }); + } + return _userInfo; + } + /// 更新用户数据 void setUserInfo(UserInfoModel loginUser) async { print('${loginUser.toString()}'); 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(); } @@ -28,9 +40,12 @@ class UserInfoNotifier with ChangeNotifier { void unLogin() async { 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(); } @@ -40,7 +55,8 @@ class UserInfoNotifier with ChangeNotifier { return _userInfo; } 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)); } catch (e) { Logger.log(e); diff --git a/lib/pages/login_page/login_page.dart b/lib/pages/login_page/login_page.dart index 472378a..99b9b73 100644 --- a/lib/pages/login_page/login_page.dart +++ b/lib/pages/login_page/login_page.dart @@ -1,3 +1,4 @@ +import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/gestures.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/util/empty_util.dart'; import 'package:zhiying_comm/zhiying_comm.dart'; -import 'package:cached_network_image/cached_network_image.dart'; import 'bloc/bloc.dart'; import 'bloc/login_repository.dart'; @@ -16,9 +16,8 @@ import 'model/login_model.dart'; /// 登陆页面 /// 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 Widget build(BuildContext context) { @@ -44,7 +43,7 @@ class _LoginPageContainerState extends State<LoginPageContainer> { print('登陆$type'); if(type == 'mobile'){ Navigator.push(context, MaterialPageRoute( - builder: (_) => LoginAccountPage(null) + builder: (_) => LoginAccountPage(null) )); } } @@ -109,6 +108,7 @@ class _LoginPageContainerState extends State<LoginPageContainer> { Widget _getMainWidget(LoginModel model) { return Column( children: <Widget>[ + /// 头部 _headWidget(model), _sizedHeight50, @@ -206,13 +206,13 @@ class _LoginPageContainerState extends State<LoginPageContainer> { /// 协议 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()), + ); } /// 其它登陆方式 diff --git a/lib/util/extension/color.dart b/lib/util/extension/color.dart index de1b3cf..342d612 100644 --- a/lib/util/extension/color.dart +++ b/lib/util/extension/color.dart @@ -7,8 +7,8 @@ * @FilePath: /hairuyi_flutter_yunfadan/lib/utils/color.dart */ -import 'dart:ui'; import 'dart:math'; +import 'dart:ui'; import 'package:flutter/material.dart'; import 'package:zhiying_comm/util/log/let_log.dart'; @@ -20,7 +20,7 @@ extension HexColor on Color { final buffer = StringBuffer(); if (hexString.length == 6 || hexString.length == 7) buffer.write('ff'); buffer.write(hexString.replaceFirst('#', '')); - return Color(int.parse(buffer.toString(), radix: 16)); + return Color(int.tryParse(buffer.toString(), radix: 16)); }catch(e){ Logger.log(e); } diff --git a/lib/util/router_util.dart b/lib/util/router_util.dart index 66c38a4..14139ff 100644 --- a/lib/util/router_util.dart +++ b/lib/util/router_util.dart @@ -1,24 +1,22 @@ import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; import 'package:zhiying_comm/pages/login_page/login_page.dart'; import 'package:zhiying_comm/zhiying_comm.dart'; -import 'package:provider/provider.dart'; 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 参数不存在,无法跳转页面'); return Future.error('skipIdentifier 参数不存在,无法跳转页面'); } - print('skipIdentifier: ${skipIdentifier}'); + print('skipIdentifier: ${skipModel.skipIdentifier}'); - if (requiredLogin == '1') { + if (skipModel?.requiredLogin == '1') { UserInfoModel user = await Provider.of<UserInfoNotifier>(context, listen: false) .getUserInfoModel(); @@ -27,18 +25,19 @@ class RouterUtil { print('need login...'); return Navigator.of(context) .push(MaterialPageRoute(builder: (BuildContext context) { - return LoginPage(model); + return LoginPage(); })); } } Widget page = EmptyPage(); - if (PageFactory.hasRegisted(skipIdentifier)) { - page = PageFactory.create(skipIdentifier, model); + if (PageFactory.hasRegisted(skipModel.skipIdentifier)) { + page = PageFactory.create(skipModel.skipIdentifier, data); } else { - Api api = Api('/api/v1/mod/${skipIdentifier.toString()}', + Api api = Api('/api/v1/mod/${skipModel.skipIdentifier.toString()}', method: NetMethod.GET); var result = await api.onRequest(); + Logger.debug(result); page = PageFactory.create('index', Map<String, dynamic>.from(result)); } return Navigator.of(context) diff --git a/lib/util/shared_prefe_util.dart b/lib/util/shared_prefe_util.dart index 9aa1aa5..729a289 100644 --- a/lib/util/shared_prefe_util.dart +++ b/lib/util/shared_prefe_util.dart @@ -30,13 +30,13 @@ class SharedPreferencesUtil { } 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; } diff --git a/pubspec.yaml b/pubspec.yaml index acd0bd3..7309599 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -21,8 +21,6 @@ dependencies: # 图片缓存 cached_network_image: ^2.2.0+1 equatable: ^1.2.0 - json_serializable: ^3.3.0 - build_runner: ^1.10.0 # 屏幕适配 flutter_screenutil: ^1.1.0 # 缓存