代码提交
This commit is contained in:
parent
20ff09c9d5
commit
0687ee37f6
@ -71,8 +71,8 @@ android {
|
||||
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
|
||||
minSdkVersion 21
|
||||
targetSdkVersion flutter.targetSdkVersion
|
||||
versionCode 81
|
||||
versionName "2.3.7"
|
||||
versionCode 85
|
||||
versionName "2.4.0"
|
||||
manifestPlaceholders = [
|
||||
vivo_APPID: "105669716",
|
||||
vivo_APPKEY:"84f750207787376b310ca5b0d5969122",
|
||||
|
||||
@ -36,6 +36,7 @@ import '../../commons/config.dart';
|
||||
class Call_outLogic extends GetxController {
|
||||
final Call_outState state = Call_outState();
|
||||
TextEditingController textEditingController = TextEditingController();
|
||||
ScrollController scrollController = ScrollController();
|
||||
bool isCheck = false;
|
||||
late ConfigBean configBean;
|
||||
String circleName = "";
|
||||
@ -69,7 +70,7 @@ class Call_outLogic extends GetxController {
|
||||
|
||||
loadPushInterestData();
|
||||
var data =
|
||||
await DioManager.instance.get(url: Api.getCircleList, params: {});
|
||||
await DioManager.instance.get(url: Api.getConfig, params: {});
|
||||
var bean = BaseResponse<ConfigBean>.fromJson(
|
||||
data, (data) => ConfigBean.fromJson(data));
|
||||
if (bean.isSuccess()) {
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
import 'package:circle_app/utils/util.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:get/get.dart';
|
||||
@ -26,6 +27,25 @@ class _Call_outPageState extends State<Call_outPage> {
|
||||
|
||||
bool isShowKeyboard = false;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
// TODO: implement initState
|
||||
super.initState();
|
||||
logic.scrollController.addListener(() {
|
||||
if (logic.scrollController.position.pixels ==
|
||||
logic.scrollController.position.maxScrollExtent) {
|
||||
logic.startSelectCircleActivity();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
// TODO: implement dispose
|
||||
super.dispose();
|
||||
logic.scrollController.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return GetBuilder<Call_outLogic>(builder: (controller) {
|
||||
@ -73,16 +93,19 @@ class _Call_outPageState extends State<Call_outPage> {
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
'选择圈子:',
|
||||
'🌍选择圈子:',
|
||||
style: TextStyle(
|
||||
color: Colors.white, fontSize: 16.sp),
|
||||
),
|
||||
Expanded(child: Container()),
|
||||
logic.circleName == ''
|
||||
? Container(
|
||||
child: Text('选择合适的圈子更容易吸引圈友',style: TextStyle(color: Colors.grey),),
|
||||
)
|
||||
|
||||
child: Text(
|
||||
'选择合适的圈子更容易吸引圈友',
|
||||
style:
|
||||
TextStyle(color: Colors.grey),
|
||||
),
|
||||
)
|
||||
: Container(
|
||||
padding: EdgeInsets.only(
|
||||
left: 7.sp, right: 7.sp),
|
||||
@ -143,7 +166,8 @@ class _Call_outPageState extends State<Call_outPage> {
|
||||
setState(() {});
|
||||
},
|
||||
style: TextStyle(
|
||||
color: Colors.white, fontSize: 17.0.sp),
|
||||
color: Colors.white,
|
||||
fontSize: 17.0.sp),
|
||||
maxLines: 32,
|
||||
maxLength: 200,
|
||||
decoration: InputDecoration(
|
||||
@ -151,7 +175,7 @@ class _Call_outPageState extends State<Call_outPage> {
|
||||
color: const Color.fromRGBO(
|
||||
255, 255, 255, 0.6),
|
||||
fontSize: 14.sp),
|
||||
hintText: '请输入...(左下角上传图片或视频哦)',
|
||||
hintText: '请输入...(左下角上传图片或视频)',
|
||||
border: InputBorder.none,
|
||||
contentPadding: EdgeInsets.only(
|
||||
left: 17.sp, right: 17.sp),
|
||||
@ -164,9 +188,12 @@ class _Call_outPageState extends State<Call_outPage> {
|
||||
Text(
|
||||
'${controller.textEditingController.text.length}/200',
|
||||
style: TextStyle(
|
||||
color: Colors.white, fontSize: 12.sp),
|
||||
color: Colors.white,
|
||||
fontSize: 12.sp),
|
||||
),
|
||||
SizedBox(width: 15.sp,)
|
||||
SizedBox(
|
||||
width: 15.sp,
|
||||
)
|
||||
],
|
||||
)
|
||||
],
|
||||
@ -187,87 +214,89 @@ class _Call_outPageState extends State<Call_outPage> {
|
||||
),
|
||||
)),
|
||||
if (!isShowKeyboard)
|
||||
Container(
|
||||
height: 90.sp,
|
||||
padding: EdgeInsets.only(
|
||||
left: 17.sp, right: 17.sp, bottom: 5.sp),
|
||||
child: Column(
|
||||
children: [
|
||||
optionAtWidget(),
|
||||
Row(
|
||||
children: [
|
||||
GestureDetector(
|
||||
onTap: () {
|
||||
logic.showImg();
|
||||
},
|
||||
child: Image.asset(
|
||||
getCircleImage('photo'),
|
||||
width: 30.sp,
|
||||
),
|
||||
),
|
||||
const SizedBox(
|
||||
width: 16,
|
||||
),
|
||||
GestureDetector(
|
||||
onTap: () {
|
||||
logic.showVideo();
|
||||
},
|
||||
child: Image.asset(
|
||||
getCircleImage('video'),
|
||||
width: 30.sp,
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: GestureDetector(
|
||||
Container(
|
||||
height: 90.sp,
|
||||
padding: EdgeInsets.only(
|
||||
left: 17.sp, right: 17.sp, bottom: 5.sp),
|
||||
child: Column(
|
||||
children: [
|
||||
optionAtWidget(),
|
||||
Row(
|
||||
children: [
|
||||
GestureDetector(
|
||||
onTap: () {
|
||||
if (controller.vip == 2) {
|
||||
controller.isCheck =
|
||||
!controller.isCheck;
|
||||
controller.update();
|
||||
} else {
|
||||
showOKToast("至尊喊话为年会员特权,开通年会员即可享受哦~");
|
||||
controller.showRechargeDialog();
|
||||
}
|
||||
logic.showImg();
|
||||
},
|
||||
child: Row(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.center,
|
||||
children: [
|
||||
Image.asset(
|
||||
getCircleImage(controller.isCheck
|
||||
? 'check'
|
||||
: 'uncheck'),
|
||||
width: 17.5.sp,
|
||||
),
|
||||
SizedBox(
|
||||
width: 4.sp,
|
||||
),
|
||||
Text(
|
||||
'使用至尊喊话',
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 16.sp),
|
||||
)
|
||||
],
|
||||
child: Image.asset(
|
||||
getCircleImage('photo'),
|
||||
width: 30.sp,
|
||||
),
|
||||
),
|
||||
),
|
||||
GestureDetector(
|
||||
onTap: () {
|
||||
navigateToContentGuidelines();
|
||||
},
|
||||
child: Text(
|
||||
'内容规范',
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 14.sp),
|
||||
const SizedBox(
|
||||
width: 16,
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
GestureDetector(
|
||||
onTap: () {
|
||||
logic.showVideo();
|
||||
},
|
||||
child: Image.asset(
|
||||
getCircleImage('video'),
|
||||
width: 30.sp,
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: GestureDetector(
|
||||
onTap: () {
|
||||
if (controller.vip == 2) {
|
||||
controller.isCheck =
|
||||
!controller.isCheck;
|
||||
controller.update();
|
||||
} else {
|
||||
showOKToast(
|
||||
"至尊喊话为年会员特权,开通年会员即可享受哦~");
|
||||
controller.showRechargeDialog();
|
||||
}
|
||||
},
|
||||
child: Row(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.center,
|
||||
children: [
|
||||
Image.asset(
|
||||
getCircleImage(
|
||||
controller.isCheck
|
||||
? 'check'
|
||||
: 'uncheck'),
|
||||
width: 17.5.sp,
|
||||
),
|
||||
SizedBox(
|
||||
width: 4.sp,
|
||||
),
|
||||
Text(
|
||||
'使用至尊喊话',
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 16.sp),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
GestureDetector(
|
||||
onTap: () {
|
||||
navigateToContentGuidelines();
|
||||
},
|
||||
child: Text(
|
||||
'内容规范',
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 14.sp),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
if (isShowKeyboard)
|
||||
@ -312,7 +341,8 @@ class _Call_outPageState extends State<Call_outPage> {
|
||||
!controller.isCheck;
|
||||
controller.update();
|
||||
} else {
|
||||
showOKToast("至尊喊话为年会员特权,开通年会员即可享受哦~");
|
||||
showOKToast(
|
||||
"至尊喊话为年会员特权,开通年会员即可享受哦~");
|
||||
controller.showRechargeDialog();
|
||||
}
|
||||
},
|
||||
@ -321,9 +351,10 @@ class _Call_outPageState extends State<Call_outPage> {
|
||||
MainAxisAlignment.center,
|
||||
children: [
|
||||
Image.asset(
|
||||
getCircleImage(controller.isCheck
|
||||
? 'check'
|
||||
: 'uncheck'),
|
||||
getCircleImage(
|
||||
controller.isCheck
|
||||
? 'check'
|
||||
: 'uncheck'),
|
||||
width: 17.5.sp,
|
||||
),
|
||||
SizedBox(
|
||||
@ -364,80 +395,82 @@ class _Call_outPageState extends State<Call_outPage> {
|
||||
|
||||
optionAtWidget() {
|
||||
return GestureDetector(
|
||||
behavior: HitTestBehavior.opaque,
|
||||
onTap: () {
|
||||
Get.toNamed(Routes.FriendDialog)!
|
||||
.then((value) {
|
||||
if (value != null) {
|
||||
logic.configList.clear();
|
||||
logic.configList.addAll(logic.selectedList);
|
||||
logic.update();
|
||||
}
|
||||
});
|
||||
},
|
||||
child: Container(
|
||||
height: 20.sp,
|
||||
width: Get.width,
|
||||
// color: Colors.red,
|
||||
margin: EdgeInsets.only(
|
||||
// left: 15.sp,
|
||||
bottom: 10.sp,
|
||||
),
|
||||
child: Row(
|
||||
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
'@ 提醒谁看',
|
||||
style: TextStyle(
|
||||
color: const Color(0xFFB7BECC),
|
||||
fontSize: 15.sp,
|
||||
behavior: HitTestBehavior.opaque,
|
||||
onTap: () {
|
||||
Get.toNamed(Routes.FriendDialog)!.then((value) {
|
||||
if (value != null) {
|
||||
logic.configList.clear();
|
||||
logic.configList.addAll(logic.selectedList);
|
||||
logic.update();
|
||||
}
|
||||
});
|
||||
},
|
||||
child: Container(
|
||||
height: 30.sp,
|
||||
width: Get.width,
|
||||
padding: EdgeInsets.only(left: 4.sp,right: 4.sp),
|
||||
margin: EdgeInsets.only(
|
||||
|
||||
// left: 15.sp,
|
||||
bottom: 10.sp,
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
color: CupertinoColors.systemGrey.withOpacity(0.2),
|
||||
borderRadius: BorderRadius.circular(15.sp)
|
||||
),
|
||||
child: Row(
|
||||
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
'@ 提醒谁看',
|
||||
style: TextStyle(
|
||||
color: const Color(0xFFB7BECC),
|
||||
fontSize: 15.sp,
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
width: 10.sp,
|
||||
),
|
||||
// Spacer(),
|
||||
Expanded(
|
||||
child: ListView.builder(
|
||||
itemBuilder: (context, index) {
|
||||
var info = logic.configList[index];
|
||||
return Container(
|
||||
margin: EdgeInsets.only(right: 3.sp),
|
||||
child: ClipOval(
|
||||
child: Image.network(
|
||||
info.avatar.isNotEmpty
|
||||
? info.avatar
|
||||
: Api.defaultAvatar,
|
||||
fit: BoxFit.cover,
|
||||
width: 20.0.sp,
|
||||
height: 20.0.sp,
|
||||
),
|
||||
SizedBox(
|
||||
width: 10.sp,
|
||||
),
|
||||
// Spacer(),
|
||||
Expanded(
|
||||
child: ListView.builder(
|
||||
itemBuilder: (context, index) {
|
||||
var info = logic.configList[index];
|
||||
return Container(
|
||||
margin: EdgeInsets.only(right: 3.sp),
|
||||
child: ClipOval(
|
||||
child: Image.network(
|
||||
info.avatar.isNotEmpty ? info.avatar : Api.defaultAvatar,
|
||||
fit: BoxFit.cover,
|
||||
width: 20.0.sp,
|
||||
height: 20.0.sp,
|
||||
),
|
||||
);
|
||||
},
|
||||
scrollDirection: Axis.horizontal,
|
||||
// reverse: true,
|
||||
itemCount: logic.configList.length,
|
||||
)),
|
||||
Image(
|
||||
image: AssetImage(getHomeImage("icon_in")),
|
||||
// width: 44.sp,
|
||||
height: 18.sp,
|
||||
),
|
||||
// GestureDetector(
|
||||
// onTap: () {
|
||||
// showRelationShipPiker(context, logic);
|
||||
// },
|
||||
// child: Row(
|
||||
// children: [
|
||||
//
|
||||
//
|
||||
// ],
|
||||
// ),
|
||||
// ),
|
||||
],
|
||||
),
|
||||
);
|
||||
},
|
||||
scrollDirection: Axis.horizontal,
|
||||
// reverse: true,
|
||||
itemCount: logic.configList.length,
|
||||
)),
|
||||
Image(
|
||||
image: AssetImage(getHomeImage("icon_in")),
|
||||
// width: 44.sp,
|
||||
height: 18.sp,
|
||||
),
|
||||
// GestureDetector(
|
||||
// onTap: () {
|
||||
// showRelationShipPiker(context, logic);
|
||||
// },
|
||||
// child: Row(
|
||||
// children: [
|
||||
//
|
||||
//
|
||||
// ],
|
||||
// ),
|
||||
// ),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@ -448,12 +481,14 @@ class _Call_outPageState extends State<Call_outPage> {
|
||||
child: ListView.builder(
|
||||
itemCount: interests.length,
|
||||
scrollDirection: Axis.horizontal,
|
||||
controller: logic.scrollController,
|
||||
// padding: EdgeInsets.symmetric(vertical: 15.sp, horizontal: 15.sp),
|
||||
itemBuilder: (context, index) {
|
||||
final interest = interests[index];
|
||||
return GestureDetector(
|
||||
onTap: () {
|
||||
MyConfigData data = MyConfigData(interests[index]!.id!.toString(),interests[index].title!,true);
|
||||
MyConfigData data = MyConfigData(interests[index]!.id!.toString(),
|
||||
interests[index].title!, true);
|
||||
logic.numbers = [data];
|
||||
logic.circleName = interest.title;
|
||||
logic.update();
|
||||
@ -470,49 +505,44 @@ class _Call_outPageState extends State<Call_outPage> {
|
||||
),
|
||||
color: const Color(0xFF392D53),
|
||||
),
|
||||
child: Container(
|
||||
margin: EdgeInsets.all(0.2.sp),
|
||||
padding: EdgeInsets.only(left: 5.sp, right: 5.sp, top: 5.sp),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(8.0),
|
||||
color: const Color(0xFF392D53),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Container(
|
||||
// color: Colors.red,
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
child: Stack(
|
||||
children: [
|
||||
Container(
|
||||
margin: EdgeInsets.all(0.2.sp),
|
||||
padding: EdgeInsets.only(left: 5.sp, right: 5.sp, top: 5.sp),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(8.0),
|
||||
color: const Color(0xFF392D53),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Container(
|
||||
margin: EdgeInsets.only(right: 15.sp),
|
||||
child: Text(
|
||||
interest.title,
|
||||
style: TextStyle(
|
||||
fontSize: 13.sp,
|
||||
color: Colors.white,
|
||||
),
|
||||
),
|
||||
// Container(
|
||||
// margin: EdgeInsets.only(
|
||||
// bottom: 2.sp,
|
||||
// ),
|
||||
// child: Icon(
|
||||
// Icons.keyboard_arrow_right,
|
||||
// color: Colors.white,
|
||||
// size: 18.sp,
|
||||
// ),
|
||||
// )
|
||||
],
|
||||
),
|
||||
),
|
||||
Text(
|
||||
interest.pushTitle,
|
||||
style: TextStyle(
|
||||
fontSize: 13.sp,
|
||||
color: AppColor.mainColor,
|
||||
),
|
||||
),
|
||||
],
|
||||
)),
|
||||
),
|
||||
SizedBox(height: 4.sp,),
|
||||
Text(
|
||||
interest.pushTitle,
|
||||
style: TextStyle(
|
||||
fontSize: 13.sp,
|
||||
color: AppColor.mainColor,
|
||||
),
|
||||
),
|
||||
],
|
||||
)),
|
||||
Positioned(top: 2.sp,right:4.sp,child: Image.asset(
|
||||
getHomeImage('icon_in'),
|
||||
width: 24.sp,
|
||||
),)
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
@ -786,7 +816,6 @@ class _Call_outPageState extends State<Call_outPage> {
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
void _showDelVideoDialog(BuildContext context, Call_outLogic controller) {
|
||||
showDialog(
|
||||
context: context,
|
||||
|
||||
@ -269,7 +269,7 @@ class _InputTextFieldState extends TIMUIKitState<TIMInputTextField> {
|
||||
'微信、QQ、加Q、+V、地球号、绿泡泡、公众号、网站、app、视频、手机号、id、企鹅、门槛、收费、加群'.split('、');
|
||||
|
||||
if (textEditingController.text.isNotEmpty &&
|
||||
(userInfoBean?.wx_num?.isEmpty ?? true)) {
|
||||
(userInfoBean?.contact?.isEmpty ?? true)) {
|
||||
bool isContain = false;
|
||||
String sendText = textEditingController.text.toUpperCase();
|
||||
for (String text in pressionStr) {
|
||||
@ -279,8 +279,8 @@ class _InputTextFieldState extends TIMUIKitState<TIMInputTextField> {
|
||||
}
|
||||
if (isContain) {
|
||||
await showAddWxPicker(
|
||||
userInfoBean!.wx_num!.isNotEmpty ?? false,
|
||||
isHidden: userInfoBean!.wx_num!.isNotEmpty ?? false,
|
||||
userInfoBean!.contact!.isNotEmpty ?? false,
|
||||
isHidden: userInfoBean!.contact!.isNotEmpty ?? false,
|
||||
isWxHidden: userInfoBean!.hide_wx_num == 1,
|
||||
);
|
||||
imStatusOK = false;
|
||||
|
||||
@ -146,11 +146,11 @@ final ScrollController nearScrollController = ScrollController();
|
||||
}
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
void onInit() async {
|
||||
super.onInit();
|
||||
loadCircleListData();
|
||||
loadCirclePeopleData();
|
||||
initGerder();
|
||||
await initGerder();
|
||||
getCityList();
|
||||
getBanner();
|
||||
// getNearByList();
|
||||
@ -232,9 +232,9 @@ final ScrollController nearScrollController = ScrollController();
|
||||
}
|
||||
}
|
||||
|
||||
void initGerder() async {
|
||||
initGerder() async {
|
||||
var data1 =
|
||||
await DioManager.instance.get(url: Api.getCircleList, params: {});
|
||||
await DioManager.instance.get(url: Api.getConfig, params: {});
|
||||
var bean1 = BaseResponse<ConfigBean>.fromJson(
|
||||
data1, (data1) => ConfigBean.fromJson(data1));
|
||||
|
||||
@ -248,7 +248,9 @@ final ScrollController nearScrollController = ScrollController();
|
||||
new_genderList.add(MyConfigData(key, value, true));
|
||||
}
|
||||
});
|
||||
|
||||
configBean.roleMap.forEach((key, value) {
|
||||
allRoleList.add(value);
|
||||
});
|
||||
genderList.add(MyConfigData('-1', '非二元', true));
|
||||
dis_genderList.add(MyConfigData('-1', '非二元', true));
|
||||
new_genderList.add(MyConfigData('-1', '非二元', true));
|
||||
|
||||
@ -85,7 +85,7 @@ class LikeLogic extends GetxController {
|
||||
}
|
||||
});
|
||||
|
||||
initGerder();
|
||||
await initGerder();
|
||||
loadInviteData();
|
||||
loadCircleListData();
|
||||
loadMyCircleData();
|
||||
@ -100,9 +100,9 @@ class LikeLogic extends GetxController {
|
||||
// cityNewName = logic.model!.city ?? '';
|
||||
}
|
||||
|
||||
void initGerder() async {
|
||||
initGerder() async {
|
||||
var data1 =
|
||||
await DioManager.instance.get(url: Api.getCircleList, params: {});
|
||||
await DioManager.instance.get(url: Api.getConfig, params: {});
|
||||
var bean1 = BaseResponse<ConfigBean>.fromJson(
|
||||
data1, (data1) => ConfigBean.fromJson(data1));
|
||||
|
||||
@ -116,10 +116,11 @@ class LikeLogic extends GetxController {
|
||||
|
||||
}
|
||||
});
|
||||
// roleList.clear();
|
||||
|
||||
genderList.add(MyConfigData('-1', '非二元', true));
|
||||
newgenderList.add(MyConfigData('-1', '非二元', true));
|
||||
|
||||
update();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@ import 'dart:io';
|
||||
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
// import 'package:flutter_install_app/flutter_install_app.dart';
|
||||
import 'package:flutter_install_app/flutter_install_app.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
@ -301,7 +301,7 @@ class _CustomDialogState extends State<UpdateDialog> {
|
||||
|
||||
installApk() async {
|
||||
//flutter_install_app
|
||||
// await AppInstaller.installApk(filePath, actionRequired: false);
|
||||
await AppInstaller.installApk(filePath, actionRequired: false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -235,7 +235,7 @@ class Gift_shopPage extends StatelessWidget {
|
||||
Container(
|
||||
width: 250.sp,
|
||||
child: Text(
|
||||
'送了${logic.toUser['giftNum']['num']}个礼物,价值${logic.toUser['giftNum']['amount']}跨豆',
|
||||
'送了${logic.toUser['giftNum']['num']}个礼物,价值${logic.toUser['giftNum']['amount']}小票',
|
||||
style:
|
||||
TextStyle(fontSize: 13.sp, color: Colors.white),
|
||||
),
|
||||
|
||||
@ -90,13 +90,13 @@ class _HomePageState extends State<HomePage>
|
||||
showGiftAnimationOverlay(context,event.url);
|
||||
});
|
||||
|
||||
// permissionNotifySub = EventBusManager.on<PermissionInfo>().listen((event) {
|
||||
// showPerssionOverlay(event);
|
||||
// });
|
||||
permissionNotifySub = EventBusManager.on<PermissionInfo>().listen((event) {
|
||||
showPerssionOverlay(event);
|
||||
});
|
||||
|
||||
permissionCloseNotifySub = EventBusManager.on<PermissionClose>().listen((event) {
|
||||
permissionOverlayEntry.remove();
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@ -148,7 +148,7 @@ class Complete_materialLogic extends GetxController {
|
||||
|
||||
|
||||
var data1 =
|
||||
await DioManager.instance.get(url: Api.getCircleList, params: {});
|
||||
await DioManager.instance.get(url: Api.getConfig, params: {});
|
||||
var bean1 = BaseResponse<ConfigBean>.fromJson(
|
||||
data1, (data1) => ConfigBean.fromJson(data1));
|
||||
configBean = bean1.data!;
|
||||
|
||||
@ -707,12 +707,18 @@ class _Complete_materialPageState extends State<Complete_materialPage> {
|
||||
List<String> typeLit = typeStr.split('、');
|
||||
List<String> optionLit = [];
|
||||
controller.roleList.forEach((element) {
|
||||
optionLit.add(element + '(${typeLit[controller.roleList.indexOf(element)]})');
|
||||
if (element.toString().length == 1) {
|
||||
optionLit.add(element + '(${typeLit[controller.roleList.indexOf(element)]})');
|
||||
} else {
|
||||
optionLit.add(element);
|
||||
}
|
||||
});
|
||||
|
||||
int index = 2;
|
||||
if (controller.state.role.isNotEmpty) {
|
||||
index = controller.roleList.indexOf(controller.state.role);
|
||||
if (controller.roleList.contains(controller.state.role)) {
|
||||
index = controller.roleList.indexOf(controller.state.role);
|
||||
}
|
||||
}
|
||||
|
||||
Pickers.showSinglePicker(context,
|
||||
|
||||
@ -56,10 +56,6 @@ class _MsgPageState extends State<MsgPage> with AutomaticKeepAliveClientMixin {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
showRechargeDialog() {
|
||||
Get.bottomSheet(
|
||||
Scaffold(
|
||||
|
||||
@ -88,7 +88,7 @@ class QuickLogic extends GetxController {
|
||||
|
||||
void initGerder() async {
|
||||
var data1 =
|
||||
await DioManager.instance.get(url: Api.getCircleList, params: {});
|
||||
await DioManager.instance.get(url: Api.getConfig, params: {});
|
||||
var bean1 = BaseResponse<ConfigBean>.fromJson(
|
||||
data1, (data1) => ConfigBean.fromJson(data1));
|
||||
|
||||
|
||||
@ -34,7 +34,7 @@ class _QuickPageState extends State<QuickPage>
|
||||
with AutomaticKeepAliveClientMixin, SingleTickerProviderStateMixin {
|
||||
@override
|
||||
bool get wantKeepAlive => true;
|
||||
final logic = Get.find<MsgLogic>();
|
||||
late MsgLogic logic;
|
||||
|
||||
final ctr = Get.find<QuickLogic>();
|
||||
|
||||
@ -53,6 +53,14 @@ class _QuickPageState extends State<QuickPage>
|
||||
void initState() {
|
||||
// TODO: implement initState
|
||||
super.initState();
|
||||
if (Get.isRegistered<MsgLogic>()) {
|
||||
logic = Get.find<MsgLogic>();
|
||||
} else {
|
||||
Get.lazyPut(()=>MsgLogic());
|
||||
logic = Get.find<MsgLogic>();
|
||||
}
|
||||
|
||||
// = Get.find<MsgLogic>()
|
||||
_tabController = TabController(length: 2, vsync: this, initialIndex: 0);
|
||||
_tabController.addListener(() {
|
||||
ctr.currentIndex = _tabController.index;
|
||||
|
||||
@ -149,16 +149,13 @@ class Relationship_buildingPage extends StatelessWidget {
|
||||
isScrollControlled: true);
|
||||
},
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white.withOpacity(0.75),
|
||||
borderRadius: BorderRadius.circular(25.sp)),
|
||||
margin: EdgeInsets.only(right: 4.sp),
|
||||
width: 40.sp,
|
||||
height: 40.sp,
|
||||
child: Icon(
|
||||
Icons.add,
|
||||
size: 30.sp,
|
||||
),
|
||||
child: ClipOval(
|
||||
child: Image.asset(getMineImage("icon_img_add"),width: 40.sp,
|
||||
height: 40.sp,),
|
||||
)
|
||||
),
|
||||
),
|
||||
Text(
|
||||
@ -180,16 +177,14 @@ class Relationship_buildingPage extends StatelessWidget {
|
||||
userInfo['relationTypeName']);
|
||||
},
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white.withOpacity(0.75),
|
||||
borderRadius: BorderRadius.circular(25.sp)),
|
||||
margin: EdgeInsets.only(right: 4.sp),
|
||||
width: 40.sp,
|
||||
height: 40.sp,
|
||||
child: Icon(
|
||||
Icons.add,
|
||||
size: 30.sp,
|
||||
),
|
||||
margin: EdgeInsets.only(right: 4.sp),
|
||||
width: 40.sp,
|
||||
height: 40.sp,
|
||||
child: ClipOval(
|
||||
child: Image.asset(getMineImage("icon_img_add"),width: 40.sp,
|
||||
height: 40.sp,),
|
||||
)
|
||||
|
||||
),
|
||||
),
|
||||
Text(
|
||||
@ -257,7 +252,7 @@ class Relationship_buildingPage extends StatelessWidget {
|
||||
},
|
||||
child: Icon(
|
||||
Icons.heart_broken_rounded,
|
||||
color: CupertinoColors.inactiveGray,
|
||||
color: Colors.white,
|
||||
size: 30.sp,
|
||||
)))
|
||||
],
|
||||
|
||||
@ -38,7 +38,7 @@ class Send_lucky_bagLogic extends GetxController {
|
||||
var data =
|
||||
await DioManager.instance.get(url: Api.welfareConfig, params: {});
|
||||
var data1 =
|
||||
await DioManager.instance.get(url: Api.getCircleList, params: {});
|
||||
await DioManager.instance.get(url: Api.getConfig, params: {});
|
||||
var bean1 = BaseResponse<ConfigBean>.fromJson(
|
||||
data1, (data1) => ConfigBean.fromJson(data1));
|
||||
|
||||
|
||||
@ -92,7 +92,7 @@ class World_call_outLogic extends GetxController {
|
||||
|
||||
void initGerder() async {
|
||||
var data1 =
|
||||
await DioManager.instance.get(url: Api.getCircleList, params: {});
|
||||
await DioManager.instance.get(url: Api.getConfig, params: {});
|
||||
var bean1 = BaseResponse<ConfigBean>.fromJson(
|
||||
data1, (data1) => ConfigBean.fromJson(data1));
|
||||
|
||||
|
||||
@ -30,7 +30,7 @@ class Api {
|
||||
static const UpdataUserInfo = 'user-service/register/user/info';
|
||||
|
||||
//系统配置
|
||||
static const getCircleList = 'user-service/app/config';
|
||||
static const getConfig = 'user-service/app/config';
|
||||
|
||||
//获取vip价格
|
||||
static const getVipPrice = 'mall-service/vips';
|
||||
|
||||
@ -322,7 +322,7 @@ List<String> genderList = [];
|
||||
|
||||
List<String> orientationList = [];
|
||||
|
||||
List<String> roleList = [];
|
||||
List<String> allRoleList = [];
|
||||
|
||||
String getGenderImg(int number) {
|
||||
if (number == null) return '';
|
||||
@ -392,8 +392,8 @@ String getOrientationContent(int number) {
|
||||
}
|
||||
|
||||
String getRoleContent(int number) {
|
||||
if (roleList.length != 0) {
|
||||
return roleList[number - 1];
|
||||
if (allRoleList.length != 0) {
|
||||
return allRoleList[number - 1];
|
||||
} else {
|
||||
switch (number) {
|
||||
case 1:
|
||||
@ -2415,3 +2415,5 @@ bool isWithinLastHour(DateTime inputTime) {
|
||||
showTimeRecordDialog(UserBean userInfoBean) {
|
||||
Get.bottomSheet(TimeRecordDialog(userInfoBean:userInfoBean),isScrollControlled:true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user