“yanghuaxuan” 4 년 전
부모
커밋
378e7a2ec6
13개의 변경된 파일379개의 추가작업 그리고 122개의 파일을 삭제
  1. BIN
     
  2. +0
    -1
      .dart_tool/build_resolvers/sdk.sum.deps
  3. +125
    -89
      .dart_tool/package_config.json
  4. +13
    -0
      lib/models/base/base_setting_model.dart
  5. +27
    -21
      lib/pages/login_page/account/login_account_page.dart
  6. +8
    -6
      lib/util/download/download.dart
  7. +3
    -0
      lib/util/global_config.dart
  8. +1
    -1
      lib/util/net_util.dart
  9. +10
    -1
      lib/util/router_util.dart
  10. +45
    -0
      lib/util/taobao/goods_pic_model.dart
  11. +145
    -2
      lib/util/taobao/taobao_loader.dart
  12. +1
    -1
      lib/zhiying_comm.dart
  13. +1
    -0
      pubspec.yaml

+ 0
- 1
.dart_tool/build_resolvers/sdk.sum.deps 파일 보기

@@ -1 +0,0 @@
{"sdk":"2.7.2 (Mon Mar 23 22:11:27 2020 +0100) on \"macos_x64\"","analyzer":"/Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/analyzer-0.39.14","build_resolvers":"/Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/build_resolvers-1.3.11"}

+ 125
- 89
.dart_tool/package_config.json 파일 보기

