diff --git a/assets/image/2x/c_z.webp b/assets/image/2x/c_z.webp deleted file mode 100644 index ea1056ff..00000000 Binary files a/assets/image/2x/c_z.webp and /dev/null differ diff --git a/assets/image/2x/icon_chat.webp b/assets/image/2x/icon_chat.webp new file mode 100644 index 00000000..bc2ea7c1 Binary files /dev/null and b/assets/image/2x/icon_chat.webp differ diff --git a/assets/image/2x/icon_cz.webp b/assets/image/2x/icon_cz.webp new file mode 100644 index 00000000..e7309b25 Binary files /dev/null and b/assets/image/2x/icon_cz.webp differ diff --git a/assets/image/2x/icon_gz.webp b/assets/image/2x/icon_gz.webp index 3611d1f1..c2633137 100644 Binary files a/assets/image/2x/icon_gz.webp and b/assets/image/2x/icon_gz.webp differ diff --git a/assets/image/2x/icon_order.webp b/assets/image/2x/icon_order.webp new file mode 100644 index 00000000..8b14cf19 Binary files /dev/null and b/assets/image/2x/icon_order.webp differ diff --git a/assets/image/2x/icon_pl.webp b/assets/image/2x/icon_pl.webp index 3b61e9e0..fec5889a 100644 Binary files a/assets/image/2x/icon_pl.webp and b/assets/image/2x/icon_pl.webp differ diff --git a/assets/image/2x/icon_scan_qr_code.webp b/assets/image/2x/icon_scan_qr_code.webp index 87b4da15..d177630f 100644 Binary files a/assets/image/2x/icon_scan_qr_code.webp and b/assets/image/2x/icon_scan_qr_code.webp differ diff --git a/assets/image/2x/icon_system_message.webp b/assets/image/2x/icon_system_message.webp index dc24acb0..3b15d414 100644 Binary files a/assets/image/2x/icon_system_message.webp and b/assets/image/2x/icon_system_message.webp differ diff --git a/assets/image/2x/icon_z.webp b/assets/image/2x/icon_z.webp index 77b48e80..65835cb4 100644 Binary files a/assets/image/2x/icon_z.webp and b/assets/image/2x/icon_z.webp differ diff --git a/assets/image/3x/c_z.webp b/assets/image/3x/c_z.webp deleted file mode 100644 index cd545fe5..00000000 Binary files a/assets/image/3x/c_z.webp and /dev/null differ diff --git a/assets/image/3x/icon_chat.webp b/assets/image/3x/icon_chat.webp new file mode 100644 index 00000000..935c3dee Binary files /dev/null and b/assets/image/3x/icon_chat.webp differ diff --git a/assets/image/3x/icon_cz.webp b/assets/image/3x/icon_cz.webp new file mode 100644 index 00000000..809ffee9 Binary files /dev/null and b/assets/image/3x/icon_cz.webp differ diff --git a/assets/image/3x/icon_gz.webp b/assets/image/3x/icon_gz.webp index ab41b159..ff4ff7f5 100644 Binary files a/assets/image/3x/icon_gz.webp and b/assets/image/3x/icon_gz.webp differ diff --git a/assets/image/3x/icon_order.webp b/assets/image/3x/icon_order.webp new file mode 100644 index 00000000..7a418bf0 Binary files /dev/null and b/assets/image/3x/icon_order.webp differ diff --git a/assets/image/3x/icon_pl.webp b/assets/image/3x/icon_pl.webp index d0a79b70..abc8b393 100644 Binary files a/assets/image/3x/icon_pl.webp and b/assets/image/3x/icon_pl.webp differ diff --git a/assets/image/3x/icon_scan_qr_code.webp b/assets/image/3x/icon_scan_qr_code.webp index e9900820..ab7e546a 100644 Binary files a/assets/image/3x/icon_scan_qr_code.webp and b/assets/image/3x/icon_scan_qr_code.webp differ diff --git a/assets/image/3x/icon_system_message.webp b/assets/image/3x/icon_system_message.webp index e6d478bc..e82bf99e 100644 Binary files a/assets/image/3x/icon_system_message.webp and b/assets/image/3x/icon_system_message.webp differ diff --git a/assets/image/3x/icon_z.webp b/assets/image/3x/icon_z.webp index b26cd79c..953f1d79 100644 Binary files a/assets/image/3x/icon_z.webp and b/assets/image/3x/icon_z.webp differ diff --git a/assets/image/c_z.webp b/assets/image/c_z.webp deleted file mode 100644 index 48c9a9c4..00000000 Binary files a/assets/image/c_z.webp and /dev/null differ diff --git a/assets/image/icon_chat.webp b/assets/image/icon_chat.webp new file mode 100644 index 00000000..4bd90fb9 Binary files /dev/null and b/assets/image/icon_chat.webp differ diff --git a/assets/image/icon_cz.webp b/assets/image/icon_cz.webp new file mode 100644 index 00000000..c769ed49 Binary files /dev/null and b/assets/image/icon_cz.webp differ diff --git a/assets/image/icon_gz.webp b/assets/image/icon_gz.webp index 9e2a50c1..42b9de87 100644 Binary files a/assets/image/icon_gz.webp and b/assets/image/icon_gz.webp differ diff --git a/assets/image/icon_order.webp b/assets/image/icon_order.webp new file mode 100644 index 00000000..c6b9f905 Binary files /dev/null and b/assets/image/icon_order.webp differ diff --git a/assets/image/icon_pl.webp b/assets/image/icon_pl.webp index ce3e2b6d..3a3bd73f 100644 Binary files a/assets/image/icon_pl.webp and b/assets/image/icon_pl.webp differ diff --git a/assets/image/icon_scan_qr_code.webp b/assets/image/icon_scan_qr_code.webp index fef2d544..afe8afde 100644 Binary files a/assets/image/icon_scan_qr_code.webp and b/assets/image/icon_scan_qr_code.webp differ diff --git a/assets/image/icon_system_message.webp b/assets/image/icon_system_message.webp index 8a42f386..c7f69186 100644 Binary files a/assets/image/icon_system_message.webp and b/assets/image/icon_system_message.webp differ diff --git a/assets/image/icon_z.webp b/assets/image/icon_z.webp index dc3a8889..2433add2 100644 Binary files a/assets/image/icon_z.webp and b/assets/image/icon_z.webp differ diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 5c696545..0fe04321 100644 --- a/ios/Podfile.lock +++ b/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 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 700e6296..19c6b784 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/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)", diff --git a/lib/base_state.dart b/lib/base_state.dart index 916e047a..74dd3e55 100644 --- a/lib/base_state.dart +++ b/lib/base_state.dart @@ -6,6 +6,9 @@ import 'package:shared_preferences/shared_preferences.dart'; abstract class BaseState extends State with WidgetsBindingObserver { + + int lastTime = DateTime.now().millisecondsSinceEpoch; + @override void dispose() { super.dispose(); @@ -20,8 +23,11 @@ abstract class BaseState extends State 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,41 +55,41 @@ abstract class BaseState extends State if (pushMap != null) { String routeName = ""; Map params = {}; - switch (pushMap["typed"]) { - case 1: - routeName = "/router/store_detail_page"; - params["articleId"] = pushMap["info"]; - break; - case 2: - routeName = "/router/store_detail_page"; - params["activityId"] = pushMap["info"]; - break; - case 3: - routeName = "/router/store_order"; - params["id"] = pushMap["info"]; - params["tenant"] = pushMap["tenant"]; - params["storeName"] = pushMap["storeName"]; - break; - case 4: - routeName = "/router/integral_store_page"; - params["goodsId"] = pushMap["info"]; - break; - case 5: - routeName = "/router/order_details"; - params["id"] = pushMap["info"]; - break; - case 6: - routeName = "/router/community_details"; - params["businessId"] = pushMap["info"]; - break; - case 8: - routeName = "/router/mine_wallet"; - params["id"] = pushMap["info"]; - break; - case 9: - routeName = "/router/welfare_page"; - params["id"] = pushMap["info"]; - break; + switch (pushMap["typed"].toString()) { + case "1":case "ARTICLE": + routeName = "/router/web_page"; + params["articleId"] = pushMap["info"]; + break; + case "2":case "ACTIVITY": + routeName = "/router/web_page"; + params["activityId"] = pushMap["info"]; + break; + case "3":case "SHOP": + routeName = "/router/store_order"; + params["id"] = pushMap["info"]; + params["tenant"] = pushMap["tenant"]; + params["storeName"] = pushMap["storeName"]; + break; + case "4":case "CREDIT_GOODS": + routeName = "/router/integral_store_page"; + params["goodsId"] = pushMap["info"]; + break; + case "5":case "ORDER": + routeName = "/router/order_details"; + params["id"] = pushMap["info"]; + break; + case "6":case "MEMBER": + routeName = "/router/community_details"; + params["businessId"] = pushMap["info"]; + break; + case "8":case "WALLET": + routeName = "/router/mine_wallet"; + params["id"] = pushMap["info"]; + break; + case "9":case "WELFARE": + routeName = "/router/welfare_page"; + params["id"] = pushMap["info"]; + break; } sharedPreferences.setString("pushData", ""); print("xgPushClickAction: routeName: $routeName"); diff --git a/lib/community/community_details.dart b/lib/community/community_details.dart index 84bce1f9..2d4ce3fd 100644 --- a/lib/community/community_details.dart +++ b/lib/community/community_details.dart @@ -51,7 +51,6 @@ class _CommunityDetails extends State 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 inputKey, hintText, isKeyBoardShow, - keyboard_height, keyboard, emojiShowing, commentFocus, diff --git a/lib/community/community_view/class_details.dart b/lib/community/community_view/class_details.dart index 1a1652fc..f1f5e2f9 100644 --- a/lib/community/community_view/class_details.dart +++ b/lib/community/community_view/class_details.dart @@ -55,7 +55,6 @@ class _ClassDetails extends State 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 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 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 with WidgetsBindingObserver { inputKey, hintText, isKeyBoardShow, - keyboard_height, keyboard, emojiShowing, commentFocus, diff --git a/lib/community/new_community_details.dart b/lib/community/new_community_details.dart index 5b904034..993222af 100644 --- a/lib/community/new_community_details.dart +++ b/lib/community/new_community_details.dart @@ -57,7 +57,6 @@ class _NewCommunityDetails extends State 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 with WidgetsBindin inputKey, hintText, isKeyBoardShow, - keyboard_height, keyboard, emojiShowing, commentFocus, diff --git a/lib/login/new_login_page.dart b/lib/login/new_login_page.dart index 4edfb2e4..78229327 100644 --- a/lib/login/new_login_page.dart +++ b/lib/login/new_login_page.dart @@ -416,7 +416,7 @@ class _NewLoginPage extends State { 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, diff --git a/lib/main.dart b/lib/main.dart index 236b1317..d3e6be7a 100644 --- a/lib/main.dart +++ b/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 routers = { ScanWeb(arguments:arguments), '/router/vip_pay_code': (context, {arguments}) => VipPayCode(), + '/router/system_notice': (context, {arguments}) => + SystemNotice(), }; diff --git a/lib/main_page.dart b/lib/main_page.dart index 85b3f8e2..18c3518f 100644 --- a/lib/main_page.dart +++ b/lib/main_page.dart @@ -57,7 +57,7 @@ class _MainPage extends State with WidgetsBindingObserver { final GlobalKey vipPageKey = GlobalKey(); // List iconn; ApiService apiService; - + int lastTime = DateTime.now().millisecondsSinceEpoch; @override void dispose() { @@ -73,8 +73,11 @@ class _MainPage extends State 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 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 with WidgetsBindingObserver { if (pushMap != null) { String routeName = ""; Map 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; diff --git a/lib/message/system_details.dart b/lib/message/system_details.dart index 8e4742e4..7e70d7f0 100644 --- a/lib/message/system_details.dart +++ b/lib/message/system_details.dart @@ -51,8 +51,7 @@ class _SystemDetails extends State { 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 { ? "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 { ? "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, ), diff --git a/lib/message/system_message.dart b/lib/message/system_message.dart index 48eeff31..7312b58b 100644 --- a/lib/message/system_message.dart +++ b/lib/message/system_message.dart @@ -154,6 +154,7 @@ class _SystemMessagePage extends State { // ), // ], // ), + backgroundColor: Colors.white, body: SmartRefresher( enablePullDown: true, enablePullUp: true, @@ -204,14 +205,13 @@ class _SystemMessagePage extends State { ), ), ), - 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 { ], ), ), - 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()), + ), + 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()), ), - buildMessage(), + // newsSurvey(), + // SizedBox( + // height: 16.h, + // ), + // buildMessage(), ], ), ), @@ -250,6 +298,84 @@ class _SystemMessagePage extends State { ); } + 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 { ? "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, ), diff --git a/lib/message/system_notice.dart b/lib/message/system_notice.dart new file mode 100644 index 00000000..47d23f30 --- /dev/null +++ b/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 createState() { + return _SystemNotice(); + } +} + +class _SystemNotice extends State { + ApiService apiService; + int pageNum = 1; + List 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> 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.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), + ), + ], + ), + ), + ], + ), + ], + ), + ); + } +} diff --git a/lib/mine/mine_view/mine_view.dart b/lib/mine/mine_view/mine_view.dart index e0292ffe..f8b5c7d0 100644 --- a/lib/mine/mine_view/mine_view.dart +++ b/lib/mine/mine_view/mine_view.dart @@ -76,6 +76,7 @@ class _MineView extends State { 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 { 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 { 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, ), ), ), diff --git a/lib/order/order_detail_page.dart b/lib/order/order_detail_page.dart index b12aefda..37d61db5 100644 --- a/lib/order/order_detail_page.dart +++ b/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 { 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"]; @@ -89,17 +90,20 @@ class _OrderDetailPage extends State { queryDetails() async { if (apiService == null) { - SharedPreferences value = await SharedPreferences.getInstance(); - apiService = ApiService( - Dio(), - context: context, - token: value.getString("token"), - showLoading: false - ); - } + SharedPreferences value = await SharedPreferences.getInstance(); + apiService = ApiService(Dio(), + context: context, + token: value.getString("token"), + showLoading: false); + } BaseData 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 { 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,14 +163,40 @@ class _OrderDetailPage extends State { leadingColor: Colors.white, brightness: Brightness.dark, ), - body: Container( - child: SingleChildScrollView( - physics: BouncingScrollPhysics(), - child: Container( - child: Column( - children: [ - ///订单状态显示 - OrderStatus( + 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(), + scrollController: ScrollController(), + child: Column( + children: [ + ///订单状态显示 + OrderStatus( + orderStatus, + isTakeOut, + sendStatus, + payStatus, + refundStatus, + title, + center, + orderInfo, + ), + + ///订单取货地址,或, 收货地址 + if(orderInfo != null && orderInfo.addressExt != null) + OrderAddress( orderStatus, isTakeOut, sendStatus, @@ -170,39 +204,24 @@ class _OrderDetailPage extends State { refundStatus, title, center, + paySelected, + _orderCancel, orderInfo, - ), - - ///订单取货地址,或, 收货地址 - if(orderInfo != null && orderInfo.addressExt != null) - OrderAddress( - orderStatus, - isTakeOut, - sendStatus, - payStatus, - refundStatus, - title, - center, - paySelected, - _orderCancel, - orderInfo, - jumpState - ), + jumpState + ), - ///订单商品 - if(orderInfo != null) - OrderCommodity(orderInfo), + ///订单商品 + if(orderInfo != null) + OrderCommodity(orderInfo), - ///显示订单信息 - if(orderInfo != null) - OrderInfoView(orderInfo, isTakeOut), + ///显示订单信息 + if(orderInfo != null) + OrderInfoView(orderInfo, isTakeOut), - Container( - height: 42.h, - ), - ], + Container( + height: 42.h, ), - ), + ], ), ), ) @@ -227,21 +246,26 @@ class _OrderDetailPage extends State { } } - 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 { } } } - if (orderStatus == 5) { + if (orderStatus == 5 || orderStatus == -1) { title = S.of(context).yiquxiao; center = S.of(context).yiquxiao; } @@ -521,10 +545,10 @@ class _OrderDetailPage extends State { if (baseData != null && baseData.isSuccess) { SmartDialog.showToast("订单取消成功"); // Future.delayed(Duration(milliseconds:450), () { - queryDetails(); + queryDetails(); // }); - }else{ - SmartDialog.showToast(baseData.msg,alignment: Alignment.center); + } else { + SmartDialog.showToast(baseData.msg, alignment: Alignment.center); } } diff --git a/lib/order/order_history_page.dart b/lib/order/order_history_page.dart index c65f5708..ae78e3d5 100644 --- a/lib/order/order_history_page.dart +++ b/lib/order/order_history_page.dart @@ -314,13 +314,10 @@ class _OrderHistoryList extends State // ), // ), // ), - 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 color: (orderInfo == null) ? Color(0xFF32A060) : (orderInfo.refundStatus == 1 || - orderInfo.orderStatus >= 5) + orderInfo.orderStatus == -1 || orderInfo.orderStatus >= 5) ? Colors.grey : (orderInfo.orderStatus == 4) ? Color(0xFF32A060) diff --git a/lib/order/order_view/order_status.dart b/lib/order/order_view/order_status.dart index 3d320c1f..595d6b23 100644 --- a/lib/order/order_view/order_status.dart +++ b/lib/order/order_view/order_status.dart @@ -142,7 +142,7 @@ class _OrderStatus extends State { 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) diff --git a/lib/union/location_map_page.dart b/lib/union/location_map_page.dart index cdc28cea..d63e223c 100644 --- a/lib/union/location_map_page.dart +++ b/lib/union/location_map_page.dart @@ -77,7 +77,7 @@ class _LocationMap extends State { ), 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 { zoomLevel: 12, ), onBMFMapCreated: onMapCreated, - ), + ) ), ); } diff --git a/lib/utils/flutter_utils.dart b/lib/utils/flutter_utils.dart index 9d061d16..61a85847 100644 --- a/lib/utils/flutter_utils.dart +++ b/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(); diff --git a/lib/utils/status_utils.dart b/lib/utils/status_utils.dart index 13b8c46f..fe58f78c 100644 --- a/lib/utils/status_utils.dart +++ b/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, diff --git a/lib/view_widget/classic_header.dart b/lib/view_widget/classic_header.dart index 1bb7cccc..c744ceef 100644 --- a/lib/view_widget/classic_header.dart +++ b/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, diff --git a/lib/view_widget/new_coupon_widget.dart b/lib/view_widget/new_coupon_widget.dart index bd3cbc32..4abeec11 100644 --- a/lib/view_widget/new_coupon_widget.dart +++ b/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, diff --git a/lib/web/web_page.dart b/lib/web/web_page.dart index 148e141d..48d27768 100644 --- a/lib/web/web_page.dart +++ b/lib/web/web_page.dart @@ -52,7 +52,6 @@ class _WebPage extends State 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 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 with WidgetsBindingObserver { inputKey, hintText, isKeyBoardShow, - keyboard_height, keyboard, emojiShowing, commentFocus, diff --git a/lib/web/web_view/input_comment.dart b/lib/web/web_view/input_comment.dart index 4a11f1ae..7f919d07 100644 --- a/lib/web/web_view/input_comment.dart +++ b/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, diff --git a/pubspec.lock b/pubspec.lock index caa771cd..5589cb7d 100644 --- a/pubspec.lock +++ b/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: