修改IM
This commit is contained in:
parent
46831e4b2a
commit
4d33af7c0a
BIN
circle_app/assets/images/home/icon_vip_android.png
Normal file
BIN
circle_app/assets/images/home/icon_vip_android.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 464 KiB |
@ -1,5 +1,5 @@
|
|||||||
# Uncomment this line to define a global platform for your project
|
# Uncomment this line to define a global platform for your project
|
||||||
# platform :ios, '11.0'
|
platform :ios, '12.0'
|
||||||
|
|
||||||
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
|
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
|
||||||
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
|
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
|
||||||
|
|||||||
@ -3,6 +3,9 @@ PODS:
|
|||||||
- Flutter
|
- Flutter
|
||||||
- camera_avfoundation (0.0.1):
|
- camera_avfoundation (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
|
- connectivity (0.0.1):
|
||||||
|
- Flutter
|
||||||
|
- Reachability
|
||||||
- device_info (0.0.1):
|
- device_info (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- device_info_plus (0.0.1):
|
- device_info_plus (0.0.1):
|
||||||
@ -56,9 +59,14 @@ PODS:
|
|||||||
- fluttertoast (0.0.2):
|
- fluttertoast (0.0.2):
|
||||||
- Flutter
|
- Flutter
|
||||||
- Toast
|
- Toast
|
||||||
|
- fluwx (0.0.1):
|
||||||
|
- Flutter
|
||||||
|
- WechatOpenSDK-XCFramework (~> 2.0.2)
|
||||||
- FMDB (2.7.5):
|
- FMDB (2.7.5):
|
||||||
- FMDB/standard (= 2.7.5)
|
- FMDB/standard (= 2.7.5)
|
||||||
- FMDB/standard (2.7.5)
|
- FMDB/standard (2.7.5)
|
||||||
|
- geolocator_apple (1.2.0):
|
||||||
|
- Flutter
|
||||||
- HydraAsync (2.0.6)
|
- HydraAsync (2.0.6)
|
||||||
- image_gallery_saver (1.5.0):
|
- image_gallery_saver (1.5.0):
|
||||||
- Flutter
|
- Flutter
|
||||||
@ -83,11 +91,12 @@ PODS:
|
|||||||
- path_provider_foundation (0.0.1):
|
- path_provider_foundation (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- FlutterMacOS
|
- FlutterMacOS
|
||||||
- permission_handler_apple (9.1.0):
|
- permission_handler_apple (9.1.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- photo_manager (2.0.0):
|
- photo_manager (2.0.0):
|
||||||
- Flutter
|
- Flutter
|
||||||
- FlutterMacOS
|
- FlutterMacOS
|
||||||
|
- Reachability (3.2)
|
||||||
- ReactiveObjC (3.1.1)
|
- ReactiveObjC (3.1.1)
|
||||||
- SDWebImage (5.16.0):
|
- SDWebImage (5.16.0):
|
||||||
- SDWebImage/Core (= 5.16.0)
|
- SDWebImage/Core (= 5.16.0)
|
||||||
@ -108,35 +117,42 @@ PODS:
|
|||||||
- TXIMSDK_Plus_iOS (>= 7.2.4146)
|
- TXIMSDK_Plus_iOS (>= 7.2.4146)
|
||||||
- tencent_cloud_uikit_core (0.0.1):
|
- tencent_cloud_uikit_core (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- TUICore (~> 7.2.4123)
|
- TUICore (~> 7.3.4358)
|
||||||
- tencent_open_file (0.0.1):
|
- tencent_open_file (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- Toast (4.0.0)
|
- Toast (4.0.0)
|
||||||
- TUICore (7.2.4146):
|
- TUICore (7.3.4358):
|
||||||
- ReactiveObjC
|
- ReactiveObjC
|
||||||
- SDWebImage
|
- SDWebImage
|
||||||
- TUICore/ImSDK_Plus (= 7.2.4146)
|
- TUICore/ImSDK_Plus (= 7.3.4358)
|
||||||
- TUICore/Base (7.2.4146):
|
- TUICore/Base (7.3.4358):
|
||||||
- ReactiveObjC
|
- ReactiveObjC
|
||||||
- SDWebImage
|
- SDWebImage
|
||||||
- TUICore/ImSDK_Plus (7.2.4146):
|
- TUICore/ImSDK_Plus (7.3.4358):
|
||||||
- ReactiveObjC
|
- ReactiveObjC
|
||||||
- SDWebImage
|
- SDWebImage
|
||||||
- TUICore/Base
|
- TUICore/Base
|
||||||
- TXIMSDK_Plus_iOS (= 7.2.4146)
|
- TXIMSDK_Plus_iOS (= 7.3.4358)
|
||||||
- TXIMSDK_Plus_iOS (7.2.4146)
|
- TXIMSDK_Plus_iOS (7.3.4358)
|
||||||
- url_launcher_ios (0.0.1):
|
- url_launcher_ios (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
|
- video_compress (0.3.0):
|
||||||
|
- Flutter
|
||||||
- video_player_avfoundation (0.0.1):
|
- video_player_avfoundation (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
|
- video_thumbnail (0.0.1):
|
||||||
|
- Flutter
|
||||||
|
- libwebp
|
||||||
- wakelock (0.0.1):
|
- wakelock (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- webview_flutter_wkwebview (0.0.1):
|
- webview_flutter_wkwebview (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
|
- WechatOpenSDK-XCFramework (2.0.2)
|
||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- audioplayers_darwin (from `.symlinks/plugins/audioplayers_darwin/ios`)
|
- audioplayers_darwin (from `.symlinks/plugins/audioplayers_darwin/ios`)
|
||||||
- camera_avfoundation (from `.symlinks/plugins/camera_avfoundation/ios`)
|
- camera_avfoundation (from `.symlinks/plugins/camera_avfoundation/ios`)
|
||||||
|
- connectivity (from `.symlinks/plugins/connectivity/ios`)
|
||||||
- device_info (from `.symlinks/plugins/device_info/ios`)
|
- device_info (from `.symlinks/plugins/device_info/ios`)
|
||||||
- device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
|
- device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
|
||||||
- disk_space (from `.symlinks/plugins/disk_space/ios`)
|
- disk_space (from `.symlinks/plugins/disk_space/ios`)
|
||||||
@ -146,6 +162,8 @@ DEPENDENCIES:
|
|||||||
- flutter_image_compress (from `.symlinks/plugins/flutter_image_compress/ios`)
|
- flutter_image_compress (from `.symlinks/plugins/flutter_image_compress/ios`)
|
||||||
- flutter_plugin_record_plus (from `.symlinks/plugins/flutter_plugin_record_plus/ios`)
|
- flutter_plugin_record_plus (from `.symlinks/plugins/flutter_plugin_record_plus/ios`)
|
||||||
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
|
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
|
||||||
|
- fluwx (from `.symlinks/plugins/fluwx/ios`)
|
||||||
|
- geolocator_apple (from `.symlinks/plugins/geolocator_apple/ios`)
|
||||||
- image_gallery_saver (from `.symlinks/plugins/image_gallery_saver/ios`)
|
- image_gallery_saver (from `.symlinks/plugins/image_gallery_saver/ios`)
|
||||||
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
||||||
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
|
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
|
||||||
@ -159,7 +177,9 @@ DEPENDENCIES:
|
|||||||
- tencent_cloud_uikit_core (from `.symlinks/plugins/tencent_cloud_uikit_core/ios`)
|
- tencent_cloud_uikit_core (from `.symlinks/plugins/tencent_cloud_uikit_core/ios`)
|
||||||
- tencent_open_file (from `.symlinks/plugins/tencent_open_file/ios`)
|
- tencent_open_file (from `.symlinks/plugins/tencent_open_file/ios`)
|
||||||
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
||||||
|
- video_compress (from `.symlinks/plugins/video_compress/ios`)
|
||||||
- video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/ios`)
|
- video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/ios`)
|
||||||
|
- video_thumbnail (from `.symlinks/plugins/video_thumbnail/ios`)
|
||||||
- wakelock (from `.symlinks/plugins/wakelock/ios`)
|
- wakelock (from `.symlinks/plugins/wakelock/ios`)
|
||||||
- webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/ios`)
|
- webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/ios`)
|
||||||
|
|
||||||
@ -171,6 +191,7 @@ SPEC REPOS:
|
|||||||
- HydraAsync
|
- HydraAsync
|
||||||
- libwebp
|
- libwebp
|
||||||
- Mantle
|
- Mantle
|
||||||
|
- Reachability
|
||||||
- ReactiveObjC
|
- ReactiveObjC
|
||||||
- SDWebImage
|
- SDWebImage
|
||||||
- SDWebImageWebPCoder
|
- SDWebImageWebPCoder
|
||||||
@ -178,12 +199,15 @@ SPEC REPOS:
|
|||||||
- Toast
|
- Toast
|
||||||
- TUICore
|
- TUICore
|
||||||
- TXIMSDK_Plus_iOS
|
- TXIMSDK_Plus_iOS
|
||||||
|
- WechatOpenSDK-XCFramework
|
||||||
|
|
||||||
EXTERNAL SOURCES:
|
EXTERNAL SOURCES:
|
||||||
audioplayers_darwin:
|
audioplayers_darwin:
|
||||||
:path: ".symlinks/plugins/audioplayers_darwin/ios"
|
:path: ".symlinks/plugins/audioplayers_darwin/ios"
|
||||||
camera_avfoundation:
|
camera_avfoundation:
|
||||||
:path: ".symlinks/plugins/camera_avfoundation/ios"
|
:path: ".symlinks/plugins/camera_avfoundation/ios"
|
||||||
|
connectivity:
|
||||||
|
:path: ".symlinks/plugins/connectivity/ios"
|
||||||
device_info:
|
device_info:
|
||||||
:path: ".symlinks/plugins/device_info/ios"
|
:path: ".symlinks/plugins/device_info/ios"
|
||||||
device_info_plus:
|
device_info_plus:
|
||||||
@ -202,6 +226,10 @@ EXTERNAL SOURCES:
|
|||||||
:path: ".symlinks/plugins/flutter_plugin_record_plus/ios"
|
:path: ".symlinks/plugins/flutter_plugin_record_plus/ios"
|
||||||
fluttertoast:
|
fluttertoast:
|
||||||
:path: ".symlinks/plugins/fluttertoast/ios"
|
:path: ".symlinks/plugins/fluttertoast/ios"
|
||||||
|
fluwx:
|
||||||
|
:path: ".symlinks/plugins/fluwx/ios"
|
||||||
|
geolocator_apple:
|
||||||
|
:path: ".symlinks/plugins/geolocator_apple/ios"
|
||||||
image_gallery_saver:
|
image_gallery_saver:
|
||||||
:path: ".symlinks/plugins/image_gallery_saver/ios"
|
:path: ".symlinks/plugins/image_gallery_saver/ios"
|
||||||
image_picker_ios:
|
image_picker_ios:
|
||||||
@ -228,8 +256,12 @@ EXTERNAL SOURCES:
|
|||||||
:path: ".symlinks/plugins/tencent_open_file/ios"
|
:path: ".symlinks/plugins/tencent_open_file/ios"
|
||||||
url_launcher_ios:
|
url_launcher_ios:
|
||||||
:path: ".symlinks/plugins/url_launcher_ios/ios"
|
:path: ".symlinks/plugins/url_launcher_ios/ios"
|
||||||
|
video_compress:
|
||||||
|
:path: ".symlinks/plugins/video_compress/ios"
|
||||||
video_player_avfoundation:
|
video_player_avfoundation:
|
||||||
:path: ".symlinks/plugins/video_player_avfoundation/ios"
|
:path: ".symlinks/plugins/video_player_avfoundation/ios"
|
||||||
|
video_thumbnail:
|
||||||
|
:path: ".symlinks/plugins/video_thumbnail/ios"
|
||||||
wakelock:
|
wakelock:
|
||||||
:path: ".symlinks/plugins/wakelock/ios"
|
:path: ".symlinks/plugins/wakelock/ios"
|
||||||
webview_flutter_wkwebview:
|
webview_flutter_wkwebview:
|
||||||
@ -238,6 +270,7 @@ EXTERNAL SOURCES:
|
|||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
audioplayers_darwin: 877d9a4d06331c5c374595e46e16453ac7eafa40
|
audioplayers_darwin: 877d9a4d06331c5c374595e46e16453ac7eafa40
|
||||||
camera_avfoundation: 3125e8cd1a4387f6f31c6c63abb8a55892a9eeeb
|
camera_avfoundation: 3125e8cd1a4387f6f31c6c63abb8a55892a9eeeb
|
||||||
|
connectivity: c4130b2985d4ef6fd26f9702e886bd5260681467
|
||||||
device_info: d7d233b645a32c40dfdc212de5cf646ca482f175
|
device_info: d7d233b645a32c40dfdc212de5cf646ca482f175
|
||||||
device_info_plus: e5c5da33f982a436e103237c0c85f9031142abed
|
device_info_plus: e5c5da33f982a436e103237c0c85f9031142abed
|
||||||
disk_space: e94d34bbdf77954adfb39e60bde9cc5c7233eda6
|
disk_space: e94d34bbdf77954adfb39e60bde9cc5c7233eda6
|
||||||
@ -249,7 +282,9 @@ SPEC CHECKSUMS:
|
|||||||
flutter_image_compress: 5a5e9aee05b6553048b8df1c3bc456d0afaac433
|
flutter_image_compress: 5a5e9aee05b6553048b8df1c3bc456d0afaac433
|
||||||
flutter_plugin_record_plus: 79b8e13ee7ed9a94f6c067018653599528cee1fc
|
flutter_plugin_record_plus: 79b8e13ee7ed9a94f6c067018653599528cee1fc
|
||||||
fluttertoast: fafc4fa4d01a6a9e4f772ecd190ffa525e9e2d9c
|
fluttertoast: fafc4fa4d01a6a9e4f772ecd190ffa525e9e2d9c
|
||||||
|
fluwx: e9e728cfdb80e82dac5f4ff974b1901a7939dcd0
|
||||||
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
|
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
|
||||||
|
geolocator_apple: cc556e6844d508c95df1e87e3ea6fa4e58c50401
|
||||||
HydraAsync: 8d589bd725b0224f899afafc9a396327405f8063
|
HydraAsync: 8d589bd725b0224f899afafc9a396327405f8063
|
||||||
image_gallery_saver: 259eab68fb271cfd57d599904f7acdc7832e7ef2
|
image_gallery_saver: 259eab68fb271cfd57d599904f7acdc7832e7ef2
|
||||||
image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5
|
image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5
|
||||||
@ -257,26 +292,30 @@ SPEC CHECKSUMS:
|
|||||||
Mantle: c5aa8794a29a022dfbbfc9799af95f477a69b62d
|
Mantle: c5aa8794a29a022dfbbfc9799af95f477a69b62d
|
||||||
package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e
|
package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e
|
||||||
pasteboard: 982969ebaa7c78af3e6cc7761e8f5e77565d9ce0
|
pasteboard: 982969ebaa7c78af3e6cc7761e8f5e77565d9ce0
|
||||||
path_provider_foundation: eaf5b3e458fc0e5fbb9940fb09980e853fe058b8
|
path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
|
||||||
permission_handler_apple: 8f116445eff3c0e7c65ad60f5fef5490aa94b4e4
|
permission_handler_apple: e76247795d700c14ea09e3a2d8855d41ee80a2e6
|
||||||
photo_manager: 4f6810b7dfc4feb03b461ac1a70dacf91fba7604
|
photo_manager: 4f6810b7dfc4feb03b461ac1a70dacf91fba7604
|
||||||
|
Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96
|
||||||
ReactiveObjC: 011caa393aa0383245f2dcf9bf02e86b80b36040
|
ReactiveObjC: 011caa393aa0383245f2dcf9bf02e86b80b36040
|
||||||
SDWebImage: 2aea163b50bfcb569a2726b6a754c54a4506fcf6
|
SDWebImage: 2aea163b50bfcb569a2726b6a754c54a4506fcf6
|
||||||
SDWebImageWebPCoder: f0f287cee4cd96a59937fbf3c77a8cfda9ba67b0
|
SDWebImageWebPCoder: f0f287cee4cd96a59937fbf3c77a8cfda9ba67b0
|
||||||
shared_preferences_foundation: e2dae3258e06f44cc55f49d42024fd8dd03c590c
|
shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126
|
||||||
sqflite: 31f7eba61e3074736dff8807a9b41581e4f7f15a
|
sqflite: 31f7eba61e3074736dff8807a9b41581e4f7f15a
|
||||||
SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f
|
SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f
|
||||||
tencent_cloud_chat_sdk: 8a2bceccaf81e7f922e7b6509ab93c39c3884dda
|
tencent_cloud_chat_sdk: 8a2bceccaf81e7f922e7b6509ab93c39c3884dda
|
||||||
tencent_cloud_uikit_core: d9ec9de7506192ad4af806eab14f2f6d6dd35b01
|
tencent_cloud_uikit_core: c8f580dffd1be47b5e5514b1dd8ba35506c4a560
|
||||||
tencent_open_file: 1261db508715b8f43ef3b7e31c90824838038165
|
tencent_open_file: 1261db508715b8f43ef3b7e31c90824838038165
|
||||||
Toast: 91b396c56ee72a5790816f40d3a94dd357abc196
|
Toast: 91b396c56ee72a5790816f40d3a94dd357abc196
|
||||||
TUICore: 4133d303a749d5c29aa1f7e03f5d787855b2c4e9
|
TUICore: b0e525287eb03f95fe648a696c9ffb253fc87098
|
||||||
TXIMSDK_Plus_iOS: 560464285b93add271d5fd7a2a26434293821c11
|
TXIMSDK_Plus_iOS: bc72c7cec1b5e975c3cc6629692c849513a932f5
|
||||||
url_launcher_ios: 08a3dfac5fb39e8759aeb0abbd5d9480f30fc8b4
|
url_launcher_ios: 08a3dfac5fb39e8759aeb0abbd5d9480f30fc8b4
|
||||||
|
video_compress: fce97e4fb1dfd88175aa07d2ffc8a2f297f87fbe
|
||||||
video_player_avfoundation: 81e49bb3d9fb63dccf9fa0f6d877dc3ddbeac126
|
video_player_avfoundation: 81e49bb3d9fb63dccf9fa0f6d877dc3ddbeac126
|
||||||
|
video_thumbnail: c4e2a3c539e247d4de13cd545344fd2d26ffafd1
|
||||||
wakelock: d0fc7c864128eac40eba1617cb5264d9c940b46f
|
wakelock: d0fc7c864128eac40eba1617cb5264d9c940b46f
|
||||||
webview_flutter_wkwebview: 2e2d318f21a5e036e2c3f26171342e95908bd60a
|
webview_flutter_wkwebview: 2e2d318f21a5e036e2c3f26171342e95908bd60a
|
||||||
|
WechatOpenSDK-XCFramework: acdeeda129efbef9532bca8a10c24e1b4b8c7d69
|
||||||
|
|
||||||
PODFILE CHECKSUM: 9f3fe3e871b4a811f0f2f55cc60906d65b3d629e
|
PODFILE CHECKSUM: 09e094488be8e69887949b64bfbb08a8be3d1fc1
|
||||||
|
|
||||||
COCOAPODS: 1.11.3
|
COCOAPODS: 1.11.3
|
||||||
|
|||||||
@ -360,6 +360,7 @@
|
|||||||
DEVELOPMENT_TEAM = C97QBVP4DP;
|
DEVELOPMENT_TEAM = C97QBVP4DP;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
INFOPLIST_FILE = Runner/Info.plist;
|
INFOPLIST_FILE = Runner/Info.plist;
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
|
||||||
LD_RUNPATH_SEARCH_PATHS = (
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
@ -494,6 +495,7 @@
|
|||||||
DEVELOPMENT_TEAM = C97QBVP4DP;
|
DEVELOPMENT_TEAM = C97QBVP4DP;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
INFOPLIST_FILE = Runner/Info.plist;
|
INFOPLIST_FILE = Runner/Info.plist;
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
|
||||||
LD_RUNPATH_SEARCH_PATHS = (
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
@ -522,6 +524,7 @@
|
|||||||
DEVELOPMENT_TEAM = C97QBVP4DP;
|
DEVELOPMENT_TEAM = C97QBVP4DP;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
INFOPLIST_FILE = Runner/Info.plist;
|
INFOPLIST_FILE = Runner/Info.plist;
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
|
||||||
LD_RUNPATH_SEARCH_PATHS = (
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
|
|||||||
@ -2,6 +2,8 @@
|
|||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
|
<key>App Transport Security Settings </key>
|
||||||
|
<true/>
|
||||||
<key>NSLocationWhenInUseUsageDescription</key>
|
<key>NSLocationWhenInUseUsageDescription</key>
|
||||||
<string>应用想要访问您的位置,用于设置个人资料</string>
|
<string>应用想要访问您的位置,用于设置个人资料</string>
|
||||||
<key>NSLocationAlwaysUsageDescription</key>
|
<key>NSLocationAlwaysUsageDescription</key>
|
||||||
|
|||||||
@ -1,4 +1,6 @@
|
|||||||
import 'package:flutter_install_app/flutter_install_app.dart';
|
// import 'package:flutter_install_app/flutter_install_app.dart';
|
||||||
|
import 'package:dio/dio.dart';
|
||||||
|
// import 'package:flutter_install_app/flutter_install_app.dart';
|
||||||
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
@ -40,7 +42,7 @@ class AboutappLogic extends GetxController {
|
|||||||
// SmartDialog.dismiss();
|
// SmartDialog.dismiss();
|
||||||
// print(error);
|
// print(error);
|
||||||
// });
|
// });
|
||||||
await AppInstaller.installApk(filePath, actionRequired: false);
|
// await AppInstaller.installApk(filePath, actionRequired: false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
import 'package:circle_app/main.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|||||||
@ -36,6 +36,7 @@ class BlacklistPage extends StatelessWidget {
|
|||||||
controller: logic.refreshController,
|
controller: logic.refreshController,
|
||||||
onRefresh: _onRefresh,
|
onRefresh: _onRefresh,
|
||||||
onLoading: _onLoading,
|
onLoading: _onLoading,
|
||||||
|
enablePullUp: true,
|
||||||
child: ListView.builder(
|
child: ListView.builder(
|
||||||
|
|
||||||
itemCount: logic.lists.length,
|
itemCount: logic.lists.length,
|
||||||
|
|||||||
@ -3,9 +3,12 @@ import 'dart:math';
|
|||||||
|
|
||||||
import 'package:circle_app/app/chat/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_text_elem.dart';
|
import 'package:circle_app/app/chat/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_text_elem.dart';
|
||||||
import 'package:circle_app/app/chat/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_merger_message_elem.dart';
|
import 'package:circle_app/app/chat/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_merger_message_elem.dart';
|
||||||
|
import 'package:circle_app/util/util.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/gestures.dart';
|
import 'package:flutter/gestures.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
import 'package:loading_animation_widget/loading_animation_widget.dart';
|
import 'package:loading_animation_widget/loading_animation_widget.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:tencent_cloud_chat_uikit/data_services/core/tim_uikit_wide_modal_operation_key.dart';
|
import 'package:tencent_cloud_chat_uikit/data_services/core/tim_uikit_wide_modal_operation_key.dart';
|
||||||
@ -396,6 +399,68 @@ class _TIMUIKItHistoryMessageListItemState
|
|||||||
() => model.jumpMsgID = "",
|
() => model.jumpMsgID = "",
|
||||||
)!;
|
)!;
|
||||||
}
|
}
|
||||||
|
if (messageItem.customElem?.extension?.contains('cardData') ?? false) {
|
||||||
|
Map info = jsonDecode(messageItem.customElem?.data ?? '');
|
||||||
|
return Container(
|
||||||
|
height: info.containsKey('city') ? 175 : 140,
|
||||||
|
width: Get.width,
|
||||||
|
|
||||||
|
margin: EdgeInsets.only(left: 20),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
image: DecorationImage(
|
||||||
|
fit: BoxFit.fill,
|
||||||
|
image: AssetImage(
|
||||||
|
getCircleImage('pic_bg'),
|
||||||
|
))),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
padding: EdgeInsets.only(left: 12,right: 12),
|
||||||
|
// height: 60,
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
if (info.containsKey('city'))
|
||||||
|
Container(
|
||||||
|
margin: EdgeInsets.only(top: 10),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
margin: EdgeInsets.only(right: 5),width: 3,height: 3,decoration: BoxDecoration(borderRadius: BorderRadius.circular(1.5),color: Color(0xFF00FFF4)),),
|
||||||
|
Text(info['city'],style: TextStyle(color: Colors.white,fontSize: 14,fontWeight: FontWeight.w500),)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
if (info.containsKey('both_interests'))
|
||||||
|
Container(
|
||||||
|
margin: EdgeInsets.only(top: 16),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
margin: EdgeInsets.only(right: 5),width: 3,height: 3,decoration: BoxDecoration(borderRadius: BorderRadius.circular(1.5),color: Color(0xFF00FFF4)),),
|
||||||
|
Text(info['both_interests'],style: TextStyle(color: Colors.white,fontSize: 14,fontWeight: FontWeight.w500),)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Container(
|
||||||
|
margin: EdgeInsets.only(top: 10,bottom: 10),
|
||||||
|
alignment: Alignment.centerLeft,
|
||||||
|
child: Text(isFromSelf ? info['user']['signature'] : info['my']['signature'],style: TextStyle(color: Colors.white,fontSize: 14,fontWeight: FontWeight.w500),maxLines: 2,overflow: TextOverflow.ellipsis,),
|
||||||
|
),
|
||||||
|
Image.asset(
|
||||||
|
getCircleImage('line'),
|
||||||
|
width: Get.width,
|
||||||
|
fit: BoxFit.fill,
|
||||||
|
),
|
||||||
|
interestWdiget(isFromSelf ? info['interests'] : info['myInterests'])
|
||||||
|
],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return TIMUIKitCustomElem(
|
return TIMUIKitCustomElem(
|
||||||
message: messageItem,
|
message: messageItem,
|
||||||
customElem: messageItem.customElem,
|
customElem: messageItem.customElem,
|
||||||
@ -580,6 +645,58 @@ class _TIMUIKItHistoryMessageListItemState
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interestWdiget(List data) {
|
||||||
|
return Container(
|
||||||
|
// color: Colors.red,
|
||||||
|
alignment: Alignment.centerLeft,
|
||||||
|
height: 49.sp,
|
||||||
|
width: Get.width,
|
||||||
|
child: ListView.builder(
|
||||||
|
scrollDirection: Axis.horizontal,
|
||||||
|
itemCount: data.length,
|
||||||
|
padding: EdgeInsets.symmetric(vertical: 11.sp),
|
||||||
|
itemBuilder: (context, index) {
|
||||||
|
return Container(
|
||||||
|
margin: EdgeInsets.only(right: 11.sp), // 替换为实际的 item 间距
|
||||||
|
child: Container(
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
borderRadius: BorderRadius.circular(17.0), // 设置圆角半径
|
||||||
|
gradient: LinearGradient(
|
||||||
|
colors: [
|
||||||
|
Color(0xFF06F9FA),
|
||||||
|
Color(0xFFDC5BFD),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
color: Color(0xFF392D53),
|
||||||
|
),
|
||||||
|
child: Container(
|
||||||
|
margin: EdgeInsets.all(0.5.sp),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
borderRadius: BorderRadius.circular(17.0),
|
||||||
|
// shape: BoxShape.circle,
|
||||||
|
color: Color(0xFF392D53),
|
||||||
|
),
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets.only(
|
||||||
|
top: 2.sp, bottom: 2.sp, left: 15.sp, right: 15.sp),
|
||||||
|
child: Center(
|
||||||
|
child: Text(
|
||||||
|
data[index]['title'],
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 11.0,
|
||||||
|
color: Colors.white,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
), // 替换为实际的列表项小部件
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
Widget _groupTipsMessageBuilder(TUIChatSeparateViewModel model) {
|
Widget _groupTipsMessageBuilder(TUIChatSeparateViewModel model) {
|
||||||
final messageItem = widget.message;
|
final messageItem = widget.message;
|
||||||
return Container(
|
return Container(
|
||||||
@ -1233,12 +1350,16 @@ class _TIMUIKItHistoryMessageListItemState
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: Row(
|
child:
|
||||||
|
(message.customElem?.extension?.contains('cardData') ?? false) ? _getMessageItemBuilder(message, 1, model) : Row(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
mainAxisAlignment: isSelf
|
mainAxisAlignment: isSelf
|
||||||
? MainAxisAlignment.end
|
? MainAxisAlignment.end
|
||||||
: MainAxisAlignment.start,
|
: MainAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (!isSelf && widget.showAvatar)
|
if (!isSelf && widget.showAvatar)
|
||||||
InkWell(
|
InkWell(
|
||||||
onLongPress: () {
|
onLongPress: () {
|
||||||
@ -1321,7 +1442,7 @@ class _TIMUIKItHistoryMessageListItemState
|
|||||||
Row(
|
Row(
|
||||||
crossAxisAlignment: CrossAxisAlignment.end,
|
crossAxisAlignment: CrossAxisAlignment.end,
|
||||||
children: [
|
children: [
|
||||||
if (isSelf)
|
if (isSelf && message.elemType != 2)
|
||||||
renderHoverTipAndReadStatus(model, isSelf,
|
renderHoverTipAndReadStatus(model, isSelf,
|
||||||
message, isPeerRead, theme),
|
message, isPeerRead, theme),
|
||||||
Container(
|
Container(
|
||||||
@ -1408,7 +1529,7 @@ class _TIMUIKItHistoryMessageListItemState
|
|||||||
left: 5, bottom: 12),
|
left: 5, bottom: 12),
|
||||||
child: Icon(Icons.circle,
|
child: Icon(Icons.circle,
|
||||||
color: theme.cautionColor, size: 10)),
|
color: theme.cautionColor, size: 10)),
|
||||||
if (!isSelf)
|
if (!isSelf && message.elemType != 2)
|
||||||
renderHoverTipAndReadStatus(model, isSelf,
|
renderHoverTipAndReadStatus(model, isSelf,
|
||||||
message, isPeerRead, theme),
|
message, isPeerRead, theme),
|
||||||
],
|
],
|
||||||
@ -1426,7 +1547,7 @@ class _TIMUIKItHistoryMessageListItemState
|
|||||||
size: 20,
|
size: 20,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
if (isSelf && widget.showAvatar)
|
if (isSelf && widget.showAvatar && message.elemType != 2)
|
||||||
widget.userAvatarBuilder != null
|
widget.userAvatarBuilder != null
|
||||||
? widget.userAvatarBuilder!(context, message)
|
? widget.userAvatarBuilder!(context, message)
|
||||||
: SizedBox(
|
: SizedBox(
|
||||||
|
|||||||
@ -364,7 +364,7 @@ class _TUIChatState extends TIMUIKitState<TIMChat> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return bgWidget(context, GestureDetector(
|
return BgWidget(widget:GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
textFieldController.hideAllPanel();
|
textFieldController.hideAllPanel();
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import 'package:cached_network_image/cached_network_image.dart';
|
import 'package:cached_network_image/cached_network_image.dart';
|
||||||
import 'package:circle_app/app/chat/TIMUIKitChat/tim_uikit_chat.dart';
|
import 'package:circle_app/app/chat/TIMUIKitChat/tim_uikit_chat.dart';
|
||||||
import 'package:circle_app/components/my_app_bar.dart';
|
import 'package:circle_app/components/my_app_bar.dart';
|
||||||
|
import 'package:circle_app/router/app_routers.dart';
|
||||||
import 'package:circle_app/util/util.dart';
|
import 'package:circle_app/util/util.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
@ -82,6 +83,9 @@ class ChatPage extends StatelessWidget {
|
|||||||
customAppBar: MyAppBar(
|
customAppBar: MyAppBar(
|
||||||
centerTitle: logic.selectedConversation!.showName!,
|
centerTitle: logic.selectedConversation!.showName!,
|
||||||
actionWdiget: GestureDetector(
|
actionWdiget: GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
Get.toNamed(AppRoutes.UserInfoActivity,arguments: logic.selectedConversation!.userID.toString().split('_').last);
|
||||||
|
},
|
||||||
child: Text('TA的主页',style: TextStyle(color: Color(0xFF00FFF4),fontSize:12.sp,fontWeight: FontWeight.w500),),
|
child: Text('TA的主页',style: TextStyle(color: Color(0xFF00FFF4),fontSize:12.sp,fontWeight: FontWeight.w500),),
|
||||||
),
|
),
|
||||||
onPressed: () {},
|
onPressed: () {},
|
||||||
@ -89,6 +93,7 @@ class ChatPage extends StatelessWidget {
|
|||||||
userAvatarBuilder: (BuildContext context, V2TimMessage message) {
|
userAvatarBuilder: (BuildContext context, V2TimMessage message) {
|
||||||
return avatarWidget(message.faceUrl ?? 'http://qiniuyun.ikuayou.com/avatar/default/default_header.png');
|
return avatarWidget(message.faceUrl ?? 'http://qiniuyun.ikuayou.com/avatar/default/default_header.png');
|
||||||
},
|
},
|
||||||
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,13 +1,14 @@
|
|||||||
|
import 'package:circle_app/main.dart';
|
||||||
import 'package:circle_app/router/app_routers.dart';
|
import 'package:circle_app/router/app_routers.dart';
|
||||||
import 'package:circle_app/util/util.dart';
|
import 'package:circle_app/util/util.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
import '../../network/api.dart';
|
import '../../network/api.dart';
|
||||||
import '../../network/dio_manager.dart';
|
import '../../network/dio_manager.dart';
|
||||||
import 'state.dart';
|
import 'state.dart';
|
||||||
|
|
||||||
class CircleLogic extends GetxController {
|
class CircleLogic extends GetxController {
|
||||||
|
|
||||||
PageController pageController =
|
PageController pageController =
|
||||||
PageController(initialPage: 1, viewportFraction: 0.8);
|
PageController(initialPage: 1, viewportFraction: 0.8);
|
||||||
InterestsBean circle = InterestsBean(lists: []);
|
InterestsBean circle = InterestsBean(lists: []);
|
||||||
@ -74,6 +75,20 @@ class CircleLogic extends GetxController {
|
|||||||
Get.toNamed(AppRoutes.UserInfoActivity, arguments: userId);
|
Get.toNamed(AppRoutes.UserInfoActivity, arguments: userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void getPipeiData() async {
|
||||||
|
var data = await DioManager.instance
|
||||||
|
.get(url: Api.getMatch);
|
||||||
|
if(data['code'] == 200) {
|
||||||
|
//发送消息
|
||||||
|
bool isSuccess = await createCustomMsg(data['data']['account_id'].toString().split('_').last,data['data']['account_id']);
|
||||||
|
if (!isSuccess) {
|
||||||
|
await sendTextMsg(data['data']['account_id']);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
showToast(data['msg']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -86,7 +86,7 @@ class _CirclePageState extends State<CirclePage>
|
|||||||
List<MyConfigData> numbers = [];
|
List<MyConfigData> numbers = [];
|
||||||
numbers.add(MyConfigData(
|
numbers.add(MyConfigData(
|
||||||
logic.getCircleIndex().id.toString(),
|
logic.getCircleIndex().id.toString(),
|
||||||
logic.getCircleIndex().title,
|
logic.getCircleIndex().title!,
|
||||||
false));
|
false));
|
||||||
var data = await Get.toNamed(AppRoutes.Call_out, arguments: {'numbers': numbers});
|
var data = await Get.toNamed(AppRoutes.Call_out, arguments: {'numbers': numbers});
|
||||||
|
|
||||||
@ -371,7 +371,7 @@ class _CirclePageState extends State<CirclePage>
|
|||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Navigator.pop(context);
|
Navigator.pop(context);
|
||||||
logic.outCircle(bean.id.toString(), bean.isJoin);
|
logic.outCircle(bean.id.toString(), bean.isJoin!);
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
margin: EdgeInsets.only(top: 24.sp),
|
margin: EdgeInsets.only(top: 24.sp),
|
||||||
|
|||||||
@ -176,7 +176,7 @@ class _InfoListViewState extends State<InfoListView> with AutomaticKeepAliveClie
|
|||||||
var data = await DioManager.instance.get(
|
var data = await DioManager.instance.get(
|
||||||
url: "/up-service/callout/${bean.id}/chat",);
|
url: "/up-service/callout/${bean.id}/chat",);
|
||||||
if (data["code"] == 200) {
|
if (data["code"] == 200) {
|
||||||
pushChatPage(data['data']['account_id'], bean.user!.nickname!);
|
pushChatPage(data['data']['account_id'],data['data']['account_id'], bean.user!.nickname!);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -35,6 +35,7 @@ class FriendslistPage extends StatelessWidget {
|
|||||||
controller: logic.refreshController,
|
controller: logic.refreshController,
|
||||||
onRefresh: _onRefresh,
|
onRefresh: _onRefresh,
|
||||||
onLoading: _onLoading,
|
onLoading: _onLoading,
|
||||||
|
enablePullUp: true,
|
||||||
child: ListView.builder(
|
child: ListView.builder(
|
||||||
padding: EdgeInsets.all(10.sp),
|
padding: EdgeInsets.all(10.sp),
|
||||||
itemCount: logic.lists.length,
|
itemCount: logic.lists.length,
|
||||||
|
|||||||
@ -39,6 +39,7 @@ class LikelistPage extends StatelessWidget {
|
|||||||
controller: logic.refreshController,
|
controller: logic.refreshController,
|
||||||
onRefresh: _onRefresh,
|
onRefresh: _onRefresh,
|
||||||
onLoading: _onLoading,
|
onLoading: _onLoading,
|
||||||
|
enablePullUp: true,
|
||||||
child: ListView.builder(
|
child: ListView.builder(
|
||||||
padding: EdgeInsets.all(10.sp),
|
padding: EdgeInsets.all(10.sp),
|
||||||
itemCount: logic.lists.length,
|
itemCount: logic.lists.length,
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
// ignore_for_file: empty_catches
|
// ignore_for_file: empty_catches
|
||||||
|
|
||||||
import 'package:cached_network_image/cached_network_image.dart';
|
import 'package:cached_network_image/cached_network_image.dart';
|
||||||
|
import 'package:circle_app/app/msg/TIMUIKitConversation/tim_uikit_conversation_last_msg.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:tencent_cloud_chat_uikit/ui/utils/screen_utils.dart';
|
import 'package:tencent_cloud_chat_uikit/ui/utils/screen_utils.dart';
|
||||||
import 'package:tencent_cloud_chat_uikit/ui/views/TIMUIKitConversation/tim_uikit_conversation_item.dart';
|
import 'package:tencent_cloud_chat_uikit/ui/views/TIMUIKitConversation/tim_uikit_conversation_item.dart';
|
||||||
@ -67,7 +68,7 @@ class TIMConversationItem extends TIMUIKitStatelessWidget {
|
|||||||
lastMessageBuilder!(lastMsg, groupAtInfoList) != null) {
|
lastMessageBuilder!(lastMsg, groupAtInfoList) != null) {
|
||||||
return lastMessageBuilder!(lastMsg, groupAtInfoList)!;
|
return lastMessageBuilder!(lastMsg, groupAtInfoList)!;
|
||||||
}
|
}
|
||||||
return TIMUIKitLastMsg(
|
return TIMLastMsg(
|
||||||
fontSize: isDesktopScreen ? 12 : 14,
|
fontSize: isDesktopScreen ? 12 : 14,
|
||||||
groupAtInfoList: groupAtInfoList,
|
groupAtInfoList: groupAtInfoList,
|
||||||
lastMsg: lastMsg,
|
lastMsg: lastMsg,
|
||||||
|
|||||||
@ -9,13 +9,13 @@ import 'package:tencent_cloud_chat_uikit/ui/utils/message.dart';
|
|||||||
import 'package:tencent_cloud_chat_uikit/base_widgets/tim_ui_kit_base.dart';
|
import 'package:tencent_cloud_chat_uikit/base_widgets/tim_ui_kit_base.dart';
|
||||||
import 'package:tencent_im_base/tencent_im_base.dart';
|
import 'package:tencent_im_base/tencent_im_base.dart';
|
||||||
|
|
||||||
class TIMUIKitLastMsg extends StatefulWidget {
|
class TIMLastMsg extends StatefulWidget {
|
||||||
final V2TimMessage? lastMsg;
|
final V2TimMessage? lastMsg;
|
||||||
final List<V2TimGroupAtInfo?> groupAtInfoList;
|
final List<V2TimGroupAtInfo?> groupAtInfoList;
|
||||||
final BuildContext context;
|
final BuildContext context;
|
||||||
final double fontSize;
|
final double fontSize;
|
||||||
|
|
||||||
const TIMUIKitLastMsg(
|
const TIMLastMsg(
|
||||||
{Key? key,
|
{Key? key,
|
||||||
this.lastMsg,
|
this.lastMsg,
|
||||||
required this.groupAtInfoList,
|
required this.groupAtInfoList,
|
||||||
@ -24,10 +24,10 @@ class TIMUIKitLastMsg extends StatefulWidget {
|
|||||||
: super(key: key);
|
: super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<TIMUIKitLastMsg> createState() => _TIMUIKitLastMsgState();
|
State<TIMLastMsg> createState() => _TIMLastMsgState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _TIMUIKitLastMsgState extends TIMUIKitState<TIMUIKitLastMsg> {
|
class _TIMLastMsgState extends TIMUIKitState<TIMLastMsg> {
|
||||||
String groupTipsAbstractText = "";
|
String groupTipsAbstractText = "";
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -37,7 +37,7 @@ class _TIMUIKitLastMsgState extends TIMUIKitState<TIMUIKitLastMsg> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void didUpdateWidget(covariant TIMUIKitLastMsg oldWidget) {
|
void didUpdateWidget(covariant TIMLastMsg oldWidget) {
|
||||||
super.didUpdateWidget(oldWidget);
|
super.didUpdateWidget(oldWidget);
|
||||||
if ((oldWidget.lastMsg?.msgID != widget.lastMsg?.msgID) ||
|
if ((oldWidget.lastMsg?.msgID != widget.lastMsg?.msgID) ||
|
||||||
(oldWidget.lastMsg?.id != widget.lastMsg?.id)) {
|
(oldWidget.lastMsg?.id != widget.lastMsg?.id)) {
|
||||||
@ -73,6 +73,11 @@ class _TIMUIKitLastMsgState extends TIMUIKitState<TIMUIKitLastMsg> {
|
|||||||
final msgType = message!.elemType;
|
final msgType = message!.elemType;
|
||||||
switch (msgType) {
|
switch (msgType) {
|
||||||
case MessageElemType.V2TIM_ELEM_TYPE_CUSTOM:
|
case MessageElemType.V2TIM_ELEM_TYPE_CUSTOM:
|
||||||
|
{
|
||||||
|
if (message.customElem?.desc?.isNotEmpty ?? false) {
|
||||||
|
return message.customElem!.desc!;
|
||||||
|
}
|
||||||
|
}
|
||||||
return TIM_t("[自定义]");
|
return TIM_t("[自定义]");
|
||||||
case MessageElemType.V2TIM_ELEM_TYPE_SOUND:
|
case MessageElemType.V2TIM_ELEM_TYPE_SOUND:
|
||||||
return TIM_t("[语音]");
|
return TIM_t("[语音]");
|
||||||
|
|||||||
10
circle_app/lib/app/msg/sys_notify_list/binding.dart
Normal file
10
circle_app/lib/app/msg/sys_notify_list/binding.dart
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
|
import 'logic.dart';
|
||||||
|
|
||||||
|
class Sys_notify_listBinding extends Bindings {
|
||||||
|
@override
|
||||||
|
void dependencies() {
|
||||||
|
Get.lazyPut(() => Sys_notify_listLogic());
|
||||||
|
}
|
||||||
|
}
|
||||||
115
circle_app/lib/app/msg/sys_notify_list/logic.dart
Normal file
115
circle_app/lib/app/msg/sys_notify_list/logic.dart
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
import 'package:circle_app/network/api.dart';
|
||||||
|
import 'package:circle_app/network/dio_manager.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:pull_to_refresh/pull_to_refresh.dart';
|
||||||
|
|
||||||
|
class Sys_notify_listLogic extends GetxController {
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
refreshController.dispose();
|
||||||
|
super.dispose();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
final RefreshController refreshController = RefreshController();
|
||||||
|
|
||||||
|
int page = 0;
|
||||||
|
int isVip = 0;
|
||||||
|
bool isLoad = true;
|
||||||
|
List<Lists> lists = [];
|
||||||
|
|
||||||
|
@override
|
||||||
|
void onInit() async {
|
||||||
|
super.onInit();
|
||||||
|
initList();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
initList() async {
|
||||||
|
if (page == 1) {
|
||||||
|
lists.clear();
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
var data =
|
||||||
|
await DioManager.instance.get(url: Api.getNotices, params: {
|
||||||
|
'last_id':page > 0 ? page : '','size':'10'
|
||||||
|
});
|
||||||
|
// pagevar bean = BaseResponse<UserList>.fromJson(
|
||||||
|
// data, (data) => UserList.fromJson(data));
|
||||||
|
// if (bean.isSuccess()) {
|
||||||
|
// lists.addAll(bean.data.lists);
|
||||||
|
// }
|
||||||
|
|
||||||
|
List bean = data['data']['lists'];
|
||||||
|
if (bean.length > 0) {
|
||||||
|
bean.forEach((element) {
|
||||||
|
lists.add(Lists.fromJson(element));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
isLoad = false;
|
||||||
|
update();
|
||||||
|
if (page == 0) {
|
||||||
|
page = lists.last.id!;
|
||||||
|
refreshController.refreshCompleted();
|
||||||
|
} else {
|
||||||
|
refreshController.loadComplete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void onRefresh() async {
|
||||||
|
page = 0;
|
||||||
|
initList();
|
||||||
|
}
|
||||||
|
|
||||||
|
void onLoading() {
|
||||||
|
// page = page + 1;
|
||||||
|
initList();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class Lists {
|
||||||
|
String? content;
|
||||||
|
String? createTime;
|
||||||
|
int? id;
|
||||||
|
String? image;
|
||||||
|
String? note;
|
||||||
|
String? scene;
|
||||||
|
int? status;
|
||||||
|
String? title;
|
||||||
|
|
||||||
|
Lists(
|
||||||
|
{this.content,
|
||||||
|
this.createTime,
|
||||||
|
this.id,
|
||||||
|
this.image,
|
||||||
|
this.note,
|
||||||
|
this.scene,
|
||||||
|
this.status,
|
||||||
|
this.title});
|
||||||
|
|
||||||
|
Lists.fromJson(Map<String, dynamic> json) {
|
||||||
|
content = json['content'];
|
||||||
|
createTime = json['createTime'];
|
||||||
|
id = json['id'];
|
||||||
|
image = json['image'];
|
||||||
|
note = json['note'];
|
||||||
|
scene = json['scene'];
|
||||||
|
status = json['status'];
|
||||||
|
title = json['title'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['content'] = this.content;
|
||||||
|
data['createTime'] = this.createTime;
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['image'] = this.image;
|
||||||
|
data['note'] = this.note;
|
||||||
|
data['scene'] = this.scene;
|
||||||
|
data['status'] = this.status;
|
||||||
|
data['title'] = this.title;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
142
circle_app/lib/app/msg/sys_notify_list/view.dart
Normal file
142
circle_app/lib/app/msg/sys_notify_list/view.dart
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
import 'package:cached_network_image/cached_network_image.dart';
|
||||||
|
import 'package:circle_app/components/my_app_bar.dart';
|
||||||
|
import 'package:circle_app/util/util.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:pull_to_refresh/pull_to_refresh.dart';
|
||||||
|
import 'package:tencent_cloud_chat_uikit/tencent_cloud_chat_uikit.dart';
|
||||||
|
|
||||||
|
import 'logic.dart';
|
||||||
|
|
||||||
|
class Sys_notify_listPage extends StatelessWidget {
|
||||||
|
Sys_notify_listPage({Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
final logic = Get.find<Sys_notify_listLogic>();
|
||||||
|
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return GetBuilder<Sys_notify_listLogic>(builder: (logic) {
|
||||||
|
return Container(
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
image: DecorationImage(
|
||||||
|
image: AssetImage(getBaseImage("home_back")),
|
||||||
|
fit: BoxFit.cover,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: Scaffold(
|
||||||
|
backgroundColor: Colors.transparent,
|
||||||
|
appBar: MyAppBar(
|
||||||
|
centerTitle: "系统通知",
|
||||||
|
),
|
||||||
|
body: Container(
|
||||||
|
width: Get.width,
|
||||||
|
height: Get.height,
|
||||||
|
child: SafeArea(
|
||||||
|
child: logic.isLoad
|
||||||
|
? loaddingWidget(true)
|
||||||
|
: logic.lists.isEmpty
|
||||||
|
? noResultWidget()
|
||||||
|
: SmartRefresher(
|
||||||
|
controller: logic.refreshController,
|
||||||
|
enablePullUp: true,
|
||||||
|
onRefresh: logic.onRefresh,
|
||||||
|
onLoading: () {
|
||||||
|
logic.onLoading();
|
||||||
|
},
|
||||||
|
child: ListView.builder(
|
||||||
|
padding: EdgeInsets.all(10.sp),
|
||||||
|
itemCount: logic.lists.length,
|
||||||
|
itemBuilder: (context, index) {
|
||||||
|
return ListItem(logic.lists[index]);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
ListItem(Lists data) {
|
||||||
|
V2TimConversation con = Get.arguments;
|
||||||
|
List<Widget> widgets = [];
|
||||||
|
if (data.image != null) {
|
||||||
|
widgets.add(Image.network(
|
||||||
|
data.image!,
|
||||||
|
width: 267,
|
||||||
|
height: 114.sp,
|
||||||
|
fit: BoxFit.fill,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
if (data.title?.isNotEmpty ?? false) {
|
||||||
|
widgets.add(Container(
|
||||||
|
margin: EdgeInsets.only(
|
||||||
|
top: 8.sp, left: 16.sp, right: 16.sp),
|
||||||
|
child: Text(
|
||||||
|
data.title!,
|
||||||
|
style: TextStyle(
|
||||||
|
color: Color(0xFFF7FAFA),
|
||||||
|
fontSize: 14.sp,
|
||||||
|
fontWeight: FontWeight.w500),
|
||||||
|
),
|
||||||
|
),);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data.content?.isNotEmpty ?? false) {
|
||||||
|
widgets.add(Container(
|
||||||
|
margin: EdgeInsets.only(
|
||||||
|
top: 10.sp, left: 16.sp, right: 16.sp,bottom: 10.sp),
|
||||||
|
child: Text(
|
||||||
|
data.content!,
|
||||||
|
style: TextStyle(
|
||||||
|
color: Color(0xFFF7FAFA),
|
||||||
|
fontSize: 14.sp,
|
||||||
|
fontWeight: FontWeight.w500),
|
||||||
|
),
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
return Container(
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
margin: EdgeInsets.only(bottom: 10.sp),
|
||||||
|
width: Get.width,
|
||||||
|
alignment: Alignment.center,
|
||||||
|
child: Text(
|
||||||
|
data.createTime ?? '',
|
||||||
|
style: TextStyle(
|
||||||
|
color: Color(0xFFB7BECC),
|
||||||
|
fontSize: 12.sp,
|
||||||
|
fontWeight: FontWeight.w500),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
CachedNetworkImage(
|
||||||
|
imageUrl: con.faceUrl!,
|
||||||
|
width: 34.sp,
|
||||||
|
),
|
||||||
|
Column(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
width: 267.sp,
|
||||||
|
margin: EdgeInsets.only(left: 10.sp),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
borderRadius: BorderRadius.circular(10.sp),
|
||||||
|
color: Color(0xFF292836)),
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children:widgets
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
)
|
||||||
|
],
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -113,6 +113,9 @@ class MsgPage extends StatelessWidget {
|
|||||||
Positioned(
|
Positioned(
|
||||||
right: 0,
|
right: 0,
|
||||||
child: GestureDetector(
|
child: GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
logic.getPipeiData();
|
||||||
|
},
|
||||||
child: Image.asset(
|
child: Image.asset(
|
||||||
getMsgImage('msg_pipei'),
|
getMsgImage('msg_pipei'),
|
||||||
width: 85.sp,
|
width: 85.sp,
|
||||||
@ -248,6 +251,11 @@ class MsgPage extends StatelessWidget {
|
|||||||
msgWdiget(context) {
|
msgWdiget(context) {
|
||||||
return TIMConversation(
|
return TIMConversation(
|
||||||
onTapItem: (selectedConv) {
|
onTapItem: (selectedConv) {
|
||||||
|
String type = selectedConv.userID!.split('_')[2];
|
||||||
|
if (int.parse(type) == 11) {
|
||||||
|
Get.toNamed(AppRoutes.Sys_notify_list,arguments: selectedConv);
|
||||||
|
return;
|
||||||
|
}
|
||||||
Get.toNamed(AppRoutes.Chat,arguments: selectedConv);
|
Get.toNamed(AppRoutes.Chat,arguments: selectedConv);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
10
circle_app/lib/app/signal_circle_list/binding.dart
Normal file
10
circle_app/lib/app/signal_circle_list/binding.dart
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
|
import 'logic.dart';
|
||||||
|
|
||||||
|
class Signal_circle_listBinding extends Bindings {
|
||||||
|
@override
|
||||||
|
void dependencies() {
|
||||||
|
Get.lazyPut(() => Signal_circle_listLogic());
|
||||||
|
}
|
||||||
|
}
|
||||||
7
circle_app/lib/app/signal_circle_list/logic.dart
Normal file
7
circle_app/lib/app/signal_circle_list/logic.dart
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
|
import 'state.dart';
|
||||||
|
|
||||||
|
class Signal_circle_listLogic extends GetxController {
|
||||||
|
final Signal_circle_listState state = Signal_circle_listState();
|
||||||
|
}
|
||||||
5
circle_app/lib/app/signal_circle_list/state.dart
Normal file
5
circle_app/lib/app/signal_circle_list/state.dart
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
class Signal_circle_listState {
|
||||||
|
Signal_circle_listState() {
|
||||||
|
///Initialize variables
|
||||||
|
}
|
||||||
|
}
|
||||||
57
circle_app/lib/app/signal_circle_list/view.dart
Normal file
57
circle_app/lib/app/signal_circle_list/view.dart
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
import 'package:circle_app/app/circle/logic.dart';
|
||||||
|
import 'package:circle_app/app/circle/widgets/info_list_view.dart';
|
||||||
|
import 'package:circle_app/components/my_app_bar.dart';
|
||||||
|
import 'package:circle_app/util/util.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
|
import 'logic.dart';
|
||||||
|
|
||||||
|
class Signal_circle_listPage extends StatelessWidget {
|
||||||
|
Signal_circle_listPage({Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
final logic = Get.find<Signal_circle_listLogic>();
|
||||||
|
final state = Get.find<Signal_circle_listLogic>().state;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
|
||||||
|
return Container(
|
||||||
|
width: MediaQuery.of(context).size.width,
|
||||||
|
height: MediaQuery.of(context).size.height,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Color(0xFF423055),
|
||||||
|
image: DecorationImage(
|
||||||
|
fit: BoxFit.fill,
|
||||||
|
image: AssetImage(getBaseImage('home_back')))),
|
||||||
|
child: Scaffold(
|
||||||
|
backgroundColor: Colors.transparent,
|
||||||
|
body: SafeArea(
|
||||||
|
child: GetBuilder(builder: (Signal_circle_listLogic controller) {
|
||||||
|
return Stack(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
width: MediaQuery.of(context).size.width,
|
||||||
|
height: MediaQuery.of(context).size.height,
|
||||||
|
child: Column(children: [
|
||||||
|
backNavigatorItem(),
|
||||||
|
// Text(controller.state.msg),
|
||||||
|
//组件使用
|
||||||
|
// Expanded(
|
||||||
|
// child: InfoListView(0, Circle(id: Get.arguments['id']), controller));
|
||||||
|
]),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
),
|
||||||
|
));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
backNavigatorItem() {
|
||||||
|
return MyAppBar(
|
||||||
|
centerTitle: Get.arguments['title'],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,5 +1,6 @@
|
|||||||
|
|
||||||
import 'package:cached_network_image/cached_network_image.dart';
|
import 'package:cached_network_image/cached_network_image.dart';
|
||||||
|
import 'package:circle_app/app/chat/logic.dart';
|
||||||
import 'package:circle_app/app/userinfo/widgets/home_call_out.dart';
|
import 'package:circle_app/app/userinfo/widgets/home_call_out.dart';
|
||||||
import 'package:circle_app/main.dart';
|
import 'package:circle_app/main.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
@ -143,7 +144,13 @@ class _MyTabbedScreenState extends State<UserinfoPage>
|
|||||||
final chatButton = GestureDetector(
|
final chatButton = GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
if (logic.userInfoBean != null) {
|
if (logic.userInfoBean != null) {
|
||||||
pushChatPage(logic.imId, logic.userInfoBean!.nickname);
|
|
||||||
|
final chatLogic = Get.find<ChatLogic>();
|
||||||
|
if (chatLogic.selectedConversation!.userID == logic.imId) {
|
||||||
|
Get.back();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
pushChatPage(logic.userInfoBean!.id.toString(),logic.imId, logic.userInfoBean!.nickname);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
|
|||||||
@ -36,6 +36,7 @@ class VisitorlistPage extends StatelessWidget {
|
|||||||
controller: logic.refreshController,
|
controller: logic.refreshController,
|
||||||
onRefresh: _onRefresh,
|
onRefresh: _onRefresh,
|
||||||
onLoading: _onLoading,
|
onLoading: _onLoading,
|
||||||
|
enablePullUp:true,
|
||||||
child: ListView.builder(
|
child: ListView.builder(
|
||||||
padding: EdgeInsets.all(10.sp),
|
padding: EdgeInsets.all(10.sp),
|
||||||
itemCount: logic.lists.length,
|
itemCount: logic.lists.length,
|
||||||
@ -121,7 +122,7 @@ class VisitorlistPage extends StatelessWidget {
|
|||||||
// Pla
|
// Pla
|
||||||
Spacer(),
|
Spacer(),
|
||||||
GestureDetector(onTap: (){
|
GestureDetector(onTap: (){
|
||||||
pushChatPage(item.accountId, item.user.nickname);
|
pushChatPage(item.user.id.toString(),item.accountId, item.user.nickname);
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,13 +1,20 @@
|
|||||||
import 'package:circle_app/util/util.dart';
|
import 'package:circle_app/util/util.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
|
|
||||||
Widget bgWidget(BuildContext context, Widget widget) {
|
class BgWidget extends StatelessWidget {
|
||||||
return Container(
|
Widget widget;
|
||||||
width: MediaQuery.of(context).size.width,
|
|
||||||
height: MediaQuery.of(context).size.height,
|
BgWidget({Key? key, required this.widget}) : super(key: key);
|
||||||
decoration: BoxDecoration(
|
|
||||||
image: DecorationImage(
|
@override
|
||||||
fit: BoxFit.fill, image: AssetImage(getBaseImage('home_back')))),
|
Widget build(BuildContext context) {
|
||||||
child: widget,
|
return Container(
|
||||||
);
|
width: MediaQuery.of(context).size.width,
|
||||||
|
height: MediaQuery.of(context).size.height,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
image: DecorationImage(
|
||||||
|
fit: BoxFit.fill, image: AssetImage(getBaseImage('home_back')))),
|
||||||
|
child: widget,
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -219,4 +219,9 @@ class Api {
|
|||||||
|
|
||||||
// /up-service/my/interests /up-service/interest/statistics
|
// /up-service/my/interests /up-service/interest/statistics
|
||||||
static const getMyCircleInterests = 'up-service/my/interests';
|
static const getMyCircleInterests = 'up-service/my/interests';
|
||||||
|
//缘分匹配
|
||||||
|
static const getMatch = 'msg-service/im/chat/match';
|
||||||
|
//系统通知
|
||||||
|
static const getNotices = 'msg-service/system/notices';
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -24,6 +24,8 @@ import 'package:circle_app/app/login/login/view.dart';
|
|||||||
import 'package:circle_app/app/minefragment/binding.dart';
|
import 'package:circle_app/app/minefragment/binding.dart';
|
||||||
import 'package:circle_app/app/minefragment/view.dart';
|
import 'package:circle_app/app/minefragment/view.dart';
|
||||||
import 'package:circle_app/app/msg/binding.dart';
|
import 'package:circle_app/app/msg/binding.dart';
|
||||||
|
import 'package:circle_app/app/msg/sys_notify_list/binding.dart';
|
||||||
|
import 'package:circle_app/app/msg/sys_notify_list/view.dart';
|
||||||
import 'package:circle_app/app/msg/view.dart';
|
import 'package:circle_app/app/msg/view.dart';
|
||||||
import 'package:circle_app/app/my_circle/binding.dart';
|
import 'package:circle_app/app/my_circle/binding.dart';
|
||||||
import 'package:circle_app/app/my_circle/view.dart';
|
import 'package:circle_app/app/my_circle/view.dart';
|
||||||
@ -193,5 +195,10 @@ class AppPages {
|
|||||||
page: () => VisitorlistPage(),
|
page: () => VisitorlistPage(),
|
||||||
binding: VisitorlistBinding(),
|
binding: VisitorlistBinding(),
|
||||||
),
|
),
|
||||||
|
GetPage(
|
||||||
|
name: AppRoutes.Sys_notify_list,
|
||||||
|
page: () => Sys_notify_listPage(),
|
||||||
|
binding: Sys_notify_listBinding(),
|
||||||
|
),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,4 +27,6 @@ abstract class AppRoutes {
|
|||||||
static const MyCircle = '/myCircle';
|
static const MyCircle = '/myCircle';
|
||||||
|
|
||||||
static const MyFeedBackListActivity = '/mine/MyFeedBackListActivity';
|
static const MyFeedBackListActivity = '/mine/MyFeedBackListActivity';
|
||||||
|
|
||||||
|
static const Sys_notify_list = '/msg/Sys_notify_list';
|
||||||
}
|
}
|
||||||
@ -143,7 +143,7 @@ String convertToTenThousand(int number) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pushLoginPage() async {
|
pushLoginPage() async {
|
||||||
logoutIM();
|
await logoutIM();
|
||||||
SharedPreferencesHelper.getInstance().then((sharedPreferences) {
|
SharedPreferencesHelper.getInstance().then((sharedPreferences) {
|
||||||
String loginPhone = sharedPreferences.getString(SharedPreferencesHelper.LOGINPHONE);
|
String loginPhone = sharedPreferences.getString(SharedPreferencesHelper.LOGINPHONE);
|
||||||
print(loginPhone);
|
print(loginPhone);
|
||||||
|
|||||||
@ -55,7 +55,7 @@ dependencies:
|
|||||||
#七牛
|
#七牛
|
||||||
qiniu_flutter_sdk: ^0.5.0
|
qiniu_flutter_sdk: ^0.5.0
|
||||||
#内置游览器插件
|
#内置游览器插件
|
||||||
webview_flutter: ^4.2.2
|
webview_flutter: ^4.2.0
|
||||||
#http
|
#http
|
||||||
dio: ^5.0.0
|
dio: ^5.0.0
|
||||||
#获取设备信息
|
#获取设备信息
|
||||||
@ -65,7 +65,7 @@ dependencies:
|
|||||||
#集成腾讯IM包含UIKIT库
|
#集成腾讯IM包含UIKIT库
|
||||||
tencent_cloud_chat_uikit: ^2.0.0
|
tencent_cloud_chat_uikit: ^2.0.0
|
||||||
#权限申请
|
#权限申请
|
||||||
permission_handler: ^10.3.0
|
permission_handler: any
|
||||||
#loading
|
#loading
|
||||||
flutter_smart_dialog: ^4.9.2
|
flutter_smart_dialog: ^4.9.2
|
||||||
#获取位置信息
|
#获取位置信息
|
||||||
@ -84,8 +84,6 @@ dependencies:
|
|||||||
video_compress: ^3.1.2
|
video_compress: ^3.1.2
|
||||||
#图片缓存
|
#图片缓存
|
||||||
cached_network_image: ^3.2.3
|
cached_network_image: ^3.2.3
|
||||||
#安装apk
|
|
||||||
flutter_install_app: 1.3.0
|
|
||||||
#网络拦截
|
#网络拦截
|
||||||
connectivity: ^3.0.6
|
connectivity: ^3.0.6
|
||||||
# 支付宝SDK插件
|
# 支付宝SDK插件
|
||||||
@ -95,7 +93,6 @@ dependencies:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user