@@ -1,531 +1,567 @@
{
"configVersion": 2,
"packages": [
{
"name": "ali_auth_wbq",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/git/zhiying_ali_auth_wbq-f6421fe5735eab13738946da8fa7405e7aa952c6/",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "archive",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/archive-2.0.13",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/archive-2.0.13",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "args",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/args-1.6.0",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/args-1.6.0",
"packageUri": "lib/",
"languageVersion": "2.3"
},
{
"name": "async",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/async-2.4.1",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.4.1",
"packageUri": "lib/",
"languageVersion": "2.2"
},
{
"name": "bloc",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/bloc-4.0.0",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/bloc-4.0.0",
"packageUri": "lib/",
"languageVersion": "2.6"
},
{
"name": "boolean_selector",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.0.0",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.0.0",
"packageUri": "lib/",
"languageVersion": "2.4"
},
{
"name": "cached_network_image",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image-2.2.0+1",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image-2.2.0+1",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "charcode",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.1.3",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.1.3",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "clock",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/clock-1.0.1",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/clock-1.0.1",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "collection",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/collection-1.14.12",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.14.12",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "convert",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/convert-2.1.1",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/convert-2.1.1",
"packageUri": "lib/",
"languageVersion": "1.17"
},
{
"name": "cookie_jar",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/cookie_jar-1.0.1",
"packageUri": "lib/",
"languageVersion": "1.20"
},
{
"name": "crypto",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/crypto-2.1.4",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/crypto-2.1.4",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "device_info",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/device_info-0.4.2+10",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/device_info-0.4.2+10",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "device_info_platform_interface",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/device_info_platform_interface-1.0.1",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/device_info_platform_interface-1.0.1",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "dio",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/dio-3.0.10",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/dio-3.0.10",
"packageUri": "lib/",
"languageVersion": "2.4"
},
{
"name": "dio_cookie_manager",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/dio_cookie_manager-1.0.0",
"packageUri": "lib/",
"languageVersion": "2.4"
},
{
"name": "equatable",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/equatable-1.2.5",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/equatable-1.2.5",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "ffi",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/ffi-0.1.3",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/ffi-0.1.3",
"packageUri": "lib/",
"languageVersion": "2.6"
},
{
"name": "file",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/file-5.2.1",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/file-5.2.1",
"packageUri": "lib/",
"languageVersion": "2.2"
},
{
"name": "flutter",
"rootUri": "file:///Users/fnuouser/Documents/code/flutter/packages/flutter",
"rootUri": "file:///D:/flutter/flutter/packages/flutter",
"packageUri": "lib/",
"languageVersion": "2.2"
},
{
"name": "flutter_alibc",
"rootUri": "file:///Users/fnuouser/.pub-cache/git/zhiying_flutter_alibc-ba413f84090cd58b8b769ca43ff3ef65a0e53274/",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/git/zhiying_flutter_alibc-ba413f84090cd58b8b769ca43ff3ef65a0e53274/",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "flutter_bloc",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/flutter_bloc-4.0.1",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_bloc-4.0.1",
"packageUri": "lib/",
"languageVersion": "2.6"
},
{
"name": "flutter_cache_manager",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/flutter_cache_manager-1.4.2",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_cache_manager-1.4.2",
"packageUri": "lib/",
"languageVersion": "2.6"
},
{
"name": "flutter_native_image",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/flutter_native_image-0.0.5+3",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_native_image-0.0.5+3",
"packageUri": "lib/",
"languageVersion": "1.19"
},
{
"name": "flutter_screenutil",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/flutter_screenutil-1.1.0",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_screenutil-1.1.0",
"packageUri": "lib/",
"languageVersion": "2.6"
},
{
"name": "flutter_test",
"rootUri": "file:///Users/fnuouser/Documents/code/flutter/packages/flutter_test",
"rootUri": "file:///D:/flutter/flutter/packages/flutter_test",
"packageUri": "lib/",
"languageVersion": "2.2"
},
{
"name": "flutter_update_dialog",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/flutter_update_dialog-1.0.0",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_update_dialog-1.0.0",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "flutter_web_plugins",
"rootUri": "file:///Users/fnuouser/Documents/code/flutter/packages/flutter_web_plugins",
"rootUri": "file:///D:/flutter/flutter/packages/flutter_web_plugins",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "flutter_xupdate",
"rootUri": "file:///Users/fnuouser/.pub-cache/git/flutter_xupdate-d17c695461ee4588dec990533d7467c11884cd0f/",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/git/flutter_xupdate-d17c695461ee4588dec990533d7467c11884cd0f/",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "fluttertoast",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/fluttertoast-4.0.1",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/fluttertoast-4.0.1",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "http",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/http-0.12.2",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/http-0.12.2",
"packageUri": "lib/",
"languageVersion": "2.4"
},
{
"name": "http_parser",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/http_parser-3.1.4",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/http_parser-3.1.4",
"packageUri": "lib/",
"languageVersion": "2.3"
},
{
"name": "image",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/image-2.1.12",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/image-2.1.12",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "imei_plugin",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/imei_plugin-1.2.0",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/imei_plugin-1.2.0",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "intl",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/intl-0.16.1",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/intl-0.16.1",
"packageUri": "lib/",
"languageVersion": "2.5"
},
{
"name": "jdsdk",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/jdsdk-0.0.1",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/jdsdk-0.0.1",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "loading_indicator",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/loading_indicator-1.2.0",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/loading_indicator-1.2.0",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "matcher",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.6",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.6",
"packageUri": "lib/",
"languageVersion": "2.2"
},
{
"name": "meta",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/meta-1.1.8",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.1.8",
"packageUri": "lib/",
"languageVersion": "1.12"
},
{
"name": "moblink",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/moblink-3.4.1",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/moblink-3.4.1",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "mobsms",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/mobsms-1.1.0",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobsms-1.1.2",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "nested",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/nested-0.0.4",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/nested-0.0.4",
"packageUri": "lib/",
"languageVersion": "2.2"
},
{
"name": "package_info",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/package_info-0.4.3+2",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/package_info-0.4.3+2",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "path",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/path-1.6.4",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.6.4",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "path_provider",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/path_provider-1.6.24",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider-1.6.24",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "path_provider_linux",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/path_provider_linux-0.0.1+2",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_linux-0.0.1+2",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "path_provider_macos",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/path_provider_macos-0.0.4+6",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_macos-0.0.4+6",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "path_provider_platform_interface",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/path_provider_platform_interface-1.0.4",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_platform_interface-1.0.4",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "path_provider_windows",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/path_provider_windows-0.0.4+3",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_windows-0.0.4+3",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "pedantic",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/pedantic-1.9.0",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/pedantic-1.9.0",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "permission_handler",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/git/permission_handler-b8c45c4c20221ac39fe083113fc360cc632f33a4/",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "permission_handler_platform_interface",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/permission_handler_platform_interface-2.0.1",
"packageUri": "lib/",
"languageVersion": "2.6"
},
{
"name": "petitparser",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/petitparser-2.4.0",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/petitparser-2.4.0",
"packageUri": "lib/",
"languageVersion": "2.4"
},
{
"name": "photo_view",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/photo_view-0.10.3",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/photo_view-0.10.3",
"packageUri": "lib/",
"languageVersion": "2.6"
},
{
"name": "platform",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/platform-2.2.1",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/platform-2.2.1",
"packageUri": "lib/",
"languageVersion": "1.24"
},
{
"name": "plugin_platform_interface",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/plugin_platform_interface-1.0.3",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/plugin_platform_interface-1.0.3",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "process",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/process-3.0.13",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/process-3.0.13",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "provider",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/provider-4.3.2+2",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/provider-4.3.2+2",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "quiver",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/quiver-2.1.3",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/quiver-2.1.3",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "rxdart",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/rxdart-0.24.1",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/rxdart-0.24.1",
"packageUri": "lib/",
"languageVersion": "2.6"
},
{
"name": "save_image",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/save_image-1.0.1",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "secverify",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/secverify-1.0.2",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/secverify-1.0.2",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "shared_preferences",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-0.5.12+4",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-0.5.12+4",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "shared_preferences_linux",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_linux-0.0.2+4",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_linux-0.0.2+4",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "shared_preferences_macos",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_macos-0.0.1+11",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_macos-0.0.1+11",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "shared_preferences_platform_interface",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_platform_interface-1.0.4",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_platform_interface-1.0.4",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "shared_preferences_web",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_web-0.1.2+7",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_web-0.1.2+7",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "shared_preferences_windows",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_windows-0.0.1+3",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_windows-0.0.1+3",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "sharesdk_plugin",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/sharesdk_plugin-1.2.8",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/sharesdk_plugin-1.2.8",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "shimmer",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/shimmer-1.1.2",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shimmer-1.1.2",
"packageUri": "lib/",
"languageVersion": "1.20"
},
{
"name": "sky_engine",
"rootUri": "file:///Users/fnuouser/Documents/code/flutter/bin/cache/pkg/sky_engine",
"rootUri": "file:///D:/flutter/flutter/bin/cache/pkg/sky_engine",
"packageUri": "lib/",
"languageVersion": "1.11"
},
{
"name": "source_span",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.7.0",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.7.0",
"packageUri": "lib/",
"languageVersion": "2.6"
},
{
"name": "sqflite",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/sqflite-1.3.1+2",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/sqflite-1.3.1+2",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "sqflite_common",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/sqflite_common-1.0.2+1",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/sqflite_common-1.0.2+1",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "stack_trace",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.9.3",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.9.3",
"packageUri": "lib/",
"languageVersion": "1.23"
},
{
"name": "stream_channel",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.0.0",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.0.0",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "string_scanner",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.0.5",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.0.5",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "synchronized",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/synchronized-2.2.0+2",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/synchronized-2.2.0+2",
"packageUri": "lib/",
"languageVersion": "2.8"
},
{
"name": "term_glyph",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.1.0",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.1.0",
"packageUri": "lib/",
"languageVersion": "1.8"
},
{
"name": "test_api",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.2.15",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.2.15",
"packageUri": "lib/",
"languageVersion": "2.4"
},
{
"name": "typed_data",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.1.6",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.1.6",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "url_launcher",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/url_launcher-5.7.6",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher-5.7.6",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "url_launcher_linux",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_linux-0.0.1+4",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_linux-0.0.1+4",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "url_launcher_macos",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_macos-0.0.1+9",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_macos-0.0.1+9",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "url_launcher_platform_interface",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_platform_interface-1.0.8",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_platform_interface-1.0.8",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "url_launcher_web",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_web-0.1.4+1",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_web-0.1.4+1",
"packageUri": "lib/",
"languageVersion": "2.2"
},
{
"name": "url_launcher_windows",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_windows-0.0.1+3",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_windows-0.0.1+3",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "uuid",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/uuid-2.2.2",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/uuid-2.2.2",
"packageUri": "lib/",
"languageVersion": "2.2"
},
{
"name": "vector_math",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.0.8",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.0.8",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "webview_flutter",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/webview_flutter-0.3.24",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/webview_flutter-0.3.24",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "win32",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/win32-1.7.4",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/win32-1.7.4",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "xdg_directories",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/xdg_directories-0.1.0",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/xdg_directories-0.1.0",
"packageUri": "lib/",
"languageVersion": "2.3"
},
{
"name": "xml",
"rootUri": "file:///Users/fnuouser/.pub-cache/hosted/pub.flutter-io.cn/xml-3.6.1",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/xml-3.6.1",
"packageUri": "lib/",
"languageVersion": "2.6"
},
@@ -536,7 +572,7 @@
"languageVersion": "2.1"
}
],
"generated": "2020-11-25T06:25:45.550781Z",
"generated": "2020-12-23T06:30:03.819951Z",
"generator": "pub",
"generatorVersion": "2.8.2"
}

