Compare commits
3 Commits
8e1fd067f5
...
d2db9f1478
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d2db9f1478 | ||
|
|
0a4b3269e6 | ||
|
|
a64a9a1ac8 |
@ -9,12 +9,15 @@ buildscript {
|
||||
maven{url 'https://maven.aliyun.com/repository/jcenter' }
|
||||
maven {url 'https://developer.huawei.com/repo/'}
|
||||
maven { url 'https://developer.hihonor.com/repo/' }
|
||||
maven { url "https://mvn.mob.com/android"}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.2.0'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
classpath 'com.huawei.agconnect:agcp:1.6.0.300'
|
||||
classpath 'com.android.tools.build:gradle:3.1.2'
|
||||
classpath 'com.mob.sdk:MobSDK:+'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 395 KiB After Width: | Height: | Size: 587 KiB |
@ -49,16 +49,17 @@ PODS:
|
||||
- DKImagePickerController/PhotoGallery
|
||||
- Flutter
|
||||
- Flutter (1.0.0)
|
||||
- flutter_apns_only (0.0.1):
|
||||
- Flutter
|
||||
- flutter_image_compress (1.0.0):
|
||||
- Flutter
|
||||
- Mantle
|
||||
- SDWebImage
|
||||
- SDWebImageWebPCoder
|
||||
- flutter_native_splash (0.0.1):
|
||||
- Flutter
|
||||
- flutter_plugin_record_plus (0.0.1):
|
||||
- Flutter
|
||||
- fluttertoast (0.0.2):
|
||||
- Flutter
|
||||
- Toast
|
||||
- fluwx (0.0.1):
|
||||
- Flutter
|
||||
- WechatOpenSDK-XCFramework (~> 2.0.2)
|
||||
@ -72,6 +73,9 @@ PODS:
|
||||
- Flutter
|
||||
- image_picker_ios (0.0.1):
|
||||
- Flutter
|
||||
- in_app_purchase_storekit (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- libwebp (1.2.4):
|
||||
- libwebp/demux (= 1.2.4)
|
||||
- libwebp/mux (= 1.2.4)
|
||||
@ -81,9 +85,32 @@ PODS:
|
||||
- libwebp/mux (1.2.4):
|
||||
- libwebp/demux
|
||||
- libwebp/webp (1.2.4)
|
||||
- local_notifications_for_us (0.0.1):
|
||||
- Flutter
|
||||
- Mantle (2.2.0):
|
||||
- Mantle/extobjc (= 2.2.0)
|
||||
- Mantle/extobjc (2.2.0)
|
||||
- mob_sharesdk (4.4.15):
|
||||
- mob_sharesdk/ShareSDK (= 4.4.15)
|
||||
- MOBFoundation (>= 3.2.9)
|
||||
- mob_sharesdk/ShareSDK (4.4.15):
|
||||
- MOBFoundation (>= 3.2.9)
|
||||
- mob_sharesdk/ShareSDKExtension (4.4.15):
|
||||
- mob_sharesdk/ShareSDK
|
||||
- MOBFoundation (>= 3.2.9)
|
||||
- mob_sharesdk/ShareSDKPlatforms/QQ (4.4.15):
|
||||
- mob_sharesdk/ShareSDK
|
||||
- MOBFoundation (>= 3.2.9)
|
||||
- mob_sharesdk/ShareSDKPlatforms/SinaWeibo (4.4.15):
|
||||
- mob_sharesdk/ShareSDK
|
||||
- MOBFoundation (>= 3.2.9)
|
||||
- mob_sharesdk/ShareSDKPlatforms/WeChat (4.4.15):
|
||||
- mob_sharesdk/ShareSDK
|
||||
- MOBFoundation (>= 3.2.9)
|
||||
- mob_sharesdk/ShareSDKUI (4.4.15):
|
||||
- mob_sharesdk/ShareSDK
|
||||
- MOBFoundation (>= 3.2.9)
|
||||
- MOBFoundation (3.2.49)
|
||||
- package_info_plus (0.4.5):
|
||||
- Flutter
|
||||
- pasteboard (0.0.1):
|
||||
@ -96,6 +123,8 @@ PODS:
|
||||
- photo_manager (2.0.0):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- plain_notification_token_for_us (0.0.1):
|
||||
- Flutter
|
||||
- Reachability (3.2)
|
||||
- ReactiveObjC (3.1.1)
|
||||
- SDWebImage (5.16.0):
|
||||
@ -107,10 +136,20 @@ PODS:
|
||||
- shared_preferences_foundation (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- sharesdk_plugin (1.1.7):
|
||||
- Flutter
|
||||
- mob_sharesdk
|
||||
- mob_sharesdk/ShareSDKExtension
|
||||
- mob_sharesdk/ShareSDKPlatforms/QQ
|
||||
- mob_sharesdk/ShareSDKPlatforms/SinaWeibo
|
||||
- mob_sharesdk/ShareSDKPlatforms/WeChat
|
||||
- mob_sharesdk/ShareSDKUI
|
||||
- sqflite (0.0.3):
|
||||
- Flutter
|
||||
- FMDB (>= 2.7.5)
|
||||
- SwiftyGif (5.4.4)
|
||||
- tencent_chat_push_for_china (0.0.1):
|
||||
- Flutter
|
||||
- tencent_cloud_chat_sdk (5.1.2):
|
||||
- Flutter
|
||||
- HydraAsync
|
||||
@ -120,7 +159,6 @@ PODS:
|
||||
- TUICore (~> 7.3.4358)
|
||||
- tencent_open_file (0.0.1):
|
||||
- Flutter
|
||||
- Toast (4.0.0)
|
||||
- TUICore (7.3.4358):
|
||||
- ReactiveObjC
|
||||
- SDWebImage
|
||||
@ -159,20 +197,26 @@ DEPENDENCIES:
|
||||
- fc_native_video_thumbnail_for_us (from `.symlinks/plugins/fc_native_video_thumbnail_for_us/ios`)
|
||||
- file_picker (from `.symlinks/plugins/file_picker/ios`)
|
||||
- Flutter (from `Flutter`)
|
||||
- flutter_apns_only (from `.symlinks/plugins/flutter_apns_only/ios`)
|
||||
- flutter_image_compress (from `.symlinks/plugins/flutter_image_compress/ios`)
|
||||
- flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`)
|
||||
- flutter_plugin_record_plus (from `.symlinks/plugins/flutter_plugin_record_plus/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_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
||||
- in_app_purchase_storekit (from `.symlinks/plugins/in_app_purchase_storekit/ios`)
|
||||
- local_notifications_for_us (from `.symlinks/plugins/local_notifications_for_us/ios`)
|
||||
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
|
||||
- pasteboard (from `.symlinks/plugins/pasteboard/ios`)
|
||||
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/ios`)
|
||||
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
|
||||
- photo_manager (from `.symlinks/plugins/photo_manager/ios`)
|
||||
- plain_notification_token_for_us (from `.symlinks/plugins/plain_notification_token_for_us/ios`)
|
||||
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/ios`)
|
||||
- sharesdk_plugin (from `.symlinks/plugins/sharesdk_plugin/ios`)
|
||||
- sqflite (from `.symlinks/plugins/sqflite/ios`)
|
||||
- tencent_chat_push_for_china (from `.symlinks/plugins/tencent_chat_push_for_china/ios`)
|
||||
- tencent_cloud_chat_sdk (from `.symlinks/plugins/tencent_cloud_chat_sdk/ios`)
|
||||
- tencent_cloud_uikit_core (from `.symlinks/plugins/tencent_cloud_uikit_core/ios`)
|
||||
- tencent_open_file (from `.symlinks/plugins/tencent_open_file/ios`)
|
||||
@ -191,12 +235,13 @@ SPEC REPOS:
|
||||
- HydraAsync
|
||||
- libwebp
|
||||
- Mantle
|
||||
- mob_sharesdk
|
||||
- MOBFoundation
|
||||
- Reachability
|
||||
- ReactiveObjC
|
||||
- SDWebImage
|
||||
- SDWebImageWebPCoder
|
||||
- SwiftyGif
|
||||
- Toast
|
||||
- TUICore
|
||||
- TXIMSDK_Plus_iOS
|
||||
- WechatOpenSDK-XCFramework
|
||||
@ -220,12 +265,14 @@ EXTERNAL SOURCES:
|
||||
:path: ".symlinks/plugins/file_picker/ios"
|
||||
Flutter:
|
||||
:path: Flutter
|
||||
flutter_apns_only:
|
||||
:path: ".symlinks/plugins/flutter_apns_only/ios"
|
||||
flutter_image_compress:
|
||||
:path: ".symlinks/plugins/flutter_image_compress/ios"
|
||||
flutter_native_splash:
|
||||
:path: ".symlinks/plugins/flutter_native_splash/ios"
|
||||
flutter_plugin_record_plus:
|
||||
:path: ".symlinks/plugins/flutter_plugin_record_plus/ios"
|
||||
fluttertoast:
|
||||
:path: ".symlinks/plugins/fluttertoast/ios"
|
||||
fluwx:
|
||||
:path: ".symlinks/plugins/fluwx/ios"
|
||||
geolocator_apple:
|
||||
@ -234,6 +281,10 @@ EXTERNAL SOURCES:
|
||||
:path: ".symlinks/plugins/image_gallery_saver/ios"
|
||||
image_picker_ios:
|
||||
:path: ".symlinks/plugins/image_picker_ios/ios"
|
||||
in_app_purchase_storekit:
|
||||
:path: ".symlinks/plugins/in_app_purchase_storekit/ios"
|
||||
local_notifications_for_us:
|
||||
:path: ".symlinks/plugins/local_notifications_for_us/ios"
|
||||
package_info_plus:
|
||||
:path: ".symlinks/plugins/package_info_plus/ios"
|
||||
pasteboard:
|
||||
@ -244,10 +295,16 @@ EXTERNAL SOURCES:
|
||||
:path: ".symlinks/plugins/permission_handler_apple/ios"
|
||||
photo_manager:
|
||||
:path: ".symlinks/plugins/photo_manager/ios"
|
||||
plain_notification_token_for_us:
|
||||
:path: ".symlinks/plugins/plain_notification_token_for_us/ios"
|
||||
shared_preferences_foundation:
|
||||
:path: ".symlinks/plugins/shared_preferences_foundation/ios"
|
||||
sharesdk_plugin:
|
||||
:path: ".symlinks/plugins/sharesdk_plugin/ios"
|
||||
sqflite:
|
||||
:path: ".symlinks/plugins/sqflite/ios"
|
||||
tencent_chat_push_for_china:
|
||||
:path: ".symlinks/plugins/tencent_chat_push_for_china/ios"
|
||||
tencent_cloud_chat_sdk:
|
||||
:path: ".symlinks/plugins/tencent_cloud_chat_sdk/ios"
|
||||
tencent_cloud_uikit_core:
|
||||
@ -279,33 +336,40 @@ SPEC CHECKSUMS:
|
||||
fc_native_video_thumbnail_for_us: 69559e6500bff0f6340f044ec0847366fa6f6233
|
||||
file_picker: ce3938a0df3cc1ef404671531facef740d03f920
|
||||
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
|
||||
flutter_apns_only: 3d91c0ca9dbef4439874858590909a19f8ed06a4
|
||||
flutter_image_compress: 5a5e9aee05b6553048b8df1c3bc456d0afaac433
|
||||
flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef
|
||||
flutter_plugin_record_plus: 79b8e13ee7ed9a94f6c067018653599528cee1fc
|
||||
fluttertoast: fafc4fa4d01a6a9e4f772ecd190ffa525e9e2d9c
|
||||
fluwx: e9e728cfdb80e82dac5f4ff974b1901a7939dcd0
|
||||
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
|
||||
geolocator_apple: cc556e6844d508c95df1e87e3ea6fa4e58c50401
|
||||
HydraAsync: 8d589bd725b0224f899afafc9a396327405f8063
|
||||
image_gallery_saver: 259eab68fb271cfd57d599904f7acdc7832e7ef2
|
||||
image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5
|
||||
in_app_purchase_storekit: 4fb7ee9e824b1f09107fbfbbce8c4b276366dc43
|
||||
libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef
|
||||
local_notifications_for_us: d4bb63b93eb429c4697edd0ee66bbe8bade29633
|
||||
Mantle: c5aa8794a29a022dfbbfc9799af95f477a69b62d
|
||||
mob_sharesdk: 0698d60b3c1549a5b0bcfdec6f407439dd2960c0
|
||||
MOBFoundation: 6df2684b4db4f0f5bd71b0623f82e11271bf7ac8
|
||||
package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e
|
||||
pasteboard: 982969ebaa7c78af3e6cc7761e8f5e77565d9ce0
|
||||
path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
|
||||
permission_handler_apple: e76247795d700c14ea09e3a2d8855d41ee80a2e6
|
||||
photo_manager: 4f6810b7dfc4feb03b461ac1a70dacf91fba7604
|
||||
plain_notification_token_for_us: c804c7a9f79af55980cec08457cb8cdf73200db7
|
||||
Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96
|
||||
ReactiveObjC: 011caa393aa0383245f2dcf9bf02e86b80b36040
|
||||
SDWebImage: 2aea163b50bfcb569a2726b6a754c54a4506fcf6
|
||||
SDWebImageWebPCoder: f0f287cee4cd96a59937fbf3c77a8cfda9ba67b0
|
||||
shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126
|
||||
sharesdk_plugin: 70d952ac2e1b6290170370c6b493a57e19fe5db4
|
||||
sqflite: 31f7eba61e3074736dff8807a9b41581e4f7f15a
|
||||
SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f
|
||||
tencent_chat_push_for_china: aa983a4716949ae4062c106204e2dc07d34d9f3b
|
||||
tencent_cloud_chat_sdk: 8a2bceccaf81e7f922e7b6509ab93c39c3884dda
|
||||
tencent_cloud_uikit_core: c8f580dffd1be47b5e5514b1dd8ba35506c4a560
|
||||
tencent_open_file: 1261db508715b8f43ef3b7e31c90824838038165
|
||||
Toast: 91b396c56ee72a5790816f40d3a94dd357abc196
|
||||
TUICore: b0e525287eb03f95fe648a696c9ffb253fc87098
|
||||
TXIMSDK_Plus_iOS: bc72c7cec1b5e975c3cc6629692c849513a932f5
|
||||
url_launcher_ios: 08a3dfac5fb39e8759aeb0abbd5d9480f30fc8b4
|
||||
|
||||
@ -141,6 +141,7 @@
|
||||
9705A1C41CF9048500538489 /* Embed Frameworks */,
|
||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
|
||||
596550B3B6FD4574F751EEF4 /* [CP] Embed Pods Frameworks */,
|
||||
043A78F4D9CB2782E40309BF /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@ -199,6 +200,23 @@
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
043A78F4D9CB2782E40309BF /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
alwaysOutOfDate = 1;
|
||||
@ -380,7 +398,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0.0;
|
||||
MARKETING_VERSION = 1.1.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.example.circleApp123;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
@ -528,7 +546,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0.0;
|
||||
MARKETING_VERSION = 1.1.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.example.circleApp123;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
@ -570,7 +588,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0.0;
|
||||
MARKETING_VERSION = 1.1.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.example.circleApp123;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
|
||||
@ -2,15 +2,65 @@
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>LSApplicationQueriesSchemes</key>
|
||||
<array>
|
||||
<string>weixinULAPI</string>
|
||||
<string>weixin</string>
|
||||
<string>wechat</string>
|
||||
<string>mqqapi</string>
|
||||
<string>mqq</string>
|
||||
<string>mqqOpensdkSSoLogin</string>
|
||||
<string>mqqconnect</string>
|
||||
<string>mqqopensdkdataline</string>
|
||||
<string>mqqopensdkgrouptribeshare</string>
|
||||
<string>mqqopensdkfriend</string>
|
||||
<string>mqqopensdkapi</string>
|
||||
<string>mqqopensdkapiV2</string>
|
||||
<string>mqqopensdkapiV3</string>
|
||||
<string>mqzoneopensdk</string>
|
||||
<string>wtloginmqq</string>
|
||||
<string>wtloginmqq2</string>
|
||||
<string>mqqwpa</string>
|
||||
<string>mqzone</string>
|
||||
<string>mqzonev2</string>
|
||||
<string>mqzoneshare</string>
|
||||
<string>wtloginqzone</string>
|
||||
<string>mqzonewx</string>
|
||||
<string>mqzoneopensdkapiV2</string>
|
||||
<string>mqzoneopensdkapi19</string>
|
||||
<string>mqzoneopensdkapi</string>
|
||||
<string>mqqbrowser</string>
|
||||
<string>mttbrowser</string>
|
||||
<string>baidumap</string>
|
||||
<string>iosamap</string>
|
||||
<string>weibosdk</string>
|
||||
<string>sinaweibo</string>
|
||||
<string>sinaweibohd</string>
|
||||
</array>
|
||||
<key>App Transport Security Settings </key>
|
||||
<true/>
|
||||
<key>CADisableMinimumFrameDurationOnPhone</key>
|
||||
<true/>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Editor</string>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>weixin</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>wxab2387c2198f01e1</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>MOBAppKey</key>
|
||||
<string>3872b1e955498</string>
|
||||
<key>MOBAppSecret</key>
|
||||
<string>30dc517b609c8aefe297b9ac3eb8dbde</string>
|
||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||
<false/>
|
||||
<key>UIApplicationSupportsIndirectInputEvents</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@ -224,11 +224,12 @@ class CircleLogic extends GetxController {
|
||||
}
|
||||
|
||||
void getBanner() async {
|
||||
bannerList.clear();
|
||||
|
||||
var data =
|
||||
await DioManager.instance.get(url: Api.getNearbyBeanner, params: {});
|
||||
var bean = BaseResponse<BannerList>.fromJson(
|
||||
data, (data) => BannerList.fromJson(data));
|
||||
bannerList.clear();
|
||||
bannerList.addAll(bean.data.banners);
|
||||
cityName = bean.data.city;
|
||||
}
|
||||
@ -253,8 +254,10 @@ class CircleLogic extends GetxController {
|
||||
orientationList.forEach((element) {
|
||||
if (element.isSelect) orientations.add(element.id);
|
||||
});
|
||||
if(offset==0){
|
||||
getBanner();
|
||||
}
|
||||
|
||||
// getBanner();
|
||||
var data = await DioManager.instance.post(url: Api.postNearbyList, params: {
|
||||
"offset": offset,
|
||||
'deep': deep,
|
||||
|
||||
@ -476,7 +476,7 @@ class _CirclePageState extends State<CirclePage>
|
||||
}
|
||||
|
||||
Widget bannerView(CircleLogic controller) {
|
||||
return Container(
|
||||
return SizedBox(
|
||||
height: 160.sp,
|
||||
// margin: EdgeInsets.symmetric(horizontal: 16.sp),
|
||||
child: Swiper(
|
||||
@ -485,7 +485,7 @@ class _CirclePageState extends State<CirclePage>
|
||||
loop: logic.bannerList.length>1?true:false,
|
||||
// index:logic.index,
|
||||
itemBuilder: (BuildContext context, int index) {
|
||||
// print(index);
|
||||
print(logic.bannerList[index].picUrl);
|
||||
return GestureDetector(
|
||||
onTap: () async {
|
||||
print(logic.bannerList[index].param);
|
||||
|
||||
10
circle_app/lib/app/invite/binding.dart
Normal file
10
circle_app/lib/app/invite/binding.dart
Normal file
@ -0,0 +1,10 @@
|
||||
import 'package:get/get.dart';
|
||||
|
||||
import 'logic.dart';
|
||||
|
||||
class InviteBinding extends Bindings {
|
||||
@override
|
||||
void dependencies() {
|
||||
Get.lazyPut(() => InviteLogic());
|
||||
}
|
||||
}
|
||||
9
circle_app/lib/app/invite/logic.dart
Normal file
9
circle_app/lib/app/invite/logic.dart
Normal file
@ -0,0 +1,9 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
import 'state.dart';
|
||||
|
||||
class InviteLogic extends GetxController {
|
||||
final InviteState state = InviteState();
|
||||
TextEditingController codeEditingController = TextEditingController();
|
||||
}
|
||||
5
circle_app/lib/app/invite/state.dart
Normal file
5
circle_app/lib/app/invite/state.dart
Normal file
@ -0,0 +1,5 @@
|
||||
class InviteState {
|
||||
InviteState() {
|
||||
///Initialize variables
|
||||
}
|
||||
}
|
||||
506
circle_app/lib/app/invite/view.dart
Normal file
506
circle_app/lib/app/invite/view.dart
Normal file
@ -0,0 +1,506 @@
|
||||
import 'package:circle_app/app/swiper/view.dart';
|
||||
import 'package:circle_app/common/Widgets/rich_text.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/services.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:flutter_swiper/flutter_swiper.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
import 'logic.dart';
|
||||
|
||||
class InvitePage extends StatelessWidget {
|
||||
InvitePage({Key? key}) : super(key: key);
|
||||
|
||||
final logic = Get.find<InviteLogic>();
|
||||
final state = Get.find<InviteLogic>().state;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
image: AssetImage(getBaseImage("home_back")),
|
||||
fit: BoxFit.cover,
|
||||
),
|
||||
),
|
||||
child: Scaffold(
|
||||
backgroundColor: Colors.transparent,
|
||||
appBar: MyAppBar(
|
||||
centerTitle: "邀请有奖",
|
||||
actionWdiget: Container(
|
||||
alignment: Alignment.center,
|
||||
height: 22.sp,
|
||||
width: 62.sp,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xffD739EA),
|
||||
borderRadius: BorderRadius.circular(31.sp)),
|
||||
child: Text(
|
||||
'邀请攻略',
|
||||
style: TextStyle(color: Colors.white, fontSize: 11.sp),
|
||||
),
|
||||
),
|
||||
),
|
||||
body: SingleChildScrollView(
|
||||
child: Column(children: [
|
||||
Container(
|
||||
height: 203.sp,
|
||||
margin: EdgeInsets.only(
|
||||
left: 20.sp,
|
||||
right: 20.sp,
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(10.sp),
|
||||
color: Color(0x1AFFFFFF),
|
||||
),
|
||||
child: Column(
|
||||
children: [
|
||||
Container(
|
||||
padding: EdgeInsets.only(
|
||||
left: 14.sp, right: 14.sp, top: 24.sp),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
'我的专属邀请码',
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 16.sp,
|
||||
fontWeight: FontWeight.w500),
|
||||
),
|
||||
GestureDetector(
|
||||
behavior: HitTestBehavior.opaque,
|
||||
onTap: () {
|
||||
showCodePicker(logic);
|
||||
},
|
||||
child: Container(
|
||||
alignment: Alignment.center,
|
||||
height: 29.sp,
|
||||
width: 76.sp,
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(
|
||||
color: Color(0xffD739EA), width: 1.sp),
|
||||
borderRadius: BorderRadius.circular(14.5.sp)),
|
||||
child: Text(
|
||||
'填码对接',
|
||||
style: TextStyle(
|
||||
color: Color(0xffD739EA), fontSize: 12.sp),
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.only(top: 40.sp),
|
||||
child: Row(
|
||||
children: [
|
||||
Expanded(child: Container()),
|
||||
Semantics(
|
||||
namesRoute: true,
|
||||
header: true,
|
||||
child: ShaderMask(
|
||||
shaderCallback: (Rect bounds) {
|
||||
return const LinearGradient(
|
||||
begin: Alignment(0.0, -1.0),
|
||||
end: Alignment.bottomCenter,
|
||||
colors: [
|
||||
Color(0xff71F3F2),
|
||||
Color(0xffF657FF)
|
||||
],
|
||||
).createShader(Offset.zero & bounds.size);
|
||||
},
|
||||
child: Text(
|
||||
'F2324424',
|
||||
style: TextStyle(
|
||||
fontSize: 30.sp,
|
||||
fontWeight: FontWeight.w600,
|
||||
color: Colors.white,
|
||||
shadows: [
|
||||
Shadow(
|
||||
color: Color(0xffF657FF),
|
||||
offset: Offset(0.0, -1))
|
||||
]),
|
||||
),
|
||||
)),
|
||||
SizedBox(
|
||||
width: 4.sp,
|
||||
),
|
||||
GestureDetector(
|
||||
onTap: () {
|
||||
Clipboard.setData(
|
||||
ClipboardData(text: '复制到剪切板'));
|
||||
showOKToast('复制成功');
|
||||
},
|
||||
child: Text(
|
||||
'复制',
|
||||
style: TextStyle(
|
||||
color: Color(0xB3FFFFFF), fontSize: 14.sp),
|
||||
)),
|
||||
Expanded(child: Container())
|
||||
],
|
||||
),
|
||||
),
|
||||
Container(
|
||||
width: 224.sp,
|
||||
height: 42.sp,
|
||||
margin: EdgeInsets.only(top: 15.sp),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(21.sp),
|
||||
gradient: const LinearGradient(
|
||||
colors: [
|
||||
Color(0xFF06F9FA),
|
||||
Color(0xFFDC5BFD),
|
||||
],
|
||||
)),
|
||||
alignment: Alignment.center,
|
||||
child: Text(
|
||||
'立即邀请',
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 16,
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Container(
|
||||
height: 40.sp,
|
||||
margin: EdgeInsets.only(left: 20.sp, right: 20.sp, top: 30.sp),
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0x1AFFFFFF),
|
||||
borderRadius: BorderRadius.circular(10.sp)),
|
||||
child: Swiper(
|
||||
physics: NeverScrollableScrollPhysics(),
|
||||
autoplay: true,
|
||||
// controller: 5,
|
||||
index: 0,
|
||||
itemBuilder: (BuildContext context, int index) {
|
||||
return Container(
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Text(
|
||||
'哟刚说A',
|
||||
style: TextStyle(
|
||||
color: Color(0xFFDC5BFD),
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w500),
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.only(left: 5.sp, right: 5.sp),
|
||||
child: Text(
|
||||
'邀请',
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w500),
|
||||
)),
|
||||
Text(
|
||||
'扥扥',
|
||||
style: TextStyle(
|
||||
color: Color(0xFFDC5BFD),
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w500),
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.only(left: 5.sp),
|
||||
child: Text(
|
||||
'加入微乐园',
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w500),
|
||||
)),
|
||||
],
|
||||
),
|
||||
);
|
||||
},
|
||||
itemCount: 5,
|
||||
),
|
||||
),
|
||||
Container(
|
||||
height: 203.sp,
|
||||
margin:
|
||||
EdgeInsets.only(left: 20.sp, right: 20.sp, top: 20.sp),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(10.sp),
|
||||
color: Color(0x1AFFFFFF),
|
||||
),
|
||||
child: Column(
|
||||
children: [
|
||||
Container(
|
||||
height: 80.sp,
|
||||
margin: EdgeInsets.only(left: 15.sp, right: 15.sp),
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
'邀请人数',
|
||||
style: TextStyle(
|
||||
color: Color(0xFFDC5BFD),
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w500),
|
||||
),
|
||||
Expanded(
|
||||
child: Stack(
|
||||
// fit: StackFit.expand,
|
||||
alignment: Alignment.center,
|
||||
children: [
|
||||
Container(
|
||||
margin: EdgeInsets.only(
|
||||
left: 61.sp, right: 46.sp),
|
||||
height: 2.sp,
|
||||
color: Color(0xFFDC5BFD).withOpacity(0.4),
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.only(left: 15.sp),
|
||||
child: Row(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
peopleCountWidget('20', true),
|
||||
peopleCountWidget('50', true),
|
||||
peopleCountWidget('100', true),
|
||||
peopleCountWidget('500', true),
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
))
|
||||
],
|
||||
)),
|
||||
Container(
|
||||
height: 80.sp,
|
||||
margin: EdgeInsets.only(left: 15.sp, right: 15.sp),
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
'会员时长',
|
||||
style: TextStyle(
|
||||
color: Color(0xFFDC5BFD),
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w500),
|
||||
),
|
||||
Expanded(
|
||||
child: Stack(
|
||||
// fit: StackFit.expand,
|
||||
alignment: Alignment.center,
|
||||
children: [
|
||||
Container(
|
||||
margin: EdgeInsets.only(
|
||||
left: 20.sp, right: 10.sp),
|
||||
child: Row(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
timeWidget(
|
||||
'+30天',
|
||||
),
|
||||
timeWidget(
|
||||
'+100天',
|
||||
),
|
||||
timeWidget(
|
||||
'+365天',
|
||||
),
|
||||
timeWidget(
|
||||
'+3年',
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
)),
|
||||
],
|
||||
)),
|
||||
Container(
|
||||
margin: EdgeInsets.only(left: 15.sp, right: 15.sp),
|
||||
child: RichText(
|
||||
text: TextSpan(
|
||||
children: getTextSpanList(
|
||||
'Tip:您已成功邀请 19位同好,免费获得会员120天, 再邀请1位同友可领取更多奖励~',
|
||||
Color(0xFFDC5BFD),
|
||||
14.sp,
|
||||
searchContent: 'Tip:'),
|
||||
)))
|
||||
],
|
||||
)),
|
||||
// Container(
|
||||
// height: 203.sp,
|
||||
// margin:
|
||||
// EdgeInsets.only(left: 20.sp, right: 20.sp, top: 20.sp),
|
||||
// decoration: BoxDecoration(
|
||||
// borderRadius: BorderRadius.circular(10.sp),
|
||||
// color: Color(0x1AFFFFFF),
|
||||
// ),
|
||||
// child: Column(children: [
|
||||
// Expanded(
|
||||
// child: ListView.builder(
|
||||
// itemBuilder: (BuildContext context, int index) {
|
||||
// return Container(
|
||||
// margin: EdgeInsets.only(top: 10.sp),
|
||||
// padding: EdgeInsets.only(left: 15.sp, right: 15.sp),
|
||||
// child: Row(
|
||||
// children: [
|
||||
// ClipOval(
|
||||
// child: Image.network(
|
||||
// 'https://p26-passport.byteacctimg.com/img/user-avatar/b0541a2a377dd239a22eea2934709967~100x100.awebp',
|
||||
// width: 40.sp,
|
||||
// height: 40.sp,
|
||||
// ),
|
||||
// ),
|
||||
// SizedBox(
|
||||
// width: 4.sp,
|
||||
// ),
|
||||
// Column(
|
||||
// children: [
|
||||
// Text(
|
||||
// '2222',
|
||||
// style: TextStyle(
|
||||
// color: Colors.white, fontSize: 14.sp),
|
||||
// ),
|
||||
// ],
|
||||
// )
|
||||
// ],
|
||||
// ),
|
||||
// );
|
||||
// },
|
||||
// itemCount: 5,
|
||||
// ))
|
||||
// ])),
|
||||
]))));
|
||||
}
|
||||
|
||||
peopleCountWidget(String count, bool isCheck) {
|
||||
return Container(
|
||||
width: 46.sp,
|
||||
height: 46.sp,
|
||||
alignment: Alignment.center,
|
||||
decoration:
|
||||
BoxDecoration(color: Color(0xFFDC5BFD), shape: BoxShape.circle),
|
||||
child: Text(
|
||||
'$count人',
|
||||
style: TextStyle(color: Colors.white, fontSize: 12.sp),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
timeWidget(String time) {
|
||||
return Text(
|
||||
time,
|
||||
style: TextStyle(color: Colors.white, fontSize: 12.sp),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
void showCodePicker(InviteLogic logic) {
|
||||
Get.bottomSheet(
|
||||
GestureDetector(
|
||||
onTap: () {
|
||||
FocusManager.instance.primaryFocus?.unfocus();
|
||||
},
|
||||
child: Scaffold(
|
||||
backgroundColor: Colors.transparent,
|
||||
resizeToAvoidBottomInset: false,
|
||||
body: Center(
|
||||
child: Container(
|
||||
height: 240.sp,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFF292247),
|
||||
borderRadius: BorderRadius.circular(6.sp)),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Container(
|
||||
margin: EdgeInsets.only(top: 20.sp, left: 20.sp),
|
||||
child: Text(
|
||||
'请输入邀请您加入APP的同好的邀请码',
|
||||
style: TextStyle(color: Colors.white, fontSize: 14.sp),
|
||||
),
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.only(left: 20, right: 20.sp,top: 30.sp),
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0x1AFFFFFF),
|
||||
borderRadius: BorderRadius.circular(6.sp)),
|
||||
alignment: Alignment.center,
|
||||
child: TextField(
|
||||
controller: logic.codeEditingController,
|
||||
keyboardType: TextInputType.phone,
|
||||
maxLength: 8,
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(color: Colors.white, fontSize: 16.sp),
|
||||
decoration: InputDecoration(
|
||||
hintText: '请输入邀请码',
|
||||
hintStyle:
|
||||
TextStyle(color: Colors.white70, fontSize: 16.sp),
|
||||
border: InputBorder.none,
|
||||
counterText: '',
|
||||
contentPadding: EdgeInsets.only(left: 16.sp)),
|
||||
),
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.only(top: 15.sp),
|
||||
alignment: Alignment.center,
|
||||
child: Text(
|
||||
'为防止作弊,进入APP后请在1小时填写TA的邀请码',
|
||||
style: TextStyle(color: Colors.white, fontSize: 12.sp),
|
||||
),
|
||||
),
|
||||
Expanded(child: Container()),
|
||||
Container(
|
||||
margin: EdgeInsets.only(left: 40.sp,right: 40.sp,bottom: 20.sp),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
GestureDetector(
|
||||
onTap: () {
|
||||
Get.back();
|
||||
},
|
||||
child: Container(
|
||||
alignment: Alignment.center,
|
||||
width: 114.sp,
|
||||
height: 38.sp,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(19.sp),
|
||||
color: Color(0x1AFFFFFF)),
|
||||
child: const Text(
|
||||
'放弃对接',
|
||||
style: TextStyle(color: Colors.white, fontSize: 16),
|
||||
),
|
||||
),
|
||||
),
|
||||
GestureDetector(
|
||||
onTap: () {},
|
||||
child: Container(
|
||||
alignment: Alignment.center,
|
||||
width: 114.sp,
|
||||
height: 38.sp,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(19.sp),
|
||||
gradient: const LinearGradient(
|
||||
colors: [
|
||||
Color(0xFF06F9FA),
|
||||
Color(0xFFDC5BFD),
|
||||
],
|
||||
)),
|
||||
child: const Text(
|
||||
'确认对接',
|
||||
style: TextStyle(
|
||||
color: Colors.white, fontSize: 16),
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
isScrollControlled: true,
|
||||
enableDrag: false);
|
||||
}
|
||||
@ -80,7 +80,7 @@ class MinefragmentPage extends StatelessWidget {
|
||||
|
||||
Widget _circleLiveView(MinefragmentLogic logic) {
|
||||
return Column(
|
||||
children: [_circleItemView(logic), _helpItemView(), _setUpItemView()],
|
||||
children: [_circleItemView(logic), _helpItemView(), _invienItemView(), _setUpItemView()],
|
||||
);
|
||||
}
|
||||
|
||||
@ -173,6 +173,53 @@ class MinefragmentPage extends StatelessWidget {
|
||||
);
|
||||
}
|
||||
|
||||
Widget _invienItemView() {
|
||||
return GestureDetector(
|
||||
behavior: HitTestBehavior.opaque,
|
||||
onTap: () {
|
||||
Get.toNamed(AppRoutes.Invite);
|
||||
// controller.state.hearUrl
|
||||
},
|
||||
child: Container(
|
||||
margin: EdgeInsets.only(top: 18.sp),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
Image(
|
||||
image: AssetImage(getHomeImage("mine_help")),
|
||||
width: 24.sp,
|
||||
height: 24.sp,
|
||||
),
|
||||
SizedBox(width: 10.sp),
|
||||
const Text(
|
||||
"邀请得会员",
|
||||
style: TextStyle(color: Colors.white),
|
||||
),
|
||||
|
||||
],
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
const Text(
|
||||
"免费领领会员",
|
||||
style: TextStyle(color: Colors.white60),
|
||||
),
|
||||
Image(
|
||||
image: AssetImage(getHomeImage("icon_in")),
|
||||
width: 24.sp,
|
||||
height: 24.sp,
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _circleItemView(MinefragmentLogic logic) {
|
||||
return GestureDetector(
|
||||
behavior: HitTestBehavior.opaque,
|
||||
|
||||
@ -52,39 +52,41 @@ class _My_circlePageState extends State<My_circlePage>
|
||||
Container(
|
||||
width: MediaQuery.of(context).size.width,
|
||||
height: MediaQuery.of(context).size.height,
|
||||
child: Column(children: [
|
||||
backNavigatorItem(),
|
||||
// Text(controller.state.msg),
|
||||
//组件使用
|
||||
Expanded(
|
||||
child: logic.circle.lists.isEmpty ? !logic.isMore ? noResultWidget() : loaddingWidget(logic.isMore) : Swiper(
|
||||
itemBuilder: (BuildContext context, int index) {
|
||||
var bean = logic.circle.lists[index];
|
||||
// final GlobalKey<InfoListViewState> infoListViewKey = GlobalKey<InfoListViewState>();
|
||||
// MyinfoListViewKey = infoListViewKey;
|
||||
return InfoListView(
|
||||
index,
|
||||
bean,
|
||||
controller
|
||||
);
|
||||
},
|
||||
index: controller.state.index,
|
||||
itemCount: logic.circle.lists.length,
|
||||
viewportFraction: 0.93,
|
||||
// scale: 0.9,
|
||||
loop: false,
|
||||
onIndexChanged: (index) {
|
||||
controller.state.index = index;
|
||||
if (index == logic.circle.lists.length - 1 && controller.isMore) {
|
||||
child: Container(
|
||||
child: Column(children: [
|
||||
backNavigatorItem(),
|
||||
// Text(controller.state.msg),
|
||||
//组件使用
|
||||
Expanded(
|
||||
child: logic.circle.lists.isEmpty ? !logic.isMore ? noResultWidget() : loaddingWidget(logic.isMore) : Swiper(
|
||||
itemBuilder: (BuildContext context, int index) {
|
||||
var bean = logic.circle.lists[index];
|
||||
// final GlobalKey<InfoListViewState> infoListViewKey = GlobalKey<InfoListViewState>();
|
||||
// MyinfoListViewKey = infoListViewKey;
|
||||
return InfoListView(
|
||||
index,
|
||||
bean,
|
||||
controller
|
||||
);
|
||||
},
|
||||
index: controller.state.index,
|
||||
itemCount: logic.circle.lists.length,
|
||||
viewportFraction: 0.93,
|
||||
// scale: 0.9,
|
||||
loop: false,
|
||||
onIndexChanged: (index) {
|
||||
controller.state.index = index;
|
||||
if (index == logic.circle.lists.length - 1 && controller.isMore) {
|
||||
|
||||
logic.loadMore();
|
||||
}
|
||||
logic.loadMore();
|
||||
}
|
||||
|
||||
},
|
||||
// pagination: new SwiperPagination(),//如果不填则不显示指示点
|
||||
// control: new SwiperControl(),//如果不填则不显示左右按钮
|
||||
))
|
||||
]),
|
||||
},
|
||||
// pagination: new SwiperPagination(),//如果不填则不显示指示点
|
||||
// control: new SwiperControl(),//如果不填则不显示左右按钮
|
||||
))
|
||||
]),
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
|
||||
71
circle_app/lib/common/Widgets/rich_text.dart
Normal file
71
circle_app/lib/common/Widgets/rich_text.dart
Normal file
@ -0,0 +1,71 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
|
||||
///searchContent 输入的搜索内容
|
||||
///textContent 需要显示的文字内容
|
||||
///frontContent 需要另外添加在最前面的文字
|
||||
///fontSize 需要显示的字体大小
|
||||
///fontColor 需要显示的正常字体颜色
|
||||
///selectFontColor 需要显示的搜索字体颜色
|
||||
List<TextSpan> getTextSpanList(String textContent,Color selectFontColor,fontSize,
|
||||
{String searchContent = '',
|
||||
String frontContent = '',
|
||||
Color fontColor = Colors.white,
|
||||
}) {
|
||||
List<TextSpan> textSpanList = [];
|
||||
|
||||
if (frontContent.isEmpty == false) {
|
||||
textSpanList.add(TextSpan(
|
||||
text: frontContent,
|
||||
style: TextStyle(fontSize: fontSize, color: fontColor)));
|
||||
}
|
||||
|
||||
///搜索内容不为空并且 显示内容中存在与搜索内容相同的文字
|
||||
if (searchContent != null &&
|
||||
searchContent.isEmpty == false &&
|
||||
textContent.contains(searchContent)) {
|
||||
List<Map> _strMapList = [];
|
||||
bool _isContains = true;
|
||||
while (_isContains) {
|
||||
int startIndex = textContent.indexOf(searchContent);
|
||||
String showStr =
|
||||
textContent.substring(startIndex, startIndex + searchContent.length);
|
||||
Map _strMap;
|
||||
if (startIndex > 0) {
|
||||
String normalStr = textContent.substring(0, startIndex);
|
||||
_strMap = Map();
|
||||
_strMap['content'] = normalStr;
|
||||
_strMap['isHighlight'] = false;
|
||||
_strMapList.add(_strMap);
|
||||
}
|
||||
_strMap = Map();
|
||||
_strMap['content'] = showStr;
|
||||
_strMap['isHighlight'] = true;
|
||||
_strMapList.add(_strMap);
|
||||
textContent = textContent.substring(
|
||||
startIndex + searchContent.length, textContent.length);
|
||||
|
||||
_isContains = textContent.contains(searchContent);
|
||||
if (!_isContains && textContent != '') {
|
||||
_strMap = Map();
|
||||
_strMap['content'] = textContent;
|
||||
_strMap['isHighlight'] = false;
|
||||
_strMapList.add(_strMap);
|
||||
}
|
||||
}
|
||||
_strMapList.forEach((map) {
|
||||
textSpanList.add(TextSpan(
|
||||
text: map['content'],
|
||||
style: TextStyle(
|
||||
fontSize: fontSize,
|
||||
color: map['isHighlight'] ? selectFontColor : fontColor)));
|
||||
});
|
||||
} else {
|
||||
///正常显示所有文字
|
||||
textSpanList.add(TextSpan(
|
||||
text: textContent,
|
||||
style: TextStyle(fontSize: fontSize, color: fontColor),
|
||||
));
|
||||
}
|
||||
return textSpanList;
|
||||
}
|
||||
@ -3,7 +3,7 @@
|
||||
class Api {
|
||||
// static const baseUrl = 'https://leyuan666.com/zuul-service/';
|
||||
|
||||
static const baseUrl = 'http://192.168.3.55:2000/' ;
|
||||
static const baseUrl = 'http://192.168.3.55:2000/' ;
|
||||
|
||||
|
||||
// 获取验证码
|
||||
|
||||
@ -18,6 +18,8 @@ import 'package:circle_app/app/help/binding.dart';
|
||||
import 'package:circle_app/app/help/view.dart';
|
||||
import 'package:circle_app/app/home/binding.dart';
|
||||
import 'package:circle_app/app/home/view.dart';
|
||||
import 'package:circle_app/app/invite/binding.dart';
|
||||
import 'package:circle_app/app/invite/view.dart';
|
||||
import 'package:circle_app/app/likelist/binding.dart';
|
||||
import 'package:circle_app/app/likelist/view.dart';
|
||||
import 'package:circle_app/app/login/login/view.dart';
|
||||
@ -51,6 +53,7 @@ import 'package:circle_app/app/swiper/binding.dart';
|
||||
import 'package:circle_app/app/swiper/view.dart';
|
||||
import 'package:circle_app/app/userinfo/binding.dart';
|
||||
import 'package:circle_app/app/userinfo/view.dart';
|
||||
|
||||
import 'package:circle_app/app/visitorlist/view.dart';
|
||||
import 'package:circle_app/app/webview/binding.dart';
|
||||
import 'package:circle_app/app/webview/view.dart';
|
||||
@ -207,6 +210,11 @@ class AppPages {
|
||||
page: () => Signal_circle_listPage(),
|
||||
binding: Signal_circle_listBinding(),
|
||||
),
|
||||
GetPage(
|
||||
name: AppRoutes.Invite,
|
||||
page: () => InvitePage(),
|
||||
binding: InviteBinding(),
|
||||
),
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
@ -34,6 +34,8 @@ abstract class AppRoutes {
|
||||
|
||||
static const Signal_circle_list = '/msg/chat/signal_circle_list';
|
||||
|
||||
static const Invite = '/mine/invite';
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -12,6 +12,7 @@ import device_info_plus_macos
|
||||
import fc_native_video_thumbnail_for_us
|
||||
import file_selector_macos
|
||||
import geolocator_apple
|
||||
import in_app_purchase_storekit
|
||||
import local_notifications_for_us
|
||||
import package_info_plus_macos
|
||||
import pasteboard
|
||||
@ -31,6 +32,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
||||
FcNativeVideoThumbnailPlugin.register(with: registry.registrar(forPlugin: "FcNativeVideoThumbnailPlugin"))
|
||||
FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin"))
|
||||
GeolocatorPlugin.register(with: registry.registrar(forPlugin: "GeolocatorPlugin"))
|
||||
InAppPurchasePlugin.register(with: registry.registrar(forPlugin: "InAppPurchasePlugin"))
|
||||
FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin"))
|
||||
FLTPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FLTPackageInfoPlusPlugin"))
|
||||
PasteboardPlugin.register(with: registry.registrar(forPlugin: "PasteboardPlugin"))
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -100,6 +100,8 @@ dependencies:
|
||||
tencent_chat_push_for_china: ^2.6.2+1
|
||||
#苹果内购
|
||||
in_app_purchase: ^3.0.8
|
||||
#第三方分享平台
|
||||
sharesdk_plugin: ^1.3.6
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user