Browse Source

Merge branch 'new_revision_app' into dev

new_revision_app
wurong 2 years ago
parent
commit
4d8108e83e
  1. BIN
      assets/image/2x/c_z.webp
  2. BIN
      assets/image/2x/icon_chat.webp
  3. BIN
      assets/image/2x/icon_cz.webp
  4. BIN
      assets/image/2x/icon_gz.webp
  5. BIN
      assets/image/2x/icon_order.webp
  6. BIN
      assets/image/2x/icon_pl.webp
  7. BIN
      assets/image/2x/icon_scan_qr_code.webp
  8. BIN
      assets/image/2x/icon_system_message.webp
  9. BIN
      assets/image/2x/icon_z.webp
  10. BIN
      assets/image/3x/c_z.webp
  11. BIN
      assets/image/3x/icon_chat.webp
  12. BIN
      assets/image/3x/icon_cz.webp
  13. BIN
      assets/image/3x/icon_gz.webp
  14. BIN
      assets/image/3x/icon_order.webp
  15. BIN
      assets/image/3x/icon_pl.webp
  16. BIN
      assets/image/3x/icon_scan_qr_code.webp
  17. BIN
      assets/image/3x/icon_system_message.webp
  18. BIN
      assets/image/3x/icon_z.webp
  19. BIN
      assets/image/c_z.webp
  20. BIN
      assets/image/icon_chat.webp
  21. BIN
      assets/image/icon_cz.webp
  22. BIN
      assets/image/icon_gz.webp
  23. BIN
      assets/image/icon_order.webp
  24. BIN
      assets/image/icon_pl.webp
  25. BIN
      assets/image/icon_scan_qr_code.webp
  26. BIN
      assets/image/icon_system_message.webp
  27. BIN
      assets/image/icon_z.webp
  28. 328
      ios/Podfile.lock
  29. 12
      ios/Runner.xcodeproj/project.pbxproj
  30. 28
      lib/base_state.dart
  31. 2
      lib/community/community_details.dart
  32. 5
      lib/community/community_view/class_details.dart
  33. 2
      lib/community/new_community_details.dart
  34. 2
      lib/login/new_login_page.dart
  35. 3
      lib/main.dart
  36. 25
      lib/main_page.dart
  37. 7
      lib/message/system_details.dart
  38. 142
      lib/message/system_message.dart
  39. 323
      lib/message/system_notice.dart
  40. 15
      lib/mine/mine_view/mine_view.dart
  41. 72
      lib/order/order_detail_page.dart
  42. 7
      lib/order/order_history_page.dart
  43. 2
      lib/order/order_view/order_status.dart
  44. 4
      lib/union/location_map_page.dart
  45. 1
      lib/utils/flutter_utils.dart
  46. 8
      lib/utils/status_utils.dart
  47. 7
      lib/view_widget/classic_header.dart
  48. 2
      lib/view_widget/new_coupon_widget.dart
  49. 3
      lib/web/web_page.dart
  50. 2
      lib/web/web_view/input_comment.dart
  51. 10
      pubspec.lock

BIN
assets/image/2x/c_z.webp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 702 B

BIN
assets/image/2x/icon_chat.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
assets/image/2x/icon_cz.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
assets/image/2x/icon_gz.webp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
assets/image/2x/icon_order.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
assets/image/2x/icon_pl.webp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
assets/image/2x/icon_scan_qr_code.webp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 B

After

Width:  |  Height:  |  Size: 666 B

BIN
assets/image/2x/icon_system_message.webp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 606 B

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
assets/image/2x/icon_z.webp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
assets/image/3x/c_z.webp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

BIN
assets/image/3x/icon_chat.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
assets/image/3x/icon_cz.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
assets/image/3x/icon_gz.webp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
assets/image/3x/icon_order.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
assets/image/3x/icon_pl.webp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
assets/image/3x/icon_scan_qr_code.webp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 B

After

Width:  |  Height:  |  Size: 766 B

BIN
assets/image/3x/icon_system_message.webp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

BIN
assets/image/3x/icon_z.webp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
assets/image/c_z.webp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 400 B

BIN
assets/image/icon_chat.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 798 B

BIN
assets/image/icon_cz.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 790 B

BIN
assets/image/icon_gz.webp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 870 B

BIN
assets/image/icon_order.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 724 B

BIN
assets/image/icon_pl.webp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 808 B

BIN
assets/image/icon_scan_qr_code.webp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 B

After

Width:  |  Height:  |  Size: 600 B

BIN
assets/image/icon_system_message.webp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 340 B

After

Width:  |  Height:  |  Size: 892 B

BIN
assets/image/icon_z.webp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 806 B

328
ios/Podfile.lock

@ -1,4 +1,5 @@
PODS:
- AEINFoundation (3.2.40)
- AFNetworking (4.0.1):
- AFNetworking/NSURLSession (= 4.0.1)
- AFNetworking/Reachability (= 4.0.1)
@ -49,121 +50,121 @@ PODS:
- image_pickers (0.0.1):
- AFNetworking
- Flutter
- ZLPhotoBrowser-objc (= 1.0.4)
- mob_sharesdk (4.4.8):
- mob_sharesdk/ShareSDK (= 4.4.8)
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDK (4.4.8):
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKExtension (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/DingTalk (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/Douyin (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/Dropbox (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/Evernote (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/Facebook (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/Flickr (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/GooglePlus (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/Instagram (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/Instapaper (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/Kakao (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/KuaiShou (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/Line (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/LinkedIn (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/Messenger (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/MingDao (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/Oasis (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/Pinterest (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/Pocket (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/QQ (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/Reddit (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/SinaWeibo (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/SMS (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/SnapChat (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/Telegram (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/TikTok (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/Twitter (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/VKontakte (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/WatermelonVideo (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/WeChat_Lite (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/WeWork (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/WhatsApp (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/Yixin (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/YouDaoNote (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKRestoreScene (4.4.8):
- mob_sharesdk/ShareSDKExtension
- MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKUI (4.4.8):
- mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9)
- MOBFoundation (3.2.37)
- SDWebImage
- ZLPhotoBrowser
- mob_sharesdk_spec2 (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK (= 0.0.1)
- mob_sharesdk_spec2/ShareSDK (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDKExtension (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/DingTalk (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/Douyin (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/Dropbox (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/Evernote (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/Facebook (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/Flickr (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/GooglePlus (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/Instagram (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/Instapaper (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/Kakao (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/KuaiShou (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/Line (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/LinkedIn (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/Messenger (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/MingDao (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/Oasis (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/Pinterest (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/Pocket (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/QQ (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/Reddit (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/SinaWeibo (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/SMS (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/SnapChat (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/Telegram (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/TikTok (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/Twitter (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/VKontakte (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/WatermelonVideo (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/WeChat_Lite (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/WeWork (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/WhatsApp (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/Yixin (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKPlatforms/YouDaoNote (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- mob_sharesdk_spec2/ShareSDKRestoreScene (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDKExtension
- mob_sharesdk_spec2/ShareSDKUI (0.0.1):
- AEINFoundation
- mob_sharesdk_spec2/ShareSDK
- number_precision (0.0.1):
- Flutter
- OpenWeChatSDK (1.9.6)
@ -180,45 +181,45 @@ PODS:
- SDWebImage/Core (5.13.4)
- shared_preferences_ios (0.0.1):
- Flutter
- sharesdk_plugin (1.1.3):
- sharesdk_plugin (1.1.4):
- Flutter
- mob_sharesdk
- mob_sharesdk/ShareSDKExtension
- mob_sharesdk/ShareSDKPlatforms/DingTalk
- mob_sharesdk/ShareSDKPlatforms/Douyin
- mob_sharesdk/ShareSDKPlatforms/Dropbox
- mob_sharesdk/ShareSDKPlatforms/Evernote
- mob_sharesdk/ShareSDKPlatforms/Facebook
- mob_sharesdk/ShareSDKPlatforms/Flickr
- mob_sharesdk/ShareSDKPlatforms/GooglePlus
- mob_sharesdk/ShareSDKPlatforms/Instagram
- mob_sharesdk/ShareSDKPlatforms/Instapaper
- mob_sharesdk/ShareSDKPlatforms/Kakao
- mob_sharesdk/ShareSDKPlatforms/KuaiShou
- mob_sharesdk/ShareSDKPlatforms/Line
- mob_sharesdk/ShareSDKPlatforms/LinkedIn
- mob_sharesdk/ShareSDKPlatforms/Messenger
- mob_sharesdk/ShareSDKPlatforms/MingDao
- mob_sharesdk/ShareSDKPlatforms/Oasis
- mob_sharesdk/ShareSDKPlatforms/Pinterest
- mob_sharesdk/ShareSDKPlatforms/Pocket
- mob_sharesdk/ShareSDKPlatforms/QQ
- mob_sharesdk/ShareSDKPlatforms/Reddit
- mob_sharesdk/ShareSDKPlatforms/SinaWeibo
- mob_sharesdk/ShareSDKPlatforms/SMS
- mob_sharesdk/ShareSDKPlatforms/SnapChat
- mob_sharesdk/ShareSDKPlatforms/Telegram
- mob_sharesdk/ShareSDKPlatforms/TikTok
- mob_sharesdk/ShareSDKPlatforms/Twitter
- mob_sharesdk/ShareSDKPlatforms/VKontakte
- mob_sharesdk/ShareSDKPlatforms/WatermelonVideo
- mob_sharesdk/ShareSDKPlatforms/WeChat_Lite
- mob_sharesdk/ShareSDKPlatforms/WeWork
- mob_sharesdk/ShareSDKPlatforms/WhatsApp
- mob_sharesdk/ShareSDKPlatforms/Yixin
- mob_sharesdk/ShareSDKPlatforms/YouDaoNote
- mob_sharesdk/ShareSDKRestoreScene
- mob_sharesdk/ShareSDKUI
- mob_sharesdk_spec2
- mob_sharesdk_spec2/ShareSDKExtension
- mob_sharesdk_spec2/ShareSDKPlatforms/DingTalk
- mob_sharesdk_spec2/ShareSDKPlatforms/Douyin
- mob_sharesdk_spec2/ShareSDKPlatforms/Dropbox
- mob_sharesdk_spec2/ShareSDKPlatforms/Evernote
- mob_sharesdk_spec2/ShareSDKPlatforms/Facebook
- mob_sharesdk_spec2/ShareSDKPlatforms/Flickr
- mob_sharesdk_spec2/ShareSDKPlatforms/GooglePlus
- mob_sharesdk_spec2/ShareSDKPlatforms/Instagram
- mob_sharesdk_spec2/ShareSDKPlatforms/Instapaper
- mob_sharesdk_spec2/ShareSDKPlatforms/Kakao
- mob_sharesdk_spec2/ShareSDKPlatforms/KuaiShou
- mob_sharesdk_spec2/ShareSDKPlatforms/Line
- mob_sharesdk_spec2/ShareSDKPlatforms/LinkedIn
- mob_sharesdk_spec2/ShareSDKPlatforms/Messenger
- mob_sharesdk_spec2/ShareSDKPlatforms/MingDao
- mob_sharesdk_spec2/ShareSDKPlatforms/Oasis
- mob_sharesdk_spec2/ShareSDKPlatforms/Pinterest
- mob_sharesdk_spec2/ShareSDKPlatforms/Pocket
- mob_sharesdk_spec2/ShareSDKPlatforms/QQ
- mob_sharesdk_spec2/ShareSDKPlatforms/Reddit
- mob_sharesdk_spec2/ShareSDKPlatforms/SinaWeibo
- mob_sharesdk_spec2/ShareSDKPlatforms/SMS
- mob_sharesdk_spec2/ShareSDKPlatforms/SnapChat
- mob_sharesdk_spec2/ShareSDKPlatforms/Telegram
- mob_sharesdk_spec2/ShareSDKPlatforms/TikTok
- mob_sharesdk_spec2/ShareSDKPlatforms/Twitter
- mob_sharesdk_spec2/ShareSDKPlatforms/VKontakte
- mob_sharesdk_spec2/ShareSDKPlatforms/WatermelonVideo
- mob_sharesdk_spec2/ShareSDKPlatforms/WeChat_Lite
- mob_sharesdk_spec2/ShareSDKPlatforms/WeWork
- mob_sharesdk_spec2/ShareSDKPlatforms/WhatsApp
- mob_sharesdk_spec2/ShareSDKPlatforms/Yixin
- mob_sharesdk_spec2/ShareSDKPlatforms/YouDaoNote
- mob_sharesdk_spec2/ShareSDKRestoreScene
- mob_sharesdk_spec2/ShareSDKUI
- SSZipArchive (2.4.3)
- thumbnails (0.0.1):
- Flutter
@ -236,8 +237,9 @@ PODS:
- Flutter
- webview_flutter (0.0.1):
- Flutter
- ZLPhotoBrowser-objc (1.0.4):
- SDWebImage
- ZLPhotoBrowser (4.3.7):
- ZLPhotoBrowser/Core (= 4.3.7)
- ZLPhotoBrowser/Core (4.3.7)
DEPENDENCIES:
- emoji_picker_flutter (from `.symlinks/plugins/emoji_picker_flutter/ios`)
@ -267,16 +269,16 @@ DEPENDENCIES:
SPEC REPOS:
trunk:
- AEINFoundation
- AFNetworking
- BaiduMapKit
- BMKLocationKit
- mob_sharesdk
- MOBFoundation
- mob_sharesdk_spec2
- OpenWeChatSDK
- SDWebImage
- SSZipArchive
- TPNS-iOS
- ZLPhotoBrowser-objc
- ZLPhotoBrowser
EXTERNAL SOURCES:
emoji_picker_flutter:
@ -327,6 +329,7 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/webview_flutter/ios"
SPEC CHECKSUMS:
AEINFoundation: e046b5fbe75aaf120a54fdc530b1d62d4ce88dfe
AFNetworking: 7864c38297c79aaca1500c33288e429c3451fdce
BaiduMapKit: f227cfb43581e91466fb4f1344f655eab5788777
BMKLocationKit: 688d8e1194980b96fc9a6585c0eb42e62fbaf780
@ -338,9 +341,8 @@ SPEC CHECKSUMS:
flutter_baidu_mapapi_utils: f6a5d23da26b0e58f1ae9908da7ba87fd48384b1
flutter_bmflocation: 1bd73181196567fe1529f765aa4f8e2615a8a3cf
fluwx: 79c66b6d795ab8208262ada215d9e60388cfe492
image_pickers: 5e6ec7083f9363d014c0fb061f1b9cd97bb5e451
mob_sharesdk: b707987dfbe7e180ea60ddf4b5db30126ac98390
MOBFoundation: 2fcfc8b48bf311ace31e99c941b70f573c88880a
image_pickers: 075764ed041c5e3089fcd4d040384ecdb23840e0
mob_sharesdk_spec2: efa0cb438a29b37ab99d015a272dff69177e30a2
number_precision: 26fa2be2212f9d1429f92d667d6b0aa4df0058d8
OpenWeChatSDK: 8fb6c3c7ce9a57f37d001060282de1f138d09940
package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62
@ -349,7 +351,7 @@ SPEC CHECKSUMS:
scan: aea35bb4aa59ccc8839c576a18cd57c7d492cc86
SDWebImage: e5cc87bf736e60f49592f307bdf9e157189298a3
shared_preferences_ios: 548a61f8053b9b8a49ac19c1ffbc8b92c50d68ad
sharesdk_plugin: ad2cacfb74c4b82fbc4100cc882d05507f908aed
sharesdk_plugin: d9c8e928116aba323b21da64b4437ed766ee843e
SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef
thumbnails: bb4f4e9bb4b51c8ae4e6ad9a2fa81373f9b634ad
tobias: 2aded9b83e3663b907360a800d8e3c13284f25c5
@ -359,7 +361,7 @@ SPEC CHECKSUMS:
video_player_avfoundation: e489aac24ef5cf7af82702979ed16f2a5ef84cff
wakelock: d0fc7c864128eac40eba1617cb5264d9c940b46f
webview_flutter: 5fb4def2bbd4339889ee14d045b605cefc5bc232
ZLPhotoBrowser-objc: c7657d3bc85ae231884e058d0e3638f619164736
ZLPhotoBrowser: f571bdaec6d0b64ae94a29787e4c7cbd8900d10f
PODFILE CHECKSUM: 9a26c1c4037e42be4afc95d70f8bd02a4b989a1c

12
ios/Runner.xcodeproj/project.pbxproj

@ -617,7 +617,7 @@
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 1;
CURRENT_PROJECT_VERSION = 3;
DEVELOPMENT_TEAM = YF3Q8DVP52;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
@ -667,7 +667,7 @@
"$(PROJECT_DIR)/baidu",
"$(PROJECT_DIR)/Runner/baidu",
);
MARKETING_VERSION = 3.2.2;
MARKETING_VERSION = 3.2.6;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = (
"$(inherited)",
@ -819,7 +819,7 @@
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 1;
CURRENT_PROJECT_VERSION = 3;
DEVELOPMENT_TEAM = YF3Q8DVP52;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
@ -869,7 +869,7 @@
"$(PROJECT_DIR)/baidu",
"$(PROJECT_DIR)/Runner/baidu",
);
MARKETING_VERSION = 3.2.2;
MARKETING_VERSION = 3.2.6;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = (
"$(inherited)",
@ -912,7 +912,7 @@
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 1;
CURRENT_PROJECT_VERSION = 3;
DEVELOPMENT_TEAM = YF3Q8DVP52;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
@ -962,7 +962,7 @@
"$(PROJECT_DIR)/baidu",
"$(PROJECT_DIR)/Runner/baidu",
);
MARKETING_VERSION = 3.2.2;
MARKETING_VERSION = 3.2.6;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = (
"$(inherited)",

28
lib/base_state.dart

@ -6,6 +6,9 @@ import 'package:shared_preferences/shared_preferences.dart';
abstract class BaseState<T extends StatefulWidget> extends State<T>
with WidgetsBindingObserver {
int lastTime = DateTime.now().millisecondsSinceEpoch;
@override
void dispose() {
super.dispose();
@ -20,8 +23,11 @@ abstract class BaseState<T extends StatefulWidget> extends State<T>
break;
case AppLifecycleState.resumed: //
pushRoute();
if(DateTime.now().millisecondsSinceEpoch - lastTime > 300000)
Navigator.of(context).popAndPushNamed('/router/main_page');
break;
case AppLifecycleState.paused: //
lastTime = DateTime.now().millisecondsSinceEpoch;
break;
case AppLifecycleState.detached: // APP结束时调用
break;
@ -49,38 +55,38 @@ abstract class BaseState<T extends StatefulWidget> extends State<T>
if (pushMap != null) {
String routeName = "";
Map<String, dynamic> params = {};
switch (pushMap["typed"]) {
case 1:
routeName = "/router/store_detail_page";
switch (pushMap["typed"].toString()) {
case "1":case "ARTICLE":
routeName = "/router/web_page";
params["articleId"] = pushMap["info"];
break;
case 2:
routeName = "/router/store_detail_page";
case "2":case "ACTIVITY":
routeName = "/router/web_page";
params["activityId"] = pushMap["info"];
break;
case 3:
case "3":case "SHOP":
routeName = "/router/store_order";
params["id"] = pushMap["info"];
params["tenant"] = pushMap["tenant"];
params["storeName"] = pushMap["storeName"];
break;
case 4:
case "4":case "CREDIT_GOODS":
routeName = "/router/integral_store_page";
params["goodsId"] = pushMap["info"];
break;
case 5:
case "5":case "ORDER":
routeName = "/router/order_details";
params["id"] = pushMap["info"];
break;
case 6:
case "6":case "MEMBER":
routeName = "/router/community_details";
params["businessId"] = pushMap["info"];
break;
case 8:
case "8":case "WALLET":
routeName = "/router/mine_wallet";
params["id"] = pushMap["info"];
break;
case 9:
case "9":case "WELFARE":
routeName = "/router/welfare_page";
params["id"] = pushMap["info"];
break;

2
lib/community/community_details.dart

@ -51,7 +51,6 @@ class _CommunityDetails extends State<CommunityDetails>
final GlobalKey inputKey = GlobalKey();
final TextEditingController commentTextController = TextEditingController();
bool emojiShowing = false;
static double keyboard_height=300;
double keyboard = -1;
bool needShowSmiley = false;
bool needHideSmiley = false;
@ -252,7 +251,6 @@ class _CommunityDetails extends State<CommunityDetails>
inputKey,
hintText,
isKeyBoardShow,
keyboard_height,
keyboard,
emojiShowing,
commentFocus,

5
lib/community/community_view/class_details.dart

@ -55,7 +55,6 @@ class _ClassDetails extends State<ClassDetails> with WidgetsBindingObserver {
double height = 0;
var isShowMore = false;
bool emojiShowing = false;
static double keyboard_height=300;
double keyboard = -1;
bool needShowSmiley = false;
bool needHideSmiley = false;
@ -117,6 +116,7 @@ class _ClassDetails extends State<ClassDetails> with WidgetsBindingObserver {
@override
void didChangeMetrics() {
WidgetsBinding.instance.addPostFrameCallback((_) {
isKeyBoardShow = MediaQuery.of(context).viewInsets.bottom > 0;
if (!mounted) return;
if (MediaQuery.of(context).viewInsets.bottom == 0) {
if (isKeyBoardShow) {
@ -185,7 +185,7 @@ class _ClassDetails extends State<ClassDetails> with WidgetsBindingObserver {
@override
Widget build(BuildContext context) {
double h = MediaQuery.of(context).viewInsets.bottom;
if(h > 0 && keyboard <= 0) {
if(h > 0 && keyboard < h) {
setState(() {
keyboard = h;
});
@ -476,7 +476,6 @@ class _ClassDetails extends State<ClassDetails> with WidgetsBindingObserver {
inputKey,
hintText,
isKeyBoardShow,
keyboard_height,
keyboard,
emojiShowing,
commentFocus,

2
lib/community/new_community_details.dart

@ -57,7 +57,6 @@ class _NewCommunityDetails extends State<NewCommunityDetails> with WidgetsBindin
String commentsId;
String userId;
bool emojiShowing =false;
static double keyboard_height=300;
double keyboard = -1;
bool needShowSmiley = false;
bool needHideSmiley = false;
@ -371,7 +370,6 @@ class _NewCommunityDetails extends State<NewCommunityDetails> with WidgetsBindin
inputKey,
hintText,
isKeyBoardShow,
keyboard_height,
keyboard,
emojiShowing,
commentFocus,

2
lib/login/new_login_page.dart

@ -416,7 +416,7 @@ class _NewLoginPage extends State<NewLoginPage> {
Container(
height: 30.h,
width: MediaQuery.of(context).size.width - 100.w,
margin: EdgeInsets.only(bottom: 10.h),
margin: EdgeInsets.only(bottom:5.h),
child: TextField(
style: TextStyle(
height: 1.h,

3
lib/main.dart

@ -98,6 +98,7 @@ import 'login/new_login_page.dart';
import 'login/phone_address_page.dart';
import 'main_page.dart';
import 'message/system_details.dart';
import 'message/system_notice.dart';
import 'mine/coupon_page.dart';
import 'mine/edit_signature.dart';
import 'mine/invitation_record.dart';
@ -423,4 +424,6 @@ Map<String, WidgetBuilder> routers = <String, WidgetBuilder>{
ScanWeb(arguments:arguments),
'/router/vip_pay_code': (context, {arguments}) =>
VipPayCode(),
'/router/system_notice': (context, {arguments}) =>
SystemNotice(),
};

25
lib/main_page.dart

@ -57,7 +57,7 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
final GlobalKey vipPageKey = GlobalKey();
// List<String> iconn;
ApiService apiService;
int lastTime = DateTime.now().millisecondsSinceEpoch;
@override
void dispose() {
@ -73,8 +73,11 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
break;
case AppLifecycleState.resumed: //
pushRoute();
if(DateTime.now().millisecondsSinceEpoch - lastTime > 300000)
Navigator.of(context).popAndPushNamed('/router/main_page');
break;
case AppLifecycleState.paused: //
lastTime = DateTime.now().millisecondsSinceEpoch;
break;
case AppLifecycleState.detached: // APP结束时调用
break;
@ -224,7 +227,7 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
);
}
/// @typed: 1 2 3 4 5 6 7 8/ 9
/// @typed: ARTICLE(1) ACTIVITY(2) SHOP(3) CREDIT_GOODS(4) ORDER(5) TREND(6) MEMBER(7) WALLET(8)/ WELFARE(9)
xgFlutterPlugin.addEventHandler(xgPushClickAction: (event) async {
print("xgPushClickAction1: $event");
if (event["actionType"] == 2) return event;
@ -288,38 +291,38 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
if (pushMap != null) {
String routeName = "";
Map<String, dynamic> params = {};
switch (pushMap["typed"]) {
case 1:
switch (pushMap["typed"].toString()) {
case "1":case "ARTICLE":
routeName = "/router/web_page";
params["articleId"] = pushMap["info"];
break;
case 2:
case "2":case "ACTIVITY":
routeName = "/router/web_page";
params["activityId"] = pushMap["info"];
break;
case 3:
case "3":case "SHOP":
routeName = "/router/store_order";
params["id"] = pushMap["info"];
params["tenant"] = pushMap["tenant"];
params["storeName"] = pushMap["storeName"];
break;
case 4:
case "4":case "CREDIT_GOODS":
routeName = "/router/integral_store_page";
params["goodsId"] = pushMap["info"];
break;
case 5:
case "5":case "ORDER":
routeName = "/router/order_details";
params["id"] = pushMap["info"];
break;
case 6:
case "6":case "MEMBER":
routeName = "/router/community_details";
params["businessId"] = pushMap["info"];
break;
case 8:
case "8":case "WALLET":
routeName = "/router/mine_wallet";
params["id"] = pushMap["info"];
break;
case 9:
case "9":case "WELFARE":
routeName = "/router/welfare_page";
params["id"] = pushMap["info"];
break;

7
lib/message/system_details.dart

@ -51,8 +51,7 @@ class _SystemDetails extends State<SystemDetails> {
msgType = widget.arguments["msgType"];
SharedPreferences.getInstance().then((value) {
apiService =
ApiService(Dio(), token: value.getString("token"), context: context);
apiService = ApiService(Dio(), token: value.getString("token"),showLoading: true, context: context);
queryMessage();
});
}
@ -244,7 +243,7 @@ class _SystemDetails extends State<SystemDetails> {
? "assets/image/icon_system_message.webp"
: (message.typed == 2)
? "assets/image/icon_system_message.webp"
: "assets/image/c_z.webp",
: "assets/image/icon_cz.webp",
width: 24.w,
height: 24.h,
),
@ -371,7 +370,7 @@ class _SystemDetails extends State<SystemDetails> {
? "assets/image/icon_system_message.webp"
: (message.typed == 2)
? "assets/image/icon_system_message.webp"
: "assets/image/c_z.webp",
: "assets/image/icon_cz.webp",
width: 24.w,
height: 24.h,
),

142
lib/message/system_message.dart

@ -154,6 +154,7 @@ class _SystemMessagePage extends State<SystemMessagePage> {
// ),
// ],
// ),
backgroundColor: Colors.white,
body: SmartRefresher(
enablePullDown: true,
enablePullUp: true,
@ -204,14 +205,13 @@ class _SystemMessagePage extends State<SystemMessagePage> {
),
),
),
Spacer(),
Expanded(
child: Text(
S.of(context).xiaoxi,
style: TextStyle(
color: Colors.black,
fontSize: 16.sp,
fontWeight: MyFontWeight.regular,
fontSize: 18.sp,
fontWeight: MyFontWeight.bold,
),
)),
GestureDetector(
@ -236,11 +236,59 @@ class _SystemMessagePage extends State<SystemMessagePage> {
],
),
),
newsSurvey(),
SizedBox(
height: 16.h,
GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: (){
Navigator.of(context).pushNamed('/router/system_details',
arguments: {"msgType": 6}).then((value) {
setState(() {
msgNumber["6"] = 0;
});
});
},
child:messageItem("assets/image/icon_pl.webp", S.of(context).pinglun, msgNumber["6"].toString()),
),
buildMessage(),
GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: (){
Navigator.of(context).pushNamed('/router/system_details',
arguments: {"msgType": 5}).then((value) {
setState(() {
msgNumber["5"] = 0;
});
});
},
child: messageItem("assets/image/icon_z.webp", S.of(context).dianzan, msgNumber["5"].toString()),
),
GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: (){
Navigator.of(context).pushNamed('/router/system_details',
arguments: {"msgType": 4}).then((value) {
setState(() {
msgNumber["4"] = 0;
});
});
},
child:messageItem("assets/image/icon_gz.webp", S.of(context).guanzhu,msgNumber["4"].toString()),
),
GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: (){
Navigator.of(context).pushNamed('/router/system_notice').then((value) {
setState(() {
msgNumber["2"] = 0;
msgNumber["3"] = 0;
});
});
},
child:messageItem("assets/image/icon_system_message.webp", S.of(context).xitongxiaoxi, (msgNumber["2"]+msgNumber["3"]).toString()),
),
// newsSurvey(),
// SizedBox(
// height: 16.h,
// ),
// buildMessage(),
],
),
),
@ -250,6 +298,84 @@ class _SystemMessagePage extends State<SystemMessagePage> {
);
}
Widget messageItem(img, title, messageNum) {
return Container(
padding: EdgeInsets.only(top:14.h, left:14.w, bottom:10.h, right:14.w),
decoration: BoxDecoration(
color: Colors.white,
),
child: Column(
children: [
Row(
children: [
Image.asset(
img,
fit: BoxFit.fill,
),
SizedBox(
width: 12.w,
),
Text(
title,
style: TextStyle(
fontSize: 14.sp,
color: Color(0xFF060606),
fontWeight: MyFontWeight.semi_bold,
),
),
SizedBox(
width: 9.w,
),
if(messageNum != "0")
((double.tryParse(messageNum) < 100)?
Container(
width: 16,
height: 16,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(100),
color: Color(0xFFFF441A),
),
child: RoundButton(
text:messageNum,
textColor: Colors.white,
fontWeight: MyFontWeight.regular,
backgroup: Color(0xFFFF441A),
fontSize: 10.sp,
radius: 100,
)):
Container(
padding: EdgeInsets.symmetric(horizontal:4.w,vertical:2.h),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(100),
color: Color(0xFFFF441A),
),
child: RoundButton(
text:"99+",
textColor: Colors.white,
fontWeight: MyFontWeight.regular,
backgroup: Color(0xFFFF441A),
fontSize: 10.sp,
radius: 100,
))),
Spacer(),
Icon(
Icons.keyboard_arrow_right,
size: 24,
),
],
),
if(title != S.of(context).xitongxiaoxi)
Container(
margin: EdgeInsets.only(top: 12.h),
width: double.infinity,
height: 1.h,
color: Color(0xFFF7F7F7),
)
],
),
);
}
Widget newsSurvey() {
return Container(
color: Colors.white,
@ -519,7 +645,7 @@ class _SystemMessagePage extends State<SystemMessagePage> {
? "assets/image/icon_system_message.webp"
: (message.typed == 2)
? "assets/image/icon_system_message.webp"
: "assets/image/c_z.webp",
: "assets/image/icon_cz.webp",
width: 40.w,
height: 40.h,
),

323
lib/message/system_notice.dart

@ -0,0 +1,323 @@
import 'dart:convert';
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:huixiang/generated/l10n.dart';
import 'package:huixiang/retrofit/data/base_data.dart';
import 'package:huixiang/retrofit/data/message.dart';
import 'package:huixiang/retrofit/data/page.dart';
import 'package:huixiang/retrofit/retrofit_api.dart';
import 'package:huixiang/utils/font_weight.dart';
import 'package:huixiang/view_widget/classic_header.dart';
import 'package:huixiang/view_widget/custom_image.dart';
import 'package:huixiang/view_widget/my_appbar.dart';
import 'package:huixiang/view_widget/my_footer.dart';
import 'package:huixiang/view_widget/no_data_view.dart';
import 'package:huixiang/view_widget/round_button.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
class SystemNotice extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return _SystemNotice();
}
}
class _SystemNotice extends State<SystemNotice> {
ApiService apiService;
int pageNum = 1;
List<Message> messages = [];
int msgType = 0;
// String parenId = "0";
var commentFocus = FocusNode();
String hintText = S.current.liuxianinjingcaidepinglunba;
bool isKeyBoardShow = false;
final GlobalKey commentKey = GlobalKey();
final GlobalKey inputKey = GlobalKey();
final TextEditingController commentTextController = TextEditingController();
int indexMsg = 0;
@override
void initState() {
super.initState();
// msgType = widget.arguments["msgType"];
SharedPreferences.getInstance().then((value) {
apiService =
ApiService(Dio(), token: value.getString("token"), context: context);
queryMessage();
});
}
_refresh() {
pageNum = 1;
queryMessage();
}
queryMessage() async {
BaseData<PageInfo<Message>> baseData = await apiService.msgList({
"pageNum": pageNum,
"pageSize": 10,
"searchKey": "",
"state": "",
"typed": ""
}).catchError((onError) {
_refreshController.loadFailed();
_refreshController.refreshFailed();
});
if (baseData != null && baseData.isSuccess) {
if (pageNum == 1) {
messages.clear();
}
List<Message> message = [];
message.addAll(baseData.data.list);
message.forEach((element) {
if (element.typed == 2 || element.typed == 3) {
messages.add(element);
}
});
_refreshController.loadComplete();
_refreshController.refreshCompleted();
if (mounted) setState(() {});
if (pageNum * 10 > int.tryParse(baseData.data.total)) {
_refreshController.loadNoData();
} else {
pageNum += 1;
}
} else {
_refreshController.loadFailed();
_refreshController.refreshFailed();
}
}
RefreshController _refreshController = RefreshController();
@override
Widget build(BuildContext context) {
return Scaffold(
body: SmartRefresher(
enablePullDown: true,
enablePullUp: true,
header: MyHeader(),
physics: BouncingScrollPhysics(),
footer: CustomFooter(
loadStyle: LoadStyle.ShowWhenLoading,
builder: (BuildContext context, LoadStatus mode) {
return (messages.length == 0) ? Container() : MyFooter(mode);
},
),
controller: _refreshController,
onRefresh: _refresh,
onLoading: () {
queryMessage();
},
child: Container(
child: SingleChildScrollView(
physics: BouncingScrollPhysics(),
child: Container(
child: Column(
children: [
Container(
color: Colors.white,
padding: EdgeInsets.only(
top: MediaQuery.of(context).padding.top + 10.h,
bottom: 10.h,
right: 16.w),
child: Row(
children: [
GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () {
Navigator.of(context).pop();
},
child: Container(
alignment: Alignment.centerRight,
margin: EdgeInsets.only(
left: 12,
),
padding: EdgeInsets.all(6),
child: Icon(
Icons.arrow_back_ios,
color: Colors.black,
size: 24,
),
),
),
Text(
"消息通知",
style: TextStyle(
color: Colors.black,
fontSize: 18.sp,
fontWeight: MyFontWeight.bold,
),
),
],
),
),
buildMessage()
],
),
),
),
),
),
);
}
Widget buildMessage() {
return Container(
color: Colors.white,
width: double.infinity,
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
(messages == null || messages.length == 0)
? NoDataView(
src: "assets/image/icon_empty.webp",
isShowBtn: false,
text: S.of(context).haimeiyouxiaoxi,
fontSize: 16.sp,
margin: EdgeInsets.only(top: 120.h),
)
: ListView.builder(
padding: EdgeInsets.only(top: 16),
itemCount: messages.length,
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemBuilder: (context, position) {
return GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () {
if (messages[position].typed == 2)
Navigator.of(context).pushNamed(
'/router/system_details',
arguments: {"msgType": 2});
else if (messages[position].typed == 3)
Navigator.of(context).pushNamed(
'/router/system_details',
arguments: {"msgType": 3});
},
child: buildMessageItem(messages[position]),
);
}),
],
));
}
Widget buildMessageItem(Message message) {
return Container(
margin: EdgeInsets.only(top: 8.h, bottom: 8.h,left: 16.w,right: 17.w),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Image.asset(
(message.typed == 1)
? "assets/image/icon_order.webp"
: (message.typed == 2)
? "assets/image/icon_order.webp"
: "assets/image/icon_cz.webp",
width: 24.w,
height: 24.h,
),
SizedBox(
width: 8.w,
),
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
Expanded(
child: Text(
(message.typed == 1)
? S.of(context).xitongtongzhi
: (message.typed == 2)
? S.of(context).dingdanxiaoxi
: S.of(context).chongzhixiaoxi,
style: TextStyle(
fontSize: 14.sp,
fontWeight: MyFontWeight.semi_bold,
color: Color(0xFF060606),
),
)),
Text(
message.updateTime,
style: TextStyle(
fontSize: 10.sp,
color: Color(0xFFA29E9E),
),
),
],
),
SizedBox(
height: 24.h,
),
(message.typed != 3)
? Row(
mainAxisAlignment: MainAxisAlignment.center,
// crossAxisAlignment: CrossAxisAlignment.start,
children: [
Expanded(
child: Text(
S.of(context).ninyouyigexindedingdan,
style: TextStyle(
fontSize: 12.sp,
color: Color(0xFF353535),
),
),
),
Icon(
Icons.keyboard_arrow_right,
size: 24,
),
],
)
: Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Expanded(
child: Text(
message.content,
style: TextStyle(
fontSize: 12.sp,
color: Color(0xFF353535),
),
)),
Icon(
Icons.keyboard_arrow_right,
size: 24,
),
],
),
Container(
margin: EdgeInsets.only(top: 16.h, bottom: 8.h),
height: 1.h,
width: double.infinity,
color: Color(0xFFF7F7F7),
),
],
),
),
],
),
],
),
);
}
}

15
lib/mine/mine_view/mine_view.dart

@ -76,6 +76,7 @@ class _MineView extends State<MineView> {
Container(
height: 24.h,
alignment: Alignment.center,
margin: EdgeInsets.only(right: 12.w),
child: GestureDetector(
onTap: () {
Navigator.of(context)
@ -90,10 +91,9 @@ class _MineView extends State<MineView> {
child: Stack(
children: [
Image.asset(
"assets/image/icon_notices.webp",
width: 32,
height: 32,
color: Colors.white,
"assets/image/icon_chat.webp",
width:24,
height: 24,
),
if (widget.totalMsg != 0)
Container(
@ -128,12 +128,11 @@ class _MineView extends State<MineView> {
toScan();
},
child: Container(
padding: EdgeInsets.all(8.h),
padding: EdgeInsets.only(left: 12.w,right:16.w,top:8.h,bottom:8.h),
child: Image.asset(
"assets/image/icon_scan_qr_code.webp",
width: 32,
height: 32,
color: Colors.white,
width: 22,
height: 22,
),
),
),

72
lib/order/order_detail_page.dart

@ -15,9 +15,13 @@ import 'package:huixiang/retrofit/retrofit_api.dart';
import 'package:huixiang/utils/font_weight.dart';
import 'package:huixiang/view_widget/icon_text.dart';
import 'package:huixiang/view_widget/my_appbar.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import '../utils/flutter_utils.dart';
import '../view_widget/classic_header.dart';
import '../view_widget/my_footer.dart';
import 'order_utils.dart';
class OrderDetailPage extends StatefulWidget {
@ -35,17 +39,14 @@ class _OrderDetailPage extends State<OrderDetailPage> {
ApiService apiService;
MinApiService minService;
int jumpState;
final RefreshController refreshController = RefreshController();
@override
void initState() {
super.initState();
SharedPreferences.getInstance().then((value) {
apiService = ApiService(
Dio(),
context: context,
token: value.getString("token"),
showLoading: true
);
apiService = ApiService(Dio(),
context: context, token: value.getString("token"), showLoading: true);
queryDetails();
});
jumpState = widget.arguments["jumpState"];
@ -90,16 +91,19 @@ class _OrderDetailPage extends State<OrderDetailPage> {
queryDetails() async {
if (apiService == null) {
SharedPreferences value = await SharedPreferences.getInstance();
apiService = ApiService(
Dio(),
apiService = ApiService(Dio(),
context: context,
token: value.getString("token"),
showLoading: false
);
showLoading: false);
}
BaseData<OrderInfo> baseData = await apiService
.orderDetail(widget.arguments["id"])
.catchError((error) {});
.catchError((error) {
SmartDialog.showToast(AppUtils.dioErrorTypeToString(error.type),
alignment: Alignment.center);
refreshController.refreshFailed();
refreshController.loadFailed();
});
if (baseData != null && baseData.isSuccess) {
orderInfo = baseData.data;
payStatus = orderInfo.payStatus;
@ -119,8 +123,12 @@ class _OrderDetailPage extends State<OrderDetailPage> {
setState(() {
statusTitle();
});
}else{
SmartDialog.showToast(baseData.msg,alignment: Alignment.center);
refreshController.refreshCompleted();
refreshController.loadComplete();
} else {
SmartDialog.showToast(baseData.msg, alignment: Alignment.center);
refreshController.refreshFailed();
refreshController.loadFailed();
}
}
@ -155,10 +163,23 @@ class _OrderDetailPage extends State<OrderDetailPage> {
leadingColor: Colors.white,
brightness: Brightness.dark,
),
body: Container(
child: SingleChildScrollView(
body: SmartRefresher(
controller: refreshController,
enablePullDown: true,
enablePullUp: false,
header: MyHeader(
color: Colors.white,
),
footer: CustomFooter(
builder: (context, mode) {
return MyFooter(mode);
},
),
onRefresh:(){
queryDetails();
},
physics: BouncingScrollPhysics(),
child: Container(
scrollController: ScrollController(),
child: Column(
children: [
///
@ -203,8 +224,6 @@ class _OrderDetailPage extends State<OrderDetailPage> {
],
),
),
),
),
)
],
),
@ -227,21 +246,26 @@ class _OrderDetailPage extends State<OrderDetailPage> {
}
}
payResult(BaseData baseData) async{
payResult(BaseData baseData) async {
await queryDetails();
Future.delayed(Duration(milliseconds: 800), () {
EasyLoading.dismiss();
SmartDialog.showToast(baseData?.msg == "ok" ?"订单支付成功" :baseData?.msg,alignment: Alignment.center);
SmartDialog.showToast(baseData?.msg == "ok" ? "订单支付成功" : baseData?.msg,
alignment: Alignment.center);
});
}
statusTitle() {
if (isTakeOut == 0) {
if (payStatus == 0) {
if (payStatus == 0 && orderStatus != -1) {
title = S.of(context).dingdandaizhifu;
} else {
title = S.of(context).dingdanyizhifu;
switch (orderStatus) {
case -1:
title = S.of(context).yiquxiao;
center = S.of(context).yiquxiao;
break;
case 2:
title = S.of(context).shangjiazhengzaipeican;
break;
@ -312,7 +336,7 @@ class _OrderDetailPage extends State<OrderDetailPage> {
}
}
}
if (orderStatus == 5) {
if (orderStatus == 5 || orderStatus == -1) {
title = S.of(context).yiquxiao;
center = S.of(context).yiquxiao;
}
@ -523,8 +547,8 @@ class _OrderDetailPage extends State<OrderDetailPage> {
// Future.delayed(Duration(milliseconds:450), () {
queryDetails();
// });
}else{
SmartDialog.showToast(baseData.msg,alignment: Alignment.center);
} else {
SmartDialog.showToast(baseData.msg, alignment: Alignment.center);
}
}

7
lib/order/order_history_page.dart

@ -314,13 +314,10 @@ class _OrderHistoryList extends State<OrderHistoryList>
// ),
// ),
// ),
Container(
margin: EdgeInsets.only(left: 5.w, top: 12.h),
),
Expanded(
child: Container(
width: double.infinity,
margin: EdgeInsets.only(left: 6.w, top: 12.h),
margin: EdgeInsets.only(left:12.w, top: 12.h),
alignment: Alignment.centerLeft,
child: Text(
(orderInfo != null) ? orderInfo.storeName : "",
@ -353,7 +350,7 @@ class _OrderHistoryList extends State<OrderHistoryList>
color: (orderInfo == null)
? Color(0xFF32A060)
: (orderInfo.refundStatus == 1 ||
orderInfo.orderStatus >= 5)
orderInfo.orderStatus == -1 || orderInfo.orderStatus >= 5)
? Colors.grey
: (orderInfo.orderStatus == 4)
? Color(0xFF32A060)

2
lib/order/order_view/order_status.dart

@ -142,7 +142,7 @@ class _OrderStatus extends State<OrderStatus> {
children: timeWidget(),
),
),
visible: (widget.orderStatus >= 4 || widget.isTakeOut == 2)
visible: (widget.orderStatus == -1 || widget.orderStatus >= 4 || widget.isTakeOut == 2)
? false
: (widget.isTakeOut == 0)
? !(widget.payStatus == 1)

4
lib/union/location_map_page.dart

@ -77,7 +77,7 @@ class _LocationMap extends State<LocationMap> {
),
body: Container(
//BMFMapWidget ,BMFTextureMapWidget不会强制遮盖其他控件
child: BMFTextureMapWidget(
child:BMFMapWidget(
mapOptions: BMFMapOptions(
center: BMFCoordinate(
double.tryParse(widget.arguments["lat"]),
@ -88,7 +88,7 @@ class _LocationMap extends State<LocationMap> {
zoomLevel: 12,
),
onBMFMapCreated: onMapCreated,
),
)
),
);
}

1
lib/utils/flutter_utils.dart

@ -17,6 +17,7 @@ class AppUtils {
return "${numberFormat.format(mi / 1000)}";
}
///
static double stringAsFixedDouble2(double value) {
String valueStr = value.toString();

8
lib/utils/status_utils.dart

@ -9,7 +9,7 @@ class StatusUtils {
context, refundStatus, orderStatus, payStatus, sendStatus, isTakeOut) {
String statusText = "";
if (isTakeOut == 0) {
if (payStatus == 0) {
if (payStatus == 0 && orderStatus != -1) {
statusText = S.of(context).daizhifu;
} else {
statusText = S.of(context).yizhifu;
@ -79,7 +79,7 @@ class StatusUtils {
if (refundStatus == 1) {
statusText = S.of(context).yituikuan;
}
if (orderStatus == 5) {
if (orderStatus == 5 || orderStatus == -1) {
statusText = S.of(context).yiquxiao;
}
return statusText;
@ -110,7 +110,7 @@ class StatusUtils {
),
];
}
if (orderStatus > 4) {
if (orderStatus > 4 || orderStatus == -1) {
return [
RoundButton(
text: S.of(context).zailaiyidan,
@ -125,7 +125,7 @@ class StatusUtils {
),
];
} else {
if (payStatus == 0) {
if (payStatus == 0 && orderStatus != -1) {
return [
RoundButton(
text: S.of(context).quzhifu,

7
lib/view_widget/classic_header.dart

@ -11,6 +11,9 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:rive/rive.dart';
class MyHeader extends StatelessWidget {
final Color color;
MyHeader({this.color});
@override
Widget build(BuildContext context) {
return MyClassicHeader(
@ -22,11 +25,11 @@ class MyHeader extends StatelessWidget {
idleText: S.of(context).xialashuaxin,
iconPos: IconPosition.left,
completeTextStyle: TextStyle(
color: Color(0xFF32A060),
color:color?? Color(0xFF32A060),
),
completeIcon: Icon(
Icons.done,
color: Color(0xFF32A060),
color: color??Color(0xFF32A060),
),
refreshingIcon: SpinKitCircle(
color: Colors.grey,

2
lib/view_widget/new_coupon_widget.dart

@ -84,7 +84,7 @@ class NewCouponWidget extends StatelessWidget {
children: [
Text(
"${coupon != null ? coupon.couponName ?? "" : ""}",
maxLines: 1,
maxLines: 2,
overflow: TextOverflow.ellipsis,
style: TextStyle(
fontSize: 15.sp,

3
lib/web/web_page.dart

@ -52,7 +52,6 @@ class _WebPage extends State<WebPage> with WidgetsBindingObserver {
final ScrollController scrollController = ScrollController();
final TextEditingController commentTextController = TextEditingController();
bool emojiShowing = false;
static double keyboard_height=300;
double keyboard = -1;
bool needShowSmiley = false;
bool needHideSmiley = false;
@ -72,6 +71,7 @@ class _WebPage extends State<WebPage> with WidgetsBindingObserver {
@override
void didChangeMetrics() {
WidgetsBinding.instance.addPostFrameCallback((_) {
isKeyBoardShow = MediaQuery.of(context).viewInsets.bottom > 0;
if (MediaQuery.of(context).viewInsets.bottom == 0) {
if (isKeyBoardShow) {
FocusScope.of(context).requestFocus(FocusNode());
@ -363,7 +363,6 @@ class _WebPage extends State<WebPage> with WidgetsBindingObserver {
inputKey,
hintText,
isKeyBoardShow,
keyboard_height,
keyboard,
emojiShowing,
commentFocus,

2
lib/web/web_view/input_comment.dart

@ -13,7 +13,6 @@ class InputComment extends StatefulWidget {
final Activity activity;
final Article article;
final bool isKeyBoardShow;
final double keyboard_height;
final double keyboard;
final bool emojiShowing;
final FocusNode commentFocus;
@ -30,7 +29,6 @@ class InputComment extends StatefulWidget {
Key key,
this.hintText,
this.isKeyBoardShow,
this.keyboard_height,
this.keyboard,
this.emojiShowing,
this.commentFocus,

10
pubspec.lock

@ -173,7 +173,7 @@ packages:
name: flutter_baidu_mapapi_base
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.3.0"
version: "3.2.0"
flutter_baidu_mapapi_map:
dependency: "direct main"
description:
@ -187,21 +187,21 @@ packages:
name: flutter_baidu_mapapi_search
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.3.0"
version: "3.2.0"
flutter_baidu_mapapi_utils:
dependency: "direct main"
description:
name: flutter_baidu_mapapi_utils
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.3.0"
version: "3.2.0"
flutter_bmflocation:
dependency: "direct main"
description:
name: flutter_bmflocation
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.3.0"
version: "3.2.1"
flutter_easyloading:
dependency: "direct main"
description:
@ -314,7 +314,7 @@ packages:
name: fluwx
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.12.2"
version: "3.9.0+2"
font_awesome_flutter:
dependency: "direct main"
description:

Loading…
Cancel
Save