浏览代码

Merge remote-tracking branch 'origin/1.22.0_master' into 1.22.0_master

tags/0.0.11+8
23028876916@qq.com 3 年前
父节点
当前提交
245d268d9d
共有 61 个文件被更改,包括 403 次插入301 次删除
  1. +143
    -119
      .dart_tool/package_config.json
  2. +4
    -0
      android/build.gradle
  3. 二进制
     
  4. +4
    -5
      example/android/app/build.gradle
  5. 二进制
     
  6. +6
    -6
      example/android/app/src/main/java/cn/zhios/zhiying_base_widget_example/MainActivity.java
  7. +1
    -1
      example/android/tmpmob/ShareSDK/assets/ShareSDK.xml
  8. +1
    -1
      example/ios/Podfile.lock
  9. +12
    -5
      example/ios/Runner/AppDelegate.m
  10. +15
    -9
      lib/dialog/global_dialog/intellect_search_goods_dialog/intellect_search_goods_dialog.dart
  11. +20
    -12
      lib/dialog/global_dialog/intellect_search_goods_dialog/intellect_search_no_goods_dialog.dart
  12. +1
    -4
      lib/pages/about_us_page/bloc/about_us_bloc.dart
  13. +67
    -0
      lib/pages/custom_page/bloc/bottom_nav_repository.dart
  14. +16
    -3
      lib/pages/custom_page/bloc/custom_item_page_bloc.dart
  15. +1
    -6
      lib/pages/custom_page/bloc/custom_item_page_repository.dart
  16. +3
    -0
      lib/pages/custom_page/bloc/custom_item_page_state.dart
  17. +1
    -3
      lib/pages/custom_page/bloc/custom_page_bloc.dart
  18. +0
    -8
      lib/pages/custom_page/bloc/custom_page_repository.dart
  19. +10
    -0
      lib/pages/custom_page/custom_item_page.dart
  20. +1
    -4
      lib/pages/favorites_page/bloc/favorites_bloc.dart
  21. +1
    -3
      lib/pages/feedback_page/bloc/feedback_bloc.dart
  22. +2
    -3
      lib/pages/feedback_page/bloc/feedback_record_bloc.dart
  23. +1
    -3
      lib/pages/goods_details_page/bloc/goods_details_page_bloc.dart
  24. +1
    -3
      lib/pages/message_notice_page/bloc/message_notice_bloc.dart
  25. +2
    -3
      lib/pages/message_settings_page/bloc/message_settings_bloc.dart
  26. +2
    -3
      lib/pages/privacy_settings_page/bloc/privacy_settings_bloc.dart
  27. +2
    -3
      lib/pages/search_page/bloc/search_bloc.dart
  28. +2
    -4
      lib/pages/search_page/item/bloc/search_item_page_bloc.dart
  29. +2
    -3
      lib/pages/search_result_page/bloc/search_result_bloc.dart
  30. +2
    -3
      lib/pages/search_result_page/item/bloc/search_result_item_bloc.dart
  31. +2
    -3
      lib/pages/search_think_page/bloc/search_think_bloc.dart
  32. +2
    -4
      lib/pages/team_details_page/bloc/team_details_bloc.dart
  33. +2
    -3
      lib/pages/team_page/bloc/team_bloc.dart
  34. +2
    -3
      lib/pages/upload_wechat_page/bloc/upload_wechat_bloc.dart
  35. +2
    -3
      lib/pages/vip_center_page/bloc/vip_center_bloc.dart
  36. +7
    -5
      lib/register.dart
  37. +2
    -3
      lib/widgets/custom/multi_nav/bloc/custom_quick_entry_bloc.dart
  38. +2
    -3
      lib/widgets/custom/notice/bloc/custom_notice_bloc.dart
  39. +2
    -3
      lib/widgets/custom/slide_banner/bloc/custom_slide_banner_bloc.dart
  40. +2
    -3
      lib/widgets/favorites/goods_list/bloc/favorites_goods_list_bloc.dart
  41. +2
    -3
      lib/widgets/goods_details/coupon/bloc/counpon_bloc.dart
  42. +1
    -1
      lib/widgets/goods_details/detail_img/bloc/goods_details_img_bloc.dart
  43. +1
    -3
      lib/widgets/goods_details/footer/bloc/goods_details_footer_bloc.dart
  44. +2
    -3
      lib/widgets/goods_details/slide_banner/bloc/goods_details_slide_banner_bloc.dart
  45. +2
    -3
      lib/widgets/goods_details/store/bloc/store_bloc.dart
  46. +1
    -1
      lib/widgets/goods_details/store/bloc/store_state.dart
  47. +1
    -1
      lib/widgets/home/home_banner/bloc/home_banner_bloc.dart
  48. +2
    -2
      lib/widgets/home/home_goods/home_goods_item.dart
  49. +1
    -1
      lib/widgets/home/home_goods/home_goods_item_single.dart
  50. +2
    -3
      lib/widgets/home/home_quick_entry/bloc/home_quick_entry_bloc.dart
  51. +2
    -3
      lib/widgets/home/home_slide_banner/bloc/home_slide_banner_bloc.dart
  52. +2
    -1
      lib/widgets/mine/mine_data/mine_data_widget.dart
  53. +2
    -2
      lib/widgets/mine/mine_header/mine_header_container.dart
  54. +13
    -9
      lib/widgets/restart_widget/restart_widget.dart
  55. +2
    -3
      lib/widgets/search_result/goods_list/bloc/search_result_goods_list_bloc.dart
  56. +1
    -1
      lib/widgets/search_result/tarbar/search_result_tab_widget.dart
  57. +8
    -0
      lib/widgets/share/share_alert.dart
  58. +3
    -3
      lib/widgets/team/fans_list/bloc/team_list_fans_bloc.dart
  59. +1
    -3
      lib/widgets/team/recommend/bloc/team_recommend_bloc.dart
  60. +2
    -1
      lib/zhiying_base_widget.dart
  61. +4
    -4
      pubspec.yaml

+ 143
- 119
.dart_tool/package_config.json 查看文件

@@ -3,703 +3,727 @@
"packages": [
{
"name": "ali_auth_wbq",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/git/zhiying_ali_auth_wbq-f6421fe5735eab13738946da8fa7405e7aa952c6/",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/zhiying_ali_auth_wbq-f6421fe5735eab13738946da8fa7405e7aa952c6/",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "amap_flutter_location",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/amap_flutter_location-1.0.1",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "archive",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/archive-2.0.13",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/archive-2.0.13",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "args",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/args-1.6.0",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/args-1.6.0",
"packageUri": "lib/",
"languageVersion": "2.3"
},
{
"name": "async",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.5.0-nullsafety.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.5.0-nullsafety.1",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "bloc",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/bloc-4.0.0",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/bloc-4.0.0",
"packageUri": "lib/",
"languageVersion": "2.6"
},
{
"name": "boolean_selector",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0-nullsafety.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0-nullsafety.1",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "cached_network_image",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image-2.5.0",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image-2.5.1",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "characters",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/characters-1.1.0-nullsafety.3",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/characters-1.1.0-nullsafety.3",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "charcode",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.2.0-nullsafety.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.2.0-nullsafety.1",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "clock",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.0-nullsafety.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.0-nullsafety.1",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "collection",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0-nullsafety.3",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0-nullsafety.3",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "connectivity",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity-0.4.9+5",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity-0.4.9+5",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "connectivity_for_web",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity_for_web-0.3.1+4",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity_for_web-0.3.1+4",
"packageUri": "lib/",
"languageVersion": "2.6"
},
{
"name": "connectivity_macos",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity_macos-0.1.0+7",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity_macos-0.1.0+7",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "connectivity_platform_interface",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity_platform_interface-1.0.6",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity_platform_interface-1.0.6",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "convert",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/convert-2.1.1",
"rootUri": "file:///Users/fnuoos/development/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",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/cookie_jar-1.0.1",
"packageUri": "lib/",
"languageVersion": "1.20"
},
{
"name": "crypto",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/crypto-2.1.5",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/crypto-2.1.5",
"packageUri": "lib/",
"languageVersion": "2.3"
},
{
"name": "device_info",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/device_info-0.4.2+10",
"rootUri": "file:///Users/fnuoos/development/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/device_info_platform_interface-1.0.1",
"rootUri": "file:///Users/fnuoos/development/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/dio-3.0.10",
"rootUri": "file:///Users/fnuoos/development/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",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/dio_cookie_manager-1.0.0",
"packageUri": "lib/",
"languageVersion": "2.4"
},
{
"name": "equatable",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/equatable-1.2.6",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/equatable-1.2.6",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "event_bus",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/event_bus-1.1.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/event_bus-1.1.1",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "fake_async",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.2.0-nullsafety.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.2.0-nullsafety.1",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "ffi",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/ffi-0.1.3",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/ffi-0.1.3",
"packageUri": "lib/",
"languageVersion": "2.6"
},
{
"name": "file",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/file-5.2.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/file-5.2.1",
"packageUri": "lib/",
"languageVersion": "2.2"
},
{
"name": "flutter",
"rootUri": "file:///D:/flutter/flutter/packages/flutter",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/packages/flutter",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "flutter_alibc",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/git/zhiying_flutter_alibc-9786cccfb44cd4b38f2ca3f1ff1dc139c4e09d61/",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/zhiying_flutter_alibc-159f123705b3e3dc28d6991df5b39b24a54c41a0/",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "flutter_bloc",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_bloc-4.0.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_bloc-4.0.1",
"packageUri": "lib/",
"languageVersion": "2.6"
},
{
"name": "flutter_blurhash",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_blurhash-0.5.0",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_blurhash-0.5.0",
"packageUri": "lib/",
"languageVersion": "2.4"
},
{
"name": "flutter_cache_manager",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_cache_manager-2.1.0",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_cache_manager-2.1.0",
"packageUri": "lib/",
"languageVersion": "2.6"
},
{
"name": "flutter_cupertino_date_picker",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_cupertino_date_picker-1.0.26+2",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/flutter-cupertino-date-picker-82142a924a770e68dca2a2f7b51449166870d7e2/",
"packageUri": "lib/",
"languageVersion": "1.19"
},
{
"name": "flutter_native_image",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_native_image-0.0.5+3",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_native_image-0.0.5+3",
"packageUri": "lib/",
"languageVersion": "1.19"
},
{
"name": "flutter_page_indicator",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_page_indicator-0.0.3",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_page_indicator-0.0.3",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "flutter_plugin_android_lifecycle",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_plugin_android_lifecycle-1.0.11",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_plugin_android_lifecycle-1.0.11",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "flutter_screenutil",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_screenutil-1.1.0",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_screenutil-1.1.0",
"packageUri": "lib/",
"languageVersion": "2.6"
},
{
"name": "flutter_slidable",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_slidable-0.5.7",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_slidable-0.5.7",
"packageUri": "lib/",
"languageVersion": "1.19"
},
{
"name": "flutter_swiper",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_swiper-1.1.6",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_swiper-1.1.6",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "flutter_test",
"rootUri": "file:///D:/flutter/flutter/packages/flutter_test",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/packages/flutter_test",
"packageUri": "lib/",
"languageVersion": "2.2"
},
{
"name": "flutter_update_dialog",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_update_dialog-1.0.0",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_update_dialog-1.0.0",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "flutter_user_agent",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_user_agent-1.2.2",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "flutter_web_plugins",
"rootUri": "file:///D:/flutter/flutter/packages/flutter_web_plugins",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/packages/flutter_web_plugins",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "flutter_xupdate",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/git/flutter_xupdate-d17c695461ee4588dec990533d7467c11884cd0f/",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/flutter_xupdate-d17c695461ee4588dec990533d7467c11884cd0f/",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "fluttertoast",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/fluttertoast-4.0.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/fluttertoast-4.0.1",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "fluwx",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/fluwx-2.6.2",
"packageUri": "lib/",
"languageVersion": "2.6"
},
{
"name": "http",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/http-0.12.2",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/http-0.12.2",
"packageUri": "lib/",
"languageVersion": "2.4"
},
{
"name": "http_parser",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/http_parser-3.1.4",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/http_parser-3.1.4",
"packageUri": "lib/",
"languageVersion": "2.3"
},
{
"name": "image",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/image-2.1.19",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/image-2.1.19",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "image_cropper",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/git/Image_Cropper-e32f2264f86a27a2f5d7a7a5e26c6154eaf5798e/",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/Image_Cropper-e32f2264f86a27a2f5d7a7a5e26c6154eaf5798e/",
"packageUri": "lib/",
"languageVersion": "1.20"
},
{
"name": "image_picker",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/image_picker-0.6.7+22",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/image_picker-0.6.7+22",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "image_picker_platform_interface",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/image_picker_platform_interface-1.1.6",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/image_picker_platform_interface-1.1.6",
"packageUri": "lib/",
"languageVersion": "2.5"
},
{
"name": "imei_plugin",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/imei_plugin-1.2.0",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/imei_plugin-1.2.0",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "intl",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/intl-0.16.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/intl-0.16.1",
"packageUri": "lib/",
"languageVersion": "2.5"
},
{
"name": "jdsdk",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/jdsdk-0.0.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/jdsdk-0.0.1",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "loading_indicator",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/loading_indicator-1.2.0",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/loading_indicator-1.2.0",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "matcher",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.10-nullsafety.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.10-nullsafety.1",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "meta",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.3.0-nullsafety.3",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.3.0-nullsafety.3",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "moblink",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/git/moblink-5472bb698d70e336cf55febb9b0a209411466632/",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/moblink-5472bb698d70e336cf55febb9b0a209411466632/",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "mobpush_plugin",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobpush_plugin-1.1.6",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobpush_plugin-1.1.6",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "mobsms",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobsms-1.1.3",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobsms-1.1.3",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "more_picture_share",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/more_picture_share-4767c418bfe4b8d75f9f8958199384141ba88e21/",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "nested",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/nested-0.0.4",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/nested-0.0.4",
"packageUri": "lib/",
"languageVersion": "2.2"
},
{
"name": "octo_image",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/octo_image-0.3.0",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/octo_image-0.3.0",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "package_info",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/package_info-0.4.3+4",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/package_info-0.4.3+4",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "path",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0-nullsafety.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0-nullsafety.1",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "path_provider",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider-1.6.27",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider-1.6.28",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "path_provider_linux",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_linux-0.0.1+2",
"rootUri": "file:///Users/fnuoos/development/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_macos-0.0.4+8",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_macos-0.0.4+8",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "path_provider_platform_interface",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_platform_interface-1.0.4",
"rootUri": "file:///Users/fnuoos/development/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_windows-0.0.4+3",
"rootUri": "file:///Users/fnuoos/development/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/pedantic-1.9.2",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/pedantic-1.9.2",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "permission_handler",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/git/permission_handler-b8c45c4c20221ac39fe083113fc360cc632f33a4/",
"rootUri": "file:///Users/fnuoos/development/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.2",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/permission_handler_platform_interface-2.0.2",
"packageUri": "lib/",
"languageVersion": "2.6"
},
{
"name": "petitparser",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/petitparser-3.1.0",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/petitparser-3.1.0",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "photo_view",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/photo_view-0.10.3",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/photo_view-0.10.3",
"packageUri": "lib/",
"languageVersion": "2.6"
},
{
"name": "platform",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/platform-2.2.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/platform-2.2.1",
"packageUri": "lib/",
"languageVersion": "1.24"
},
{
"name": "plugin_platform_interface",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/plugin_platform_interface-1.0.3",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/plugin_platform_interface-1.0.3",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "process",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/process-3.0.13",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/process-3.0.13",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "provider",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/provider-4.3.3",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/provider-4.3.3",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "pull_to_refresh",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/pull_to_refresh-1.6.4",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/flutter_pulltorefresh-78a12e0ea45fdf1fbc615b8d243e0f4a8667489f/",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "rxdart",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/rxdart-0.25.0",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/rxdart-0.25.0",
"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",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/save_image-b719ab2d77298cbfa5ce3397d83d5ba253ed29c1/",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "secverify",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/secverify-1.0.2",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/secverify-5ec756e9fe63339209cc6906a37a778952ac61f1/",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "share_extend",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/share_extend-1.1.9",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/share_extend-1.1.9",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "shared_preferences",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-0.5.12+4",
"rootUri": "file:///Users/fnuoos/development/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_linux-0.0.2+4",
"rootUri": "file:///Users/fnuoos/development/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_macos-0.0.1+11",
"rootUri": "file:///Users/fnuoos/development/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_platform_interface-1.0.4",
"rootUri": "file:///Users/fnuoos/development/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_web-0.1.2+7",
"rootUri": "file:///Users/fnuoos/development/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_windows-0.0.2+3",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_windows-0.0.2+3",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "sharesdk_plugin",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/sharesdk_plugin-1.2.9",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/sharesdk_plugin-f947c09803374acdc4fb720ccb5356d0779afe2f/",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "shimmer",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shimmer-1.1.2",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shimmer-1.1.2",
"packageUri": "lib/",
"languageVersion": "1.20"
},
{
"name": "sky_engine",
"rootUri": "file:///D:/flutter/flutter/bin/cache/pkg/sky_engine",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/bin/cache/pkg/sky_engine",
"packageUri": "lib/",
"languageVersion": "1.11"
},
{
"name": "source_span",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.0-nullsafety.2",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.0-nullsafety.2",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "sqflite",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/sqflite-1.3.1+2",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/sqflite-1.3.1+2",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "sqflite_common",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/sqflite_common-1.0.3+1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/sqflite_common-1.0.3+3",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "stack_trace",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.10.0-nullsafety.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.10.0-nullsafety.1",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "stream_channel",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.0-nullsafety.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.0-nullsafety.1",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "string_scanner",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.1.0-nullsafety.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.1.0-nullsafety.1",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "string_validator",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_validator-0.1.4",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_validator-0.1.4",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "synchronized",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/synchronized-2.2.0+2",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/synchronized-2.2.0+2",
"packageUri": "lib/",
"languageVersion": "2.8"
},
{
"name": "tab_indicator_styler",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/tab_indicator_styler-1.0.0",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/tab_indicator_styler-1.0.0",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "term_glyph",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.0-nullsafety.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.0-nullsafety.1",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "test_api",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.2.19-nullsafety.2",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.2.19-nullsafety.2",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "tobias",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/git/tobias-15f6acb72df68703c96b2d8a14e1ab28f5dcc008/",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/tobias-15f6acb72df68703c96b2d8a14e1ab28f5dcc008/",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "transformer_page_view",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/transformer_page_view-0.1.6",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/transformer_page_view-0.1.6",
"packageUri": "lib/",
"languageVersion": "2.0"
},
{
"name": "typed_data",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0-nullsafety.3",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0-nullsafety.3",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "url_launcher",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher-5.7.10",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher-5.7.10",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "url_launcher_linux",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_linux-0.0.1+4",
"rootUri": "file:///Users/fnuoos/development/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_macos-0.0.1+9",
"rootUri": "file:///Users/fnuoos/development/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_platform_interface-1.0.9",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_platform_interface-1.0.9",
"packageUri": "lib/",
"languageVersion": "2.1"
},
{
"name": "url_launcher_web",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_web-0.1.5+3",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_web-0.1.5+3",
"packageUri": "lib/",
"languageVersion": "2.2"
},
{
"name": "url_launcher_windows",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_windows-0.0.1+3",
"rootUri": "file:///Users/fnuoos/development/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/uuid-2.2.2",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/uuid-2.2.2",
"packageUri": "lib/",
"languageVersion": "2.2"
},
{
"name": "vector_math",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.0-nullsafety.3",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.0-nullsafety.3",
"packageUri": "lib/",
"languageVersion": "2.10"
},
{
"name": "webview_flutter",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/webview_flutter-0.3.24",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/webview_flutter-1.0.7",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "win32",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/win32-1.7.4+1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/win32-1.7.4+1",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "xdg_directories",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/xdg_directories-0.1.2",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/xdg_directories-0.1.2",
"packageUri": "lib/",
"languageVersion": "2.3"
},
{
"name": "xml",
"rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/xml-4.5.1",
"rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/xml-4.5.1",
"packageUri": "lib/",
"languageVersion": "2.7"
},
@@ -716,7 +740,7 @@
"languageVersion": "2.8"
}
],
"generated": "2021-02-20T07:51:19.208457Z",
"generated": "2021-03-27T01:30:55.826166Z",
"generator": "pub",
"generatorVersion": "2.10.1"
"generatorVersion": "2.10.0"
}

+ 4
- 0
android/build.gradle 查看文件

@@ -31,4 +31,8 @@ android {
lintOptions {
disable 'InvalidPackage'
}

dependencies {
// implementation 'com.amap.api:location:5.2.0'
}
}

二进制
查看文件


+ 4
- 5
example/android/app/build.gradle 查看文件

@@ -54,7 +54,7 @@ android {
ndk {
//选择要添加的对应cpu类型的.so库。
abiFilters 'armeabi', 'armeabi-v7a', 'x86', 'x86_64', 'mips', 'mips64', 'arm64-v8a'
//abiFilters 'armeabi-v7a','x86_64'
//abiFilters 'armeabi-v7a','x86_64','arm64-v8a'
}
}

@@ -113,9 +113,9 @@ android {
// // 智夜生活
// zhiying {
// applicationId "cn.zhios.zhiying"
// versionCode 55
// versionCode 57
// dimension "app"
// versionName '1.3.15'
// versionName '1.3.17'
// // 签名信息
// signingConfig signingConfigs.zhiying
// }
@@ -186,7 +186,6 @@ dependencies {
implementation 'com.alibaba.sdk.android:nb_trade:4.0.0.16@aar'
implementation 'com.alibaba:fastjson:1.2.41@jar'

implementation fileTree(include: ['*.jar'], dir: 'libs')

}

@@ -219,7 +218,7 @@ MobSDK {
}
Wechat {
appId "wx598aaef252cd78e4"
appSecret "d2fc2edf9ece746765b3bfc0bf1b230e"
appSecret "e3e41385b2832d53745805181cb0daa6"
shareByAppClient true
withShareTicket true
bypassApproval false


二进制
查看文件


+ 6
- 6
example/android/app/src/main/java/cn/zhios/zhiying_base_widget_example/MainActivity.java 查看文件

@@ -155,9 +155,9 @@ public class MainActivity extends FlutterActivity implements ZhiyingFlutterCommN
public Map getSetting() {
Map map = new HashMap();
// ///测试
map.put("domain", "http://inapi.izhyin.cn/");//"http://120.76.175.204:8989");http://47.114.51.254:80 http://inapi.izhyin.cn/
map.put("master_id", "123456");
map.put("secret_key", "123456");
// map.put("domain", "http://inapi.izhyin.cn/");//"http://120.76.175.204:8989");http://47.114.51.254:80 http://inapi.izhyin.cn/
// map.put("master_id", "123456");
// map.put("secret_key", "123456");

///正式
// map.put("domain", "http://api.zhios.cn/");//45678910,api.zhios.cn84198689
@@ -165,9 +165,9 @@ public class MainActivity extends FlutterActivity implements ZhiyingFlutterCommN
// map.put("secret_key", "123456");

//客户测试
// map.put("domain", "http://api.zhiyingos.com/");//45678910,api.zhios.cn84198689
// map.put("master_id", "13376168");
// map.put("secret_key", "123456");
map.put("domain", "http://admin.asmetymj.com/");//45678910,api.zhios.cn84198689
map.put("master_id", "32053480");
map.put("secret_key", "123456");

// map.put("token", "123465");
return map;


+ 1
- 1
example/android/tmpmob/ShareSDK/assets/ShareSDK.xml 查看文件

@@ -16,7 +16,7 @@
<Tumblr Enable="false" />
<Email Enable="false" />
<ShortMessage Enable="false" />
<Wechat AppId="wx598aaef252cd78e4" AppSecret="d2fc2edf9ece746765b3bfc0bf1b230e" ShareByAppClient="true" WithShareTicket="true" BypassApproval="false" Enable="true" />
<Wechat AppId="wx598aaef252cd78e4" AppSecret="e3e41385b2832d53745805181cb0daa6" ShareByAppClient="true" WithShareTicket="true" BypassApproval="false" Enable="true" />
<WechatMoments Enable="true" />
<QQ AppId="1111030588" AppKey="XoHKlrBybXy7ORBt" ShareByAppClient="true" BypassApproval="false" Enable="true" />
<Instapaper Enable="false" />


+ 1
- 1
example/ios/Podfile.lock 查看文件

@@ -443,7 +443,7 @@ SPEC CHECKSUMS:
flutter_webview_plugin: ed9e8a6a96baf0c867e90e1bce2673913eeac694
flutter_xupdate: bdb588f0fe4f6c5e45436b8b0de08d505a50c04e
fluttertoast: b644586ef3b16f67fae9a1f8754cef6b2d6b634b
fluwx: 8d47bee15c7fed07b94c2a12fb2381677232431a
fluwx: 07a55ed66bf3a4961e836a2a411b02dcada32902
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
image_cropper: 3c16d7651730ffe85897f5a1c4e2547e6b54989a
image_picker: 9c3312491f862b28d21ecd8fdf0ee14e601b3f09


+ 12
- 5
example/ios/Runner/AppDelegate.m 查看文件

@@ -27,12 +27,19 @@

// 获取设置
- (NSDictionary*)getSetting {
return @{
@"domain": @"http://inapi.izhyin.cn",
@"master_id": @"123456",
@"secret_key": @"123456"
// return @{
// @"domain": @"http://inapi.izhyin.cn",
// @"master_id": @"123456",
// @"secret_key": @"123456"
//@"domain": @"http://192.168.0.113:5000"
};
// };

return @{
@"domain": @"http://api.zhios.cn",
@"master_id": @"99813608",
@"secret_key": @"123456"
//@"domain": @"http://192.168.0.113:5000"
};
}

#pragma mark -- 第三方应用跳转


+ 15
- 9
lib/dialog/global_dialog/intellect_search_goods_dialog/intellect_search_goods_dialog.dart 查看文件

@@ -250,11 +250,8 @@ class _IntellectSearchGoodsDialogState
),
Expanded(
child: Text(
(num.tryParse(widget?.model?.price ?? "0") -
num.tryParse(
widget?.model?.couponPrice ?? "0"))
.toStringAsFixed(2) ??
"",
formatNum((num.tryParse(widget?.model?.price ?? "0") - num.tryParse(widget?.model?.couponPrice ?? "0")), 2),
// ().toStringAsFixed(2) ?? "",
maxLines: 1,
style: TextStyle(
fontSize: 16,
@@ -272,6 +269,18 @@ class _IntellectSearchGoodsDialogState
);
}

// 取两位小数,不进行四舍五入
String formatNum(var num, int position) {
String rlt = '0';
if ((num.toString().length - num.toString().lastIndexOf(".") - 1) < position) {
//小数点后有几位小数
rlt = num.toStringAsFixed(position).substring(0, num.toString().lastIndexOf(".") + position + 1).toString();
} else {
rlt = num.toString().substring(0, num.toString().lastIndexOf(".") + position + 1).toString();
}
return rlt;
}

_buildBottomItem() {
return Column(
children: <Widget>[
@@ -294,10 +303,7 @@ class _IntellectSearchGoodsDialogState
child: Text(
(_styleModel?.moduleList?.saveBtn?.content ?? "") +
" ¥" +
((num.tryParse(widget?.model?.couponPrice ?? "0") ??
0) +
num.tryParse(widget?.model?.commission ?? '0'))
.toString(),
formatNum((num.tryParse(widget?.model?.couponPrice ?? "0") ?? 0) + num.tryParse(widget?.model?.commission ?? '0'), 2),
style: TextStyle(
color: HexColor.fromHex(
_styleModel?.moduleList?.saveBtn?.fontColor),


+ 20
- 12
lib/dialog/global_dialog/intellect_search_goods_dialog/intellect_search_no_goods_dialog.dart 查看文件

@@ -61,6 +61,24 @@ class _IntellectSearchNoGoodsDialogState extends State<IntellectSearchNoGoodsDia
});
}

/// 点击立即搜索,跳转默认渠道的搜索结果页
void openDefaultSearchResultPage() {
// 这里直接跳搜索结果页,不能跳搜索页。app端直接写死。需要修改记得修改这个地方
_styleModel.moduleList.btn.skipInfo.skipIdentifier = 'pub.flutter.search_result';
RouterUtil.route(SkipModel.fromJson(_styleModel.moduleList.btn.skipInfo.toJson()), {"keywords": searchText, "type": _styleModel.moduleList.btn.skipInfo.pvd}, context).then((_) {
Navigator.pop(context);
});
}

/// 点击跳转指定渠道的搜索页面
void openTargetSearchResultPage(item) {
// 这里直接跳搜索结果页,不能跳搜索页。app端直接写死。需要修改记得修改这个地方
item.skipInfo.skipIdentifier = 'pub.flutter.search_result';
RouterUtil.route(SkipModel.fromJson(item.skipInfo.toJson()), {"keywords": searchText, "type": item.pvd}, context).then((value) {
Navigator.pop(context);
});
}

@override
Widget build(BuildContext context) {
return Scaffold(
@@ -162,13 +180,7 @@ class _IntellectSearchNoGoodsDialogState extends State<IntellectSearchNoGoodsDia
),
)),
),
onTap: () {
RouterUtil.route(
SkipModel.fromJson(_styleModel.moduleList.btn.skipInfo.toJson()), {"keywords": searchText, "type": _styleModel.moduleList.btn.skipInfo.pvd}, context)
.then((_) {
Navigator.pop(context);
});
},
onTap: () => openDefaultSearchResultPage(),
),
)
],
@@ -231,11 +243,7 @@ class _IntellectSearchNoGoodsDialogState extends State<IntellectSearchNoGoodsDia
)
],
),
onTap: () {
RouterUtil.route(SkipModel.fromJson(item.skipInfo.toJson()), {"keywords": searchText, "type": item.pvd}, context).then((value) {
Navigator.pop(context);
});
},
onTap: () => openTargetSearchResultPage(item),
));
}



+ 1
- 4
lib/pages/about_us_page/bloc/about_us_bloc.dart 查看文件

@@ -10,10 +10,7 @@ class AboutUsBloc extends Bloc<AboutUsEvent, AboutUsState> {

AboutUsRepository repository;

AboutUsBloc(this.repository);

@override
AboutUsState get initialState => AboutUsInitial();
AboutUsBloc(this.repository) : super(AboutUsInitial());

@override
Stream<AboutUsState> mapEventToState(


+ 67
- 0
lib/pages/custom_page/bloc/bottom_nav_repository.dart 查看文件

@@ -0,0 +1,67 @@
import 'dart:async';
import 'package:zhiying_comm/zhiying_comm.dart';

///
/// 底部导航栏数据Repository
///
class BottomNavRepository {

/// 获取网络数据
Future<dynamic> fetchNetData() async {
try {
var result = await NetUtil.post('/api/v1/new/config.json', method: NetMethod.GET, cache: true);
if (NetUtil.isSuccess(result) && !EmptyUtil.isEmpty(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA])) {
return result[GlobalConfig.HTTP_RESPONSE_KEY_DATA];
}
} catch (e, s) {
Logger.error(e, s);
}
return null;
}

/// 获取缓存数据
Future<dynamic> fetchCacheData() async {
try {
var result = await NetUtil.getRequestCachedData('/api/v1/new/config.json');
if (!EmptyUtil.isEmpty(result)) {
return result;
}
} catch (e, s) {
Logger.error(e, s);
}
return null;
}

///
/// 校验底部导航栏是否更新
///
/// 校验的规则:使用 bottom_nav 的 mod_id + mod_pid + template_id + data 进行MD5
/// ⚠️ 由于Register初始化/api/v1/new/config.json没有进行缓存,可以利用这规则,如果Register的init进行了接口缓存则需要修改逻辑
///
/// false: 不更新 true 更新
///
Future<bool> validateBottomNavUpdate() async {
bool rlt = false;
try {
var cacheData = await fetchCacheData();
var netData = await fetchNetData();
if (!EmptyUtil.isEmpty(netData) && !EmptyUtil.isEmpty(cacheData)) {
var netBottomNav = netData['bottom_nav'];
var cacheBottomNav = cacheData['bottom_nav'];
if (!EmptyUtil.isEmpty(netBottomNav) && !EmptyUtil.isEmpty(cacheBottomNav)) {
var netEncodeStr = new StringBuffer();
var cacheEncodeStr = new StringBuffer();
netEncodeStr..write(netBottomNav['mod_id'])..write('-')..write(netBottomNav['mod_pid'])..write('-')..write(netBottomNav['template_id'])..write(netBottomNav['data']);
cacheEncodeStr..write(cacheBottomNav['mod_id'])..write('-')..write(cacheBottomNav['mod_pid'])..write('-')..write(cacheBottomNav['template_id'])..write(cacheBottomNav['data']);
String netMD5 = EncodeUtil.generateMd5(netEncodeStr.toString());
String cacheMD5 = EncodeUtil.generateMd5(cacheEncodeStr.toString());
Logger.log('网络数据的MD5 = ${netMD5}, 本地数据的MD5 = ${cacheMD5}');
rlt = (netMD5 != cacheMD5);
}
}
} catch (e, s) {
Logger.error(e, s);
}
return rlt;
}
}

+ 16
- 3
lib/pages/custom_page/bloc/custom_item_page_bloc.dart 查看文件

@@ -1,6 +1,7 @@
import 'dart:async';

import 'package:bloc/bloc.dart';
import 'package:zhiying_base_widget/pages/custom_page/bloc/bottom_nav_repository.dart';
import 'package:zhiying_base_widget/pages/custom_page/bloc/custom_item_page_repository.dart';
import 'custom_item_page_state.dart';
import 'custom_item_page_event.dart';
@@ -11,10 +12,10 @@ class CustomItemPageBloc extends Bloc<CustomItemPageEvent, CustomItemPageState>

CustomItemPageRepository repository;

CustomItemPageBloc(this.repository);
CustomItemPageBloc(this.repository) : super(CustomItemPageInitial());
BottomNavRepository _bottomNavRepository = new BottomNavRepository();


@override
CustomItemPageState get initialState => CustomItemPageInitial();

@override
Stream<CustomItemPageState> mapEventToState(
@@ -48,6 +49,12 @@ class CustomItemPageBloc extends Bloc<CustomItemPageEvent, CustomItemPageState>
} else {
yield CustomItemPageInitErrorState();
}
// 检查校验是否需要重启App(底部模版问题)
bool needRestart = await _bottomNavRepository.validateBottomNavUpdate();
Logger.log('init 是否重新启动App = ${needRestart}');
if (needRestart) {
yield CustomItemPageAppRestartState();
}
}

/// 下拉刷新
@@ -60,6 +67,12 @@ class CustomItemPageBloc extends Bloc<CustomItemPageEvent, CustomItemPageState>
yield CustomItemPageRefreshErrorState();
yield CustomItemPageErrorState();
}
// 检查校验是否需要重启App(底部模版问题)
bool needRestart = await _bottomNavRepository.validateBottomNavUpdate();
Logger.log('refresh 是否重新启动App = ${needRestart}');
if (needRestart) {
yield CustomItemPageAppRestartState();
}
}

/// 上拉更多


+ 1
- 6
lib/pages/custom_page/bloc/custom_item_page_repository.dart 查看文件

@@ -1,6 +1,6 @@
import 'dart:async';

import 'package:zhiying_base_widget/pages/custom_page/event/reload_event.dart';
import 'package:zhiying_comm/zhiying_comm.dart';

class CustomItemPageRepository {
@@ -21,13 +21,8 @@ class CustomItemPageRepository {
List mobList =
!EmptyUtil.isEmpty(data) ? List.from(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA][tabIndex.toString()]) : List.from(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA]);
if (!EmptyUtil.isEmpty(mobList)) {
ReloadEvent.com = 0;
return mobList.map((e) => Map<String, dynamic>.from(e)).toList();
}
} else {
Timer(Duration(milliseconds: 1000), () {
EventUtil.instance.fire(ReloadEvent());
});
}
}
} catch (e, s) {


+ 3
- 0
lib/pages/custom_page/bloc/custom_item_page_state.dart 查看文件

@@ -30,3 +30,6 @@ class CustomItemPageLoadErrorState extends CustomItemPageState {}

/// 其他错误
class CustomItemPageErrorState extends CustomItemPageState {}

/// 需要重新渲染App,更新底部导航模版
class CustomItemPageAppRestartState extends CustomItemPageState {}

+ 1
- 3
lib/pages/custom_page/bloc/custom_page_bloc.dart 查看文件

@@ -13,10 +13,8 @@ class CustomPageBloc extends Bloc<CustomPageEvent, CustomPageState> {

CustomPageRepository repository;

CustomPageBloc(this.repository);
CustomPageBloc(this.repository) : super(CustomPageInitialState());

@override
CustomPageState get initialState => CustomPageInitialState();

@override
Stream<CustomPageState> mapEventToState(


+ 0
- 8
lib/pages/custom_page/bloc/custom_page_repository.dart 查看文件

@@ -1,8 +1,6 @@
import 'dart:async';
import 'dart:convert';

import 'package:zhiying_base_widget/dialog/loading/loading.dart';
import 'package:zhiying_base_widget/pages/custom_page/event/reload_event.dart';
import 'package:zhiying_base_widget/pages/main_page/model/background_model.dart';
import 'package:zhiying_comm/zhiying_comm.dart';

@@ -40,12 +38,6 @@ class CustomPageRepository {
}
return customPageData;
}
}else{

Timer(Duration(milliseconds: 1000), (){
EventUtil.instance.fire(ReloadEvent());
});

}
}
} catch (e, s) {


+ 10
- 0
lib/pages/custom_page/custom_item_page.dart 查看文件

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

import 'package:event_bus/event_bus.dart';
import 'package:flutter/material.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
@@ -12,6 +14,7 @@ import 'bloc/custom_item_page_bloc.dart';
import 'bloc/custom_item_page_state.dart';
import 'bloc/custom_item_page_event.dart';
import 'bloc/custom_item_page_repository.dart';
import 'package:zhiying_base_widget/pages/custom_page/event/reload_event.dart';

///
/// 通用模块的分类导航下的子模块
@@ -131,9 +134,16 @@ class __CustomItemPageContainerState extends State<_CustomItemPageContainer> wit
if (current is CustomItemPageErrorState) {
return false;
}
if (current is CustomItemPageAppRestartState) {
// 重启App
Logger.log('开始重新启动App CustomItemPageAppRestartState');
EventUtil.instance.fire(ReloadEvent());
return false;
}
return true;
},
builder: (context, state) {
Logger.log('Custom item page builder 刷新了');
if (state is CustomItemPageLoadedState) {
Logger.log('custom item page current state = ' + state?.toString());
if (EmptyUtil.isEmpty(state.model))


+ 1
- 4
lib/pages/favorites_page/bloc/favorites_bloc.dart 查看文件

@@ -17,11 +17,8 @@ class FavoritesBloc extends Bloc<FavoritesEvent, FavoritesState> {

FavoritesRepository repository;

FavoritesBloc(this.repository);
FavoritesBloc(this.repository) : super(FavoritesInitial());

@override
// TODO: implement initialState
FavoritesState get initialState => FavoritesInitial();

@override
Stream<FavoritesState> mapEventToState(


+ 1
- 3
lib/pages/feedback_page/bloc/feedback_bloc.dart 查看文件

@@ -7,12 +7,10 @@ import 'package:flutter_bloc/flutter_bloc.dart';

class FeedbackBloc extends Bloc<FeedbackEvent, FeedbackState> {
// FeedbackBloc() : super(FeedbackInitial());
@override
FeedbackState get initialState => FeedbackInitial();

FeedBackRepository repository;

FeedbackBloc(this.repository);
FeedbackBloc(this.repository) : super(FeedbackInitial());

@override
Stream<FeedbackState> mapEventToState(


+ 2
- 3
lib/pages/feedback_page/bloc/feedback_record_bloc.dart 查看文件

@@ -8,12 +8,11 @@ import 'feedback_record_state.dart';

class FeedbackRecordBloc extends Bloc<FeedbackRecordEvent, FeedbackRecordState> {
// FeedbackRecordBloc() : super(FeedbackRecordInitial());
@override
FeedbackRecordState get initialState => FeedbackRecordInitial();


FeedbackRecordRepository repository;

FeedbackRecordBloc(this.repository);
FeedbackRecordBloc(this.repository) : super(FeedbackRecordInitial());

@override
Stream<FeedbackRecordState> mapEventToState(


+ 1
- 3
lib/pages/goods_details_page/bloc/goods_details_page_bloc.dart 查看文件

@@ -13,12 +13,10 @@ part 'goods_details_page_state.dart';
class GoodsDetailsPageBloc extends Bloc<GoodsDetailsPageEvent, GoodsDetailsPageState> {
// GoodsDetailsPageBloc() : super(GoodsDetailsPageInitial());

@override
GoodsDetailsPageState get initialState => GoodsDetailsPageInitial();

GoodsDetailsPageRepository repository;

GoodsDetailsPageBloc({@required this.repository});
GoodsDetailsPageBloc({@required this.repository}) : super(GoodsDetailsPageInitial());

@override
Stream<GoodsDetailsPageState> mapEventToState(


+ 1
- 3
lib/pages/message_notice_page/bloc/message_notice_bloc.dart 查看文件

@@ -18,10 +18,8 @@ class MessageNoticeBloc extends Bloc<MessageNoticeEvent, MessageNoticeState> {

MessageNoticeRepository repository;

MessageNoticeBloc(this.repository);
MessageNoticeBloc(this.repository) : super(MessageNoticeInitial());

@override
MessageNoticeState get initialState => MessageNoticeInitial();

@override
Stream<MessageNoticeState> mapEventToState(


+ 2
- 3
lib/pages/message_settings_page/bloc/message_settings_bloc.dart 查看文件

@@ -8,11 +8,10 @@ import 'message_settings_event.dart';
import 'message_settings_state.dart';

class MessageSettingsBloc extends Bloc<MessageSettingsEvent, MessageSettingsState> {
@override
MessageSettingsState get initialState => MessageSettingsInitial();

MessageSettingsRepository repository;

MessageSettingsBloc(this.repository);
MessageSettingsBloc(this.repository) : super(MessageSettingsInitial());

@override
Stream<MessageSettingsState> mapEventToState(


+ 2
- 3
lib/pages/privacy_settings_page/bloc/privacy_settings_bloc.dart 查看文件

@@ -7,12 +7,11 @@ import 'privacy_settings_state.dart';
import 'package:zhiying_comm/zhiying_comm.dart';

class PrivacySettingsBloc extends Bloc<PrivacySettingsEvent, PrivacySettingsState> {
@override
PrivacySettingsState get initialState => PrivacySettingsInitial();


PrivacySettingsRepository repository;

PrivacySettingsBloc(this.repository);
PrivacySettingsBloc(this.repository) : super(PrivacySettingsInitial());

@override
Stream<PrivacySettingsState> mapEventToState(


+ 2
- 3
lib/pages/search_page/bloc/search_bloc.dart 查看文件

@@ -15,10 +15,9 @@ class SearchBloc extends Bloc<SearchEvent, SearchState> {

SearchRepository repository;

SearchBloc({this.repository});
SearchBloc({this.repository}) : super(SearchInitial());


@override
SearchState get initialState => SearchInitial();

@override
Stream<SearchState> mapEventToState(


+ 2
- 4
lib/pages/search_page/item/bloc/search_item_page_bloc.dart 查看文件

@@ -15,11 +15,9 @@ class SearchItemPageBloc extends Bloc<SearchItemPageEvent, SearchItemPageState>

SearchItemRepository repository;

SearchItemPageBloc({@required this.repository});
SearchItemPageBloc({@required this.repository}) : super(SearchItemPageInitial());


@override
// TODO: implement initialState
SearchItemPageState get initialState => SearchItemPageInitial();

@override
Stream<SearchItemPageState> mapEventToState(


+ 2
- 3
lib/pages/search_result_page/bloc/search_result_bloc.dart 查看文件

@@ -15,10 +15,9 @@ class SearchResultBloc extends Bloc<SearchResultEvent, SearchResultState> {

SearchResultRepository repository;

SearchResultBloc({@required this.repository});
SearchResultBloc({@required this.repository}) : super(SearchResultInitial());


@override
SearchResultState get initialState => SearchResultInitial();

@override
Stream<SearchResultState> mapEventToState(


+ 2
- 3
lib/pages/search_result_page/item/bloc/search_result_item_bloc.dart 查看文件

@@ -15,10 +15,9 @@ class SearchResultItemBloc extends Bloc<SearchResultItemEvent, SearchResultItemS

SearchResultItemRepository repository;

@override
SearchResultItemState get initialState => SearchResultItemInitial();

SearchResultItemBloc({@required this.repository});

SearchResultItemBloc({@required this.repository}) : super(SearchResultItemInitial());

@override
Stream<SearchResultItemState> mapEventToState(


+ 2
- 3
lib/pages/search_think_page/bloc/search_think_bloc.dart 查看文件

@@ -13,12 +13,11 @@ part 'search_think_state.dart';

class SearchThinkBloc extends Bloc<SearchThinkEvent, SearchThinkState> {
// SearchThinkBloc() : super(SearchThinkInitial());
@override
SearchThinkState get initialState => SearchThinkInitial();


SearchThinkRepository repository;

SearchThinkBloc(this.repository);
SearchThinkBloc(this.repository) : super(SearchThinkInitial());

@override
Stream<SearchThinkState> mapEventToState(SearchThinkEvent event,) async* {


+ 2
- 4
lib/pages/team_details_page/bloc/team_details_bloc.dart 查看文件

@@ -13,13 +13,11 @@ part 'team_details_event.dart';
part 'team_details_state.dart';

class TeamDetailsBloc extends Bloc<TeamDetailsEvent, TeamDetailsState> {
// TeamDetailsBloc() : super(TeamDetailsInitial());
@override
TeamDetailsState get initialState => TeamDetailsInitial();


TeamDetailsRepository repository;

TeamDetailsBloc({@required this.repository});
TeamDetailsBloc({@required this.repository}) : super(TeamDetailsInitial());

@override
Stream<TeamDetailsState> mapEventToState(


+ 2
- 3
lib/pages/team_page/bloc/team_bloc.dart 查看文件

@@ -17,10 +17,9 @@ class TeamBloc extends Bloc<TeamEvent, TeamState> {

TeamRepository repository;

TeamBloc({@required this.repository});
TeamBloc({@required this.repository}) : super(TeamInitial());


@override
TeamState get initialState => TeamInitial();

@override
Stream<TeamState> mapEventToState(


+ 2
- 3
lib/pages/upload_wechat_page/bloc/upload_wechat_bloc.dart 查看文件

@@ -7,12 +7,11 @@ import 'upload_wechat_event.dart';
import 'upload_wechat_state.dart';

class UploadWeChatBloc extends Bloc<UploadWeChatEvent, UploadWeChatState> {
@override
UploadWeChatState get initialState => UploadWeChatInitial();


UploadWeChatRepository repository;

UploadWeChatBloc(this.repository);
UploadWeChatBloc(this.repository) : super(UploadWeChatInitial());

@override
Stream<UploadWeChatState> mapEventToState(


+ 2
- 3
lib/pages/vip_center_page/bloc/vip_center_bloc.dart 查看文件

@@ -13,12 +13,11 @@ part 'vip_center_state.dart';

class VipCenterBloc extends Bloc<VipCenterEvent, VipCenterState> {
// VipCenterBloc() : super(VipCenterInitial());
@override
VipCenterState get initialState => VipCenterInitial();


VipCenterRepository repository;

VipCenterBloc(this.repository);
VipCenterBloc(this.repository) : super(VipCenterInitial());

@override
Stream<VipCenterState> mapEventToState(


+ 7
- 5
lib/register.dart 查看文件

@@ -128,19 +128,21 @@ class BaseWidgetRegister {
register.setupQQ(config.keys?.qq?.appId ?? '', config.keys?.qq?.appkey ?? '');

// ================ jd
if (Platform.isIOS) {
Jdsdk.init(appKey: config.keys?.jdIos?.appkey ?? '', appSecret: config.keys?.jdIos?.secret ?? '');
} else if (Platform.isAndroid) {
Jdsdk.init(appKey: config.keys?.jdAndroid?.appkey ?? '', appSecret: config.keys?.jdAndroid?.secret ?? '');
}
SharesdkPlugin.regist(register);


///微信支付初始化
registerWxApi(appId: config?.keys?.weixin?.appId, universalLink: config?.keys?.weixin?.universalLink);

///高德定位注册
AMapFlutterLocation.setApiKey(config?.keys?.gd?.androidKey ?? "", config?.keys?.gd?.iosKey);

if (Platform.isIOS) {
Jdsdk.init(appKey: config.keys?.jdIos?.appkey ?? '', appSecret: config.keys?.jdIos?.secret ?? '');
} else if (Platform.isAndroid) {
Jdsdk.init(appKey: config.keys?.jdAndroid?.appkey ?? '', appSecret: config.keys?.jdAndroid?.secret ?? '');
}

});

// MOB 秒验


+ 2
- 3
lib/widgets/custom/multi_nav/bloc/custom_quick_entry_bloc.dart 查看文件

@@ -10,10 +10,9 @@ import './bloc.dart';
class CustomQuickEntryBloc extends Bloc<CustomQuickEntryEvent, CustomQuickEntryState> {
CustomQuickEntryRepository repository;

CustomQuickEntryBloc({@required this.repository});
CustomQuickEntryBloc({@required this.repository}) : super(InitialCustomQuickEntryState());


@override
CustomQuickEntryState get initialState => InitialCustomQuickEntryState();

@override
Stream<CustomQuickEntryState> mapEventToState(CustomQuickEntryEvent event) async* {


+ 2
- 3
lib/widgets/custom/notice/bloc/custom_notice_bloc.dart 查看文件

@@ -6,10 +6,9 @@ import 'bloc.dart';
class CustomNoticeBloc extends Bloc<CustomNoticeEvent, CustomNoticeState> {
CustomNoticeRepository repository;

CustomNoticeBloc({this.repository});
CustomNoticeBloc({this.repository}) : super(CustomNoticeInitial());


@override
CustomNoticeState get initialState => CustomNoticeInitial();

@override
Stream<CustomNoticeState> mapEventToState(


+ 2
- 3
lib/widgets/custom/slide_banner/bloc/custom_slide_banner_bloc.dart 查看文件

@@ -9,10 +9,9 @@ import './bloc.dart';
class CustomSlideBannerBloc extends Bloc<CustomSlideBannerEvent, CustomSlideBannerState> {
CustomSlideBannerRepository repository;

CustomSlideBannerBloc({@required this.repository});
CustomSlideBannerBloc({@required this.repository}) : super(InitialCustomSlideBannerState());


@override
CustomSlideBannerState get initialState => InitialCustomSlideBannerState();

@override
Stream<CustomSlideBannerState> mapEventToState(CustomSlideBannerEvent event) async* {


+ 2
- 3
lib/widgets/favorites/goods_list/bloc/favorites_goods_list_bloc.dart 查看文件

@@ -14,12 +14,11 @@ part 'favorites_goods_list_event.dart';
part 'favorites_goods_list_state.dart';

class FavoritesGoodsListBloc extends Bloc<FavoritesGoodsListEvent, FavoritesGoodsListState> {
@override
FavoritesGoodsListState get initialState => FavoritesGoodsListInitial();


FavoritesGoodsListRepository repository;

FavoritesGoodsListBloc(this.repository);
FavoritesGoodsListBloc(this.repository) : super(FavoritesGoodsListInitial());

@override
Stream<FavoritesGoodsListState> mapEventToState(


+ 2
- 3
lib/widgets/goods_details/coupon/bloc/counpon_bloc.dart 查看文件

@@ -6,12 +6,11 @@ import 'bloc.dart';
import 'package:zhiying_comm/zhiying_comm.dart';

class CounponBloc extends Bloc<CounponEvent, CounponState> {
@override
CounponState get initialState => CounponInitial();


CounponRepository repository;

CounponBloc({this.repository});
CounponBloc({this.repository}) : super(CounponInitial());

@override
Stream<CounponState> mapEventToState(


+ 1
- 1
lib/widgets/goods_details/detail_img/bloc/goods_details_img_bloc.dart 查看文件

@@ -13,7 +13,7 @@ part 'goods_details_img_event.dart';
part 'goods_details_img_state.dart';

class GoodsDetailsImgBloc extends Bloc<GoodsDetailsImgEvent, GoodsDetailsImgState> {
GoodsDetailsImgBloc({this.repository});
GoodsDetailsImgBloc({this.repository}) : super(GoodsDetailsImgInitial());

GoodsDetailsImgRepository repository;



+ 1
- 3
lib/widgets/goods_details/footer/bloc/goods_details_footer_bloc.dart 查看文件

@@ -12,12 +12,10 @@ part 'goods_details_footer_event.dart';
part 'goods_details_footer_state.dart';

class GoodsDetailsFooterBloc extends Bloc<GoodsDetailsFooterEvent, GoodsDetailsFooterState> {
GoodsDetailsFooterBloc({this.repository});
GoodsDetailsFooterBloc({this.repository}) : super(GoodsDetailsFooterInitial());

GoodsDetailsFooterRepository repository;

@override
GoodsDetailsFooterState get initialState => GoodsDetailsFooterInitial();

@override
Stream<GoodsDetailsFooterState> mapEventToState(


+ 2
- 3
lib/widgets/goods_details/slide_banner/bloc/goods_details_slide_banner_bloc.dart 查看文件

@@ -15,10 +15,9 @@ part 'goods_details_slide_banner_state.dart';
class GoodsDetailsSlideBannerBloc extends Bloc<GoodsDetailsSlideBannerEvent, GoodsDetailsSlideBannerState> {
GoodsDetailsSlideBannerRepository repository;

GoodsDetailsSlideBannerBloc({@required this.repository});
GoodsDetailsSlideBannerBloc({@required this.repository}) : super(GoodsDetailsSlideBannerInitial());


@override
GoodsDetailsSlideBannerState get initialState => GoodsDetailsSlideBannerInitial();

@override
Stream<GoodsDetailsSlideBannerState> mapEventToState(


+ 2
- 3
lib/widgets/goods_details/store/bloc/store_bloc.dart 查看文件

@@ -8,10 +8,9 @@ import 'bloc.dart';
class StoreBloc extends Bloc<StoreEvent, StoreState> {
StoreRepository repository;

StoreBloc({this.repository});
StoreBloc({this.repository}) : super(StoreInitial());


@override
StoreState get initialState => StoreInitial();

@override
Stream<StoreState> mapEventToState(


+ 1
- 1
lib/widgets/goods_details/store/bloc/store_state.dart 查看文件

@@ -17,7 +17,7 @@ class StoreLoadedState extends StoreState {
const StoreLoadedState({this.model});

@override
List<Object> get props => [];
List<Object> get props => [this.model];
}

/// 数据加载出错


+ 1
- 1
lib/widgets/home/home_banner/bloc/home_banner_bloc.dart 查看文件

@@ -10,7 +10,7 @@ import './bloc.dart';
class HomeBannerBloc extends Bloc<HomeBannerEvent, HomeBannerState> {
HomeBannerRepository repository;

HomeBannerBloc({@required this.repository});
HomeBannerBloc({@required this.repository}) : super(InitialHomeBannerState());

@override
HomeBannerState get initialState => InitialHomeBannerState();


+ 2
- 2
lib/widgets/home/home_goods/home_goods_item.dart 查看文件

@@ -118,9 +118,9 @@ class HomeGoodsItem extends StatelessWidget {
list.add(TextSpan(
text: goods.goodTitle,
style: TextStyle(
fontSize: 15,
fontSize: 14,
color: HexColor.fromHex('#333333'),
fontWeight: FontWeight.bold),
fontWeight: style?.listStyle?.isTitleBold=="1"? FontWeight.bold:FontWeight.w500),
));
return RichText(
maxLines: 2,


+ 1
- 1
lib/widgets/home/home_goods/home_goods_item_single.dart 查看文件

@@ -142,7 +142,7 @@ class HomeGoodsItemSingle extends StatelessWidget {
}
list.add(TextSpan(
text: goods.goodTitle,
style: TextStyle(fontSize: 15, color: HexColor.fromHex('#333333'), fontWeight: style?.listStyle?.isTitleBold=="1"? FontWeight.bold:FontWeight.w500),
style: TextStyle(fontSize: 14, color: HexColor.fromHex('#333333'), fontWeight: style?.listStyle?.isTitleBold=="1"? FontWeight.bold:FontWeight.w500),
));
return RichText(
maxLines: 2,


+ 2
- 3
lib/widgets/home/home_quick_entry/bloc/home_quick_entry_bloc.dart 查看文件

@@ -11,10 +11,9 @@ import './bloc.dart';
class HomeQuickEntryBloc extends Bloc<HomeQuickEntryEvent, HomeQuickEntryState> {
HomeQuickEntryRepository repository;

HomeQuickEntryBloc({@required this.repository});
HomeQuickEntryBloc({@required this.repository}) : super(InitialHomeQuickEntryState());


@override
HomeQuickEntryState get initialState => InitialHomeQuickEntryState();

@override
Stream<HomeQuickEntryState> mapEventToState(HomeQuickEntryEvent event) async* {


+ 2
- 3
lib/widgets/home/home_slide_banner/bloc/home_slide_banner_bloc.dart 查看文件

@@ -12,10 +12,9 @@ import './bloc.dart';
class HomeSlideBannerBloc extends Bloc<HomeSlideBannerEvent, HomeSlideBannerState> {
HomeSlideBannerRepository repository;

HomeSlideBannerBloc({@required this.repository});
HomeSlideBannerBloc({@required this.repository}) : super(InitialHomeSlideBannerState());


@override
HomeSlideBannerState get initialState => InitialHomeSlideBannerState();

@override
Stream<HomeSlideBannerState> mapEventToState(HomeSlideBannerEvent event) async* {


+ 2
- 1
lib/widgets/mine/mine_data/mine_data_widget.dart 查看文件

@@ -7,6 +7,7 @@ import 'package:zhiying_base_widget/widgets/mine/mine_data/model/mine_data_model
import 'package:zhiying_base_widget/widgets/mine/mine_header/model/mine_profile_model.dart';
import 'package:zhiying_comm/zhiying_comm.dart';
import 'package:zhiying_comm/util/shared_prefe_util.dart';
import 'package:zhiying_comm/zhiying_comm.dart';

class MineDataWidget extends StatefulWidget {
final Map<String, dynamic> data;
@@ -118,7 +119,7 @@ class _MineDataWidgetState extends State<MineDataWidget> {
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
_isiOSReview ? '' : widget?.profile?.gridViews[0]?.name ?? "累计收益",
_isiOSReview ? '' : EmptyUtil.isEmpty(widget?.profile?.gridViews) ? "累计收益" : widget?.profile?.gridViews[0]?.name ?? '累计收益',
style: TextStyle(
fontSize: 11,
fontWeight: FontWeight.w600,


+ 2
- 2
lib/widgets/mine/mine_header/mine_header_container.dart 查看文件

@@ -148,11 +148,11 @@ class _MineHeaderContainerState extends State<MineHeaderContainer> {
child: Row(
children: <Widget>[
Text(
'邀请码:${profile.inviteCode}',
'邀请码:${profile?.inviteCode ?? ''}',
maxLines: 1,
style: TextStyle(
fontSize: 13,
color: HexColor.fromHex(widget.staticModel.userNameColor),
color: HexColor.fromHex(widget?.staticModel?.userNameColor),
fontFamily: 'Din',
package: 'zhiying_comm',
),


+ 13
- 9
lib/widgets/restart_widget/restart_widget.dart 查看文件

@@ -21,7 +21,7 @@ class RestartWidget extends StatefulWidget {
class _RestartWidgetState extends State<RestartWidget> {
bool reStart = false;

int com = 0;
// int com = 0;
Timer timer1;
Timer timer2;

@@ -37,15 +37,15 @@ class _RestartWidgetState extends State<RestartWidget> {
return;
}

com++;
// com++;

///刷新3次后不再刷新
if (com > 3) {
if (com < 7) {
Fluttertoast.showToast(msg: "网络服务不可用");
}
return;
}
// if (com > 3) {
// if (com < 7) {
// Fluttertoast.showToast(msg: "网络服务不可用");
// }
// return;
// }

Loading.show(context, msg: "更新数据中...");

@@ -68,7 +68,11 @@ class _RestartWidgetState extends State<RestartWidget> {

@override
Widget build(BuildContext context) {

const bool inProduction = const bool.fromEnvironment("dart.vm.product");
if (!inProduction) {
///debug阶段可重启
isFirst=true;
}
return StreamBuilder(stream: outData,builder: (context,asyn){
if(asyn.data==null&&!isFirst){
return Scaffold(


+ 2
- 3
lib/widgets/search_result/goods_list/bloc/search_result_goods_list_bloc.dart 查看文件

@@ -16,10 +16,9 @@ class SearchResultGoodsListBloc extends Bloc<SearchResultGoodsListEvent, SearchR

SearchResultGoodsListRepository repository;

SearchResultGoodsListBloc({@required this.repository});
SearchResultGoodsListBloc({@required this.repository}) : super(SearchResultGoodsListInitial());


@override
SearchResultGoodsListState get initialState => SearchResultGoodsListInitial();

@override
Stream<SearchResultGoodsListState> mapEventToState(


+ 1
- 1
lib/widgets/search_result/tarbar/search_result_tab_widget.dart 查看文件

@@ -223,7 +223,7 @@ class _SearchResultTabWidgetState extends State<SearchResultTabWidget> {
/// tabBraviwe
Widget _getTabBarViewWidget(SearchResultTabModel model){
return TabBarView(
physics: NeverScrollableScrollPhysics(),
// physics: NeverScrollableScrollPhysics(),
controller: _tabController,
children: model.search_icon_list.map((item) {
// TODO 这里需要和后台沟通改成页面的唯一标示


+ 8
- 0
lib/widgets/share/share_alert.dart 查看文件

@@ -224,6 +224,14 @@ class _ShareAlertContentState extends State<_ShareAlertContent> {
_shareMultipleImages(item.type);
return;
}

if (widget?.model?.poster != null) {
Loading.show(context);
File file = await EncodeUtil.compressImage(context, images: widget?.model?.poster, size: 600);
widget?.model?.poster = await file.readAsBytes();
Loading.dismiss();
}

if (item.type == 'wx') {
_shareByMob(ShareSDKPlatforms.wechatSession);
} else if (item.type == 'pyq') {


+ 3
- 3
lib/widgets/team/fans_list/bloc/team_list_fans_bloc.dart 查看文件

@@ -15,10 +15,10 @@ class TeamListFansBloc extends Bloc<TeamListFansEvent, TeamListFansState> {

TeamListFansRepository repository;

TeamListFansBloc(this.repository);
TeamListFansBloc(this.repository) : super(TeamListFansInitial());

@override
TeamListFansState get initialState => TeamListFansInitial();
// @override
// TeamListFansState get initialState => TeamListFansInitial();

@override
Stream<TeamListFansState> mapEventToState(


+ 1
- 3
lib/widgets/team/recommend/bloc/team_recommend_bloc.dart 查看文件

@@ -15,10 +15,8 @@ class TeamRecommendBloc extends Bloc<TeamRecommendEvent, TeamRecommendState> {

TeamRecommendRepository repository;

TeamRecommendBloc(this.repository);
TeamRecommendBloc(this.repository) : super(TeamRecommendInitial());

@override
TeamRecommendState get initialState => TeamRecommendInitial();

@override
Stream<TeamRecommendState> mapEventToState(


+ 2
- 1
lib/zhiying_base_widget.dart 查看文件

@@ -8,4 +8,5 @@ export 'package:pull_to_refresh/pull_to_refresh.dart';
export 'package:flutter_user_agent/flutter_user_agent.dart';
export 'package:zhiying_base_widget/widgets/restart_widget/restart_widget.dart';
export 'package:amap_flutter_location/amap_flutter_location.dart';
export 'package:amap_flutter_location/amap_location_option.dart';
export 'package:amap_flutter_location/amap_location_option.dart';
export 'package:tab_indicator_styler/tab_indicator_styler.dart';

+ 4
- 4
pubspec.yaml 查看文件

@@ -12,7 +12,7 @@ dependencies:
sdk: flutter

flutter_swiper: ^1.1.6
bloc: ^4.0.0
bloc: ^5.0.0
event_bus: ^1.1.1
pull_to_refresh:
git:
@@ -56,8 +56,8 @@ dependencies:


mobpush_plugin:
plugin_platform_interface: ^1.0.1
permission_handler_platform_interface: ^2.0.1
plugin_platform_interface: "1.0.2"
permission_handler_platform_interface: "2.0.1"

flutter_user_agent: ^1.2.2

@@ -66,10 +66,10 @@ dependencies:
dev_dependencies:
flutter_test:
sdk: flutter

zhiying_comm:
path: ../zhiying_comm


# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec



正在加载...
取消
保存