Merge remote-tracking branch 'origin/1.1.1' into android_1.0.1

# Conflicts:
#	circle_app/lib/network/api.dart
This commit is contained in:
YangYuhao 2023-08-22 15:53:12 +08:00
commit 0a4b3269e6
17 changed files with 1253 additions and 425 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 395 KiB

After

Width:  |  Height:  |  Size: 587 KiB

View File

@ -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

View File

@ -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";

View File

@ -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>

View File

@ -0,0 +1,10 @@
import 'package:get/get.dart';
import 'logic.dart';
class InviteBinding extends Bindings {
@override
void dependencies() {
Get.lazyPut(() => InviteLogic());
}
}

View 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();
}

View File

@ -0,0 +1,5 @@
class InviteState {
InviteState() {
///Initialize variables
}
}

View 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);
}

View File

@ -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,

View File

@ -52,6 +52,7 @@ class _My_circlePageState extends State<My_circlePage>
Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height,
child: Container(
child: Column(children: [
backNavigatorItem(),
// Text(controller.state.msg),
@ -86,6 +87,7 @@ class _My_circlePageState extends State<My_circlePage>
))
]),
),
),
],
);
}),

View 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;
}

View File

@ -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(),
),
];
}

View File

@ -34,6 +34,8 @@ abstract class AppRoutes {
static const Signal_circle_list = '/msg/chat/signal_circle_list';
static const Invite = '/mine/invite';
}

View File

@ -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

View File

@ -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: