Compare commits

..

No commits in common. "d3295a11b11f7f11b1995bfe4d4fbeecae75520a" and "56bd9f61638bb30f10103984a061a62732dc1607" have entirely different histories.

15 changed files with 513 additions and 628 deletions

View File

@ -65,8 +65,8 @@ android {
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
minSdkVersion 21 minSdkVersion 21
targetSdkVersion flutter.targetSdkVersion targetSdkVersion flutter.targetSdkVersion
versionCode 110 versionCode 4
versionName "1.1.0" versionName "1.0.3"
manifestPlaceholders = [ manifestPlaceholders = [
vivo_APPID: "105669716", vivo_APPID: "105669716",
vivo_APPKEY:"84f750207787376b310ca5b0d5969122", vivo_APPKEY:"84f750207787376b310ca5b0d5969122",

View File

@ -1,5 +1,9 @@
[ [
{"name": "全国",
"city": [{
"name": "全国",
"area": ["全国"]
}]},
{ {
"name": "北京市", "name": "北京市",
"city": [ "city": [

View File

@ -275,12 +275,13 @@ class CircleLogic extends GetxController {
} catch (Exception) {} } catch (Exception) {}
if (vicinityPage == 1) { if (vicinityPage == 1) {
cityName = bean.data.city;
vicinityList.clear(); vicinityList.clear();
} }
try{ try{
vicinityList.addAll(bean.data.users); vicinityList.addAll(bean.data.users);
} on Exception{} } catch(Exception){
}
if (vicinityPage == 1) { if (vicinityPage == 1) {
refreshController.refreshCompleted(); refreshController.refreshCompleted();

View File

@ -8,7 +8,6 @@ import 'package:circle_app/util/util.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_pickers/pickers.dart'; import 'package:flutter_pickers/pickers.dart';
import 'package:flutter_pickers/style/default_style.dart'; import 'package:flutter_pickers/style/default_style.dart';
import 'package:flutter_pickers/style/picker_style.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_swiper/flutter_swiper.dart'; import 'package:flutter_swiper/flutter_swiper.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -19,8 +18,10 @@ import '../select_circle/logic.dart';
import '../userinfo/logic.dart'; import '../userinfo/logic.dart';
import 'logic.dart'; import 'logic.dart';
const bgWidget = DecorationImage( const bgWidget = DecorationImage(
fit: BoxFit.fill, image: AssetImage('assets/images/base/home_back.png')); fit: BoxFit.fill,
image: AssetImage('assets/images/base/home_back.png'));
class CirclePage extends StatefulWidget { class CirclePage extends StatefulWidget {
CirclePage({Key? key}) : super(key: key); CirclePage({Key? key}) : super(key: key);
@ -75,8 +76,9 @@ class _CirclePageState extends State<CirclePage>
return Container( return Container(
width: MediaQuery.of(context).size.width, width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height, height: MediaQuery.of(context).size.height,
decoration: decoration: const BoxDecoration(
const BoxDecoration(color: Color(0xFF423055), image: bgWidget), color: Color(0xFF423055),
image: bgWidget),
child: Scaffold( child: Scaffold(
backgroundColor: Colors.transparent, backgroundColor: Colors.transparent,
body: SafeArea( body: SafeArea(
@ -137,20 +139,18 @@ class _CirclePageState extends State<CirclePage>
controller: logic.refreshController, controller: logic.refreshController,
onRefresh: _onRefresh, onRefresh: _onRefresh,
onLoading: _onLoading, onLoading: _onLoading,
enablePullUp: logic.myVip > 0, enablePullUp: logic.myVip>0,
child: ListView.builder( child: ListView.builder(
padding: EdgeInsets.all(10.sp), padding: EdgeInsets.all(10.sp),
itemCount: logic.myVip == 0 itemCount: logic.myVip == 0 ? logic.vicinityList.length + 2 : logic.vicinityList.length + 1,
? logic.vicinityList.length + 2
: logic.vicinityList.length + 1,
itemBuilder: (context, index) { itemBuilder: (context, index) {
if (index == 0) { if (index == 0) {
return bannerView(controller); return bannerView(controller);
} else { } else {
if (logic.myVip == 0 && index == logic.vicinityList.length + 1) { if (logic.myVip == 0 && index == logic.vicinityList.length+1) {
return showVipView(); return showVipView();
} else { } else {
return ListItem(logic.vicinityList[index - 1], index - 1); return ListItem(logic.vicinityList[index-1], index-1);
} }
} }
}, },
@ -215,7 +215,7 @@ class _CirclePageState extends State<CirclePage>
Widget ListItem(VicinityItemBean item, int index) { Widget ListItem(VicinityItemBean item, int index) {
return GestureDetector( return GestureDetector(
onTap: () { onTap: (){
Get.toNamed(AppRoutes.UserInfoActivity, arguments: item.id.toString()); Get.toNamed(AppRoutes.UserInfoActivity, arguments: item.id.toString());
}, },
child: Container( child: Container(
@ -238,14 +238,12 @@ class _CirclePageState extends State<CirclePage>
topLeft: Radius.circular(10.sp), topLeft: Radius.circular(10.sp),
topRight: Radius.circular(10.sp), topRight: Radius.circular(10.sp),
), ),
child: item.images.length == 0 child: item.images.length==0? Image(
? Image(
image: AssetImage(getCircleImage("icon_list_null")), image: AssetImage(getCircleImage("icon_list_null")),
width: Get.width, width: Get.width,
fit: BoxFit.fill, fit: BoxFit.fill,
height: 92.sp, height: 92.sp,
) ):Container(),
: Container(),
), ),
), ),
Column(children: [ Column(children: [
@ -280,17 +278,15 @@ class _CirclePageState extends State<CirclePage>
child: SingleChildScrollView( child: SingleChildScrollView(
scrollDirection: Axis.horizontal, scrollDirection: Axis.horizontal,
child: Container( child: Container(
margin: EdgeInsets.only(top: 6.sp), margin: EdgeInsets.only(top: 6.sp),
child: Row( child: Row(
children: [ children: [
for (int i = 0; i < item.images.length; i++) for (int i = 0; i < item.images.length; i++)
GestureDetector( GestureDetector(
onTap: () { onTap: (){
Get.toNamed(AppRoutes.Swiper, Get.toNamed(AppRoutes.Swiper,
arguments: { arguments: {'imaglist': item.images, 'index': i});
'imaglist': item.images,
'index': i
});
}, },
child: ListAlbumItem(item.images[i], i)), child: ListAlbumItem(item.images[i], i)),
], ],
@ -318,36 +314,36 @@ class _CirclePageState extends State<CirclePage>
const Spacer(), const Spacer(),
Container( Container(
margin: EdgeInsets.only(right: 8.sp), margin: EdgeInsets.only(right: 8.sp),
child: item.isOnline == 1 child:item.isOnline==1? Text(
? Text(
"当前在线", "当前在线",
style: TextStyle( style: TextStyle(
color: color: const Color.fromRGBO(247, 250, 250, 1.0),
const Color.fromRGBO(247, 250, 250, 1.0),
fontSize: 12.sp, fontSize: 12.sp,
), ),
) ):Container(),
: Container(),
), ),
], ],
), ),
), ),
Container( Container(
height: 50.sp, // height: 50.sp, //
width: Get.width, width: Get.width,
margin: EdgeInsets.symmetric(horizontal: 8.0), margin: EdgeInsets.symmetric( horizontal: 8.0),
child: Align( child: Align(
alignment: Alignment.centerLeft, // alignment: Alignment.centerLeft, //
child: Text( child: Text(
item.signature, item.signature,
maxLines: 2, maxLines: 2,
style: TextStyle(color: Colors.white, fontSize: 14.sp), style: TextStyle(color: Colors.white,fontSize: 14.sp),
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
), ),
), ),
), ),
Container( Container(
margin: EdgeInsets.only(left: 8.sp, right: 3.sp), margin: EdgeInsets.only(left: 8.sp,right: 3.sp),
child: _buildInterestsListView(item.interests)) child: _buildInterestsListView(item.interests))
]), ]),
], ],
@ -412,9 +408,11 @@ class _CirclePageState extends State<CirclePage>
); );
} }
Widget _buildInfoRow(VicinityItemBean item) { Widget _buildInfoRow(VicinityItemBean item) {
String ageMsg = String ageMsg = getAgeCOntent(item!.gender, item!.age,
getAgeCOntent(item!.gender, item!.age, item!.role, item!.orientation); item!.role, item!.orientation);
return Row( return Row(
children: [ children: [
Container( Container(
@ -457,12 +455,7 @@ class _CirclePageState extends State<CirclePage>
Widget ListAlbumItem(String item, int index) { Widget ListAlbumItem(String item, int index) {
return Container( return Container(
margin: EdgeInsets.symmetric(horizontal: 2.sp), margin: EdgeInsets.symmetric(horizontal: 2.sp),
child: CachedNetworkImage( child: CachedNetworkImage( width: 88.sp, height: 88.sp, fit: BoxFit.cover, imageUrl: item+"?imageView2/1/w/176/h/176/q/75",),
width: 88.sp,
height: 88.sp,
fit: BoxFit.cover,
imageUrl: item + "?imageView2/1/w/176/h/176/q/75",
),
); );
} }
@ -471,17 +464,18 @@ class _CirclePageState extends State<CirclePage>
logic.offset = 0; logic.offset = 0;
logic.getNearByList(); logic.getNearByList();
// logic.refreshController.refreshCompleted(); // logic.refreshController.refreshCompleted();
} }
void _onLoading() async { void _onLoading() async {
if (logic.myVip > 0) { if(logic.myVip>0){
logic.vicinityPage = logic.vicinityPage + 1; logic.vicinityPage = logic.vicinityPage + 1;
// logic.offset = 0;
// //
logic.getNearByList(); logic.getNearByList();
} else { }else{
logic.refreshController.loadComplete(); logic.refreshController.loadComplete();
} }
} }
Widget bannerView(CircleLogic controller) { Widget bannerView(CircleLogic controller) {
@ -491,14 +485,17 @@ class _CirclePageState extends State<CirclePage>
child: Swiper( child: Swiper(
autoplay: logic.bannerList.length > 1, autoplay: logic.bannerList.length > 1,
controller: logic.swiperController, controller: logic.swiperController,
loop: logic.bannerList.length > 1 ? true : false, loop: logic.bannerList.length>1?true:false,
// index:logic.index, // index:logic.index,
itemBuilder: (BuildContext context, int index) { itemBuilder: (BuildContext context, int index) {
print(logic.bannerList[index].picUrl); print(logic.bannerList[index].picUrl);
return GestureDetector( return GestureDetector(
onTap: () async { onTap: () async {
// print(logic.bannerList[index].param); print(logic.bannerList[index].param);
navigateToCustomRoute(logic.bannerList[index]); Get.toNamed(AppRoutes.WebViewActivity, arguments: {
'title': "",
"url": logic.bannerList[index].param.toString()
});
}, },
child: SizedBox( child: SizedBox(
width: Get.width, width: Get.width,
@ -593,64 +590,20 @@ class _CirclePageState extends State<CirclePage>
left: 0, left: 0,
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
Get.toNamed(AppRoutes.Invite); Get.toNamed(AppRoutes.VisitorListActivity);
}, },
child: Container( child: SizedBox(
decoration: BoxDecoration( width: 30.sp * widgets.length,
borderRadius: BorderRadius.circular(17.0), height: 44.sp,
gradient: const LinearGradient( child: Stack(
colors: [ alignment: Alignment.centerLeft,
Color(0xFF06F9FA), children: widgets,
Color(0xFFDC5BFD),
],
),
color: const Color(0xFF392D53),
),
child: Container(
margin: EdgeInsets.all(0.6.sp),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(17.0),
color: const Color(0xFF392D53),
),
child: Padding(
padding: EdgeInsets.only(
top: 5.sp,
bottom: 4.sp,
left: 8.sp,
right: 8.sp,
),
child: const Center(
child: Text(
"邀请得会员",
style: TextStyle(
fontSize: 11,
color: Colors.white,
), ),
), ),
), ),
), )
),
),
))
// Positioned(
// left: 0,
// child: GestureDetector(
// onTap: () {
// Get.toNamed(AppRoutes.VisitorListActivity);
// },
// child: SizedBox(
// width: 30.sp * widgets.length,
// height: 44.sp,
// child: Stack(
// alignment: Alignment.centerLeft,
// children: widgets,
// ),
// ),
// ),
// )
: GestureDetector( : GestureDetector(
onTap: () { onTap: (){
showCityPiker(context); showCityPiker(context);
}, },
child: Row( child: Row(
@ -662,7 +615,7 @@ class _CirclePageState extends State<CirclePage>
Container( Container(
margin: EdgeInsets.only(left: 4.sp, top: 4.sp), margin: EdgeInsets.only(left: 4.sp, top: 4.sp),
child: Text( child: Text(
modifyCityName(logic.cityName), logic.cityName,
style: style:
TextStyle(color: Colors.white, fontSize: 16.sp), TextStyle(color: Colors.white, fontSize: 16.sp),
)) ))
@ -700,6 +653,7 @@ class _CirclePageState extends State<CirclePage>
'发现', '发现',
style: TextStyle( style: TextStyle(
fontSize: 18.sp, fontSize: 18.sp,
), ),
), ),
), ),
@ -708,6 +662,7 @@ class _CirclePageState extends State<CirclePage>
'附近', '附近',
style: TextStyle( style: TextStyle(
fontSize: 18.sp, fontSize: 18.sp,
), ),
), ),
), ),
@ -721,6 +676,7 @@ class _CirclePageState extends State<CirclePage>
offset: Offset(0, -2), // offset: Offset(0, -2), //
blurRadius: 3, // blurRadius: 3, //
// spreadRadius: 0 // spreadRadius: 0
), ),
], ],
), ),
@ -773,15 +729,57 @@ class _CirclePageState extends State<CirclePage>
Positioned( Positioned(
right: 0, right: 0,
child: logic.isShowCircle child: logic.isShowCircle
? GestureDetector( ?
onTap: () { GestureDetector(
Get.toNamed(AppRoutes.MyCircle, arguments: ''); onTap: (){
Get.toNamed(AppRoutes.Invite);
}, },
child: Image.asset( child: Container(
getCircleImage('my_circle'), decoration: BoxDecoration(
width: 64.sp, borderRadius: BorderRadius.circular(17.0),
gradient: const LinearGradient(
colors: [
Color(0xFF06F9FA),
Color(0xFFDC5BFD),
],
),
color: const Color(0xFF392D53),
),
child: Container(
margin: EdgeInsets.all(0.6.sp),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(17.0),
color: const Color(0xFF392D53),
),
child: Padding(
padding: EdgeInsets.only(
top: 5.sp,
bottom: 4.sp,
left: 15.sp,
right: 15.sp,
),
child: const Center(
child: Text(
"邀请得会员",
style: TextStyle(
fontSize: 11,
color: Colors.white,
),
),
),
),
),
), ),
) )
// GestureDetector(
// onTap: () {
// Get.toNamed(AppRoutes.MyCircle, arguments: '');
// },
// child: Image.asset(
// getCircleImage('my_circle'),
// width: 64.sp,
// ),
// )
: GestureDetector( : GestureDetector(
onTap: () { onTap: () {
_showBottomSheet(context); _showBottomSheet(context);
@ -807,7 +805,8 @@ class _CirclePageState extends State<CirclePage>
orientationList: logic.orientationList, orientationList: logic.orientationList,
roleList: logic.roleList, roleList: logic.roleList,
callback: (genderList, orientationList, roleList) { callback: (genderList, orientationList, roleList) {
_onRefresh(); logic.offset = 0;
logic.getNearByList();
}, },
); // Use your custom widget here ); // Use your custom widget here
}, },
@ -1038,18 +1037,19 @@ class _CirclePageState extends State<CirclePage>
); );
} }
showCityPiker(context) { showCityPiker(context) {
Pickers.showMultiLinkPicker(context, Pickers.showMultiLinkPicker(context,
pickerStyle: DefaultPickerStyle.dark(), pickerStyle: DefaultPickerStyle.dark(), data: logic.cityMap, columeNum: 2,
data: logic.cityMap, onConfirm: (List res, List<int> position){
columeNum: 2, onConfirm: (List res, List<int> position) {
print(res); print(res);
// print(logic.cityMap[res[0]][res[1]][0]); // print(logic.cityMap[res[0]][res[1]][0]);
// controller.state.city = controller.cityMap[res[0]][res[1]][0]; // controller.state.city = controller.cityMap[res[0]][res[1]][0];
// logic.state.city = res[1]; // logic.state.city = res[1];
logic.cityName = res[1]; logic.cityName = res[1];
_onRefresh(); logic.offset = 0;
logic.getNearByList();
// logic.getSuccess(); // logic.getSuccess();
// logic.update(); // logic.update();
} }
@ -1063,62 +1063,6 @@ class _CirclePageState extends State<CirclePage>
); );
} }
String modifyCityName(String cityName) {
if (cityName.endsWith("")) {
cityName = cityName.substring(0, cityName.length - 1);
}
if (cityName.length > 4) {
cityName = cityName.substring(0, 4) + "...";
}
return cityName;
}
}
class DefaultPickerStyle extends PickerStyle {
DefaultPickerStyle({bool haveRadius: false, String? title}) {
if (haveRadius) {
this.headDecoration = BoxDecoration(
color: Colors.white,
borderRadius: const BorderRadius.only(
topLeft: Radius.circular(10), topRight: Radius.circular(10)));
}
if (title != null && title != '') {
this.title = Center(
child:
Text(title, style: TextStyle(color: Colors.grey, fontSize: 14)));
}
}
///
DefaultPickerStyle.dark({bool haveRadius: false, String? title}) {
this.commitButton = Container(
alignment: Alignment.center,
padding: const EdgeInsets.only(left: 12, right: 22),
child: Text('确定', style: TextStyle(color: Colors.white, fontSize: 16.0)),
);
this.cancelButton = Container(
alignment: Alignment.center,
padding: const EdgeInsets.only(left: 22, right: 12),
child: Text('取消', style: TextStyle(color: Colors.white, fontSize: 16.0)),
);
this.headDecoration = BoxDecoration(
color: Color(0xFF4A3E5D),
borderRadius: !haveRadius
? null
: BorderRadius.only(
topLeft: Radius.circular(10), topRight: Radius.circular(10)));
if (title != null && title != '') {
this.title = Center(
child:
Text(title, style: TextStyle(color: Colors.white, fontSize: 14)));
}
this.backgroundColor = Color(0xFF4A3E5D)!;
this.textColor = Colors.white;
}
} }

View File

@ -68,9 +68,7 @@ class HomeLogic extends GetxController {
if (sender.userID == "qpqz_dev_10_10000000000" || if (sender.userID == "qpqz_dev_10_10000000000" ||
sender.userID == "qpqz_prod_10_10000000000") { sender.userID == "qpqz_prod_10_10000000000") {
if(customData.isEmpty){
return;
}
print("123123123123"+customData); print("123123123123"+customData);
Map<String, dynamic> jsonData = json.decode(customData); Map<String, dynamic> jsonData = json.decode(customData);

View File

@ -26,7 +26,13 @@ class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin
super.build(context); super.build(context);
return GetBuilder(builder: (HomeLogic controller) { return GetBuilder(builder: (HomeLogic controller) {
return ExitAppConfirmation(child: Scaffold( return GestureDetector(
onTap: () {
controller.onReady();
// Get.toNamed(AppRoutes.Complete_materialPage);
},
child: ExitAppConfirmation(child: Stack(children: [
Scaffold(
resizeToAvoidBottomInset: false, resizeToAvoidBottomInset: false,
// backgroundColor: Color.fromRGBO(244, 245, 245, 1.0), // backgroundColor: Color.fromRGBO(244, 245, 245, 1.0),
bottomNavigationBar: Container( bottomNavigationBar: Container(
@ -59,7 +65,10 @@ class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin
}, },
children: controller.tabs, children: controller.tabs,
), ),
),); ),
],),)
);
}); });
} }

View File

@ -37,12 +37,14 @@ class _ShareState extends State<Share> {
return Scaffold( return Scaffold(
backgroundColor: Colors.transparent, backgroundColor: Colors.transparent,
body: Container( body: Container(
child: Column( child: Stack(
alignment: Alignment.center,
children: [ children: [
Expanded(child: Container()), Positioned(
Container( top: 84.sp,
child: Container(
width: Get.width - 40.sp, width: Get.width - 40.sp,
// height: Get.height - Get.bottomBarHeight - 164.sp - 10.sp, height: Get.height - 84.sp - Get.bottomBarHeight - 164.sp - 10.sp,
child:SingleChildScrollView( child:SingleChildScrollView(
child: RepaintBoundary( child: RepaintBoundary(
key: _globalKey, key: _globalKey,
@ -58,7 +60,7 @@ class _ShareState extends State<Share> {
Container( Container(
width: Get.width, width: Get.width,
height: 65.sp, height: 65.sp,
margin: EdgeInsets.only(left: 15.sp, top: 20.sp,right: 15.sp), margin: EdgeInsets.only(left: 15.sp, top: 20.sp),
child: Row( child: Row(
children: [ children: [
Center( Center(
@ -104,8 +106,8 @@ class _ShareState extends State<Share> {
), ),
Image.asset( Image.asset(
getBaseImage("ic_launcher"), getBaseImage("ic_launcher"),
width: 65.sp, width: 80.sp,
height: 65.sp, height: 80.sp,
) )
], ],
), ),
@ -119,7 +121,7 @@ class _ShareState extends State<Share> {
child: Column( child: Column(
children: [ children: [
SizedBox( SizedBox(
height: 5.sp, height: 20.sp,
), ),
Container( Container(
padding: EdgeInsets.only(left: 15.sp,right: 15.sp), padding: EdgeInsets.only(left: 15.sp,right: 15.sp),
@ -139,7 +141,7 @@ class _ShareState extends State<Share> {
), ),
), ),
Container( Container(
// height: 90.sp, height: 90.sp,
// color: Color(0xFF334141), // color: Color(0xFF334141),
alignment: Alignment.center, alignment: Alignment.center,
// color: Colors.yellow, // color: Colors.yellow,
@ -164,7 +166,7 @@ class _ShareState extends State<Share> {
'专属邀请码', '专属邀请码',
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 18.sp), fontSize: 16.sp),
), ),
SizedBox( SizedBox(
width: 8.sp, width: 8.sp,
@ -207,7 +209,7 @@ class _ShareState extends State<Share> {
'扫码或长按识别下载APP认识更多小众圈子里的人给生活带来更多乐趣', '扫码或长按识别下载APP认识更多小众圈子里的人给生活带来更多乐趣',
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 15.sp)), fontSize: 12.sp)),
) )
], ],
), ),
@ -240,7 +242,10 @@ class _ShareState extends State<Share> {
)) ))
), ),
), ),
SafeArea( ),
Positioned(
bottom: 0,
child: SafeArea(
top: false, top: false,
child: Container( child: Container(
height: 164.sp, height: 164.sp,
@ -294,7 +299,7 @@ class _ShareState extends State<Share> {
) )
], ],
), ),
)) )))
], ],
), ),
), ),

View File

@ -40,9 +40,6 @@ class InvitePage extends StatelessWidget {
child: Image.asset(getMineImage('invite_right_icon'), child: Image.asset(getMineImage('invite_right_icon'),
), ),
), ),
onPressed: (){
navigateToInviteStrategy();
},
), ),
body: GetBuilder<InviteLogic>(builder: (logic) { body: GetBuilder<InviteLogic>(builder: (logic) {
List<Widget> peopleCountList = []; List<Widget> peopleCountList = [];
@ -62,6 +59,11 @@ class InvitePage extends StatelessWidget {
// ), // ),
}); });
getTextSpanList(
'Tip您已成功邀请 ${logic.homeData!.inviteCount! ?? 0}位同好,免费获得会员${logic.homeData!.achieveRewardDay! ?? '0'}天, 再邀请${logic.homeData!.diffAwardCount}位同友可领取更多奖励~',
Color(0xFFDC5BFD),
12.sp,
searchContent: 'Tip');
allSpan.addAll(getTextSpanList( allSpan.addAll(getTextSpanList(
'Tip您已成功邀请', 'Tip您已成功邀请',
@ -79,7 +81,7 @@ class InvitePage extends StatelessWidget {
12.sp, 12.sp,
searchContent: '${logic.homeData!.achieveRewardDay! ?? '0'} ')); searchContent: '${logic.homeData!.achieveRewardDay! ?? '0'} '));
allSpan.addAll(getTextSpanList( allSpan.addAll(getTextSpanList(
' 再邀请 ${logic.homeData!.diffAwardCount} 位同可领取更多奖励~', ' 再邀请 ${logic.homeData!.diffAwardCount} 位同可领取更多奖励~',
Color(0xFFDC5BFD), Color(0xFFDC5BFD),
12.sp, 12.sp,
searchContent: '${logic.homeData!.diffAwardCount}')); searchContent: '${logic.homeData!.diffAwardCount}'));
@ -220,7 +222,7 @@ class InvitePage extends StatelessWidget {
data['inviter_name'], data['inviter_name'],
style: TextStyle( style: TextStyle(
color: Color(0xff0DF5F7), color: Color(0xff0DF5F7),
fontSize: 16.sp, fontSize: 14.sp,
fontWeight: FontWeight.w500), fontWeight: FontWeight.w500),
), ),
Container( Container(
@ -230,14 +232,14 @@ class InvitePage extends StatelessWidget {
'邀请', '邀请',
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 16.sp, fontSize: 14.sp,
fontWeight: FontWeight.w500), fontWeight: FontWeight.w500),
)), )),
Text( Text(
data['invitee_name'], data['invitee_name'],
style: TextStyle( style: TextStyle(
color: Color(0xff0DF5F7), color: Color(0xff0DF5F7),
fontSize: 16.sp, fontSize: 14.sp,
fontWeight: FontWeight.w500), fontWeight: FontWeight.w500),
), ),
Container( Container(
@ -246,7 +248,7 @@ class InvitePage extends StatelessWidget {
'加入微乐园', '加入微乐园',
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 16.sp, fontSize: 14.sp,
fontWeight: FontWeight.w500), fontWeight: FontWeight.w500),
)), )),
], ],

View File

@ -52,7 +52,6 @@ class MinefragmentPage extends StatelessWidget {
left: 11.sp, left: 11.sp,
right: 11.sp, right: 11.sp,
), ),
child: SingleChildScrollView(
child: Column( child: Column(
children: [ children: [
_buildAvatarRow(logic), _buildAvatarRow(logic),
@ -64,12 +63,12 @@ class MinefragmentPage extends StatelessWidget {
child: Stack(children: [ child: Stack(children: [
MyImageWidget, MyImageWidget,
Positioned( Positioned(
top: 54.sp, top: 58.sp,
left: 72.sp, left: 90.sp,
child: Text(logic.vipMsg,style: TextStyle(color: const Color(0x99FFFFFF),fontSize: 12.sp),)), child: Text(logic.vipMsg,style: TextStyle(color: const Color(0x99FFFFFF),fontSize: 12.sp),)),
Positioned( Positioned(
top: 26.sp, top: 32.sp,
left: 70.sp, left: 90.sp,
child: Text("会员-微乐园贵宾",style: TextStyle(color: const Color(0xFFFFFFFF),fontSize: 16.sp),)) child: Text("会员-微乐园贵宾",style: TextStyle(color: const Color(0xFFFFFFFF),fontSize: 16.sp),))
],), ],),
), ),
@ -78,7 +77,6 @@ class MinefragmentPage extends StatelessWidget {
), ),
), ),
), ),
),
); );
}); });
} }

View File

@ -8,7 +8,6 @@ import 'package:get/get.dart';
import '../../components/my_app_bar.dart'; import '../../components/my_app_bar.dart';
import '../../router/app_routers.dart'; import '../../router/app_routers.dart';
import '../../util/util.dart'; import '../../util/util.dart';
import '../select_circle/logic.dart';
import 'logic.dart'; import 'logic.dart';
class UserinfoPage extends StatefulWidget { class UserinfoPage extends StatefulWidget {
@ -89,22 +88,6 @@ class MyTabbedScreenState extends State<UserinfoPage>
width: Get.width, width: Get.width,
child: _meInfoButton(logic), child: _meInfoButton(logic),
), ),
!logic.isShowAlbum &&logic.isMe ? Positioned(
bottom: 36.sp,
right: 10.sp,
child: GestureDetector(
onTap: () async {
List<MyConfigData> numbers = [];
var data = await Get.toNamed(
AppRoutes.Call_out,
arguments: {'numbers': numbers});
},
child: Image.asset(
getCircleImage('send_msg'),
width: 60.sp,
))):Container()
], ],
), ),
), ),

View File

@ -344,9 +344,9 @@ class _HomeCallOutViewState extends State<HomeCallOutView> with AutomaticKeepAli
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Text( Text(
"", lists.create_time!,
style: TextStyle( style: TextStyle(
color: Colors.white, fontSize: 1.sp), color: Colors.white, fontSize: 12.sp),
), ),
widget.userId.isNotEmpty widget.userId.isNotEmpty
? Container() ? Container()
@ -605,7 +605,7 @@ class _HomeCallOutViewState extends State<HomeCallOutView> with AutomaticKeepAli
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Text( Text(
"", lists.create_time!,
style: style:
TextStyle(color: Colors.white, fontSize: 12.sp), TextStyle(color: Colors.white, fontSize: 12.sp),
), ),

View File

@ -45,8 +45,7 @@ class DioManager {
// //
receiveTimeout: const Duration(seconds: 300), receiveTimeout: const Duration(seconds: 300),
)); ));
_dio!.interceptors.add(LogInterceptor(responseBody: true, _dio!.interceptors.add(LogInterceptor(responseBody: true));
));
// _dio!.interceptors.add(ConnectivityInterceptor()); // _dio!.interceptors.add(ConnectivityInterceptor());
} }

View File

@ -1,4 +1,3 @@
import 'dart:convert';
import 'dart:io'; import 'dart:io';
import 'dart:ui'; import 'dart:ui';
@ -14,8 +13,6 @@ import 'package:path_provider/path_provider.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart'; import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'package:video_compress/video_compress.dart'; import 'package:video_compress/video_compress.dart';
import '../app/circle/logic.dart';
import '../app/select_circle/logic.dart';
import 'SharedPreferencesHelper.dart'; import 'SharedPreferencesHelper.dart';
class Util {} class Util {}
@ -157,10 +154,8 @@ String convertToTenThousand(int number) {
pushLoginPage() async { pushLoginPage() async {
await logoutIM(); await logoutIM();
SharedPreferencesHelper.getInstance().then((sharedPreferences) { SharedPreferencesHelper.getInstance().then((sharedPreferences) {
bool agreement = bool agreement = sharedPreferences.getBool(SharedPreferencesHelper.AGREEMENT)??false;
sharedPreferences.getBool(SharedPreferencesHelper.AGREEMENT) ?? false; String loginPhone = sharedPreferences.getString(SharedPreferencesHelper.LOGINPHONE)??"";
String loginPhone =
sharedPreferences.getString(SharedPreferencesHelper.LOGINPHONE) ?? "";
print(loginPhone); print(loginPhone);
sharedPreferences.clear(); sharedPreferences.clear();
sharedPreferences.setString(SharedPreferencesHelper.LOGINPHONE, loginPhone); sharedPreferences.setString(SharedPreferencesHelper.LOGINPHONE, loginPhone);
@ -283,8 +278,10 @@ class CustomLoadFooter extends StatelessWidget {
failedText: "加载失败", failedText: "加载失败",
); );
} }
} }
// //
Future<String> getApplicationDocumentsDirectoryPath() async { Future<String> getApplicationDocumentsDirectoryPath() async {
final directory = await getApplicationDocumentsDirectory(); final directory = await getApplicationDocumentsDirectory();
@ -309,6 +306,8 @@ Future<String> getLibraryDirectoryPath() async {
return directory.path; return directory.path;
} }
// //
void navigateToCodeOfConduct() { void navigateToCodeOfConduct() {
Get.toNamed(AppRoutes.WebViewActivity, arguments: { Get.toNamed(AppRoutes.WebViewActivity, arguments: {
@ -321,9 +320,7 @@ void navigateToCodeOfConduct() {
void navigateToUserAgreement() { void navigateToUserAgreement() {
Get.toNamed(AppRoutes.WebViewActivity, arguments: { Get.toNamed(AppRoutes.WebViewActivity, arguments: {
'title': "用户协议", 'title': "用户协议",
"url": Platform.isIOS "url": Platform.isIOS?"https://docs.qq.com/doc/DZVV1SkttZGlPUW1H":"https://iquanpai.com/app-h5/4_163.html"
? "https://docs.qq.com/doc/DZVV1SkttZGlPUW1H"
: "https://iquanpai.com/app-h5/4_163.html"
}); });
} }
@ -331,19 +328,14 @@ void navigateToUserAgreement() {
void navigateToPrivacyPolicy() { void navigateToPrivacyPolicy() {
Get.toNamed(AppRoutes.WebViewActivity, arguments: { Get.toNamed(AppRoutes.WebViewActivity, arguments: {
'title': "隐私协议", 'title': "隐私协议",
"url": Platform.isIOS "url": Platform.isIOS?"https://docs.qq.com/doc/DZXhvcXV6b1RNTUx1":"https://iquanpai.com/app-h5/4_164.html"
? "https://docs.qq.com/doc/DZXhvcXV6b1RNTUx1"
: "https://iquanpai.com/app-h5/4_164.html"
}); });
} }
// //
void navigateToContentGuidelines() { void navigateToContentGuidelines() {
Get.toNamed(AppRoutes.WebViewActivity, arguments: { Get.toNamed(AppRoutes.WebViewActivity, arguments: {
'title': "发布内容规范", 'title': "发布内容规范",
"url": Platform.isIOS "url": Platform.isIOS?"https://docs.qq.com/doc/DZVhLamZDQnJ0eHds":"https://iquanpai.com/app-h5/4_165.html"
? "https://docs.qq.com/doc/DZVhLamZDQnJ0eHds"
: "https://iquanpai.com/app-h5/4_165.html"
}); });
} }
@ -351,57 +343,8 @@ void navigateToContentGuidelines() {
void navigateToPartnerAgreement() { void navigateToPartnerAgreement() {
Get.toNamed(AppRoutes.WebViewActivity, arguments: { Get.toNamed(AppRoutes.WebViewActivity, arguments: {
'title': "合伙人协议", 'title': "合伙人协议",
"url": Platform.isIOS "url": Platform.isIOS?"https://docs.qq.com/doc/DZUpwWFdNcGlsYld4":"https://iquanpai.com/app-h5/4_166.html"
? "https://docs.qq.com/doc/DZUpwWFdNcGlsYld4"
: "https://iquanpai.com/app-h5/4_166.html"
}); });
} }
//
void navigateToInviteStrategy() {
Get.toNamed(AppRoutes.WebViewActivity, arguments: {
'title': "邀请攻略",
"url": "https://leyuan666.com/app-h5/4_168.html"
});
}
void navigateToCustomRoute(BannerItem bannerItem) {
print(bannerItem.param);
switch (bannerItem.type) {
case 1:
Get.toNamed(AppRoutes.WebViewActivity,
arguments: {'title': "", "url": bannerItem.param.toString()});
break;
case 2:
switch (bannerItem.scene) {
case "scene_2":
List<MyConfigData> numbers = [];
if(bannerItem.param!.isNotEmpty){
String paramJson = bannerItem.param.toString();
paramJson = paramJson.replaceAll(r'\', ''); //
Map<String, dynamic> jsonData = json.decode(paramJson);
numbers.add(MyConfigData(jsonData['id'].toString(), jsonData['name'], false));
}
Get.toNamed(AppRoutes.Call_out, arguments: {'numbers': numbers});
break;
case "scene_3":
Get.toNamed(AppRoutes.FeedbackActivity);
break;
}
break;
case 3:
switch (bannerItem.scene) {
case "scene_1":
Get.toNamed(AppRoutes.Invite);
break;
case "scene_4":
if(bannerItem.param!.isEmpty){
Get.toNamed(AppRoutes.UserInfoActivity);
}else{
Get.toNamed(AppRoutes.UserInfoActivity, arguments: bannerItem.param.toString());
}
break;
}
break;
}
}

View File

@ -14,7 +14,7 @@ void showFloatingButtonOverlay(
late OverlayEntry overlayEntry; late OverlayEntry overlayEntry;
bool showMessage = false; bool showMessage = false;
int countdownSeconds = 8; // int countdownSeconds = 5; //
// Timer // Timer
late Timer countdownTimer; late Timer countdownTimer;

View File

@ -142,7 +142,6 @@ flutter:
- assets/images/mine/ - assets/images/mine/
- assets/images/msg/ - assets/images/msg/
- assets/images/circle/ - assets/images/circle/
- assets/province.json
# - images/a_dot_ham.jpeg # - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see # An image asset can refer to one or more resolution-specific "variants", see