+ 13
- 0
lib/models/base/base_setting_model.dart 파일 보기

@@ -1,10 +1,14 @@
import 'dart:io';

import 'package:zhiying_comm/util/net_util.dart';
import 'package:zhiying_comm/util/shared_prefe_util.dart';
import 'package:zhiying_comm/zhiying_comm.dart';

class BaseSettingModel {
String fileProvider;
String fileBucketHost;
String fileBucketHostProtocol;
String isIosReview;
Map<String, dynamic> tab;

static BaseSettingModel _setting;
@@ -23,6 +27,7 @@ class BaseSettingModel {
fileProvider = json['file_provider'];
fileBucketHost = json['file_bucket_host'];
fileBucketHostProtocol = json['file_bucket_host_protocol'];
isIosReview = json['is_ios_review']?.toString();
tab = Map<String, dynamic>.from(json['bottom_nav']);
}

@@ -32,6 +37,7 @@ class BaseSettingModel {
data['file_bucket_host'] = this.fileBucketHost;
data['file_bucket_host_protocol'] = this.fileBucketHostProtocol;
data['bottom_nav'] = this.tab;
data['is_ios_review'] = this.isIosReview;
return data;
}

@@ -41,6 +47,13 @@ class BaseSettingModel {
try {
var data = result['data'];
_setting = BaseSettingModel.fromJson(Map<String, dynamic>.from(data));
if(Platform.isIOS) {
if (null != _setting && _setting.isIosReview == '1') {
SharedPreferencesUtil.setStringValue(GlobalConfig.IS_IOS_REVIEW, '1');
} else {
SharedPreferencesUtil.setStringValue(GlobalConfig.IS_IOS_REVIEW, '0');
}
}
Logger.debug('基础设置初始化');
return _setting;
} catch (err) {


+ 27
- 21
lib/pages/login_page/account/login_account_page.dart 파일 보기

@@ -1,3 +1,5 @@
import 'dart:io';

import 'package:flutter/cupertino.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
@@ -6,6 +8,7 @@ import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:provider/provider.dart';
import 'package:zhiying_comm/pages/login_page/invite/login_invite_page.dart';
import 'package:zhiying_comm/pages/login_page/model/login_style_model.dart';
import 'package:zhiying_comm/util/shared_prefe_util.dart';
import 'package:zhiying_comm/zhiying_comm.dart';
import 'bloc/bloc.dart';
import 'bloc/login_account_repository.dart';
@@ -53,9 +56,29 @@ class _LoginAccountPageContianerState extends State<LoginAccountPageContianer> i
FocusNode _passFN;
FocusNode _vcodeFN;

// 是否登录中
/// 是否使用验证码登陆 默认使用
bool _useVcode = true;

/// 是否可以登陆
bool _canSubmit = false;

/// 是否同意协议
bool _acceptAgreement = true;

/// 是否显示第三方验证码
bool _showOtherVcode = false;

/// 是否登录中
bool _isLogging = false;

/// 设置苹果审核UI
void _settingIosReviewUI() async{
String is_ios_review = await SharedPreferencesUtil.getStringValue(GlobalConfig.IS_IOS_REVIEW, defaultVal: '0');
if(Platform.isIOS && is_ios_review == '1' ){
_useVcode = false;
}
}

/// 跳转到邀请码页面
void _openInvitePage(String mobile) {
print('跳转到邀请码页面');
@@ -74,13 +97,6 @@ class _LoginAccountPageContianerState extends State<LoginAccountPageContianer> i
// Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (BuildContext context) => PageFactory.create('homePage', null)), (Route<dynamic> route) => false,);
}

/// 返回上一页
void _openPop() {
if (Navigator.canPop(context)) {
Navigator.pop(context);
}
}

/// 登陆
void _submitOnClick() {
print('登陆');
@@ -211,18 +227,6 @@ class _LoginAccountPageContianerState extends State<LoginAccountPageContianer> i
return true;
}

/// 是否使用验证码登陆 默认使用
bool _useVcode = true;

/// 是否可以登陆
bool _canSubmit = false;

/// 是否同意协议
bool _acceptAgreement = true;

/// 是否显示第三方验证码
bool _showOtherVcode = false;

@override
void initState() {
_phoneEdController = TextEditingController();
@@ -231,6 +235,8 @@ class _LoginAccountPageContianerState extends State<LoginAccountPageContianer> i
_vcodeFN = FocusNode();
_passFN = FocusNode();
_phoneFN = FocusNode();
// 设置苹果审核UI
_settingIosReviewUI();
super.initState();
}

@@ -369,7 +375,7 @@ class _LoginAccountPageContianerState extends State<LoginAccountPageContianer> i
size: 22,
color: HexColor.fromHex('#333333'),
),
onPressed: () => _openPop(),
onPressed: () => Navigator.maybePop(context),
),
);
}


+ 8
- 6
lib/util/download/download.dart 파일 보기

@@ -1,4 +1,3 @@

import 'dart:collection';
import 'dart:io';

@@ -13,10 +12,10 @@ class Download {
static HashMap hashMap = HashMap();

Future<String> fileToGallery(
String url, {
String postfix,
Function(int, int) progress,
}) async {
String url, {
String postfix,
Function(int, int) progress,
}) async {
// 检查是否已有读写内存的权限
bool status = await Permission.storage.isGranted;

@@ -33,7 +32,10 @@ class Download {
return "文件链接错误";
}
var appDocDir = await getTemporaryDirectory();
String savePath = appDocDir.path + "/" + DateTime.now().toIso8601String().toString() + (strs[strs.length - 1].length > 4 ? (postfix ?? "") : strs[strs.length - 1]);
String savePath = appDocDir.path +
"/" +
DateTime.now().toIso8601String().toString() +
(strs[strs.length - 1].length > 4 ? (postfix ?? "") : ('.' + strs[strs.length - 1]));
await Dio().download(url, savePath, onReceiveProgress: (count, toal) {
if (progress != null) {
progress(count, toal);


+ 3
- 0
lib/util/global_config.dart 파일 보기

@@ -41,4 +41,7 @@ class GlobalConfig {
/// 货币类型
static final String MONEY_TYPE = "¥ ";

/// 苹果审核
static final String IS_IOS_REVIEW = 'is_ios_review';

}

+ 1
- 1
lib/util/net_util.dart 파일 보기

@@ -55,7 +55,7 @@ class NetUtil {
if (_dio == null) {
var setting = await NativeUtil.getSetting();
String domain = setting['domain']; //'http://www.hairuyi.com/';
_config(domain, proxyUrl: '192.168.0.102:8866');
_config(domain, proxyUrl: '');// 192.168.0.66:8866
}
return _dio;
}


+ 10
- 1
lib/util/router_util.dart 파일 보기

@@ -1,7 +1,11 @@
import 'dart:io';

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:zhiying_comm/pages/login_page/account/login_account_page.dart';
import 'package:zhiying_comm/pages/login_page/login_page.dart';
import 'package:zhiying_comm/util/shared_prefe_util.dart';
import 'package:zhiying_comm/zhiying_comm.dart';

class RouterUtil {
@@ -45,9 +49,14 @@ class RouterUtil {
}

// 跳转登录
static Future goLogin(BuildContext context) {
static Future goLogin(BuildContext context) async{
String isIosReview = await SharedPreferencesUtil.getStringValue(GlobalConfig.IS_IOS_REVIEW, defaultVal: '0');
return Navigator.of(context)
.push(CupertinoPageRoute(builder: (BuildContext context) {
// 苹果审核登录样式
if(Platform.isIOS && isIosReview == '1'){
return LoginAccountPage(null);
}
return LoginPage();
}));
}


+ 45
- 0
lib/util/taobao/goods_pic_model.dart 파일 보기

@@ -0,0 +1,45 @@
class GoodsPicModel {
String api;
Data data;
List<String> ret;
String v;

GoodsPicModel({this.api, this.data, this.ret, this.v});

GoodsPicModel.fromJson(Map<String, dynamic> json) {
api = json['api'];
data = json['data'] != null ? new Data.fromJson(json['data']) : null;
ret = json['ret'].cast<String>();
v = json['v'];
}

Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['api'] = this.api;
if (this.data != null) {
data['data'] = this.data.toJson();
}
data['ret'] = this.ret;
data['v'] = this.v;
return data;
}
}

class Data {
List<String> pages;
List<String> images;

Data({this.pages, this.images});

Data.fromJson(Map<String, dynamic> json) {
pages = json['pages'].cast<String>();
images = json['images'].cast<String>();
}

Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['pages'] = this.pages;
data['images'] = this.images;
return data;
}
}

+ 145
- 2
lib/util/taobao/taobao_loader.dart 파일 보기

@@ -1,9 +1,22 @@
import 'dart:convert';
import 'dart:io';

import 'package:dio/dio.dart';
import 'package:dio_cookie_manager/dio_cookie_manager.dart';
import 'package:zhiying_comm/util/taobao/goods_pic_model.dart';
import 'package:zhiying_comm/zhiying_comm.dart';

import 'package:cookie_jar/cookie_jar.dart';
import 'package:convert/convert.dart';
import 'package:crypto/crypto.dart';

// 淘宝详情图抓取
class TaobaoLoader {
static Future<List<String>> loadImages(String id) async {
return _loadImagesNew(id);
}

static Future<List<String>> _loadImages1(String id) async {
String url =
'http://h5api.m.taobao.com/h5/mtop.taobao.detail.getdesc/6.0/?api=mtop.taobao.detail.getdesc&appkey=12574478&data={"type":"0","f":"TB1AsvbfnqWBKNjSZFx8qwpLpla","id":"${id.toString()}"}&dataType=json&jsv=2.4.11&sign=e93a97b7e9a9a459297f4e689051c895&t=1538180732308&type=json';
Dio dio = Dio();
@@ -21,8 +34,7 @@ class TaobaoLoader {
if (image != null && image != '') {
if (image.startsWith('//')) {
images.add('http:' + image);
} else
if (image.startsWith('https://') || image.startsWith('http://')) {
} else if (image.startsWith('https://') || image.startsWith('http://')) {
images.add(image);
}
}
@@ -31,7 +43,138 @@ class TaobaoLoader {
Logger.error(err);
}

return images;
}

///方法说明:通过破解淘宝签名接口获取商品详情图片
///流程:第一次请求接口拿到cookie数据,拼接签名数据,第二次请求接口拿到图片连接数据
///方法地址
///https://darktiantian.github.io/%E8%AE%B0%E4%B8%80%E6%AC%A1%E6%B7%98%E5%AE%9D%E6%8E%A5%E5%8F%A3sign%E7%AD%BE%E5%90%8D%E7%A0%B4%E8%A7%A3/
static Future<List<String>> _loadImagesNew(String id) async {
String data = "{\"item_num_id\":\"" + id + "\"}";
String time = DateTime.now().millisecondsSinceEpoch.toString();
String appkey = "12574478"; //文章中使用的appkey
String url = "https://h5api.m.taobao.com/h5/mtop.wdetail.getitemdescx/4.9/?jsv=2.4.11&appKey=$appkey&t=$time"
"&sign=FAKE_SIGN_WITH_ANYTHING&api=mtop.wdetail.getItemDescx&v=4.9&type=jsonp&dataType=jsonp&callback=mtopjsonp2&data="
"$data";
Logger.log("url: " + url);
Dio dio = Dio(BaseOptions(responseType: ResponseType.plain));
var cookieJar = CookieJar();
//dio绑定cookie管理器,以便第一次请求后获取cookie数据
dio.interceptors.add(CookieManager(cookieJar));
Map<String, dynamic> headers = new Map();
headers['User-Agent'] =
"Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_4 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G35 Safari/601.1";
Options options = new Options(headers: headers);
//首次请求获取cookie
await dio.get(url, options: options);

String token = "";
String _m_h5_tk = "";
String enc_token = "";
//根据第一次请求后返回的cookie拿到需要的数据
List<Cookie> cookieList = cookieJar.loadForRequest(Uri.parse(url));
for (int i = 0; i < cookieList.length; i++) {
Cookie cookie = cookieList[i];
Logger.log(cookie.name + " : " + cookie.value);
if ("_m_h5_tk" == cookie.name) {
_m_h5_tk = cookie.value;
List<String> token_with_time = cookie.value.split("_");
if (token_with_time.length > 0) {
token = token_with_time[0];
}
}
if ("_m_h5_tk_enc" == cookie.name) {
enc_token = cookie.value;
}
}

//设置第二次请求的cookie数据
Map<String, dynamic> headers2 = new Map();
headers2['cookie'] = "_m_h5_tk=$_m_h5_tk; _m_h5_tk_enc=$enc_token;"
"User-Agent=Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_4 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G35 Safari/601.1";
Options options2 = new Options(headers: headers2);

//设置签名
String time2 = DateTime.now().millisecondsSinceEpoch.toString();
String sign = token + "&" + time2 + "&" + appkey + "&" + data;
String mySign = string2Md5(sign);

//设置第二次请求的url
String url2 = "https://h5api.m.taobao.com/h5/mtop.wdetail.getitemdescx/4.9/?jsv=2.4.11&appKey=$appkey&t=$time2"
"&sign=$mySign&api=mtop.wdetail.getItemDescx&v=4.9&type=jsonp&dataType=jsonp&callback=mtopjsonp2&data="
"$data";

//进行第二次网络请求拿到图片数据
Dio dio2 = Dio(BaseOptions(responseType: ResponseType.plain));
Response response2 = await dio2.get(url2, options: options2);
Logger.log(response2.data);

//根据返回的数据,拼接图片链接数据
String result2 = response2.data;
String object = result2.substring(result2.indexOf("(") + 1, result2.length - 1);
Logger.log(object);
var json = jsonDecode(object);
GoodsPicModel model = GoodsPicModel.fromJson(json);
List<String> images = List();
if (null != model.data.images && model.data.images.length > 0) {
/**
* images字段的数据,在前面拼接好https:就可以作为商品详情的图片链接使用了
*/
List<String> Images = model.data.images;
List<String> mPicList = [];
for (String pic in Images) {
if (pic.isNotEmpty) {
if (pic.startsWith("http")) {
mPicList.add(pic);
} else {
mPicList.add("https:" + pic);
}
}
}
Logger.log("mPicList图片:" + mPicList.length.toString() + "\n" + mPicList.toString());
if (mPicList.length > 0) {
return mPicList;
}
} else {
if (null != model.data.pages && model.data.pages.length > 0) {
/**
* pages字段的数据,数组中可能有多张图片的链接数据,以<img></img>标签框起来的
* 先去掉前面的<img>标签,再以</img>标签分割各个图片链接数据,
* 最后每个数据拼接上https:就可以作为商品详情图片链接返回了
* 经测试images字段和pages字段的数据是相同的,所以取一个字段的数据返回就可以了
*/
List<String> pages = model.data.pages;
List<String> mPicList = [];
for (String pic in pages) {
String pic1 = pic.replaceAll("<img>", "");
List<String> pic2 = pic1.split("</img>");
if (pic2.length > 0) {
for (String s in pic2) {
if (s.isNotEmpty) {
if (s.startsWith("http")) {
mPicList.add(s);
} else {
mPicList.add("https:" + s);
}
}
}
}
}
Logger.log("图片2:" + mPicList.length.toString() + "\n" + mPicList.toString());
if (mPicList.length > 0) {
return mPicList;
}
}
}

return images;
}

// md5 加密
static String string2Md5(String data) {
var content = new Utf8Encoder().convert(data);
var digest = md5.convert(content);
return hex.encode(digest.bytes);
}
}

+ 1
- 1
lib/zhiying_comm.dart 파일 보기

@@ -36,5 +36,5 @@ export 'package:cached_network_image/cached_network_image.dart';
export 'util/photo_preview/photo_preview.dart';
export 'models/base/base_change_notifier.dart';
export 'util/parse_util.dart';
export 'util/download/Download.dart';
export 'util/download/download.dart';


+ 1
- 0
pubspec.yaml 파일 보기

@@ -77,6 +77,7 @@ dependencies:
#保存文件到相册
save_image: ^1.0.1

dio_cookie_manager: 1.0.0


dev_dependencies:


불러오는 중...
취소
저장