Browse Source

1.优化错误提示;

2.优化文本;
3.更改动态图片查看背景;
4.动态列表"..."点击事件范围;
5.发布评论键盘绑定发送事件;
6.动态列表增加点赞功能;
dart3_last
wurong 2 years ago
parent
commit
1cc6aaf56e
  1. 21
      lib/base_state.dart
  2. 7
      lib/community/community_child_page.dart
  3. 515
      lib/community/community_view/class_details.dart
  4. 408
      lib/community/community_view/community_dynamic.dart
  5. 72
      lib/community/photo_view_gallery_screen.dart
  6. 6
      lib/generated/intl/messages_en.dart
  7. 10
      lib/generated/intl/messages_en_US.dart
  8. 6
      lib/generated/intl/messages_zh_CN.dart
  9. 6
      lib/generated/intl/messages_zh_Hans_CN.dart
  10. 8
      lib/generated/intl/messages_zh_Hant_CN.dart
  11. 6
      lib/generated/intl/messages_zh_TW.dart
  12. 60
      lib/generated/l10n.dart
  13. 163
      lib/home/home_page.dart
  14. 86
      lib/home/welfare_exchange.dart
  15. 9
      lib/l10n/intl_en.arb
  16. 8
      lib/l10n/intl_en_US.arb
  17. 8
      lib/l10n/intl_zh_CN.arb
  18. 8
      lib/l10n/intl_zh_Hans_CN.arb
  19. 8
      lib/l10n/intl_zh_Hant_CN.arb
  20. 8
      lib/l10n/intl_zh_TW.arb
  21. 59
      lib/login/new_login_page.dart
  22. 2
      lib/main_page.dart
  23. 111
      lib/mine/mine_page.dart
  24. 2
      lib/mine/mine_view/mine_view.dart
  25. 100
      lib/mine/personal_page.dart
  26. 62
      lib/mine/recharge_page.dart
  27. 103
      lib/mine/user_info_page.dart
  28. 8
      lib/retrofit/data/settleOrderInfo.dart
  29. 2
      lib/retrofit/min_api.dart
  30. 2
      lib/retrofit/retrofit_api.dart
  31. 417
      lib/settlement/settlement.dart
  32. 2
      lib/union/union_page.dart
  33. 4
      lib/view_widget/activity_coupons.dart
  34. 2
      lib/view_widget/coupon_details_dialog.dart
  35. 2
      lib/view_widget/cupertino_date_picker.dart
  36. 4
      lib/view_widget/new_coupon_widget.dart
  37. 4
      lib/view_widget/pay_selected_dialog.dart
  38. 2
      lib/view_widget/receiving_method_dialog.dart
  39. 117
      lib/view_widget/update_dialog.dart
  40. 4
      lib/view_widget/vip_dialog.dart
  41. 2
      lib/vip/user_vip_service_page.dart
  42. 252
      lib/vip/vip_view/vip_top.dart
  43. 2
      lib/web/web_turntable_activity.dart
  44. 8
      lib/web/web_view/input_comment.dart
  45. 2
      pubspec.yaml

21
lib/base_state.dart

@ -1,12 +1,11 @@
import 'dart:convert'; import 'dart:convert';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:huixiang/utils/bridge.dart'; import 'package:huixiang/utils/bridge.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
abstract class BaseState<T extends StatefulWidget> extends State<T> with WidgetsBindingObserver { abstract class BaseState<T extends StatefulWidget> extends State<T>
with WidgetsBindingObserver {
@override @override
void dispose() { void dispose() {
super.dispose(); super.dispose();
@ -71,6 +70,18 @@ abstract class BaseState<T extends StatefulWidget> extends State<T> with Widgets
routeName = "/router/order_details"; routeName = "/router/order_details";
params["id"] = pushMap["info"]; params["id"] = pushMap["info"];
break; break;
case 6:
routeName = "/router/community_details";
params["businessId"] = pushMap["info"];
break;
case 8:
routeName = "/router/mine_wallet";
params["id"] = pushMap["info"];
break;
case 9:
routeName = "/router/welfare_page";
params["id"] = pushMap["info"];
break;
} }
sharedPreferences.setString("pushData", ""); sharedPreferences.setString("pushData", "");
print("xgPushClickAction: routeName: $routeName"); print("xgPushClickAction: routeName: $routeName");
@ -79,6 +90,4 @@ abstract class BaseState<T extends StatefulWidget> extends State<T> with Widgets
} }
} }
} }
}
}

7
lib/community/community_child_page.dart

@ -2,6 +2,7 @@ import 'dart:convert';
import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:huixiang/community/community_view/community_dynamic.dart'; import 'package:huixiang/community/community_view/community_dynamic.dart';
import 'package:huixiang/retrofit/data/article.dart'; import 'package:huixiang/retrofit/data/article.dart';
import 'package:huixiang/retrofit/data/base_data.dart'; import 'package:huixiang/retrofit/data/base_data.dart';
@ -15,6 +16,8 @@ import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import '../utils/flutter_utils.dart';
class CommunityChildPage extends StatefulWidget { class CommunityChildPage extends StatefulWidget {
final String typeStr; final String typeStr;
final Function onScroll; final Function onScroll;
@ -84,6 +87,8 @@ class CommunityChildPageState extends State<CommunityChildPage>
"pageSize": 10, "pageSize": 10,
"searchKey": searchKey ?? "" "searchKey": searchKey ?? ""
}).catchError((error) { }).catchError((error) {
SmartDialog.showToast(AppUtils.dioErrorTypeToString(error.type),
alignment: Alignment.center);
if (searchKey == null) { if (searchKey == null) {
refreshController.refreshFailed(); refreshController.refreshFailed();
refreshController.loadFailed(); refreshController.loadFailed();
@ -101,6 +106,7 @@ class CommunityChildPageState extends State<CommunityChildPage>
element.content = jsonEncode(baseData.data.list[0].subjectInfo); element.content = jsonEncode(baseData.data.list[0].subjectInfo);
element.mainTitle = baseData.data.list[0].subject; element.mainTitle = baseData.data.list[0].subject;
element.followed = baseData.data.list[0].selfFollow; element.followed = baseData.data.list[0].selfFollow;
element.liked = baseData.data.list[0].selfLike;
element.authorHeadImg = baseData.data.list[0].memberInfo?.avatar; element.authorHeadImg = baseData.data.list[0].memberInfo?.avatar;
element.authorName = baseData.data.list[0].memberInfo?.nickname; element.authorName = baseData.data.list[0].memberInfo?.nickname;
element.location = baseData.data.list[0].location; element.location = baseData.data.list[0].location;
@ -123,6 +129,7 @@ class CommunityChildPageState extends State<CommunityChildPage>
article.content = jsonEncode(element.subjectInfo); article.content = jsonEncode(element.subjectInfo);
article.mainTitle = element.subject; article.mainTitle = element.subject;
article.followed = element.selfFollow; article.followed = element.selfFollow;
article.liked = element.selfLike;
article.authorHeadImg = element.memberInfo?.avatar; article.authorHeadImg = element.memberInfo?.avatar;
article.authorName = element.memberInfo?.nickname; article.authorName = element.memberInfo?.nickname;
article.location = element.location; article.location = element.location;

515
lib/community/community_view/class_details.dart

@ -131,277 +131,298 @@ class _ClassDetails extends State<ClassDetails> with WidgetsBindingObserver {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AnnotatedRegion<SystemUiOverlayStyle>( return AnnotatedRegion<SystemUiOverlayStyle>(
value: SystemUiOverlayStyle.light, value: SystemUiOverlayStyle.light,
child: Material(child: Scaffold( child: Material(
body: GestureDetector( child: Scaffold(
behavior: HitTestBehavior.translucent, body: GestureDetector(
onTap: () { behavior: HitTestBehavior.translucent,
FocusScope.of(context).requestFocus(FocusNode()); onTap: () {
}, FocusScope.of(context).requestFocus(FocusNode());
child:Container( },
// margin: EdgeInsets.only(top:25), child: Container(
child: Column( // margin: EdgeInsets.only(top:25),
children: [ child: Column(
Expanded( children: [
child: SingleChildScrollView( Expanded(
physics: BouncingScrollPhysics(), child: SingleChildScrollView(
child: Column( physics: BouncingScrollPhysics(),
children: [ child: Column(
Container(
child:Stack(
children: [ children: [
ClassDetailsVideo(key:videoKey,exitFull: (){setState(() {});},
coverImg: chapterList.length > chapterIndex
? chapterList[chapterIndex].content.coverImg
: "",isShowImg: this.isShowImg,
changeShowImg: (isShowImg){setState(() {
this.isShowImg = isShowImg;
});},heightFun: (height) {
this.height = height +
MediaQuery
.of(context)
.padding
.top +
kToolbarHeight +
24;
if (mounted) setState(() {});
},),
Container( Container(
margin: EdgeInsets.only( child: Stack(
top: 40.h, left: 16.w, right: 16.w),
decoration: BoxDecoration(
color: Colors.transparent,
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
GestureDetector( ClassDetailsVideo(
child: Image.asset( key: videoKey,
"assets/image/integral_return.webp", exitFull: () {
width: 24, setState(() {});
height: 24, },
), coverImg:
onTap: () { chapterList.length > chapterIndex
Navigator.of(context).pop( ? chapterList[chapterIndex]
course != null ? course.viewers + 1 : 0); .content
.coverImg
: "",
isShowImg: this.isShowImg,
changeShowImg: (isShowImg) {
setState(() {
this.isShowImg = isShowImg;
});
},
heightFun: (height) {
this.height = height +
MediaQuery.of(context).padding.top +
kToolbarHeight +
24;
if (mounted) setState(() {});
}, },
), ),
], Container(
), margin: EdgeInsets.only(
), top: 40.h, left: 16.w, right: 16.w),
], decoration: BoxDecoration(
), color: Colors.transparent,
),
Container(
margin: EdgeInsets.only(bottom: 16.h),
padding: EdgeInsets.only(left: 16, top: 16, right: 10),
decoration: BoxDecoration(
color: Colors.white,
boxShadow: [
BoxShadow(
color: Colors.black.withAlpha(12),
offset: Offset(0, 2),
blurRadius: 14,
spreadRadius: 0,
)
],
),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
Container(
// height: 22.h,
padding:EdgeInsets.only(left:2,right:2),
alignment: Alignment.center,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(2),
border: Border.all(
width: 1,
color: Color(0xFFFF7A1A),
style: BorderStyle.solid,
),
),
child: Text(
(course?.tags != null &&
course.tags.length > 0)
? course.tags[0]
: "",
overflow:TextOverflow.ellipsis,
style: TextStyle(
fontSize: 14.sp,
fontWeight: MyFontWeight.medium,
color: Color(0xFFFF7A1A),
), ),
), child: Row(
), mainAxisAlignment:
SizedBox( MainAxisAlignment.spaceBetween,
width: 6.w, crossAxisAlignment:
), CrossAxisAlignment.center,
Expanded( children: [
child: Text( GestureDetector(
course != null ? course.subject : "", child: Image.asset(
overflow: TextOverflow.ellipsis, "assets/image/integral_return.webp",
maxLines: 2, width: 24,
style: TextStyle( height: 24,
fontSize: 16.sp, ),
fontWeight: MyFontWeight.semi_bold, onTap: () {
color: Color(0xFF1A1A1A), Navigator.of(context).pop(
course != null
? course.viewers + 1
: 0);
},
),
],
), ),
), ),
flex: 1, ],
), ),
// GestureDetector(
// onTap: () {
// share();
// },
// child: Icon(
// Icons.share,
// size: 24,
// color: Colors.black,
// ),
// ),
// SizedBox(width: 15.w,),
],
),
SizedBox(
height: 10.h,
), ),
Padding( Container(
padding: EdgeInsets.only(right: 16), margin: EdgeInsets.only(bottom: 16.h),
child: Row( padding: EdgeInsets.only(
left: 16, top: 16, right: 10),
decoration: BoxDecoration(
color: Colors.white,
boxShadow: [
BoxShadow(
color: Colors.black.withAlpha(12),
offset: Offset(0, 2),
blurRadius: 14,
spreadRadius: 0,
)
],
),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Expanded( Row(
child: Text( children: [
"${S.of(context).jiangshi}:${course != null ? course.author.name : ""}", Container(
overflow: TextOverflow.ellipsis, // height: 22.h,
maxLines: 2, padding: EdgeInsets.only(
style: TextStyle( left: 2, right: 2),
fontSize: 12.sp, alignment: Alignment.center,
fontWeight: MyFontWeight.regular, decoration: BoxDecoration(
color: Colors.black, borderRadius:
BorderRadius.circular(2),
border: Border.all(
width: 1,
color: Color(0xFFFF7A1A),
style: BorderStyle.solid,
),
), ),
)), child: Text(
Text( (course?.tags != null &&
"${S.of(context).bofangcishu}:", course.tags.length > 0)
style: TextStyle( ? course.tags[0]
fontSize: 12.sp, : "",
fontWeight: MyFontWeight.regular, overflow: TextOverflow.ellipsis,
color: Color(0xFF808080), style: TextStyle(
fontSize: 14.sp,
fontWeight: MyFontWeight.medium,
color: Color(0xFFFF7A1A),
),
),
),
SizedBox(
width: 6.w,
),
Expanded(
child: Text(
course != null
? course.subject
: "",
overflow: TextOverflow.ellipsis,
maxLines: 2,
style: TextStyle(
fontSize: 16.sp,
fontWeight:
MyFontWeight.semi_bold,
color: Color(0xFF1A1A1A),
),
),
flex: 1,
),
// GestureDetector(
// onTap: () {
// share();
// },
// child: Icon(
// Icons.share,
// size: 24,
// color: Colors.black,
// ),
// ),
// SizedBox(width: 15.w,),
],
),
SizedBox(
height: 10.h,
),
Padding(
padding: EdgeInsets.only(right: 16),
child: Row(
children: [
Expanded(
child: Text(
"${S.of(context).jiangshi}:${course != null ? course.author.name : ""}",
overflow: TextOverflow.ellipsis,
maxLines: 2,
style: TextStyle(
fontSize: 12.sp,
fontWeight: MyFontWeight.regular,
color: Colors.black,
),
)),
Text(
"${S.of(context).bofangcishu}:",
style: TextStyle(
fontSize: 12.sp,
fontWeight: MyFontWeight.regular,
color: Color(0xFF808080),
),
),
SizedBox(
width: 4,
),
Text(
course != null
? course.viewers.toString()
: "",
overflow: TextOverflow.ellipsis,
maxLines: 2,
style: TextStyle(
fontSize: 12.sp,
fontWeight: MyFontWeight.regular,
color: Color(0xFF808080),
),
),
],
), ),
), ),
SizedBox( SizedBox(
width: 4, height: 10.h,
), ),
Text( Text(
course != null course != null ? course.introduce : "",
? course.viewers.toString() overflow: isShowMore
: "", ? TextOverflow.visible
overflow: TextOverflow.ellipsis, : TextOverflow.ellipsis,
maxLines: 2, maxLines: isShowMore ? 10 : 2,
style: TextStyle( style: TextStyle(
fontSize: 12.sp, fontSize: 12.sp,
height: 1.2.h,
fontWeight: MyFontWeight.regular, fontWeight: MyFontWeight.regular,
color: Color(0xFF808080), color: Colors.black,
), ),
), ),
SizedBox(height: 3.h),
GestureDetector(
onTap: () {
setState(() {
isShowMore = !isShowMore;
});
},
child: Align(
alignment: Alignment.center,
child: Icon(
(isShowMore != null && !isShowMore)
? Icons.keyboard_arrow_down
: Icons.keyboard_arrow_up,
color: Colors.black,
size: 24,
),
),
),
SizedBox(height: 3.h),
], ],
), ),
), ),
SizedBox( anthology(),
height: 10.h, CommentList(
), commentKey,
Text( course?.likes ?? course?.likes ?? 0,
course != null ? course.introduce : "", widget.arguments["id"],
overflow: isShowMore 3,
? TextOverflow.visible isKeyBoardShow,
: TextOverflow.ellipsis, _reply,
maxLines: isShowMore ? 10 : 2, _delCommentTips,
style: TextStyle( 12.sp,
fontSize: 12.sp, requestApiFinish: (total) {
height: 1.2.h,
fontWeight: MyFontWeight.regular,
color: Colors.black,
),
),
SizedBox(height: 3.h),
GestureDetector(
onTap: () {
setState(() { setState(() {
isShowMore = !isShowMore; commentTotal = total;
}); });
}, },
child:Align( ),
alignment: Alignment.center, if (commentTotal == 0)
child: Icon( Container(
(isShowMore != null && !isShowMore) width: double.infinity,
? Icons.keyboard_arrow_down alignment: Alignment.topCenter,
: Icons.keyboard_arrow_up, margin: EdgeInsets.only(top: 40),
color: Colors.black, padding: EdgeInsets.all(22.h),
size: 24, child: Text(
S.of(context).zanwupinglun,
style: TextStyle(
fontSize: 12,
fontWeight: FontWeight.bold,
color: Color(0xFFA0A0A0),
),
), ),
), ),
),
SizedBox(height: 3.h),
], ],
), ),
), ),
anthology(), flex: 1,
CommentList( ),
commentKey,
course?.likes ?? course?.likes ?? 0, ///
widget.arguments["id"], InputComment(
3, inputKey,
isKeyBoardShow, hintText,
_reply, isKeyBoardShow,
_delCommentTips, commentFocus,
12.sp, commentTextController,
requestApiFinish: (total) { _toComment,
setState(() { _queryMemberComment,
commentTotal = total; _queryCourseLikes,
}); isLike: course?.selfLiked,
}, ),
), ],
if (commentTotal == 0)
Container(
width: double.infinity,
alignment: Alignment.topCenter,
margin: EdgeInsets.only(top: 40),
padding: EdgeInsets.all(22.h),
child: Text(
S.of(context).zanwupinglun,
style: TextStyle(
fontSize: 12,
fontWeight: FontWeight.bold,
color: Color(0xFFA0A0A0),
),
),
),
],
),
), ),
flex: 1, )),
), ),
/// ));
InputComment(
inputKey,
hintText,
isKeyBoardShow,
commentFocus,
commentTextController,
_toComment,
_queryMemberComment,
_queryCourseLikes,
isLike: course?.selfLiked,
),
],
),
)),
),)
);
} }
Widget anthology() { Widget anthology() {
@ -563,16 +584,16 @@ class _ClassDetails extends State<ClassDetails> with WidgetsBindingObserver {
share() async { share() async {
SSDKMap params = SSDKMap() SSDKMap params = SSDKMap()
..setGeneral( ..setGeneral(
course.subject != null course.subject != null ? course.subject : "",
? course.subject
: "",
course != null ? course.introduce : "", course != null ? course.introduce : "",
[ [
chapterList[chapterIndex].content.coverImg != null chapterList[chapterIndex].content.coverImg != null
? chapterList[chapterIndex].content.coverImg:"", ? chapterList[chapterIndex].content.coverImg
: "",
], ],
chapterList[chapterIndex].content.fileUrl != null chapterList[chapterIndex].content.fileUrl != null
? chapterList[chapterIndex].content.fileUrl:"", ? chapterList[chapterIndex].content.fileUrl
: "",
"", "",
buildShareUrl(), buildShareUrl(),
"", "",
@ -590,12 +611,12 @@ class _ClassDetails extends State<ClassDetails> with WidgetsBindingObserver {
if (platform == ShareSDKPlatforms.line) { if (platform == ShareSDKPlatforms.line) {
params.map["type"] = SSDKContentTypes.text.value; params.map["type"] = SSDKContentTypes.text.value;
params.map["text"] = params.map["text"] =
"${course.subject ?? ""} ${buildShareUrl()}"; "${course.subject ?? ""} ${buildShareUrl()}";
} }
SharesdkPlugin.share(platform, params, SharesdkPlugin.share(platform, params,
(state, userData, contentEntity, error) { (state, userData, contentEntity, error) {
print("share!$state"); print("share!$state");
}); });
}); });
}); });
} }

408
lib/community/community_view/community_dynamic.dart

@ -37,7 +37,7 @@ class CommunityDynamic extends StatefulWidget {
CommunityDynamic( CommunityDynamic(
this.article, this.article,
this.commentType, { this.commentType,{
Key key, Key key,
this.itemCount = 9, this.itemCount = 9,
this.heightFun, this.heightFun,
@ -149,11 +149,28 @@ class _CommunityDynamic extends State<CommunityDynamic> {
} }
} }
goPersonalPage()async{ ////
await Navigator.of(context) _queryInformationLikes(isLikes) async {
.pushNamed('/router/personal_page', arguments: { if (apiService == null) {
"memberId": SharedPreferences value = await SharedPreferences.getInstance();
(widget.article.author == widget.userId) apiService = ApiService(
Dio(),
context: context,
token: value.getString("token"),
);
}
BaseData baseData = await apiService
.informationLikes(widget.article.id)
.catchError((onError) {});
if (baseData != null && baseData.isSuccess) {
widget.exitFull();
setState(() {});
}
}
goPersonalPage() async {
await Navigator.of(context).pushNamed('/router/personal_page', arguments: {
"memberId": (widget.article.author == widget.userId)
? "0" ? "0"
: widget.article.author, : widget.article.author,
}); });
@ -168,7 +185,7 @@ class _CommunityDynamic extends State<CommunityDynamic> {
margin: EdgeInsets.only(top: 2.h), margin: EdgeInsets.only(top: 2.h),
key: globalKey, key: globalKey,
alignment: Alignment.topCenter, alignment: Alignment.topCenter,
padding: EdgeInsets.only(left: 16.w,top: 16.h,right: 16.w), padding: EdgeInsets.only(left: 16.w, top: 16.h, right: 16.w),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
boxShadow: [ boxShadow: [
@ -228,7 +245,10 @@ class _CommunityDynamic extends State<CommunityDynamic> {
Text( Text(
widget?.article?.authorName ?? "", widget?.article?.authorName ?? "",
style: TextStyle( style: TextStyle(
fontSize: MediaQuery.of(context).size.width >= 650 ? 12.sp :15.sp, fontSize:
MediaQuery.of(context).size.width >= 650
? 12.sp
: 15.sp,
fontWeight: MyFontWeight.semi_bold, fontWeight: MyFontWeight.semi_bold,
color: Color(0xFF1A1A1A), color: Color(0xFF1A1A1A),
), ),
@ -236,7 +256,10 @@ class _CommunityDynamic extends State<CommunityDynamic> {
Text( Text(
widget?.article?.createTime ?? "", widget?.article?.createTime ?? "",
style: TextStyle( style: TextStyle(
fontSize: MediaQuery.of(context).size.width >= 650 ? 10.sp :13.sp, fontSize:
MediaQuery.of(context).size.width >= 650
? 10.sp
: 13.sp,
fontWeight: MyFontWeight.regular, fontWeight: MyFontWeight.regular,
color: Color(0xFF808080), color: Color(0xFF808080),
), ),
@ -301,52 +324,56 @@ class _CommunityDynamic extends State<CommunityDynamic> {
SizedBox( SizedBox(
height: 12.h, height: 12.h,
), ),
widget.isList ? Text( widget.isList
widget?.article?.mainTitle ?? "", ? Text(
maxLines:5, widget?.article?.mainTitle ?? "",
overflow: TextOverflow.ellipsis, maxLines: 5,
style: TextStyle( overflow: TextOverflow.ellipsis,
color: Color(0xFF1A1A1A), style: TextStyle(
fontWeight: MyFontWeight.regular, color: Color(0xFF1A1A1A),
fontSize: 15.sp, fontWeight: MyFontWeight.regular,
), fontSize: 15.sp,
) :Text( ),
widget?.article?.mainTitle ?? "", )
style: TextStyle( : Text(
color: Color(0xFF1A1A1A), widget?.article?.mainTitle ?? "",
fontWeight: MyFontWeight.regular, style: TextStyle(
fontSize: 15.sp, color: Color(0xFF1A1A1A),
), fontWeight: MyFontWeight.regular,
), fontSize: 15.sp,
),
),
buildMedia(widget?.article?.content), buildMedia(widget?.article?.content),
SizedBox( SizedBox(
height:8.h, height: 8.h,
), ),
if (widget.article.location != "") if (widget.article.location != "")
Padding(padding:EdgeInsets.only(bottom:7), Padding(
child: Row( padding: EdgeInsets.only(bottom: 7),
children: [ child: Row(
Icon( children: [
Icons.place, Icon(
size: 16, Icons.place,
color: Color(0xFFB3B2B2), size: 16,
), color: Color(0xFFB3B2B2),
SizedBox( ),
width: 2, SizedBox(
), width: 2,
Expanded( ),
child: Text( Expanded(
widget?.article?.location ?? "", child: Text(
overflow: TextOverflow.ellipsis, widget?.article?.location ?? "",
maxLines: 1, overflow: TextOverflow.ellipsis,
style: TextStyle( maxLines: 1,
fontSize: 12.sp, style: TextStyle(
fontWeight: MyFontWeight.medium, fontSize: 12.sp,
color: Color(0xFFB3B2B2), fontWeight: MyFontWeight.medium,
), color: Color(0xFFB3B2B2),
)), ),
], )),
),), ],
),
),
if (!widget.isDetails) if (!widget.isDetails)
SizedBox( SizedBox(
height: 5.h, height: 5.h,
@ -355,111 +382,125 @@ class _CommunityDynamic extends State<CommunityDynamic> {
Container( Container(
// padding: EdgeInsets.only(bottom: 16), // padding: EdgeInsets.only(bottom: 16),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
Expanded(
child: Container(
padding: EdgeInsets.only(bottom: 16.h),
child:Row(
// mainAxisAlignment: MainAxisAlignment.center,
// crossAxisAlignment: CrossAxisAlignment.center,
children: [
SvgPicture.asset(
"assets/svg/liulanliang.svg",
width: 16,
height: 16,
),
SizedBox(
width: 5.w,
),
Text(
(widget.article != null)
? "${widget.article.viewers}"
: "",
style: TextStyle(
fontSize: 14.sp,
fontFamily: 'JDZhengHT',
fontWeight: MyFontWeight.regular,
color: Color(0xFF1A1A1A),
),
),
],
)),
),
Expanded(
child:Container(
padding: EdgeInsets.only(bottom: 16.h),
child:Row(
// mainAxisAlignment: MainAxisAlignment.center,
// crossAxisAlignment: CrossAxisAlignment.center,
children: [
SvgPicture.asset(
"assets/svg/pinglun.svg",
width: 16,
height: 16,
),
SizedBox(
width: 5.w,
),
Text(
"${widget.article.comments ?? 0}",
style: TextStyle(
fontSize: 14.sp,
fontFamily: 'JDZhengHT',
fontWeight: MyFontWeight.regular,
color: Color(0xFF1A1A1A),
),
),
],
))),
Expanded(
child:Container(
padding: EdgeInsets.only(bottom: 16.h),
child:Row(
// mainAxisAlignment: MainAxisAlignment.center,
// crossAxisAlignment: CrossAxisAlignment.center,
children: [
SvgPicture.asset(
"assets/svg/xihuan.svg",
width: 16,
height: 16,
),
SizedBox(
width: 5.w,
),
Text(
"${widget.article.likes ?? 0}",
style: TextStyle(
fontSize: 14.sp,
fontFamily: 'JDZhengHT',
fontWeight: MyFontWeight.regular,
color: Color(0xFF1A1A1A),
),
),
],
)),
),
if (widget?.article?.author != widget.userId ?? "")
Expanded( Expanded(
child: GestureDetector( child: Container(
behavior: HitTestBehavior.opaque, padding: EdgeInsets.only(bottom: 16.h),
onTap: () { child: Row(
setState(() { children: [
choiceShowBottomSheet(); SvgPicture.asset(
}); "assets/svg/liulanliang.svg",
}, width: 16,
child: Container( height: 16,
padding: EdgeInsets.only(top:3.h,bottom: 16.h),
alignment: Alignment.center,
// color: Colors.red,
child: Icon(
Icons.more_horiz,
color: Colors.black,
), ),
SizedBox(
width: 5.w,
),
Text(
(widget.article != null)
? "${widget.article.viewers}"
: "",
style: TextStyle(
fontSize: 14.sp,
fontFamily: 'JDZhengHT',
fontWeight: MyFontWeight.regular,
color: Color(0xFF1A1A1A),
),
),
],
)),
),
Expanded(
child: Container(
padding: EdgeInsets.only(bottom: 16.h),
child: Row(
children: [
SvgPicture.asset(
"assets/svg/pinglun.svg",
width: 16,
height: 16,
),
SizedBox(
width: 5.w,
),
Text(
"${widget.article.comments ?? 0}",
style: TextStyle(
fontSize: 14.sp,
fontFamily: 'JDZhengHT',
fontWeight: MyFontWeight.regular,
color: Color(0xFF1A1A1A),
),
),
],
))), ))),
], Expanded(
),), child: GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () {
setState(() {
widget.article.liked =
!(widget.article.liked ?? false);
_queryInformationLikes(
widget.article.liked ?? false);
});
},
child: Container(
padding: EdgeInsets.only(bottom: 16.h),
child: Row(
children: [
(widget.article.liked ?? false)
? Image.asset(
"assets/image/icon_like.webp",
width: 16,
height: 16,
)
: Image.asset(
"assets/image/icon_like_h.webp",
width: 16,
height: 16,
),
SizedBox(
width: 5.w,
),
Text(
"${widget.article.likes ?? 0}",
style: TextStyle(
fontSize: 14.sp,
fontFamily: 'JDZhengHT',
fontWeight: MyFontWeight.regular,
color: Color(0xFF1A1A1A),
),
),
],
)),
)
),
if ((widget?.article?.author != widget.userId ?? "") &&
widget.commentType == 0)
Expanded(
child: GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () {
setState(() {
choiceShowBottomSheet();
});
},
child: Container(
padding:
EdgeInsets.only(top: 3.h, bottom: 16.h),
alignment: Alignment.center,
// color: Colors.red,
child: Icon(
Icons.more_horiz,
color: Colors.black,
),
))),
],
),
),
], ],
), ),
), ),
@ -794,14 +835,11 @@ class _CommunityDynamic extends State<CommunityDynamic> {
topLeft: const Radius.circular(25.0), topLeft: const Radius.circular(25.0),
topRight: const Radius.circular(25.0))), topRight: const Radius.circular(25.0))),
child: Container( child: Container(
width: 130.w,
height: 130.h, height: 130.h,
child: Column( child: Column(
children: [ children: [
SizedBox(
height: 10.h,
),
GestureDetector( GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: () { onTap: () {
setState(() { setState(() {
Navigator.of(context).pop(); Navigator.of(context).pop();
@ -809,6 +847,9 @@ class _CommunityDynamic extends State<CommunityDynamic> {
}); });
}, },
child: Container( child: Container(
width: double.infinity,
margin: EdgeInsets.only(top: 10.h),
padding: EdgeInsets.symmetric(vertical: 5.h),
child: Row( child: Row(
children: [ children: [
SizedBox( SizedBox(
@ -841,37 +882,42 @@ class _CommunityDynamic extends State<CommunityDynamic> {
color: Color(0xFFF7F7F7), color: Color(0xFFF7F7F7),
), ),
GestureDetector( GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: () { onTap: () {
setState(() { setState(() {
Navigator.of(context) Navigator.of(context)
.popAndPushNamed('/router/report_page',arguments: { .popAndPushNamed('/router/report_page', arguments: {
"userName":widget?.article?.authorName ?? "", "userName": widget?.article?.authorName ?? "",
"authorId":widget?.article?.author ?? "", "authorId": widget?.article?.author ?? "",
}); });
}); });
}, },
child: Row( child: Container(
children: [ width: double.infinity,
SizedBox( padding: EdgeInsets.symmetric(vertical: 5.h),
width: 4.w, child: Row(
), children: [
SvgPicture.asset( SizedBox(
"assets/svg/ju_b.svg", width: 4.w,
width: 20,
height: 20,
),
SizedBox(
width: 15.w,
),
Text(
S.of(context).jubaogaineirong,
style: TextStyle(
fontSize: 17.sp,
fontWeight: MyFontWeight.medium,
color: Color(0xFF1A1A1A),
), ),
), SvgPicture.asset(
], "assets/svg/ju_b.svg",
width: 20,
height: 20,
),
SizedBox(
width: 15.w,
),
Text(
S.of(context).jubaogaineirong,
style: TextStyle(
fontSize: 17.sp,
fontWeight: MyFontWeight.medium,
color: Color(0xFF1A1A1A),
),
),
],
),
)) ))
], ],
), ),

72
lib/community/photo_view_gallery_screen.dart

@ -42,41 +42,47 @@ class _PhotoViewGalleryScreenState extends State<PhotoViewGalleryScreen> {
left: 0, left: 0,
bottom: 0, bottom: 0,
right: 0, right: 0,
child: Container( child: GestureDetector(
child: PhotoViewGallery.builder( onTap: (){
scrollPhysics: const BouncingScrollPhysics(), Navigator.of(context).pop();
builder: (BuildContext context, int index) { },
return PhotoViewGalleryPageOptions( child: Container(
imageProvider: NetworkToFileImage( color: Colors.black,
url: widget.images[index], child: PhotoViewGallery.builder(
file: fileFromDocsDir(widget.images[index].toString() scrollPhysics: const BouncingScrollPhysics(),
.replaceAll("https://pos.upload.gznl.top/", "").replaceAll("/", "")), builder: (BuildContext context, int index) {
debug: true, return PhotoViewGalleryPageOptions(
), imageProvider: NetworkToFileImage(
); url: widget.images[index],
}, file: fileFromDocsDir(widget.images[index].toString()
itemCount: widget.images.length, .replaceAll("https://pos.upload.gznl.top/", "").replaceAll("/", "")),
loadingBuilder: (context, progress) => Center( debug: true,
child: Container( ),
width: 20.0, );
height: 20.0, },
child: CircularProgressIndicator( itemCount: widget.images.length,
value: progress == null loadingBuilder: (context, progress) => Center(
? null child: Container(
: progress.cumulativeBytesLoaded / width: 20.0,
progress.expectedTotalBytes, height: 20.0,
child: CircularProgressIndicator(
value: progress == null
? null
: progress.cumulativeBytesLoaded /
progress.expectedTotalBytes,
),
), ),
), ),
), backgroundDecoration: null,
backgroundDecoration: null, pageController: widget.controller,
pageController: widget.controller, enableRotation: false,
enableRotation: false, onPageChanged: (index){
onPageChanged: (index){ setState(() {
setState(() { currentIndex=index;
currentIndex=index; });
}); },
}, )
) ),
), ),
), ),
Positioned(//index显示 Positioned(//index显示

6
lib/generated/intl/messages_en.dart

@ -293,6 +293,7 @@ class MessageLookup extends MessageLookupByLibrary {
"huixiangrenyimendian" : MessageLookupByLibrary.simpleMessage("适用于:一心回乡任意门店"), "huixiangrenyimendian" : MessageLookupByLibrary.simpleMessage("适用于:一心回乡任意门店"),
"huixiangtoutiao" : MessageLookupByLibrary.simpleMessage("回乡头条"), "huixiangtoutiao" : MessageLookupByLibrary.simpleMessage("回乡头条"),
"huixiangvipkazhuanxiang" : MessageLookupByLibrary.simpleMessage("回乡VIP卡专享权益"), "huixiangvipkazhuanxiang" : MessageLookupByLibrary.simpleMessage("回乡VIP卡专享权益"),
"huixiangxieyi" : MessageLookupByLibrary.simpleMessage("回乡VIP会员卡规则协议"),
"huiyuandengji" : MessageLookupByLibrary.simpleMessage("会员等级"), "huiyuandengji" : MessageLookupByLibrary.simpleMessage("会员等级"),
"huiyuandengjishuoming" : MessageLookupByLibrary.simpleMessage("会员等级说明"), "huiyuandengjishuoming" : MessageLookupByLibrary.simpleMessage("会员等级说明"),
"huiyuanguize" : MessageLookupByLibrary.simpleMessage("会员规则说明"), "huiyuanguize" : MessageLookupByLibrary.simpleMessage("会员规则说明"),
@ -317,6 +318,7 @@ class MessageLookup extends MessageLookupByLibrary {
"huodongyue_" : m11, "huodongyue_" : m11,
"huodongzixun" : MessageLookupByLibrary.simpleMessage("活动资讯"), "huodongzixun" : MessageLookupByLibrary.simpleMessage("活动资讯"),
"huopinyisongda" : MessageLookupByLibrary.simpleMessage("货品已送达"), "huopinyisongda" : MessageLookupByLibrary.simpleMessage("货品已送达"),
"huozan" : MessageLookupByLibrary.simpleMessage("获赞"),
"input_code" : MessageLookupByLibrary.simpleMessage("手机验证码"), "input_code" : MessageLookupByLibrary.simpleMessage("手机验证码"),
"input_code_hide" : MessageLookupByLibrary.simpleMessage("请输入验证码"), "input_code_hide" : MessageLookupByLibrary.simpleMessage("请输入验证码"),
"input_invite_code_hide" : MessageLookupByLibrary.simpleMessage("填写邀请码"), "input_invite_code_hide" : MessageLookupByLibrary.simpleMessage("填写邀请码"),
@ -389,6 +391,7 @@ class MessageLookup extends MessageLookupByLibrary {
"lijikaitong" : MessageLookupByLibrary.simpleMessage("立即开通"), "lijikaitong" : MessageLookupByLibrary.simpleMessage("立即开通"),
"lijilingqu" : MessageLookupByLibrary.simpleMessage("立即领取"), "lijilingqu" : MessageLookupByLibrary.simpleMessage("立即领取"),
"lijiqiandao" : MessageLookupByLibrary.simpleMessage("立即签到"), "lijiqiandao" : MessageLookupByLibrary.simpleMessage("立即签到"),
"lijishiyong" : MessageLookupByLibrary.simpleMessage("立即使用"),
"lijitiyan" : MessageLookupByLibrary.simpleMessage("立即体验"), "lijitiyan" : MessageLookupByLibrary.simpleMessage("立即体验"),
"likekaitong" : MessageLookupByLibrary.simpleMessage("立刻开通"), "likekaitong" : MessageLookupByLibrary.simpleMessage("立刻开通"),
"likexufei" : MessageLookupByLibrary.simpleMessage("立刻续费"), "likexufei" : MessageLookupByLibrary.simpleMessage("立刻续费"),
@ -565,6 +568,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shiyongriqi" : MessageLookupByLibrary.simpleMessage("使用日期"), "shiyongriqi" : MessageLookupByLibrary.simpleMessage("使用日期"),
"shiyongshuoming" : MessageLookupByLibrary.simpleMessage("使用说明"), "shiyongshuoming" : MessageLookupByLibrary.simpleMessage("使用说明"),
"shiyongtiaojian" : MessageLookupByLibrary.simpleMessage("使用条件"), "shiyongtiaojian" : MessageLookupByLibrary.simpleMessage("使用条件"),
"shiyongxiangqing" : MessageLookupByLibrary.simpleMessage("使用详情"),
"shouhuodi" : MessageLookupByLibrary.simpleMessage("收货地址"), "shouhuodi" : MessageLookupByLibrary.simpleMessage("收货地址"),
"shouhuodizhi" : MessageLookupByLibrary.simpleMessage("请输入详细收货地址"), "shouhuodizhi" : MessageLookupByLibrary.simpleMessage("请输入详细收货地址"),
"shouhuodizhi1" : MessageLookupByLibrary.simpleMessage("收货地址"), "shouhuodizhi1" : MessageLookupByLibrary.simpleMessage("收货地址"),
@ -607,6 +611,7 @@ class MessageLookup extends MessageLookupByLibrary {
"wancheng" : MessageLookupByLibrary.simpleMessage("完成"), "wancheng" : MessageLookupByLibrary.simpleMessage("完成"),
"wancheng_" : m32, "wancheng_" : m32,
"wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下单"), "wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下单"),
"wangjimima" : MessageLookupByLibrary.simpleMessage("忘记密码"),
"wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"), "wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"),
"wanshanshengrixinxi_nl" : MessageLookupByLibrary.simpleMessage("完善生日信息后自动生成"), "wanshanshengrixinxi_nl" : MessageLookupByLibrary.simpleMessage("完善生日信息后自动生成"),
"wanshanshengrixinxi_yhq" : MessageLookupByLibrary.simpleMessage("完善生日信息得专属优惠劵"), "wanshanshengrixinxi_yhq" : MessageLookupByLibrary.simpleMessage("完善生日信息得专属优惠劵"),
@ -676,6 +681,7 @@ class MessageLookup extends MessageLookupByLibrary {
"xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用户名"), "xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用户名"),
"xuanguige" : MessageLookupByLibrary.simpleMessage("选规格"), "xuanguige" : MessageLookupByLibrary.simpleMessage("选规格"),
"xuanji" : MessageLookupByLibrary.simpleMessage("选集"), "xuanji" : MessageLookupByLibrary.simpleMessage("选集"),
"xuanzeshangpinlingqufangshi" : MessageLookupByLibrary.simpleMessage("请选择商品的领取方式"),
"xuefeihuiyuan" : MessageLookupByLibrary.simpleMessage("续费会员"), "xuefeihuiyuan" : MessageLookupByLibrary.simpleMessage("续费会员"),
"xuexijiankang" : MessageLookupByLibrary.simpleMessage("学习健康"), "xuexijiankang" : MessageLookupByLibrary.simpleMessage("学习健康"),
"xufeihuixiangVIP" : MessageLookupByLibrary.simpleMessage("续费回乡VIP"), "xufeihuixiangVIP" : MessageLookupByLibrary.simpleMessage("续费回乡VIP"),

10
lib/generated/intl/messages_en_US.dart

@ -293,6 +293,7 @@ class MessageLookup extends MessageLookupByLibrary {
"huixiangrenyimendian" : MessageLookupByLibrary.simpleMessage("For:Any store dedicated to returning home"), "huixiangrenyimendian" : MessageLookupByLibrary.simpleMessage("For:Any store dedicated to returning home"),
"huixiangtoutiao" : MessageLookupByLibrary.simpleMessage("Homecoming Headlines"), "huixiangtoutiao" : MessageLookupByLibrary.simpleMessage("Homecoming Headlines"),
"huixiangvipkazhuanxiang" : MessageLookupByLibrary.simpleMessage("Home Return VIP Card Exclusive Rights"), "huixiangvipkazhuanxiang" : MessageLookupByLibrary.simpleMessage("Home Return VIP Card Exclusive Rights"),
"huixiangxieyi" : MessageLookupByLibrary.simpleMessage("Homecoming VIP Membership Card Rules Agreement"),
"huiyuandengji" : MessageLookupByLibrary.simpleMessage("Membership Level"), "huiyuandengji" : MessageLookupByLibrary.simpleMessage("Membership Level"),
"huiyuandengjishuoming" : MessageLookupByLibrary.simpleMessage("Member Level Description"), "huiyuandengjishuoming" : MessageLookupByLibrary.simpleMessage("Member Level Description"),
"huiyuanguize" : MessageLookupByLibrary.simpleMessage("Member Rules Description"), "huiyuanguize" : MessageLookupByLibrary.simpleMessage("Member Rules Description"),
@ -317,6 +318,7 @@ class MessageLookup extends MessageLookupByLibrary {
"huodongyue_" : m11, "huodongyue_" : m11,
"huodongzixun" : MessageLookupByLibrary.simpleMessage("Activity information"), "huodongzixun" : MessageLookupByLibrary.simpleMessage("Activity information"),
"huopinyisongda" : MessageLookupByLibrary.simpleMessage("The goods have been delivered"), "huopinyisongda" : MessageLookupByLibrary.simpleMessage("The goods have been delivered"),
"huozan" : MessageLookupByLibrary.simpleMessage("liked"),
"input_code" : MessageLookupByLibrary.simpleMessage("Mobile phone verification code"), "input_code" : MessageLookupByLibrary.simpleMessage("Mobile phone verification code"),
"input_code_hide" : MessageLookupByLibrary.simpleMessage("Please enter the verification code"), "input_code_hide" : MessageLookupByLibrary.simpleMessage("Please enter the verification code"),
"input_invite_code_hide" : MessageLookupByLibrary.simpleMessage("Fill in the invitation code"), "input_invite_code_hide" : MessageLookupByLibrary.simpleMessage("Fill in the invitation code"),
@ -389,6 +391,7 @@ class MessageLookup extends MessageLookupByLibrary {
"lijikaitong" : MessageLookupByLibrary.simpleMessage("Open now"), "lijikaitong" : MessageLookupByLibrary.simpleMessage("Open now"),
"lijilingqu" : MessageLookupByLibrary.simpleMessage("Get it now"), "lijilingqu" : MessageLookupByLibrary.simpleMessage("Get it now"),
"lijiqiandao" : MessageLookupByLibrary.simpleMessage("Sign in immediately"), "lijiqiandao" : MessageLookupByLibrary.simpleMessage("Sign in immediately"),
"lijishiyong" : MessageLookupByLibrary.simpleMessage("Use Now"),
"lijitiyan" : MessageLookupByLibrary.simpleMessage("Experience Now"), "lijitiyan" : MessageLookupByLibrary.simpleMessage("Experience Now"),
"likekaitong" : MessageLookupByLibrary.simpleMessage("Open now"), "likekaitong" : MessageLookupByLibrary.simpleMessage("Open now"),
"likexufei" : MessageLookupByLibrary.simpleMessage("Renew now"), "likexufei" : MessageLookupByLibrary.simpleMessage("Renew now"),
@ -565,6 +568,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shiyongriqi" : MessageLookupByLibrary.simpleMessage("Use Date"), "shiyongriqi" : MessageLookupByLibrary.simpleMessage("Use Date"),
"shiyongshuoming" : MessageLookupByLibrary.simpleMessage("Instructions for Use"), "shiyongshuoming" : MessageLookupByLibrary.simpleMessage("Instructions for Use"),
"shiyongtiaojian" : MessageLookupByLibrary.simpleMessage("Use Conditions"), "shiyongtiaojian" : MessageLookupByLibrary.simpleMessage("Use Conditions"),
"shiyongxiangqing" : MessageLookupByLibrary.simpleMessage("Use Details"),
"shouhuodi" : MessageLookupByLibrary.simpleMessage("Ship To Address"), "shouhuodi" : MessageLookupByLibrary.simpleMessage("Ship To Address"),
"shouhuodizhi" : MessageLookupByLibrary.simpleMessage("Please enter the detailed receiving address"), "shouhuodizhi" : MessageLookupByLibrary.simpleMessage("Please enter the detailed receiving address"),
"shouhuodizhi1" : MessageLookupByLibrary.simpleMessage("Delivery address"), "shouhuodizhi1" : MessageLookupByLibrary.simpleMessage("Delivery address"),
@ -607,6 +611,7 @@ class MessageLookup extends MessageLookupByLibrary {
"wancheng" : MessageLookupByLibrary.simpleMessage("finish"), "wancheng" : MessageLookupByLibrary.simpleMessage("finish"),
"wancheng_" : m32, "wancheng_" : m32,
"wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("Place an order once"), "wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("Place an order once"),
"wangjimima" : MessageLookupByLibrary.simpleMessage("Forgot password"),
"wanjiankang" : MessageLookupByLibrary.simpleMessage("Play healthy"), "wanjiankang" : MessageLookupByLibrary.simpleMessage("Play healthy"),
"wanshanshengrixinxi_nl" : MessageLookupByLibrary.simpleMessage("Automatically generated after improving birthday information"), "wanshanshengrixinxi_nl" : MessageLookupByLibrary.simpleMessage("Automatically generated after improving birthday information"),
"wanshanshengrixinxi_yhq" : MessageLookupByLibrary.simpleMessage("Exclusive coupon for improving birthday information"), "wanshanshengrixinxi_yhq" : MessageLookupByLibrary.simpleMessage("Exclusive coupon for improving birthday information"),
@ -676,6 +681,7 @@ class MessageLookup extends MessageLookupByLibrary {
"xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("Modify User Name"), "xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("Modify User Name"),
"xuanguige" : MessageLookupByLibrary.simpleMessage("Select specs"), "xuanguige" : MessageLookupByLibrary.simpleMessage("Select specs"),
"xuanji" : MessageLookupByLibrary.simpleMessage("Selection"), "xuanji" : MessageLookupByLibrary.simpleMessage("Selection"),
"xuanzeshangpinlingqufangshi" : MessageLookupByLibrary.simpleMessage("Please select the picking method of goods"),
"xuefeihuiyuan" : MessageLookupByLibrary.simpleMessage("Renewal member"), "xuefeihuiyuan" : MessageLookupByLibrary.simpleMessage("Renewal member"),
"xuexijiankang" : MessageLookupByLibrary.simpleMessage("Learning Health"), "xuexijiankang" : MessageLookupByLibrary.simpleMessage("Learning Health"),
"xufeihuixiangVIP" : MessageLookupByLibrary.simpleMessage("Renewal Home VIP"), "xufeihuixiangVIP" : MessageLookupByLibrary.simpleMessage("Renewal Home VIP"),
@ -751,8 +757,8 @@ class MessageLookup extends MessageLookupByLibrary {
"zaituzhong" : MessageLookupByLibrary.simpleMessage("In transit"), "zaituzhong" : MessageLookupByLibrary.simpleMessage("In transit"),
"zaixiankefu" : MessageLookupByLibrary.simpleMessage("Online Customer Service"), "zaixiankefu" : MessageLookupByLibrary.simpleMessage("Online Customer Service"),
"zanbuzhichixianshangdiancan" : MessageLookupByLibrary.simpleMessage("Online ordering is not supported temporarily"), "zanbuzhichixianshangdiancan" : MessageLookupByLibrary.simpleMessage("Online ordering is not supported temporarily"),
"zanweijiesuo" : MessageLookupByLibrary.simpleMessage("Not yet unlocked"), "zanweijiesuo" : MessageLookupByLibrary.simpleMessage("Not unlocked"),
"zanweikaifang" : MessageLookupByLibrary.simpleMessage("Not yet open"), "zanweikaifang" : MessageLookupByLibrary.simpleMessage("Not open"),
"zanweikaitong" : MessageLookupByLibrary.simpleMessage("Not yet open"), "zanweikaitong" : MessageLookupByLibrary.simpleMessage("Not yet open"),
"zanwupinglun" : MessageLookupByLibrary.simpleMessage("No comment, please comment"), "zanwupinglun" : MessageLookupByLibrary.simpleMessage("No comment, please comment"),
"zanwuxianshangjindian" : MessageLookupByLibrary.simpleMessage("Temporary wireless shopping"), "zanwuxianshangjindian" : MessageLookupByLibrary.simpleMessage("Temporary wireless shopping"),

6
lib/generated/intl/messages_zh_CN.dart

@ -293,6 +293,7 @@ class MessageLookup extends MessageLookupByLibrary {
"huixiangrenyimendian" : MessageLookupByLibrary.simpleMessage("适用于:一心回乡任意门店"), "huixiangrenyimendian" : MessageLookupByLibrary.simpleMessage("适用于:一心回乡任意门店"),
"huixiangtoutiao" : MessageLookupByLibrary.simpleMessage("回乡头条"), "huixiangtoutiao" : MessageLookupByLibrary.simpleMessage("回乡头条"),
"huixiangvipkazhuanxiang" : MessageLookupByLibrary.simpleMessage("回乡VIP卡专享权益"), "huixiangvipkazhuanxiang" : MessageLookupByLibrary.simpleMessage("回乡VIP卡专享权益"),
"huixiangxieyi" : MessageLookupByLibrary.simpleMessage("回乡VIP会员卡规则协议"),
"huiyuandengji" : MessageLookupByLibrary.simpleMessage("会员等级"), "huiyuandengji" : MessageLookupByLibrary.simpleMessage("会员等级"),
"huiyuandengjishuoming" : MessageLookupByLibrary.simpleMessage("会员等级说明"), "huiyuandengjishuoming" : MessageLookupByLibrary.simpleMessage("会员等级说明"),
"huiyuanguize" : MessageLookupByLibrary.simpleMessage("会员规则说明"), "huiyuanguize" : MessageLookupByLibrary.simpleMessage("会员规则说明"),
@ -317,6 +318,7 @@ class MessageLookup extends MessageLookupByLibrary {
"huodongyue_" : m11, "huodongyue_" : m11,
"huodongzixun" : MessageLookupByLibrary.simpleMessage("活动资讯"), "huodongzixun" : MessageLookupByLibrary.simpleMessage("活动资讯"),
"huopinyisongda" : MessageLookupByLibrary.simpleMessage("货品已送达"), "huopinyisongda" : MessageLookupByLibrary.simpleMessage("货品已送达"),
"huozan" : MessageLookupByLibrary.simpleMessage("获赞"),
"input_code" : MessageLookupByLibrary.simpleMessage("手机验证码"), "input_code" : MessageLookupByLibrary.simpleMessage("手机验证码"),
"input_code_hide" : MessageLookupByLibrary.simpleMessage("请输入验证码"), "input_code_hide" : MessageLookupByLibrary.simpleMessage("请输入验证码"),
"input_invite_code_hide" : MessageLookupByLibrary.simpleMessage("填写邀请码"), "input_invite_code_hide" : MessageLookupByLibrary.simpleMessage("填写邀请码"),
@ -389,6 +391,7 @@ class MessageLookup extends MessageLookupByLibrary {
"lijikaitong" : MessageLookupByLibrary.simpleMessage("立即开通"), "lijikaitong" : MessageLookupByLibrary.simpleMessage("立即开通"),
"lijilingqu" : MessageLookupByLibrary.simpleMessage("立即领取"), "lijilingqu" : MessageLookupByLibrary.simpleMessage("立即领取"),
"lijiqiandao" : MessageLookupByLibrary.simpleMessage("立即签到"), "lijiqiandao" : MessageLookupByLibrary.simpleMessage("立即签到"),
"lijishiyong" : MessageLookupByLibrary.simpleMessage("立即使用"),
"lijitiyan" : MessageLookupByLibrary.simpleMessage("立即体验"), "lijitiyan" : MessageLookupByLibrary.simpleMessage("立即体验"),
"likekaitong" : MessageLookupByLibrary.simpleMessage("立刻开通"), "likekaitong" : MessageLookupByLibrary.simpleMessage("立刻开通"),
"likexufei" : MessageLookupByLibrary.simpleMessage("立刻续费"), "likexufei" : MessageLookupByLibrary.simpleMessage("立刻续费"),
@ -565,6 +568,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shiyongriqi" : MessageLookupByLibrary.simpleMessage("使用日期"), "shiyongriqi" : MessageLookupByLibrary.simpleMessage("使用日期"),
"shiyongshuoming" : MessageLookupByLibrary.simpleMessage("使用说明"), "shiyongshuoming" : MessageLookupByLibrary.simpleMessage("使用说明"),
"shiyongtiaojian" : MessageLookupByLibrary.simpleMessage("使用条件"), "shiyongtiaojian" : MessageLookupByLibrary.simpleMessage("使用条件"),
"shiyongxiangqing" : MessageLookupByLibrary.simpleMessage("使用详情"),
"shouhuodi" : MessageLookupByLibrary.simpleMessage("收货地址"), "shouhuodi" : MessageLookupByLibrary.simpleMessage("收货地址"),
"shouhuodizhi" : MessageLookupByLibrary.simpleMessage("请输入详细收货地址"), "shouhuodizhi" : MessageLookupByLibrary.simpleMessage("请输入详细收货地址"),
"shouhuodizhi1" : MessageLookupByLibrary.simpleMessage("收货地址"), "shouhuodizhi1" : MessageLookupByLibrary.simpleMessage("收货地址"),
@ -607,6 +611,7 @@ class MessageLookup extends MessageLookupByLibrary {
"wancheng" : MessageLookupByLibrary.simpleMessage("完成"), "wancheng" : MessageLookupByLibrary.simpleMessage("完成"),
"wancheng_" : m32, "wancheng_" : m32,
"wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下单"), "wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下单"),
"wangjimima" : MessageLookupByLibrary.simpleMessage("忘记密码"),
"wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"), "wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"),
"wanshanshengrixinxi_nl" : MessageLookupByLibrary.simpleMessage("完善生日信息后自动生成"), "wanshanshengrixinxi_nl" : MessageLookupByLibrary.simpleMessage("完善生日信息后自动生成"),
"wanshanshengrixinxi_yhq" : MessageLookupByLibrary.simpleMessage("完善生日信息得专属优惠劵"), "wanshanshengrixinxi_yhq" : MessageLookupByLibrary.simpleMessage("完善生日信息得专属优惠劵"),
@ -676,6 +681,7 @@ class MessageLookup extends MessageLookupByLibrary {
"xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用户名"), "xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用户名"),
"xuanguige" : MessageLookupByLibrary.simpleMessage("选规格"), "xuanguige" : MessageLookupByLibrary.simpleMessage("选规格"),
"xuanji" : MessageLookupByLibrary.simpleMessage("选集"), "xuanji" : MessageLookupByLibrary.simpleMessage("选集"),
"xuanzeshangpinlingqufangshi" : MessageLookupByLibrary.simpleMessage("请选择商品的领取方式"),
"xuefeihuiyuan" : MessageLookupByLibrary.simpleMessage("续费会员"), "xuefeihuiyuan" : MessageLookupByLibrary.simpleMessage("续费会员"),
"xuexijiankang" : MessageLookupByLibrary.simpleMessage("学习健康"), "xuexijiankang" : MessageLookupByLibrary.simpleMessage("学习健康"),
"xufeihuixiangVIP" : MessageLookupByLibrary.simpleMessage("续费回乡VIP"), "xufeihuixiangVIP" : MessageLookupByLibrary.simpleMessage("续费回乡VIP"),

6
lib/generated/intl/messages_zh_Hans_CN.dart

@ -293,6 +293,7 @@ class MessageLookup extends MessageLookupByLibrary {
"huixiangrenyimendian" : MessageLookupByLibrary.simpleMessage("适用于:一心回乡任意门店"), "huixiangrenyimendian" : MessageLookupByLibrary.simpleMessage("适用于:一心回乡任意门店"),
"huixiangtoutiao" : MessageLookupByLibrary.simpleMessage("回乡头条"), "huixiangtoutiao" : MessageLookupByLibrary.simpleMessage("回乡头条"),
"huixiangvipkazhuanxiang" : MessageLookupByLibrary.simpleMessage("回乡VIP卡专享权益"), "huixiangvipkazhuanxiang" : MessageLookupByLibrary.simpleMessage("回乡VIP卡专享权益"),
"huixiangxieyi" : MessageLookupByLibrary.simpleMessage("回乡VIP会员卡规则协议"),
"huiyuandengji" : MessageLookupByLibrary.simpleMessage("会员等级"), "huiyuandengji" : MessageLookupByLibrary.simpleMessage("会员等级"),
"huiyuandengjishuoming" : MessageLookupByLibrary.simpleMessage("会员等级说明"), "huiyuandengjishuoming" : MessageLookupByLibrary.simpleMessage("会员等级说明"),
"huiyuanguize" : MessageLookupByLibrary.simpleMessage("会员规则说明"), "huiyuanguize" : MessageLookupByLibrary.simpleMessage("会员规则说明"),
@ -317,6 +318,7 @@ class MessageLookup extends MessageLookupByLibrary {
"huodongyue_" : m11, "huodongyue_" : m11,
"huodongzixun" : MessageLookupByLibrary.simpleMessage("活动资讯"), "huodongzixun" : MessageLookupByLibrary.simpleMessage("活动资讯"),
"huopinyisongda" : MessageLookupByLibrary.simpleMessage("货品已送达"), "huopinyisongda" : MessageLookupByLibrary.simpleMessage("货品已送达"),
"huozan" : MessageLookupByLibrary.simpleMessage("获赞"),
"input_code" : MessageLookupByLibrary.simpleMessage("手机验证码"), "input_code" : MessageLookupByLibrary.simpleMessage("手机验证码"),
"input_code_hide" : MessageLookupByLibrary.simpleMessage("请输入验证码"), "input_code_hide" : MessageLookupByLibrary.simpleMessage("请输入验证码"),
"input_invite_code_hide" : MessageLookupByLibrary.simpleMessage("填写邀请码"), "input_invite_code_hide" : MessageLookupByLibrary.simpleMessage("填写邀请码"),
@ -389,6 +391,7 @@ class MessageLookup extends MessageLookupByLibrary {
"lijikaitong" : MessageLookupByLibrary.simpleMessage("立即开通"), "lijikaitong" : MessageLookupByLibrary.simpleMessage("立即开通"),
"lijilingqu" : MessageLookupByLibrary.simpleMessage("立即领取"), "lijilingqu" : MessageLookupByLibrary.simpleMessage("立即领取"),
"lijiqiandao" : MessageLookupByLibrary.simpleMessage("立即签到"), "lijiqiandao" : MessageLookupByLibrary.simpleMessage("立即签到"),
"lijishiyong" : MessageLookupByLibrary.simpleMessage("立即使用"),
"lijitiyan" : MessageLookupByLibrary.simpleMessage("立即体验"), "lijitiyan" : MessageLookupByLibrary.simpleMessage("立即体验"),
"likekaitong" : MessageLookupByLibrary.simpleMessage("立刻开通"), "likekaitong" : MessageLookupByLibrary.simpleMessage("立刻开通"),
"likexufei" : MessageLookupByLibrary.simpleMessage("立刻续费"), "likexufei" : MessageLookupByLibrary.simpleMessage("立刻续费"),
@ -565,6 +568,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shiyongriqi" : MessageLookupByLibrary.simpleMessage("使用日期"), "shiyongriqi" : MessageLookupByLibrary.simpleMessage("使用日期"),
"shiyongshuoming" : MessageLookupByLibrary.simpleMessage("使用说明"), "shiyongshuoming" : MessageLookupByLibrary.simpleMessage("使用说明"),
"shiyongtiaojian" : MessageLookupByLibrary.simpleMessage("使用条件"), "shiyongtiaojian" : MessageLookupByLibrary.simpleMessage("使用条件"),
"shiyongxiangqing" : MessageLookupByLibrary.simpleMessage("使用详情"),
"shouhuodi" : MessageLookupByLibrary.simpleMessage("收货地址"), "shouhuodi" : MessageLookupByLibrary.simpleMessage("收货地址"),
"shouhuodizhi" : MessageLookupByLibrary.simpleMessage("请输入详细收货地址"), "shouhuodizhi" : MessageLookupByLibrary.simpleMessage("请输入详细收货地址"),
"shouhuodizhi1" : MessageLookupByLibrary.simpleMessage("收货地址"), "shouhuodizhi1" : MessageLookupByLibrary.simpleMessage("收货地址"),
@ -607,6 +611,7 @@ class MessageLookup extends MessageLookupByLibrary {
"wancheng" : MessageLookupByLibrary.simpleMessage("完成"), "wancheng" : MessageLookupByLibrary.simpleMessage("完成"),
"wancheng_" : m32, "wancheng_" : m32,
"wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下单"), "wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下单"),
"wangjimima" : MessageLookupByLibrary.simpleMessage("忘记密码"),
"wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"), "wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"),
"wanshanshengrixinxi_nl" : MessageLookupByLibrary.simpleMessage("完善生日信息后自动生成"), "wanshanshengrixinxi_nl" : MessageLookupByLibrary.simpleMessage("完善生日信息后自动生成"),
"wanshanshengrixinxi_yhq" : MessageLookupByLibrary.simpleMessage("完善生日信息得专属优惠劵"), "wanshanshengrixinxi_yhq" : MessageLookupByLibrary.simpleMessage("完善生日信息得专属优惠劵"),
@ -676,6 +681,7 @@ class MessageLookup extends MessageLookupByLibrary {
"xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用户名"), "xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用户名"),
"xuanguige" : MessageLookupByLibrary.simpleMessage("选规格"), "xuanguige" : MessageLookupByLibrary.simpleMessage("选规格"),
"xuanji" : MessageLookupByLibrary.simpleMessage("选集"), "xuanji" : MessageLookupByLibrary.simpleMessage("选集"),
"xuanzeshangpinlingqufangshi" : MessageLookupByLibrary.simpleMessage("请选择商品的领取方式"),
"xuefeihuiyuan" : MessageLookupByLibrary.simpleMessage("续费会员"), "xuefeihuiyuan" : MessageLookupByLibrary.simpleMessage("续费会员"),
"xuexijiankang" : MessageLookupByLibrary.simpleMessage("学习健康"), "xuexijiankang" : MessageLookupByLibrary.simpleMessage("学习健康"),
"xufeihuixiangVIP" : MessageLookupByLibrary.simpleMessage("续费回乡VIP"), "xufeihuixiangVIP" : MessageLookupByLibrary.simpleMessage("续费回乡VIP"),

8
lib/generated/intl/messages_zh_Hant_CN.dart

@ -289,6 +289,7 @@ class MessageLookup extends MessageLookupByLibrary {
"huixiangrenyimendian" : MessageLookupByLibrary.simpleMessage("适用于:一心回乡任意门店"), "huixiangrenyimendian" : MessageLookupByLibrary.simpleMessage("适用于:一心回乡任意门店"),
"huixiangtoutiao" : MessageLookupByLibrary.simpleMessage("回鄉頭條"), "huixiangtoutiao" : MessageLookupByLibrary.simpleMessage("回鄉頭條"),
"huixiangvipkazhuanxiang" : MessageLookupByLibrary.simpleMessage("回鄉VIP卡專享權益"), "huixiangvipkazhuanxiang" : MessageLookupByLibrary.simpleMessage("回鄉VIP卡專享權益"),
"huixiangxieyi" : MessageLookupByLibrary.simpleMessage("回鄉VIP會員卡規則協定"),
"huiyuandengji" : MessageLookupByLibrary.simpleMessage("會員等級"), "huiyuandengji" : MessageLookupByLibrary.simpleMessage("會員等級"),
"huiyuandengjishuoming" : MessageLookupByLibrary.simpleMessage("會員等級説明"), "huiyuandengjishuoming" : MessageLookupByLibrary.simpleMessage("會員等級説明"),
"huiyuanguize" : MessageLookupByLibrary.simpleMessage("會員規則説明"), "huiyuanguize" : MessageLookupByLibrary.simpleMessage("會員規則説明"),
@ -313,6 +314,7 @@ class MessageLookup extends MessageLookupByLibrary {
"huodongyue_" : m11, "huodongyue_" : m11,
"huodongzixun" : MessageLookupByLibrary.simpleMessage("活動資訊"), "huodongzixun" : MessageLookupByLibrary.simpleMessage("活動資訊"),
"huopinyisongda" : MessageLookupByLibrary.simpleMessage("貨品已送達"), "huopinyisongda" : MessageLookupByLibrary.simpleMessage("貨品已送達"),
"huozan" : MessageLookupByLibrary.simpleMessage("獲贊"),
"input_code" : MessageLookupByLibrary.simpleMessage("手機驗證碼"), "input_code" : MessageLookupByLibrary.simpleMessage("手機驗證碼"),
"input_code_hide" : MessageLookupByLibrary.simpleMessage("請輸入驗證碼"), "input_code_hide" : MessageLookupByLibrary.simpleMessage("請輸入驗證碼"),
"input_invite_code_hide" : MessageLookupByLibrary.simpleMessage("填寫邀請碼"), "input_invite_code_hide" : MessageLookupByLibrary.simpleMessage("填寫邀請碼"),
@ -385,6 +387,7 @@ class MessageLookup extends MessageLookupByLibrary {
"lijikaitong" : MessageLookupByLibrary.simpleMessage("立即開通"), "lijikaitong" : MessageLookupByLibrary.simpleMessage("立即開通"),
"lijilingqu" : MessageLookupByLibrary.simpleMessage("立即領取"), "lijilingqu" : MessageLookupByLibrary.simpleMessage("立即領取"),
"lijiqiandao" : MessageLookupByLibrary.simpleMessage("立即簽到"), "lijiqiandao" : MessageLookupByLibrary.simpleMessage("立即簽到"),
"lijishiyong" : MessageLookupByLibrary.simpleMessage("立即使用"),
"lijitiyan" : MessageLookupByLibrary.simpleMessage("立即體驗"), "lijitiyan" : MessageLookupByLibrary.simpleMessage("立即體驗"),
"likekaitong" : MessageLookupByLibrary.simpleMessage("立刻開通"), "likekaitong" : MessageLookupByLibrary.simpleMessage("立刻開通"),
"likexufei" : MessageLookupByLibrary.simpleMessage("立刻續費"), "likexufei" : MessageLookupByLibrary.simpleMessage("立刻續費"),
@ -560,6 +563,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shiyongriqi" : MessageLookupByLibrary.simpleMessage("使用日期"), "shiyongriqi" : MessageLookupByLibrary.simpleMessage("使用日期"),
"shiyongshuoming" : MessageLookupByLibrary.simpleMessage("使用说明"), "shiyongshuoming" : MessageLookupByLibrary.simpleMessage("使用说明"),
"shiyongtiaojian" : MessageLookupByLibrary.simpleMessage("使用条件"), "shiyongtiaojian" : MessageLookupByLibrary.simpleMessage("使用条件"),
"shiyongxiangqing" : MessageLookupByLibrary.simpleMessage("使用詳情"),
"shouhuodizhi" : MessageLookupByLibrary.simpleMessage("請輸入詳細收貨地址"), "shouhuodizhi" : MessageLookupByLibrary.simpleMessage("請輸入詳細收貨地址"),
"shouhuodizhi1" : MessageLookupByLibrary.simpleMessage("收貨地址"), "shouhuodizhi1" : MessageLookupByLibrary.simpleMessage("收貨地址"),
"shouhuorenshoujihao" : MessageLookupByLibrary.simpleMessage("請輸入收貨人手機號"), "shouhuorenshoujihao" : MessageLookupByLibrary.simpleMessage("請輸入收貨人手機號"),
@ -601,6 +605,7 @@ class MessageLookup extends MessageLookupByLibrary {
"wancheng" : MessageLookupByLibrary.simpleMessage("完成"), "wancheng" : MessageLookupByLibrary.simpleMessage("完成"),
"wancheng_" : m32, "wancheng_" : m32,
"wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下單"), "wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下單"),
"wangjimima" : MessageLookupByLibrary.simpleMessage("忘記密碼"),
"wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"), "wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"),
"wanshanshengrixinxi_nl" : MessageLookupByLibrary.simpleMessage("完善生日資訊後自動生成 "), "wanshanshengrixinxi_nl" : MessageLookupByLibrary.simpleMessage("完善生日資訊後自動生成 "),
"wanshanshengrixinxi_yhq" : MessageLookupByLibrary.simpleMessage("完善生日資訊得專屬優惠劵 "), "wanshanshengrixinxi_yhq" : MessageLookupByLibrary.simpleMessage("完善生日資訊得專屬優惠劵 "),
@ -670,6 +675,7 @@ class MessageLookup extends MessageLookupByLibrary {
"xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用戶名"), "xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用戶名"),
"xuanguige" : MessageLookupByLibrary.simpleMessage("選規格"), "xuanguige" : MessageLookupByLibrary.simpleMessage("選規格"),
"xuanji" : MessageLookupByLibrary.simpleMessage("選集"), "xuanji" : MessageLookupByLibrary.simpleMessage("選集"),
"xuanzeshangpinlingqufangshi" : MessageLookupByLibrary.simpleMessage("請選擇商品的領取方式"),
"xuefeihuiyuan" : MessageLookupByLibrary.simpleMessage("續費會員"), "xuefeihuiyuan" : MessageLookupByLibrary.simpleMessage("續費會員"),
"xuexijiankang" : MessageLookupByLibrary.simpleMessage("學習健康"), "xuexijiankang" : MessageLookupByLibrary.simpleMessage("學習健康"),
"xufeihuixiangVIP" : MessageLookupByLibrary.simpleMessage("續費回鄉VIP"), "xufeihuixiangVIP" : MessageLookupByLibrary.simpleMessage("續費回鄉VIP"),
@ -746,7 +752,7 @@ class MessageLookup extends MessageLookupByLibrary {
"zaixiankefu" : MessageLookupByLibrary.simpleMessage("在線客服"), "zaixiankefu" : MessageLookupByLibrary.simpleMessage("在線客服"),
"zanbuzhichixianshangdiancan" : MessageLookupByLibrary.simpleMessage("暫不支持線上點餐"), "zanbuzhichixianshangdiancan" : MessageLookupByLibrary.simpleMessage("暫不支持線上點餐"),
"zanweijiesuo" : MessageLookupByLibrary.simpleMessage("暫未解鎖"), "zanweijiesuo" : MessageLookupByLibrary.simpleMessage("暫未解鎖"),
"zanweikaifang" : MessageLookupByLibrary.simpleMessage("暂未开"), "zanweikaifang" : MessageLookupByLibrary.simpleMessage("暫未開"),
"zanweikaitong" : MessageLookupByLibrary.simpleMessage("暫未開通"), "zanweikaitong" : MessageLookupByLibrary.simpleMessage("暫未開通"),
"zanwupinglun" : MessageLookupByLibrary.simpleMessage("暫無評論,快去評論吧~"), "zanwupinglun" : MessageLookupByLibrary.simpleMessage("暫無評論,快去評論吧~"),
"zanwuxianshangjindian" : MessageLookupByLibrary.simpleMessage("暫無綫上門店"), "zanwuxianshangjindian" : MessageLookupByLibrary.simpleMessage("暫無綫上門店"),

6
lib/generated/intl/messages_zh_TW.dart

@ -291,6 +291,7 @@ class MessageLookup extends MessageLookupByLibrary {
"huixiangrenyimendian" : MessageLookupByLibrary.simpleMessage("适用于:一心回乡任意门店"), "huixiangrenyimendian" : MessageLookupByLibrary.simpleMessage("适用于:一心回乡任意门店"),
"huixiangtoutiao" : MessageLookupByLibrary.simpleMessage("回鄉頭條"), "huixiangtoutiao" : MessageLookupByLibrary.simpleMessage("回鄉頭條"),
"huixiangvipkazhuanxiang" : MessageLookupByLibrary.simpleMessage("回鄉VIP卡專享權益"), "huixiangvipkazhuanxiang" : MessageLookupByLibrary.simpleMessage("回鄉VIP卡專享權益"),
"huixiangxieyi" : MessageLookupByLibrary.simpleMessage("回鄉VIP會員卡規則協定"),
"huiyuandengji" : MessageLookupByLibrary.simpleMessage("會員等級"), "huiyuandengji" : MessageLookupByLibrary.simpleMessage("會員等級"),
"huiyuandengjishuoming" : MessageLookupByLibrary.simpleMessage("會員等級説明"), "huiyuandengjishuoming" : MessageLookupByLibrary.simpleMessage("會員等級説明"),
"huiyuanguize" : MessageLookupByLibrary.simpleMessage("會員規則説明"), "huiyuanguize" : MessageLookupByLibrary.simpleMessage("會員規則説明"),
@ -315,6 +316,7 @@ class MessageLookup extends MessageLookupByLibrary {
"huodongyue_" : m11, "huodongyue_" : m11,
"huodongzixun" : MessageLookupByLibrary.simpleMessage("活動資訊"), "huodongzixun" : MessageLookupByLibrary.simpleMessage("活動資訊"),
"huopinyisongda" : MessageLookupByLibrary.simpleMessage("貨品已送達"), "huopinyisongda" : MessageLookupByLibrary.simpleMessage("貨品已送達"),
"huozan" : MessageLookupByLibrary.simpleMessage("獲贊"),
"input_code" : MessageLookupByLibrary.simpleMessage("手機驗證碼"), "input_code" : MessageLookupByLibrary.simpleMessage("手機驗證碼"),
"input_code_hide" : MessageLookupByLibrary.simpleMessage("請輸入驗證碼"), "input_code_hide" : MessageLookupByLibrary.simpleMessage("請輸入驗證碼"),
"input_invite_code_hide" : MessageLookupByLibrary.simpleMessage("填寫邀請碼"), "input_invite_code_hide" : MessageLookupByLibrary.simpleMessage("填寫邀請碼"),
@ -387,6 +389,7 @@ class MessageLookup extends MessageLookupByLibrary {
"lijikaitong" : MessageLookupByLibrary.simpleMessage("立即開通"), "lijikaitong" : MessageLookupByLibrary.simpleMessage("立即開通"),
"lijilingqu" : MessageLookupByLibrary.simpleMessage("立即領取"), "lijilingqu" : MessageLookupByLibrary.simpleMessage("立即領取"),
"lijiqiandao" : MessageLookupByLibrary.simpleMessage("立即簽到"), "lijiqiandao" : MessageLookupByLibrary.simpleMessage("立即簽到"),
"lijishiyong" : MessageLookupByLibrary.simpleMessage("立即使用"),
"lijitiyan" : MessageLookupByLibrary.simpleMessage("立即體驗"), "lijitiyan" : MessageLookupByLibrary.simpleMessage("立即體驗"),
"likekaitong" : MessageLookupByLibrary.simpleMessage("立刻開通"), "likekaitong" : MessageLookupByLibrary.simpleMessage("立刻開通"),
"likexufei" : MessageLookupByLibrary.simpleMessage("立刻續費"), "likexufei" : MessageLookupByLibrary.simpleMessage("立刻續費"),
@ -562,6 +565,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shiyongriqi" : MessageLookupByLibrary.simpleMessage("使用日期"), "shiyongriqi" : MessageLookupByLibrary.simpleMessage("使用日期"),
"shiyongshuoming" : MessageLookupByLibrary.simpleMessage("使用说明"), "shiyongshuoming" : MessageLookupByLibrary.simpleMessage("使用说明"),
"shiyongtiaojian" : MessageLookupByLibrary.simpleMessage("使用条件"), "shiyongtiaojian" : MessageLookupByLibrary.simpleMessage("使用条件"),
"shiyongxiangqing" : MessageLookupByLibrary.simpleMessage("使用詳情"),
"shouhuodi" : MessageLookupByLibrary.simpleMessage("收貨地址"), "shouhuodi" : MessageLookupByLibrary.simpleMessage("收貨地址"),
"shouhuodizhi" : MessageLookupByLibrary.simpleMessage("請輸入詳細收貨地址"), "shouhuodizhi" : MessageLookupByLibrary.simpleMessage("請輸入詳細收貨地址"),
"shouhuodizhi1" : MessageLookupByLibrary.simpleMessage("收貨地址"), "shouhuodizhi1" : MessageLookupByLibrary.simpleMessage("收貨地址"),
@ -604,6 +608,7 @@ class MessageLookup extends MessageLookupByLibrary {
"wancheng" : MessageLookupByLibrary.simpleMessage("完成"), "wancheng" : MessageLookupByLibrary.simpleMessage("完成"),
"wancheng_" : m32, "wancheng_" : m32,
"wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下單"), "wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下單"),
"wangjimima" : MessageLookupByLibrary.simpleMessage("忘記密碼"),
"wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"), "wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"),
"wanshanshengrixinxi_nl" : MessageLookupByLibrary.simpleMessage("完善生日資訊後自動生成 "), "wanshanshengrixinxi_nl" : MessageLookupByLibrary.simpleMessage("完善生日資訊後自動生成 "),
"wanshanshengrixinxi_yhq" : MessageLookupByLibrary.simpleMessage("完善生日資訊得專屬優惠劵 "), "wanshanshengrixinxi_yhq" : MessageLookupByLibrary.simpleMessage("完善生日資訊得專屬優惠劵 "),
@ -673,6 +678,7 @@ class MessageLookup extends MessageLookupByLibrary {
"xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用戶名"), "xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用戶名"),
"xuanguige" : MessageLookupByLibrary.simpleMessage("選規格"), "xuanguige" : MessageLookupByLibrary.simpleMessage("選規格"),
"xuanji" : MessageLookupByLibrary.simpleMessage("選集"), "xuanji" : MessageLookupByLibrary.simpleMessage("選集"),
"xuanzeshangpinlingqufangshi" : MessageLookupByLibrary.simpleMessage("請選擇商品的領取方式"),
"xuefeihuiyuan" : MessageLookupByLibrary.simpleMessage("續費會員"), "xuefeihuiyuan" : MessageLookupByLibrary.simpleMessage("續費會員"),
"xuexijiankang" : MessageLookupByLibrary.simpleMessage("學習健康"), "xuexijiankang" : MessageLookupByLibrary.simpleMessage("學習健康"),
"xufeihuixiangVIP" : MessageLookupByLibrary.simpleMessage("續費回鄉VIP"), "xufeihuixiangVIP" : MessageLookupByLibrary.simpleMessage("續費回鄉VIP"),

60
lib/generated/l10n.dart

@ -6875,6 +6875,66 @@ class S {
); );
} }
/// `VIP会员卡规则协议`
String get huixiangxieyi {
return Intl.message(
'回乡VIP会员卡规则协议',
name: 'huixiangxieyi',
desc: '',
args: [],
);
}
/// ``
String get huozan {
return Intl.message(
'获赞',
name: 'huozan',
desc: '',
args: [],
);
}
/// `使`
String get shiyongxiangqing {
return Intl.message(
'使用详情',
name: 'shiyongxiangqing',
desc: '',
args: [],
);
}
/// `使`
String get lijishiyong {
return Intl.message(
'立即使用',
name: 'lijishiyong',
desc: '',
args: [],
);
}
/// ``
String get wangjimima {
return Intl.message(
'忘记密码',
name: 'wangjimima',
desc: '',
args: [],
);
}
/// ``
String get xuanzeshangpinlingqufangshi {
return Intl.message(
'请选择商品的领取方式',
name: 'xuanzeshangpinlingqufangshi',
desc: '',
args: [],
);
}
/// `使` /// `使`
String get privacy_policy4 { String get privacy_policy4 {
return Intl.message( return Intl.message(

163
lib/home/home_page.dart

@ -163,8 +163,6 @@ class HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin {
final BaseData brand = final BaseData brand =
await apiService.queryHomeBrand().catchError((onError) { await apiService.queryHomeBrand().catchError((onError) {
SmartDialog.showToast(AppUtils.dioErrorTypeToString(onError.type),
alignment: Alignment.center);
refreshController.refreshFailed(); refreshController.refreshFailed();
}); });
if (brand != null && brand.isSuccess) { if (brand != null && brand.isSuccess) {
@ -289,7 +287,9 @@ class HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin {
queryUserBalance() async { queryUserBalance() async {
BaseData<UserInfo> baseData = BaseData<UserInfo> baseData =
await apiService.queryInfo().catchError((onError) {}); await apiService.queryInfo().catchError((onError) {
SmartDialog.showToast(AppUtils.dioErrorTypeToString(onError.type),
alignment: Alignment.center);});
if (baseData != null && baseData.isSuccess) { if (baseData != null && baseData.isSuccess) {
userInfo = baseData.data; userInfo = baseData.data;
mRaiseMoney = double.tryParse(userInfo.raiseMoney); mRaiseMoney = double.tryParse(userInfo.raiseMoney);
@ -503,83 +503,87 @@ class HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin {
}, },
child: SingleChildScrollView( child: SingleChildScrollView(
physics: NeverScrollableScrollPhysics(), physics: NeverScrollableScrollPhysics(),
child: Column( child: FutureBuilder(
children: [ future:queryHome(),
///banner builder: (context, snapshot) {
HomeBanner(bannerData, controller), return Column(
children: [
/// ///banner
UnionEntry((int jpIndex) { HomeBanner(bannerData, controller),
widget.changeTab(1,jpIndex);
///
UnionEntry((int jpIndex) {
widget.changeTab(1,jpIndex);
}),
///
ShortcutOperation((int jpIndex) {
widget.changeTab(1,jpIndex);
}),
///广
spread(),
// ///
// SignView(isSigned, (value) {
// setState(() {
// isSigned = value;
// });
// }),
///
DiscountZone(coupons),
///-
HomeRecommendGoods(homeRank),
///
if(mRaiseMoney != 0.0)
HappyHelpFarmers(),
///
WelfareCore(),
///
TopSellingList(homeRank),
// ///
// QuickOrder(),
// ///
// CouponView(),
// ///
// FeaturedActivity(),
// ///
// HomeIntegralStore(gooods),
///Tab
PointsGoodsTitle(
gooodsCategorys,
(orderType, orderDesc) {
this.orderType = orderType;
this.orderDesc = orderDesc;
setState(() {});
},
(index) {
categoryId = gooodsCategorys[index].id;
pageNum = 1;
setState(() {});
},
),
///
PointGoods(
goods,
(index) {
_toDetails(index);
},
),
],
);
}), }),
///
ShortcutOperation((int jpIndex) {
widget.changeTab(1,jpIndex);
}),
///广
spread(),
// ///
// SignView(isSigned, (value) {
// setState(() {
// isSigned = value;
// });
// }),
///
DiscountZone(coupons),
///-
HomeRecommendGoods(homeRank),
///
if(mRaiseMoney != 0)
HappyHelpFarmers(),
///
WelfareCore(),
///
TopSellingList(homeRank),
// ///
// QuickOrder(),
// ///
// CouponView(),
// ///
// FeaturedActivity(),
// ///
// HomeIntegralStore(gooods),
///Tab
PointsGoodsTitle(
gooodsCategorys,
(orderType, orderDesc) {
this.orderType = orderType;
this.orderDesc = orderDesc;
setState(() {});
},
(index) {
categoryId = gooodsCategorys[index].id;
pageNum = 1;
setState(() {});
},
),
///
PointGoods(
goods,
(index) {
_toDetails(index);
},
),
],
),
), ),
), ),
), ),
@ -599,7 +603,6 @@ class HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin {
child: GestureDetector( child: GestureDetector(
onTap: (){ onTap: (){
Navigator.of(context).pushNamed('/router/invite_friends'); Navigator.of(context).pushNamed('/router/invite_friends');
// Navigator.of(context).pushNamed('/router/mine_greenery');
}, },
child: ClipRRect( child: ClipRRect(
child:Image.asset( child:Image.asset(

86
lib/home/welfare_exchange.dart

@ -28,7 +28,8 @@ class WelfareExchange extends StatefulWidget {
} }
} }
class _WelfareExchange extends State<WelfareExchange> with SingleTickerProviderStateMixin, AutomaticKeepAliveClientMixin{ class _WelfareExchange extends State<WelfareExchange>
with SingleTickerProviderStateMixin, AutomaticKeepAliveClientMixin {
ApiService apiService; ApiService apiService;
final ScrollController scrollController = ScrollController(); final ScrollController scrollController = ScrollController();
final RefreshController refreshController = RefreshController(); final RefreshController refreshController = RefreshController();
@ -195,28 +196,28 @@ class _WelfareExchange extends State<WelfareExchange> with SingleTickerProvider
), ),
), ),
flexibleSpace: FlexibleSpaceBar( flexibleSpace: FlexibleSpaceBar(
background:Stack( background: Stack(
children: [ children: [
Container( Container(
// padding: EdgeInsets.only(top: 40.h), // padding: EdgeInsets.only(top: 40.h),
height: 172.h, height: 172.h,
decoration: BoxDecoration( decoration: BoxDecoration(
// border: Border.all(color: Colors.white,width: 0.5), // border: Border.all(color: Colors.white,width: 0.5),
color: Color(0xFF277D4B), color: Color(0xFF277D4B),
shape: BoxShape.rectangle, shape: BoxShape.rectangle,
borderRadius: BorderRadius.only( borderRadius: BorderRadius.only(
bottomRight: Radius.circular(40.r), bottomRight: Radius.circular(40.r),
bottomLeft: Radius.circular(40.r), bottomLeft: Radius.circular(40.r),
),
),
),
Container(
alignment: Alignment.topCenter,
margin: EdgeInsets.only(top: 110.h),
child: pointUser(),
), ),
], ),
)), ),
Container(
alignment: Alignment.topCenter,
margin: EdgeInsets.only(top: 110.h),
child: pointUser(),
),
],
)),
expandedHeight: 258.h, expandedHeight: 258.h,
bottom: PreferredSize( bottom: PreferredSize(
preferredSize: Size(double.infinity, 0), preferredSize: Size(double.infinity, 0),
@ -408,27 +409,28 @@ class _WelfareExchange extends State<WelfareExchange> with SingleTickerProvider
SizedBox( SizedBox(
height: 4.h, height: 4.h,
), ),
Expanded(child: Row( Expanded(
children: [ child: Row(
Text( children: [
(userInfo != null) ? "${userInfo.points}" : "", Text(
style: TextStyle( (userInfo != null) ? "${userInfo.points}" : "",
fontSize: 16.sp, style: TextStyle(
color: Color(0xFF32A060), fontSize: 16.sp,
fontFamily: 'JDZhengHT', color: Color(0xFF32A060),
fontWeight: MyFontWeight.medium, fontFamily: 'JDZhengHT',
), fontWeight: MyFontWeight.medium,
),
SizedBox(
width: 6.w,
), ),
Image.asset( ),
"assets/image/icon_gold_coin.webp", SizedBox(
width: 18, width: 6.w,
height: 18, ),
) Image.asset(
], "assets/image/icon_gold_coin.webp",
)) width: 18,
height: 18,
)
],
))
], ],
), ),
) )

9
lib/l10n/intl_en.arb

@ -713,6 +713,15 @@
"canyingfuwu":"餐饮服务", "canyingfuwu":"餐饮服务",
"qiyetuanjian":"企业团建", "qiyetuanjian":"企业团建",
"zhunongjifen":"助农积分", "zhunongjifen":"助农积分",
"huixiangxieyi":"回乡VIP会员卡规则协议",
"zanweikaifang":"暂未开放",
"zanweijiesuo":"暂未解锁",
"huozan":"获赞",
"shiyongxiangqing":"使用详情",
"lijishiyong":"立即使用",
"wangjimima":"忘记密码",
"xuanzeshangpinlingqufangshi":"请选择商品的领取方式",

8
lib/l10n/intl_en_US.arb

@ -714,6 +714,14 @@
"canyingfuwu":"catering service", "canyingfuwu":"catering service",
"qiyetuanjian":"Enterprise League Building", "qiyetuanjian":"Enterprise League Building",
"zhunongjifen":"Farming aid points", "zhunongjifen":"Farming aid points",
"huixiangxieyi":"Homecoming VIP Membership Card Rules Agreement",
"zanweikaifang":"Not open",
"zanweijiesuo":"Not unlocked",
"huozan":"liked",
"shiyongxiangqing":"Use Details",
"lijishiyong":"Use Now",
"wangjimima":"Forgot password",
"xuanzeshangpinlingqufangshi":"Please select the picking method of goods",

8
lib/l10n/intl_zh_CN.arb

@ -714,6 +714,14 @@
"canyingfuwu":"餐饮服务", "canyingfuwu":"餐饮服务",
"qiyetuanjian":"企业团建", "qiyetuanjian":"企业团建",
"zhunongjifen":"助农积分", "zhunongjifen":"助农积分",
"huixiangxieyi":"回乡VIP会员卡规则协议",
"zanweikaifang":"暂未开放",
"zanweijiesuo":"暂未解锁",
"huozan":"获赞",
"shiyongxiangqing":"使用详情",
"lijishiyong":"立即使用",
"wangjimima":"忘记密码",
"xuanzeshangpinlingqufangshi":"请选择商品的领取方式",

8
lib/l10n/intl_zh_Hans_CN.arb

@ -714,6 +714,14 @@
"canyingfuwu":"餐饮服务", "canyingfuwu":"餐饮服务",
"qiyetuanjian":"企业团建", "qiyetuanjian":"企业团建",
"zhunongjifen":"助农积分", "zhunongjifen":"助农积分",
"huixiangxieyi":"回乡VIP会员卡规则协议",
"zanweikaifang":"暂未开放",
"zanweijiesuo":"暂未解锁",
"huozan":"获赞",
"shiyongxiangqing":"使用详情",
"lijishiyong":"立即使用",
"wangjimima":"忘记密码",
"xuanzeshangpinlingqufangshi":"请选择商品的领取方式",

8
lib/l10n/intl_zh_Hant_CN.arb

@ -705,6 +705,14 @@
"canyingfuwu":"餐飲服務", "canyingfuwu":"餐飲服務",
"qiyetuanjian":"企業團建", "qiyetuanjian":"企業團建",
"zhunongjifen":"助農積分", "zhunongjifen":"助農積分",
"huixiangxieyi":"回鄉VIP會員卡規則協定",
"zanweikaifang":"暫未開放",
"zanweijiesuo":"暫未解鎖",
"huozan":"獲贊",
"shiyongxiangqing":"使用詳情",
"lijishiyong":"立即使用",
"wangjimima":"忘記密碼",
"xuanzeshangpinlingqufangshi":"請選擇商品的領取方式",

8
lib/l10n/intl_zh_TW.arb

@ -707,6 +707,14 @@
"canyingfuwu":"餐飲服務", "canyingfuwu":"餐飲服務",
"qiyetuanjian":"企業團建", "qiyetuanjian":"企業團建",
"zhunongjifen":"助農積分", "zhunongjifen":"助農積分",
"huixiangxieyi":"回鄉VIP會員卡規則協定",
"zanweikaifang":"暫未開放",
"zanweijiesuo":"暫未解鎖",
"huozan":"獲贊",
"shiyongxiangqing":"使用詳情",
"lijishiyong":"立即使用",
"wangjimima":"忘記密碼",
"xuanzeshangpinlingqufangshi":"請選擇商品的領取方式",

59
lib/login/new_login_page.dart

@ -123,7 +123,7 @@ class _NewLoginPage extends State<NewLoginPage> {
} }
if (_sendCodeStatus == 0) { if (_sendCodeStatus == 0) {
apiService apiService
.sendVerify(area,mobile) .sendVerify(area, mobile)
.then((value) => { .then((value) => {
if (value.isSuccess) if (value.isSuccess)
{_sendCodeStatus = 1, countdown()} {_sendCodeStatus = 1, countdown()}
@ -207,7 +207,12 @@ class _NewLoginPage extends State<NewLoginPage> {
return; return;
} }
var invite = _controllerInviteCode.text; var invite = _controllerInviteCode.text;
var param = {"capcha": code, "mobile": mobile, "invite": invite,"areaCode":area}; var param = {
"capcha": code,
"mobile": mobile,
"invite": invite,
"areaCode": area
};
EasyLoading.show(status: S.of(context).zhengzaijiazai); EasyLoading.show(status: S.of(context).zhengzaijiazai);
BaseData value = await apiService.memberLogin(param).catchError((error) { BaseData value = await apiService.memberLogin(param).catchError((error) {
print(error.message); print(error.message);
@ -217,7 +222,8 @@ class _NewLoginPage extends State<NewLoginPage> {
// EasyLoading.show(status: S.of(context).zhengzaijiazai); // EasyLoading.show(status: S.of(context).zhengzaijiazai);
if (value != null && value.isSuccess) { if (value != null && value.isSuccess) {
var userInfo = LoginInfo.fromJson(value.data); var userInfo = LoginInfo.fromJson(value.data);
ExamineInstance.instance.isExamine = userInfo.authInfo.account == "13800138000"; ExamineInstance.instance.isExamine =
userInfo.authInfo.account == "13800138000";
saveUserJson(userInfo.authInfo.toJson()); saveUserJson(userInfo.authInfo.toJson());
eventBus.fire(EventType(3)); eventBus.fire(EventType(3));
@ -257,7 +263,8 @@ class _NewLoginPage extends State<NewLoginPage> {
if (sharedPreferences.containsKey('token') && if (sharedPreferences.containsKey('token') &&
sharedPreferences.getString("token") != null && sharedPreferences.getString("token") != null &&
sharedPreferences.getString("token") != "") { sharedPreferences.getString("token") != "") {
ExamineInstance.instance.isExamine = sharedPreferences.getString("mobile") == "13800138000"; ExamineInstance.instance.isExamine =
sharedPreferences.getString("mobile") == "13800138000";
Navigator.of(context).popAndPushNamed('/router/main_page'); Navigator.of(context).popAndPushNamed('/router/main_page');
} else { } else {
initController(); initController();
@ -383,22 +390,24 @@ class _NewLoginPage extends State<NewLoginPage> {
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
GestureDetector( GestureDetector(
onTap: (){ onTap: () {
Navigator.of(context).pushNamed('/router/phone_address_page').then((value) { Navigator.of(context)
if(value != null) .pushNamed('/router/phone_address_page')
setState(() { .then((value) {
area = value; if (value != null)
setState(() {
area = value;
});
}); });
}); },
}, child: Text(
child: Text( area,
area, style: TextStyle(
style: TextStyle( fontWeight: MyFontWeight.regular,
fontWeight: MyFontWeight.regular, fontSize: 16.sp,
fontSize: 16.sp, color: Color(0xFF1A1A1A),
color: Color(0xFF1A1A1A), ),
), )),
)),
Icon( Icon(
Icons.keyboard_arrow_right, Icons.keyboard_arrow_right,
size: 18, size: 18,
@ -454,7 +463,9 @@ class _NewLoginPage extends State<NewLoginPage> {
height: 1.h, height: 1.h,
width: MediaQuery.of(context).size.width - 80.h, width: MediaQuery.of(context).size.width - 80.h,
// color: statusPhoneLineColor, // color: statusPhoneLineColor,
color: _controllerPhone.text== "" ? Color(0xFFE7E3E3):Color(0xFF32A060), color: _controllerPhone.text == ""
? Color(0xFFE7E3E3)
: Color(0xFF32A060),
), ),
SizedBox( SizedBox(
height: 30.h, height: 30.h,
@ -680,8 +691,8 @@ class _NewLoginPage extends State<NewLoginPage> {
// Navigator.of(context).pop(); // Navigator.of(context).pop();
// } else { // } else {
ExamineInstance.instance.isExamine = true; ExamineInstance.instance.isExamine = true;
Navigator.of(context) Navigator.of(context)
.popAndPushNamed('/router/main_page'); .popAndPushNamed('/router/main_page');
// } // }
}, },
child: Container( child: Container(
@ -732,7 +743,7 @@ class _NewLoginPage extends State<NewLoginPage> {
showDialog( showDialog(
context: context, context: context,
builder: (BuildContext context) { builder: (BuildContext context) {
return WillPopScope( return WillPopScope(
onWillPop: () async => false, onWillPop: () async => false,
child: SimpleDialog( child: SimpleDialog(
titlePadding: EdgeInsets.all(10), titlePadding: EdgeInsets.all(10),
@ -855,7 +866,7 @@ class _NewLoginPage extends State<NewLoginPage> {
}); });
SharesdkPlugin.uploadPrivacyPermissionStatus( SharesdkPlugin.uploadPrivacyPermissionStatus(
1, 1,
(success) => { (success) => {
Navigator.of(context).pop(), Navigator.of(context).pop(),
}, },
); );

2
lib/main_page.dart

@ -204,7 +204,7 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
myLocPlugin.authAK("ylW2QPlsbERkho7jOgU4GQSeawmdUIoR"); myLocPlugin.authAK("ylW2QPlsbERkho7jOgU4GQSeawmdUIoR");
BMFMapSDK.setApiKeyAndCoordType( BMFMapSDK.setApiKeyAndCoordType(
'ylW2QPlsbERkho7jOgU4GQSeawmdUIoR', 'ylW2QPlsbERkho7jOgU4GQSeawmdUIoR',
BMF_COORD_TYPE.COMMON, BMF_COORD_TYPE.BD09LL,
); );
} else if (Platform.isAndroid) { } else if (Platform.isAndroid) {
BMFMapSDK.setCoordType(BMF_COORD_TYPE.BD09LL); BMFMapSDK.setCoordType(BMF_COORD_TYPE.BD09LL);

111
lib/mine/mine_page.dart

@ -31,8 +31,8 @@ import 'mine_view/mine_item.dart';
import 'mine_view/mine_view.dart'; import 'mine_view/mine_view.dart';
class MinePage extends StatefulWidget { class MinePage extends StatefulWidget {
MinePage(Key key) : super(key: key);
MinePage(Key key): super(key: key);
@override @override
State<StatefulWidget> createState() { State<StatefulWidget> createState() {
return MinePageState(); return MinePageState();
@ -50,13 +50,16 @@ class MinePageState extends State<MinePage> with AutomaticKeepAliveClientMixin {
_toUserInfo() async { _toUserInfo() async {
SharedPreferences shared = await SharedPreferences.getInstance(); SharedPreferences shared = await SharedPreferences.getInstance();
if (shared.getString("token") == null || shared.getString("token") == "") { if (shared.getString("token") == null || shared.getString("token") == "") {
Navigator.of(context) Navigator.of(context).pushReplacementNamed('/router/new_login_page',
.pushReplacementNamed('/router/new_login_page', arguments: {"login": "login"}); arguments: {"login": "login"});
return; return;
} }
(Platform.isAndroid&&ExamineInstance.instance.isExamine)? (Platform.isAndroid && ExamineInstance.instance.isExamine)
await Navigator.of(context).pushNamed('/router/user_info_page'): ? await Navigator.of(context).pushNamed('/router/user_info_page')
await Navigator.of(context).pushNamed('/router/personal_page',arguments:{"memberId":"0",}); : await Navigator.of(context)
.pushNamed('/router/personal_page', arguments: {
"memberId": "0",
});
setState(() {}); setState(() {});
} }
@ -101,8 +104,8 @@ class MinePageState extends State<MinePage> with AutomaticKeepAliveClientMixin {
BaseData<List<Rank>> rankData = BaseData<List<Rank>> rankData =
await apiService.rankList().catchError((onError) { await apiService.rankList().catchError((onError) {
SmartDialog.showToast(AppUtils.dioErrorTypeToString(onError.type), SmartDialog.showToast(AppUtils.dioErrorTypeToString(onError.type),
alignment: Alignment.center); alignment: Alignment.center);
_refreshController.refreshFailed(); _refreshController.refreshFailed();
}); });
if (rankData != null && rankData.isSuccess) { if (rankData != null && rankData.isSuccess) {
@ -165,7 +168,8 @@ class MinePageState extends State<MinePage> with AutomaticKeepAliveClientMixin {
token: value.getString("token"), token: value.getString("token"),
); );
} }
BaseData<List<MsgStats>> baseData = await apiService.stats().catchError((onError) {}); BaseData<List<MsgStats>> baseData =
await apiService.stats().catchError((onError) {});
if (baseData != null && baseData.isSuccess) { if (baseData != null && baseData.isSuccess) {
setState(() { setState(() {
totalMsg = 0; totalMsg = 0;
@ -203,48 +207,38 @@ class MinePageState extends State<MinePage> with AutomaticKeepAliveClientMixin {
children: [ children: [
Container( Container(
height: 502.h, height: 502.h,
decoration: BoxDecoration( decoration: BoxDecoration(
// color: Color(0xFF32A060) // color: Color(0xFF32A060)
image: DecorationImage( image: DecorationImage(
fit: BoxFit.cover, fit: BoxFit.cover,
image: AssetImage("assets/image/settlement_bg.webp"), image: AssetImage("assets/image/settlement_bg.webp"),
),
), ),
),
), ),
FutureBuilder( FutureBuilder(
future: queryUserInfo(), future: queryUserInfo(),
builder: (context, snapshot) { builder: (context, snapshot) {
return Column( return Column(
children: [ children: [
/// ///
MineView( MineView(userInfo, () {
userInfo, _toUserInfo();
() { }, () {
_toUserInfo(); toIntegralPage();
}, }, () {
() { setState(() {
toIntegralPage(); totalMsg = 0;
}, });
(){ }, totalMsg, infoNumber),
setState(() {
totalMsg =0;
});
},
totalMsg,
infoNumber
),
/// VIP等级信息 /// VIP等级信息
MineVipEntry( MineVipEntry(
tag: "vip", tag: "vip",
ranks: ranks, ranks: ranks,
userInfo: userInfo, userInfo: userInfo,
rank: double.tryParse( rank: double.tryParse(userInfo?.expendAmount ?? "0")
userInfo?.expendAmount ?? "0")
.toInt(), .toInt(),
rankMax: rankMax: userInfo?.memberRankVo?.nextOrigin ?? 0,
userInfo?.memberRankVo?.nextOrigin ?? 0,
createTime: userInfo?.createTime ?? "", createTime: userInfo?.createTime ?? "",
), ),
@ -286,15 +280,16 @@ class MinePageState extends State<MinePage> with AutomaticKeepAliveClientMixin {
Widget attainment() { Widget attainment() {
return GestureDetector( return GestureDetector(
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
onTap: (){ onTap: () {
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
'/router/mine_attainment_page', '/router/mine_attainment_page',
arguments: {"userInfo": userInfo}, arguments: {"userInfo": userInfo},
); );
}, },
child:Container( child: Container(
margin: EdgeInsets.only(left:16.w,right:16.w,bottom:15.h), margin: EdgeInsets.only(left: 16.w, right: 16.w, bottom: 15.h),
padding: EdgeInsets.only(left:12.w, top:12.h, right:10.w,bottom: 17.h), padding:
EdgeInsets.only(left: 12.w, top: 12.h, right: 10.w, bottom: 17.h),
width: double.infinity, width: double.infinity,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
@ -320,34 +315,38 @@ class MinePageState extends State<MinePage> with AutomaticKeepAliveClientMixin {
color: Color(0xFF0D0D0D), color: Color(0xFF0D0D0D),
), ),
), ),
SizedBox(height: 9.h,), SizedBox(
height: 9.h,
),
Row( Row(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
Image.asset( Image.asset(
"assets/image/icon_attainment.webp", "assets/image/icon_attainment.webp",
width:54, width: 54,
height:54, height: 54,
fit: BoxFit.cover, fit: BoxFit.cover,
), ),
SizedBox(width: 7.w,), SizedBox(
Expanded(child: width: 7.w,
Column( ),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
Text( Text(
"已解锁${infoNumber != null "已解锁${infoNumber != null ? infoNumber.achievementNumber.toString() : "0"}个成就",
? infoNumber.achievementNumber.toString()
: "0"}",
style: TextStyle( style: TextStyle(
fontWeight: MyFontWeight.regular, fontWeight: MyFontWeight.regular,
fontSize: 14.sp, fontSize: 14.sp,
color: Color(0xFF262626), color: Color(0xFF262626),
), ),
), ),
SizedBox(height:4.w,), SizedBox(
height: 4.w,
),
Text( Text(
"完成任务解锁更多成就", "完成任务解锁更多成就",
style: TextStyle( style: TextStyle(
@ -390,17 +389,17 @@ class MinePageState extends State<MinePage> with AutomaticKeepAliveClientMixin {
///广 ///广
Widget spreadImage() { Widget spreadImage() {
return Container( return Container(
margin: EdgeInsets.only(right:14.w,bottom:15.h,left: 14.w), margin: EdgeInsets.only(right: 14.w, bottom: 15.h, left: 14.w),
child: GestureDetector( child: GestureDetector(
onTap: (){ onTap: () {
Navigator.of(context).pushNamed('/router/invite_friends'); Navigator.of(context).pushNamed('/router/invite_friends');
}, },
child:ClipRRect( child: ClipRRect(
child:Image.asset( child: Image.asset(
"assets/image/welfare_spread.webp", "assets/image/welfare_spread.webp",
width:double.infinity, width: double.infinity,
fit: BoxFit.fill, fit: BoxFit.fill,
height:80.h, height: 80.h,
), ),
borderRadius: BorderRadius.circular(6.w), borderRadius: BorderRadius.circular(6.w),
), ),

2
lib/mine/mine_view/mine_view.dart

@ -300,7 +300,7 @@ class _MineView extends State<MineView> {
child: Text( child: Text(
widget.userInfo == null widget.userInfo == null
? S.of(context).denglu ? S.of(context).denglu
: "${widget.userInfo.nickname??""}", : "${widget.userInfo.nickname==""?"回乡":widget.userInfo.nickname}",
style: TextStyle( style: TextStyle(
fontSize: 16.sp, fontSize: 16.sp,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,

100
lib/mine/personal_page.dart

@ -98,54 +98,52 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
/// ///
queryCommunity(String searchKey) async { queryCommunity(String searchKey) async {
if(!isRefresh){ if (!isRefresh) {
isRefresh = true; isRefresh = true;
return; return;
} }
if(isLoadingData){ if (isLoadingData) {
return; return;
} }
isLoadingData = true; isLoadingData = true;
if (apiService == null) { if (apiService == null) {
SharedPreferences value = await SharedPreferences.getInstance(); SharedPreferences value = await SharedPreferences.getInstance();
userId = value.getString('userId'); userId = value.getString('userId');
apiService = ApiService( apiService = ApiService(Dio(),
Dio(),
context: context, context: context,
token: value.getString("token"), token: value.getString("token"),
showLoading: false showLoading: false);
);
} }
if(isLoadMore){ if (isLoadMore) {
pageNum += 1; pageNum += 1;
isLoadMore = false; isLoadMore = false;
} } else if (searchKey == null) pageNum = 1;
else if(searchKey == null)pageNum = 1;
BaseData<PageInfo<ComunityComment>> baseData = await apiService.trendList({ BaseData<PageInfo<ComunityComment>> baseData = await apiService.trendList({
"mid": memberId == "0" ? userId : memberId, "mid": memberId == "0" ? userId : memberId,
"onlyFollow": false, "onlyFollow": false,
"onlyMe": true, "onlyMe": true,
"pageNum": searchKey == null?pageNum:1, "pageNum": searchKey == null ? pageNum : 1,
"pageSize": 10, "pageSize": 10,
"searchKey": searchKey??"" "searchKey": searchKey ?? ""
}).catchError((error) { }).catchError((error) {
if(searchKey == null) { if (searchKey == null) {
refreshController.refreshFailed(); refreshController.refreshFailed();
refreshController.loadFailed(); refreshController.loadFailed();
} }
}); });
if(searchKey == null){ if (searchKey == null) {
refreshController.refreshCompleted(); refreshController.refreshCompleted();
refreshController.loadComplete(); refreshController.loadComplete();
} }
if (baseData.isSuccess) { if (baseData.isSuccess) {
if(searchKey != null){ if (searchKey != null) {
if(baseData?.data?.list != null && baseData.data.list.isNotEmpty) if (baseData?.data?.list != null && baseData.data.list.isNotEmpty)
articles.forEach((element) { articles.forEach((element) {
if(element.id == searchKey){ if (element.id == searchKey) {
element.content = jsonEncode(baseData.data.list[0].subjectInfo); element.content = jsonEncode(baseData.data.list[0].subjectInfo);
element.mainTitle =baseData.data.list[0].subject; element.mainTitle = baseData.data.list[0].subject;
element.followed = baseData.data.list[0].selfFollow; element.followed = baseData.data.list[0].selfFollow;
element.liked = baseData.data.list[0].selfLike;
element.authorHeadImg = baseData.data.list[0].memberInfo?.avatar; element.authorHeadImg = baseData.data.list[0].memberInfo?.avatar;
element.authorName = baseData.data.list[0].memberInfo?.nickname; element.authorName = baseData.data.list[0].memberInfo?.nickname;
element.location = baseData.data.list[0].location; element.location = baseData.data.list[0].location;
@ -155,12 +153,10 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
element.likes = baseData.data.list[0]?.likes; element.likes = baseData.data.list[0]?.likes;
element.comments = baseData.data.list[0]?.comments; element.comments = baseData.data.list[0]?.comments;
this.isRefresh = false; this.isRefresh = false;
setState(() { setState(() {});
});
} }
}); });
} } else {
else{
if (pageNum == 1) { if (pageNum == 1) {
articles.clear(); articles.clear();
} }
@ -168,8 +164,9 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
var article = Article(); var article = Article();
article.id = element.id; article.id = element.id;
article.content = jsonEncode(element.subjectInfo); article.content = jsonEncode(element.subjectInfo);
article.mainTitle =element.subject; article.mainTitle = element.subject;
article.followed = element.selfFollow; article.followed = element.selfFollow;
article.liked = element.selfLike;
article.authorHeadImg = element.memberInfo?.avatar; article.authorHeadImg = element.memberInfo?.avatar;
article.authorName = element.memberInfo?.nickname; article.authorName = element.memberInfo?.nickname;
article.location = element.location; article.location = element.location;
@ -180,8 +177,7 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
article.comments = element?.comments; article.comments = element?.comments;
articles.add(article); articles.add(article);
}); });
setState(() { setState(() {});
});
// comments.sort((a,b)=>b.createTime.compareTo(a.createTime)); // comments.sort((a,b)=>b.createTime.compareTo(a.createTime));
// print("comments: ${comments.length}"); // print("comments: ${comments.length}");
if (int.tryParse(baseData.data.total) < (pageNum * 10)) { if (int.tryParse(baseData.data.total) < (pageNum * 10)) {
@ -350,7 +346,7 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Container( Container(
height: 248, height: 248.h,
color: Color(0xFFFFFFFF), color: Color(0xFFFFFFFF),
// color: Colors.red, // color: Colors.red,
child: Stack( child: Stack(
@ -359,7 +355,7 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
Positioned( Positioned(
top: 0, top: 0,
left: 0, left: 0,
bottom: 36, bottom: 36.h,
right: 0, right: 0,
child: Stack( child: Stack(
alignment: Alignment.bottomRight, alignment: Alignment.bottomRight,
@ -402,7 +398,7 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
), ),
if (memberId == "0") if (memberId == "0")
Positioned( Positioned(
bottom: 9, bottom: 9.h,
right: 16.w, right: 16.w,
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
@ -438,12 +434,14 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
), ),
Container( Container(
color: Color(0xFFFFFFFF), color: Color(0xFFFFFFFF),
margin: EdgeInsets.only(bottom:30.h),
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.spaceAround, mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Container( Container(
margin: EdgeInsets.only(left: 86, top: 12, right: 16), margin:
EdgeInsets.only(left: 86.w, top: 12.h, right: 16.w),
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
setState(() { setState(() {
@ -470,7 +468,7 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
fontSize: 12.sp, fontSize: 12.sp,
color: Color(0xFF868686), color: Color(0xFF868686),
fontWeight: MyFontWeight.regular, fontWeight: MyFontWeight.regular,
height: 1.5), height: 1.5.h),
)), )),
Icon( Icon(
(isShrink != null && !isShrink) (isShrink != null && !isShrink)
@ -483,7 +481,7 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
), ),
)), )),
Container( Container(
margin: EdgeInsets.only(left: 16, right: 16), margin: EdgeInsets.only(left: 16.w, right: 16.w),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround, mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
@ -508,7 +506,7 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
), ),
), ),
SizedBox( SizedBox(
height: 4, height: 4.h,
), ),
Text( Text(
S.of(context).guanzhu, S.of(context).guanzhu,
@ -542,7 +540,7 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
), ),
), ),
SizedBox( SizedBox(
height: 4, height: 4.h,
), ),
Text( Text(
S.of(context).fensi, S.of(context).fensi,
@ -575,7 +573,7 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
), ),
), ),
SizedBox( SizedBox(
height: 4, height: 4.h,
), ),
Text( Text(
S.of(context).dongtai, S.of(context).dongtai,
@ -608,10 +606,10 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
), ),
), ),
SizedBox( SizedBox(
height: 4, height: 4.h,
), ),
Text( Text(
"获赞", S.of(context).huozan,
style: TextStyle( style: TextStyle(
color: Color(0xFF353535), color: Color(0xFF353535),
fontSize: 12.sp, fontSize: 12.sp,
@ -631,7 +629,7 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
color: Color(0xFFF7F7F7), color: Color(0xFFF7F7F7),
), ),
Padding( Padding(
padding: EdgeInsets.only(left: 16), padding: EdgeInsets.only(left: 16.w),
child: Text( child: Text(
memberId != "0" ? "TA的动态" : "我的动态", memberId != "0" ? "TA的动态" : "我的动态",
style: TextStyle( style: TextStyle(
@ -640,7 +638,7 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
fontWeight: MyFontWeight.semi_bold, fontWeight: MyFontWeight.semi_bold,
), ),
)), )),
dynamicList() dynamicList(),
], ],
), ),
), ),
@ -657,8 +655,8 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
right: 0, right: 0,
child: Container( child: Container(
padding: EdgeInsets.only( padding: EdgeInsets.only(
left: 16, left: 16.w,
right: 16, right: 16.w,
), ),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
@ -691,7 +689,9 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
), ),
SizedBox(width: 10.w), SizedBox(width: 10.w),
Text( Text(
memberInfor?.nickname ?? "", ((memberInfor?.nickname ?? "") == "")
? "回乡"
: memberInfor?.nickname,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
style: TextStyle( style: TextStyle(
fontSize: 16.sp, fontSize: 16.sp,
@ -714,14 +714,14 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
}); });
}, },
child: Container( child: Container(
height: 23, height: 23.h,
padding: padding: EdgeInsets.only(
EdgeInsets.only(left: 6, right: 6, bottom: 2, top: 2), left: 6.w, right: 6.w, bottom: 2.h, top: 2.h),
alignment: Alignment.center, alignment: Alignment.center,
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(100), borderRadius: BorderRadius.circular(100),
border: Border.all( border: Border.all(
width: 1, width: 1.w,
color: Color(0xFF353535), color: Color(0xFF353535),
style: BorderStyle.solid, style: BorderStyle.solid,
), ),
@ -749,7 +749,7 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
isShowBtn: false, isShowBtn: false,
text: "目前暂无发布动态,要把开心的事讲出来哦~", text: "目前暂无发布动态,要把开心的事讲出来哦~",
fontSize: 16.sp, fontSize: 16.sp,
margin: EdgeInsets.only(left: 60.w, right: 60.w), margin: EdgeInsets.only(left: 60.w, right: 60.w, bottom: 75.h),
) )
: ListView.builder( : ListView.builder(
physics: NeverScrollableScrollPhysics(), physics: NeverScrollableScrollPhysics(),
@ -760,9 +760,9 @@ class _PersonalPage extends State<PersonalPage> with WidgetsBindingObserver {
articles[position], articles[position],
memberId == "0" ? 1 : 0, memberId == "0" ? 1 : 0,
exitFull: () { exitFull: () {
// setState(() { setState(() {
// _onRefresh(); _onRefresh();
// }); });
}, },
removalDynamic: () { removalDynamic: () {
setState(() { setState(() {

62
lib/mine/recharge_page.dart

@ -327,37 +327,37 @@ class _RechargePage extends State<RechargePage> {
), ),
), ),
SizedBox(height:10.h), SizedBox(height:10.h),
GestureDetector( // GestureDetector(
onTap: () { // onTap: () {
setState(() { // setState(() {
checkIndex = 3; // checkIndex = 3;
}); // });
}, // },
child: Row( // child: Row(
mainAxisAlignment: // mainAxisAlignment:
MainAxisAlignment.start, // MainAxisAlignment.start,
crossAxisAlignment: // crossAxisAlignment:
CrossAxisAlignment.start, // CrossAxisAlignment.start,
children: [ // children: [
Image.asset( // Image.asset(
"assets/image/icon_alipay.webp"), // "assets/image/icon_alipay.webp"),
Expanded( // Expanded(
flex: 1, // flex: 1,
child: Padding( // child: Padding(
padding: EdgeInsets.only(left: 8.w), // padding: EdgeInsets.only(left: 8.w),
child: Text( // child: Text(
S.of(context).zhifubao, // S.of(context).zhifubao,
style: TextStyle( // style: TextStyle(
fontSize: 14.sp, // fontSize: 14.sp,
color: Color(0xff353535), // color: Color(0xff353535),
), // ),
), // ),
), // ),
), // ),
checkView(3), // checkView(3),
], // ],
), // ),
), // ),
], ],
), ),
), ),

103
lib/mine/user_info_page.dart

@ -35,7 +35,7 @@ class _UserInfoPage extends State<UserInfoPage> {
"headimg": "", "headimg": "",
"nickname": "", "nickname": "",
"sex": "", "sex": "",
"signature":"" "signature": ""
}; };
@override @override
@ -52,7 +52,8 @@ class _UserInfoPage extends State<UserInfoPage> {
modifyInfo["sex"] = user.sex, modifyInfo["sex"] = user.sex,
age = AppUtils.getAgeByString(user.birth), age = AppUtils.getAgeByString(user.birth),
refresh(), refresh(),
apiService = ApiService(Dio(), context: context, token: value.getString('token')), apiService = ApiService(Dio(),
context: context, token: value.getString('token')),
}); });
} }
@ -89,7 +90,7 @@ class _UserInfoPage extends State<UserInfoPage> {
Widget userInfo() { Widget userInfo() {
return Container( return Container(
margin: EdgeInsets.only(left:14.w,right: 14.w), margin: EdgeInsets.only(left: 14.w, right: 14.w),
child: Column( child: Column(
children: [ children: [
InkWell( InkWell(
@ -97,7 +98,8 @@ class _UserInfoPage extends State<UserInfoPage> {
showImagePicker(); showImagePicker();
}, },
child: avatarItem(0, ""), child: avatarItem(0, ""),
),Container( ),
Container(
margin: EdgeInsets.symmetric(vertical: 12.h), margin: EdgeInsets.symmetric(vertical: 12.h),
width: double.infinity, width: double.infinity,
height: 1, height: 1,
@ -120,8 +122,11 @@ class _UserInfoPage extends State<UserInfoPage> {
onTap: () { onTap: () {
editSignature(); editSignature();
}, },
child:avatarItem(2, child: avatarItem(
(modifyInfo["signature"]) == "" ? "还未编辑个性签名~" : modifyInfo["signature"]), 2,
(modifyInfo["signature"]) == ""
? "还未编辑个性签名~"
: modifyInfo["signature"]),
), ),
Container( Container(
margin: EdgeInsets.symmetric(vertical: 12.h), margin: EdgeInsets.symmetric(vertical: 12.h),
@ -130,7 +135,7 @@ class _UserInfoPage extends State<UserInfoPage> {
color: Color(0xFFF2F2F2), color: Color(0xFFF2F2F2),
), ),
InkWell( InkWell(
onTap:(modifyInfo["birth"] == "")?showDateSelector:(){}, onTap: (modifyInfo["birth"] == "") ? showDateSelector : () {},
child: avatarItem( child: avatarItem(
3, 3,
(modifyInfo["birth"] != null && modifyInfo["birth"] != "") (modifyInfo["birth"] != null && modifyInfo["birth"] != "")
@ -171,7 +176,8 @@ class _UserInfoPage extends State<UserInfoPage> {
} }
editSignature() async { editSignature() async {
dynamic signature = await Navigator.of(context).pushNamed('/router/edit_signature', dynamic signature = await Navigator.of(context).pushNamed(
'/router/edit_signature',
arguments: {"signature": modifyInfo['signature']}); arguments: {"signature": modifyInfo['signature']});
if (signature != null && signature != "") { if (signature != null && signature != "") {
modifyInfo["signature"] = signature; modifyInfo["signature"] = signature;
@ -196,7 +202,7 @@ class _UserInfoPage extends State<UserInfoPage> {
builder: (_) { builder: (_) {
return CupertinoDatePickerWidget(); return CupertinoDatePickerWidget();
}); });
if (dateTime != null ) { if (dateTime != null) {
modifyInfo["birth"] = DateFormat("yyyy-MM-dd").format(dateTime); modifyInfo["birth"] = DateFormat("yyyy-MM-dd").format(dateTime);
user.birth = modifyInfo["birth"]; user.birth = modifyInfo["birth"];
age = AppUtils.getAge(dateTime); age = AppUtils.getAge(dateTime);
@ -295,38 +301,38 @@ class _UserInfoPage extends State<UserInfoPage> {
} }
// Future<File> cropImage(imagePath) async { // Future<File> cropImage(imagePath) async {
// File croppedFile = await ImageCropper.cropImage( // File croppedFile = await ImageCropper.cropImage(
// sourcePath: imagePath, // sourcePath: imagePath,
// aspectRatioPresets: [ // aspectRatioPresets: [
// CropAspectRatioPreset.square, // CropAspectRatioPreset.square,
// // CropAspectRatioPreset.ratio3x2, // // CropAspectRatioPreset.ratio3x2,
// // CropAspectRatioPreset.original, // // CropAspectRatioPreset.original,
// // CropAspectRatioPreset.ratio4x3, // // CropAspectRatioPreset.ratio4x3,
// // CropAspectRatioPreset.ratio16x9 // // CropAspectRatioPreset.ratio16x9
// ], // ],
// aspectRatio: CropAspectRatio(ratioX: 1, ratioY: 1), // aspectRatio: CropAspectRatio(ratioX: 1, ratioY: 1),
// androidUiSettings: AndroidUiSettings( // androidUiSettings: AndroidUiSettings(
// toolbarTitle: 'Cropper', // toolbarTitle: 'Cropper',
// toolbarColor: Colors.black, // toolbarColor: Colors.black,
// toolbarWidgetColor: Colors.white, // toolbarWidgetColor: Colors.white,
// initAspectRatio: CropAspectRatioPreset.square, // initAspectRatio: CropAspectRatioPreset.square,
// hideBottomControls: true, // hideBottomControls: true,
// lockAspectRatio: false), // lockAspectRatio: false),
// iosUiSettings: IOSUiSettings( // iosUiSettings: IOSUiSettings(
// minimumAspectRatio: 1.0, // minimumAspectRatio: 1.0,
// resetAspectRatioEnabled: false, // resetAspectRatioEnabled: false,
// aspectRatioPickerButtonHidden: true, // aspectRatioPickerButtonHidden: true,
// rectWidth: 500.w, // rectWidth: 500.w,
// rectHeight: 500.h, // rectHeight: 500.h,
// )); // ));
// return croppedFile; // return croppedFile;
// } // }
/// ///
modifyInfos() async { modifyInfos() async {
var info = await apiService.editInfo(modifyInfo).catchError((onError) {}); var info = await apiService.editInfo(modifyInfo).catchError((onError) {});
if (info.isSuccess) { if (info.isSuccess) {
SharedPreferences.getInstance().then((value){ SharedPreferences.getInstance().then((value) {
value.setString('user', jsonEncode(modifyInfo)); value.setString('user', jsonEncode(modifyInfo));
}); });
setState(() { setState(() {
@ -338,7 +344,9 @@ class _UserInfoPage extends State<UserInfoPage> {
/// ///
fileUpload() async { fileUpload() async {
if (filePath != null && filePath != "" && await File(filePath).exists()) { if (filePath != null && filePath != "" && await File(filePath).exists()) {
BaseData<UploadResult> baseData = await apiService.upload(File(filePath), 123123123,false).catchError((onError) {}); BaseData<UploadResult> baseData = await apiService
.upload(File(filePath), 123123123, false)
.catchError((onError) {});
if (baseData != null && baseData.isSuccess) { if (baseData != null && baseData.isSuccess) {
UploadResult uploadResult = baseData.data; UploadResult uploadResult = baseData.data;
modifyInfo["headimg"] = uploadResult.url; modifyInfo["headimg"] = uploadResult.url;
@ -347,8 +355,6 @@ class _UserInfoPage extends State<UserInfoPage> {
} }
} }
Widget avatarItem(type, value) { Widget avatarItem(type, value) {
print("object: $value"); print("object: $value");
return Container( return Container(
@ -366,7 +372,10 @@ class _UserInfoPage extends State<UserInfoPage> {
flex: 1, flex: 1,
), ),
buildValue(type, value), buildValue(type, value),
if (type != 5 && type != 4 && type != 3 && (((modifyInfo["birth"] == "")) || type != 3)) if (type != 5 &&
type != 4 &&
type != 3 &&
(((modifyInfo["birth"] == "")) || type != 3))
valueEnd(), valueEnd(),
], ],
), ),
@ -375,11 +384,10 @@ class _UserInfoPage extends State<UserInfoPage> {
Widget valueEnd() { Widget valueEnd() {
return Container( return Container(
child: Icon( child: Icon(
Icons.keyboard_arrow_right, Icons.keyboard_arrow_right,
size: 20.sp, size: 20.sp,
) ));
);
} }
Widget buildValue(type, value) { Widget buildValue(type, value) {
@ -411,7 +419,7 @@ class _UserInfoPage extends State<UserInfoPage> {
return Text( return Text(
value, value,
maxLines: 1, maxLines: 1,
overflow:TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
style: TextStyle( style: TextStyle(
fontWeight: MyFontWeight.regular, fontWeight: MyFontWeight.regular,
fontSize: 13.sp, fontSize: 13.sp,
@ -419,10 +427,11 @@ class _UserInfoPage extends State<UserInfoPage> {
), ),
); );
} else { } else {
return Expanded(child: Text( return Expanded(
child: Text(
value, value,
maxLines: 1, maxLines: 1,
overflow:TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
textAlign: TextAlign.right, textAlign: TextAlign.right,
style: TextStyle( style: TextStyle(
fontWeight: MyFontWeight.regular, fontWeight: MyFontWeight.regular,

8
lib/retrofit/data/settleOrderInfo.dart

@ -543,6 +543,7 @@ class MemberVo {
String money, String money,
String activityMoney, String activityMoney,
String greenMoney, String greenMoney,
String raiseMoney,
String expendAmount, String expendAmount,
dynamic organic, dynamic organic,
String points, String points,
@ -577,6 +578,7 @@ class MemberVo {
_money = money; _money = money;
_activityMoney = activityMoney; _activityMoney = activityMoney;
_greenMoney = greenMoney; _greenMoney = greenMoney;
_raiseMoney = raiseMoney;
_expendAmount = expendAmount; _expendAmount = expendAmount;
_organic = organic; _organic = organic;
_points = points; _points = points;
@ -614,6 +616,7 @@ class MemberVo {
_money = json['money']; _money = json['money'];
_activityMoney = json['activityMoney']; _activityMoney = json['activityMoney'];
_greenMoney = json['greenMoney']; _greenMoney = json['greenMoney'];
_raiseMoney = json['raiseMoney'];
_expendAmount = json['expendAmount']; _expendAmount = json['expendAmount'];
_organic = json['organic']; _organic = json['organic'];
_points = json['points']; _points = json['points'];
@ -649,6 +652,7 @@ class MemberVo {
String _money; String _money;
String _activityMoney; String _activityMoney;
String _greenMoney; String _greenMoney;
String _raiseMoney;
String _expendAmount; String _expendAmount;
dynamic _organic; dynamic _organic;
String _points; String _points;
@ -683,6 +687,7 @@ class MemberVo {
String money, String money,
String activityMoney, String activityMoney,
String greenMoney, String greenMoney,
String raiseMoney,
String expendAmount, String expendAmount,
dynamic organic, dynamic organic,
String points, String points,
@ -717,6 +722,7 @@ class MemberVo {
money: money ?? _money, money: money ?? _money,
activityMoney: activityMoney ?? _activityMoney, activityMoney: activityMoney ?? _activityMoney,
greenMoney: greenMoney ?? _greenMoney, greenMoney: greenMoney ?? _greenMoney,
raiseMoney: raiseMoney ?? _raiseMoney,
expendAmount: expendAmount ?? _expendAmount, expendAmount: expendAmount ?? _expendAmount,
organic: organic ?? _organic, organic: organic ?? _organic,
points: points ?? _points, points: points ?? _points,
@ -752,6 +758,7 @@ class MemberVo {
String get money => _money; String get money => _money;
String get activityMoney => _activityMoney; String get activityMoney => _activityMoney;
String get greenMoney => _greenMoney; String get greenMoney => _greenMoney;
String get raiseMoney => _raiseMoney;
String get expendAmount => _expendAmount; String get expendAmount => _expendAmount;
dynamic get organic => _organic; dynamic get organic => _organic;
String get points => _points; String get points => _points;
@ -789,6 +796,7 @@ class MemberVo {
map['money'] = _money; map['money'] = _money;
map['activityMoney'] = _activityMoney; map['activityMoney'] = _activityMoney;
map['greenMoney'] = _greenMoney; map['greenMoney'] = _greenMoney;
map['raiseMoney'] = _raiseMoney;
map['expendAmount'] = _expendAmount; map['expendAmount'] = _expendAmount;
map['organic'] = _organic; map['organic'] = _organic;
map['points'] = _points; map['points'] = _points;

2
lib/retrofit/min_api.dart

@ -26,7 +26,7 @@ import 'data/shopping_home_config.dart';
part 'min_api.g.dart'; part 'min_api.g.dart';
const localBaseUrl = "http://192.168.10.129:8765/app/";/// const localBaseUrl = "http://192.168.10.78:8765/app/";///
// const localBaseUrl = "https://2946-27-19-77-115.jp.ngrok.io/app/";/// // const localBaseUrl = "https://2946-27-19-77-115.jp.ngrok.io/app/";///
const serviceBaseUrl = "https://pos.api.lotus-wallet.com/app/";///线 const serviceBaseUrl = "https://pos.api.lotus-wallet.com/app/";///线

2
lib/retrofit/retrofit_api.dart

@ -64,7 +64,7 @@ import 'data/wx_pay.dart';
part 'retrofit_api.g.dart'; part 'retrofit_api.g.dart';
const localBaseUrl = "http://192.168.10.129:8766/app/";/// const localBaseUrl = "http://192.168.10.78:8766/app/";///
// const localBaseUrl = "https://2946-27-19-77-115.jp.ngrok.io/app/";/// // const localBaseUrl = "https://2946-27-19-77-115.jp.ngrok.io/app/";///
const serviceBaseUrl = "https://pos.platform.lotus-wallet.com/app/";///线 const serviceBaseUrl = "https://pos.platform.lotus-wallet.com/app/";///线

417
lib/settlement/settlement.dart

@ -120,8 +120,8 @@ class _Settlement extends State<Settlement> {
token: minToken, token: minToken,
tenant: tenant, tenant: tenant,
storeId: storeId, storeId: storeId,
showLoading: false showLoading: false);
); queryMemberInfo();
if (promotions != null && promotions != "" && tableId <= 0) { if (promotions != null && promotions != "" && tableId <= 0) {
queryOrderInfo( queryOrderInfo(
address != null ? address.id : null, address != null ? address.id : null,
@ -189,73 +189,87 @@ class _Settlement extends State<Settlement> {
try { try {
EasyLoading.show(status: S.current.zhengzaijiazai); EasyLoading.show(status: S.current.zhengzaijiazai);
BaseData<SettleOrderInfo> baseData = await minService.getOrderInfo({ BaseData<SettleOrderInfo> baseData = await minService.getOrderInfo({
"addressId": addressId, "addressId": addressId,
"isTake": isTake, "isTake": isTake,
"memberCouponId": memberCouponId, "memberCouponId": memberCouponId,
"orderId": orderId, "orderId": orderId,
"promotionId": promotionId, "promotionId": promotionId,
"productSkuId": productSkuId, "productSkuId": productSkuId,
"actProductId": actProductId, "actProductId": actProductId,
"actProductSkuId": actProductSkuId, "actProductSkuId": actProductSkuId,
"useVipPrice":useVipPriceSelect, "useVipPrice": useVipPriceSelect,
"buyNum": buyNum, "buyNum": buyNum,
"payChannel":payChannel, "payChannel": payChannel,
"tableId": tableId "tableId": tableId
}).catchError((error) {}); }).catchError((error) {});
this.promotion = null; this.promotion = null;
promotions = ""; promotions = "";
this.couponListBean = null; this.couponListBean = null;
coupons = ""; coupons = "";
if (baseData != null && baseData.isSuccess) { if (baseData != null && baseData.isSuccess) {
settleOrderInfo = baseData.data; settleOrderInfo = baseData.data;
if ((settleOrderInfo?.promotionId ?? "") != "") { if ((settleOrderInfo?.promotionId ?? "") != "") {
settleOrderInfo.promotionInfoList.forEach((element) { settleOrderInfo.promotionInfoList.forEach((element) {
if (element.id == settleOrderInfo.promotionId) { if (element.id == settleOrderInfo.promotionId) {
this.promotion = element; this.promotion = element;
promotions = promotion?.name ?? ""; promotions = promotion?.name ?? "";
} }
}); });
} }
if ((settleOrderInfo?.memberCouponId ?? "") != "") { if ((settleOrderInfo?.memberCouponId ?? "") != "") {
settleOrderInfo.couponList.forEach((element) { settleOrderInfo.couponList.forEach((element) {
if (element.id == settleOrderInfo.memberCouponId) { if (element.id == settleOrderInfo.memberCouponId) {
this.couponListBean = element; this.couponListBean = element;
coupons = couponListBean?.promotionName ?? ""; coupons = couponListBean?.promotionName ?? "";
} }
}); });
} }
if (settleOrderInfo.orderProductList == null || if (settleOrderInfo.orderProductList == null ||
settleOrderInfo.orderProductList.length == 0) { settleOrderInfo.orderProductList.length == 0) {
placeOrder = true; placeOrder = true;
queryOrderDetails( queryOrderDetails(
pageType != null ? widget.arguments["orderId"] : parentId); pageType != null ? widget.arguments["orderId"] : parentId);
} }
if(!isRaiseChannel && settleOrderInfo.isRaise){ if (!isRaiseChannel && settleOrderInfo.isRaise) {
isRaiseChannel = true; isRaiseChannel = true;
queryOrderInfo( queryOrderInfo(
address?.id, address?.id,
selectedBtn, selectedBtn,
couponListBean?.id, couponListBean?.id,
0, 0,
promotion?.id ?? productId, promotion?.id ?? productId,
productSkuId ?? "", productSkuId ?? "",
actProductId ?? "", actProductId ?? "",
actProductSkuId ?? "", actProductSkuId ?? "",
useVipPriceSelect, useVipPriceSelect,
count1, count1,
settleOrderInfo.isRaise ? 7 :payChannel, settleOrderInfo.isRaise ? 7 : payChannel,
tableId); tableId);
}
} else {
SmartDialog.showToast(baseData?.msg ?? "", alignment: Alignment.center);
} }
} else { } finally {
SmartDialog.showToast(baseData?.msg ?? "", alignment: Alignment.center);
}
}finally{
setState(() {}); setState(() {});
EasyLoading.dismiss(); EasyLoading.dismiss();
} }
} }
///
queryMemberInfo() async {
BaseData baseData = await minService.memberInfo().catchError((error) {
debugPrint(error);
});
if (baseData != null && baseData.isSuccess) {
SharedPreferences.getInstance().then(
(value) => {
value.setString('minMember', jsonEncode(baseData.data)),
},
);
}
}
/// ///
queryOrderDetails(id) async { queryOrderDetails(id) async {
BaseData<MinOrderInfo> baseData = await minService.getOrderDetails({ BaseData<MinOrderInfo> baseData = await minService.getOrderDetails({
@ -298,76 +312,76 @@ class _Settlement extends State<Settlement> {
} }
queryAddress(int selectedBtn) async { queryAddress(int selectedBtn) async {
setState(() {
this.selectedBtn = selectedBtn;
});
if (address != null) {
queryOrderInfo(
address.id,
selectedBtn,
null,
0,
productId ?? null,
productSkuId ?? "",
actProductId ?? "",
actProductSkuId ?? "",
useVipPriceSelect,
count1,
payChannel,
tableId);
return;
}
BaseData<List<Address>> baseDate =
await minService.queryAddress().catchError((error) {});
BMFCoordinate bmfCoordinate = BMFCoordinate(
double.tryParse(storeInfo.latitude),
double.tryParse(storeInfo.longitude),
);
if (baseDate != null && baseDate.isSuccess) {
setState(() { setState(() {
this.selectedBtn = selectedBtn; address = baseDate.data[0];
}); });
if (address != null) { for (int i = 1; i < baseDate.data.length; i++) {
queryOrderInfo( Address address1 = baseDate.data[i];
address.id,
selectedBtn,
null,
0,
productId ?? null,
productSkuId ?? "",
actProductId ?? "",
actProductSkuId ?? "",
useVipPriceSelect,
count1,
payChannel,
tableId);
return;
}
BaseData<List<Address>> baseDate =
await minService.queryAddress().catchError((error) {});
BMFCoordinate bmfCoordinate = BMFCoordinate(
double.tryParse(storeInfo.latitude),
double.tryParse(storeInfo.longitude),
);
if (baseDate != null && baseDate.isSuccess) {
setState(() {
address = baseDate.data[0];
});
for (int i = 1; i < baseDate.data.length; i++) {
Address address1 = baseDate.data[i];
BMFCoordinate coordinate = await BMFCalculateUtils.coordConvert( BMFCoordinate coordinate = await BMFCalculateUtils.coordConvert(
coordinate: BMFCoordinate( coordinate: BMFCoordinate(
double.tryParse(address.longitude), double.tryParse(address.longitude),
double.tryParse(address.latitude), double.tryParse(address.latitude),
), ),
fromType: BMF_COORD_TYPE.COMMON, fromType: BMF_COORD_TYPE.COMMON,
toType: BMF_COORD_TYPE.BD09LL); toType: BMF_COORD_TYPE.BD09LL);
BMFCoordinate coordinate1 = await BMFCalculateUtils.coordConvert( BMFCoordinate coordinate1 = await BMFCalculateUtils.coordConvert(
coordinate: BMFCoordinate( coordinate: BMFCoordinate(
double.tryParse(address1.longitude), double.tryParse(address1.longitude),
double.tryParse(address1.latitude), double.tryParse(address1.latitude),
), ),
fromType: BMF_COORD_TYPE.COMMON, fromType: BMF_COORD_TYPE.COMMON,
toType: BMF_COORD_TYPE.BD09LL); toType: BMF_COORD_TYPE.BD09LL);
double mi = await BMFCalculateUtils.getLocationDistance( double mi = await BMFCalculateUtils.getLocationDistance(
bmfCoordinate, coordinate); bmfCoordinate, coordinate);
double mi1 = await BMFCalculateUtils.getLocationDistance( double mi1 = await BMFCalculateUtils.getLocationDistance(
bmfCoordinate, coordinate1); bmfCoordinate, coordinate1);
if (mi1 < mi) { if (mi1 < mi) {
address = address1; address = address1;
}
} }
await queryOrderInfo(
address.id,
selectedBtn,
null,
0,
productId ?? null,
productSkuId ?? "",
actProductId ?? "",
actProductSkuId ?? "",
useVipPriceSelect,
count1,
payChannel,
tableId);
} }
await queryOrderInfo(
address.id,
selectedBtn,
null,
0,
productId ?? null,
productSkuId ?? "",
actProductId ?? "",
actProductSkuId ?? "",
useVipPriceSelect,
count1,
payChannel,
tableId);
}
} }
/// ///
@ -484,7 +498,9 @@ class _Settlement extends State<Settlement> {
placeOrderFirst.orderTypeId = 0; placeOrderFirst.orderTypeId = 0;
placeOrderFirst.parentCode = parentCode; // placeOrderFirst.parentCode = parentCode; //
placeOrderFirst.parentId = parentId; // placeOrderFirst.parentId = parentId; //
placeOrderFirst.payChannel = ((placeOrderFirst.cartSum == "0.00") ? payChannel = 0 : (settleOrderInfo.isRaise ? 7:payChannel)); placeOrderFirst.payChannel = ((placeOrderFirst.cartSum == "0.00")
? payChannel = 0
: (settleOrderInfo.isRaise ? 7 : payChannel));
placeOrderFirst.promotionInfoDTO = PromotionInfoDTOBean(); placeOrderFirst.promotionInfoDTO = PromotionInfoDTOBean();
placeOrderFirst.promotionInfoDTO.promotionId = placeOrderFirst.promotionInfoDTO.promotionId =
(promotion != null && tableId <= 0) ? promotion.id : ""; (promotion != null && tableId <= 0) ? promotion.id : "";
@ -737,8 +753,8 @@ class _Settlement extends State<Settlement> {
child: Container( child: Container(
child: Column( child: Column(
children: [ children: [
DistributionMode((addressId, isTake, memberCouponId, DistributionMode((addressId, isTake,
orderId, promotionId) { memberCouponId, orderId, promotionId) {
setState(() { setState(() {
this.selectedBtn = 0; this.selectedBtn = 0;
}); });
@ -769,50 +785,58 @@ class _Settlement extends State<Settlement> {
// ), // ),
/// ///
if(settleOrderInfo != null || minOrderInfo != null) if (settleOrderInfo != null ||
SettlementOrderCommodity( minOrderInfo != null)
selectedBtn, SettlementOrderCommodity(
settleOrderInfo, selectedBtn,
minOrderInfo, settleOrderInfo,
tableId, minOrderInfo,
pageType, tableId,
(coupons != "" || promotions!="") ? false :useVipPriceSelect, pageType,
this.showVipTips (coupons != "" || promotions != "")
), ? false
: useVipPriceSelect,
this.showVipTips),
///// /////
if(settleOrderInfo != null || minOrderInfo != null) if (settleOrderInfo != null ||
ActivityCouponRemarks( minOrderInfo != null)
couponCart, ActivityCouponRemarks(
activityCart, couponCart,
settleOrderInfo, activityCart,
minOrderInfo, settleOrderInfo,
coupons, minOrderInfo,
promotions, coupons,
couponCount(), promotions,
placeOrder, couponCount(),
remakers, placeOrder,
remakers,
() { () {
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
'/router/edit_remarks_page', '/router/edit_remarks_page',
arguments: {}, arguments: {},
).then((value) => { ).then((value) => {
setState(() { setState(() {
if (value != null) remakers = value; if (value != null)
}) remakers = value;
});}, })
tableId, });
vipPriceSelect, },
(){ tableId,
setState(() { vipPriceSelect,
this.showVipTips = true; () {
}); setState(() {
} this.showVipTips = true;
), });
}),
if (settleOrderInfo != null && placeOrder && joinA != JoinActivity.BargainBug) if (settleOrderInfo != null &&
/// placeOrder &&
PayMethod(payChannelCheck,coupons,promotions,useVipPriceSelect,settleOrderInfo), joinA != JoinActivity.BargainBug)
///
PayMethod(payChannelCheck, coupons, promotions,
useVipPriceSelect, settleOrderInfo),
], ],
), ),
), ),
@ -882,10 +906,10 @@ class _Settlement extends State<Settlement> {
orderButton = true; orderButton = true;
pageType != null pageType != null
? bargainOrderId != null ? bargainOrderId != null
? activityPay() ? activityPay()
: joinA == JoinActivity.GoJoin : joinA == JoinActivity.GoJoin
? queryJoinAct() ? queryJoinAct()
: queryLaunchAct() : queryLaunchAct()
: queryPlaceOrderFirst(); : queryPlaceOrderFirst();
}, },
), ),
@ -906,23 +930,23 @@ class _Settlement extends State<Settlement> {
payChannelCheck(int payChannel) { payChannelCheck(int payChannel) {
this.payChannel = payChannel; this.payChannel = payChannel;
if (tableId > 0) { if (tableId > 0) {
queryOrderDetails(parentId); queryOrderDetails(parentId);
} else { } else {
queryOrderInfo( queryOrderInfo(
address?.id, address?.id,
selectedBtn, selectedBtn,
couponListBean?.id, couponListBean?.id,
0, 0,
promotion?.id ?? productId, promotion?.id ?? productId,
productSkuId ?? "", productSkuId ?? "",
actProductId ?? "", actProductId ?? "",
actProductSkuId ?? "", actProductSkuId ?? "",
useVipPriceSelect, useVipPriceSelect,
count1, count1,
payChannel, payChannel,
tableId);} tableId);
}
} }
vipPriceSelect(bool useVipPriceSelect) { vipPriceSelect(bool useVipPriceSelect) {
@ -942,7 +966,8 @@ class _Settlement extends State<Settlement> {
useVipPriceSelect, useVipPriceSelect,
count1, count1,
payChannel, payChannel,
tableId);} tableId);
}
} }
mobileChange(String mobile) { mobileChange(String mobile) {
@ -982,10 +1007,8 @@ class _Settlement extends State<Settlement> {
// promotions = ""; // promotions = "";
// this.promotion = null; // this.promotion = null;
if (tableId > 0) { if (tableId > 0) {
if(couponBean == null) if (couponBean == null) queryCancelMemberCoupon(parentId);
queryCancelMemberCoupon(parentId); if (couponBean.id != null) queryUseMemberCoupon(couponBean.id);
if (couponBean.id != null)
queryUseMemberCoupon(couponBean.id);
} else { } else {
queryOrderInfo( queryOrderInfo(
address?.id, address?.id,
@ -1025,7 +1048,7 @@ class _Settlement extends State<Settlement> {
selectedBtn, selectedBtn,
null, null,
0, 0,
(pro.id??"")??productId, (pro.id ?? "") ?? productId,
productSkuId ?? "", productSkuId ?? "",
actProductId ?? "", actProductId ?? "",
actProductSkuId ?? "", actProductSkuId ?? "",

2
lib/union/union_page.dart

@ -257,6 +257,8 @@ class UnionPageState extends State<UnionPage>
? "DRINKSTORE" ? "DRINKSTORE"
: "HAPPYSTORE")), : "HAPPYSTORE")),
}).catchError((error) { }).catchError((error) {
SmartDialog.showToast(AppUtils.dioErrorTypeToString(error.type),
alignment: Alignment.center);
if (index == -1) tabRefresh().refreshFailed(); if (index == -1) tabRefresh().refreshFailed();
}); });
if (baseData != null && baseData.isSuccess) { if (baseData != null && baseData.isSuccess) {

4
lib/view_widget/activity_coupons.dart

@ -11,6 +11,8 @@ import 'package:huixiang/retrofit/retrofit_api.dart';
import 'package:huixiang/utils/font_weight.dart'; import 'package:huixiang/utils/font_weight.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
import '../generated/l10n.dart';
class ActivityCoupons extends StatefulWidget { class ActivityCoupons extends StatefulWidget {
final String result; final String result;
@ -196,7 +198,7 @@ class _ActivityCoupons extends State<ActivityCoupons> {
), ),
if (listData["type"] == 3) if (listData["type"] == 3)
Text( Text(
"兑换券", S.of(context).duihuanquan,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
maxLines: 2, maxLines: 2,
style: TextStyle( style: TextStyle(

2
lib/view_widget/coupon_details_dialog.dart

@ -49,7 +49,7 @@ class _CouponDetailsWidget extends State<CouponDetailsWidget> {
alignment: Alignment.center, alignment: Alignment.center,
margin: EdgeInsets.symmetric(vertical: 12), margin: EdgeInsets.symmetric(vertical: 12),
child: Text( child: Text(
"使用详情", S.of(context).shiyongxiangqing,
style: TextStyle( style: TextStyle(
fontWeight: MyFontWeight.bold, fontWeight: MyFontWeight.bold,
fontSize: 15.sp, fontSize: 15.sp,

2
lib/view_widget/cupertino_date_picker.dart

@ -33,7 +33,7 @@ class CupertinoDatePickerWidget extends StatelessWidget {
}, },
child: Container( child: Container(
child: Text( child: Text(
"取消", S.of(context).quxiao,
style: TextStyle( style: TextStyle(
fontSize: 16, fontSize: 16,
fontWeight: MyFontWeight.semi_bold, fontWeight: MyFontWeight.semi_bold,

4
lib/view_widget/new_coupon_widget.dart

@ -156,7 +156,7 @@ class NewCouponWidget extends StatelessWidget {
child: Row( child: Row(
children: [ children: [
Text( Text(
"使用详情", S.of(context).shiyongxiangqing,
style: TextStyle( style: TextStyle(
fontSize: 12.sp, fontSize: 12.sp,
fontWeight: MyFontWeight.regular, fontWeight: MyFontWeight.regular,
@ -639,7 +639,7 @@ class NewCouponWidget extends StatelessWidget {
), ),
alignment: Alignment.center, alignment: Alignment.center,
child:Text( child:Text(
"立即使用", S.of(context).lijishiyong,
maxLines: 1, maxLines: 1,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
style: TextStyle( style: TextStyle(

4
lib/view_widget/pay_selected_dialog.dart

@ -52,7 +52,7 @@ class _PaySelectedDialog extends State<PaySelectedDialog> {
child: Align( child: Align(
alignment: Alignment.center, alignment: Alignment.center,
child: Text( child: Text(
"请输入支付密码", S.of(context).qingshuruzhifumima,
style: TextStyle( style: TextStyle(
fontWeight: MyFontWeight.bold, fontWeight: MyFontWeight.bold,
fontSize: 15.sp, fontSize: 15.sp,
@ -94,7 +94,7 @@ class _PaySelectedDialog extends State<PaySelectedDialog> {
GestureDetector( GestureDetector(
onTap: (){}, onTap: (){},
child: Text( child: Text(
"忘记密码", "${S.of(context).wangjimima}",
style: TextStyle( style: TextStyle(
fontWeight: MyFontWeight.medium, fontWeight: MyFontWeight.medium,
fontSize: 12.sp, fontSize: 12.sp,

2
lib/view_widget/receiving_method_dialog.dart

@ -52,7 +52,7 @@ class _ReceivingMethodDialog extends State<ReceivingMethodDialog> {
child: Column( child: Column(
children: [ children: [
Text( Text(
"请选择商品的领取方式", S.of(context).xuanzeshangpinlingqufangshi,
style: TextStyle( style: TextStyle(
fontSize: 14.sp, fontSize: 14.sp,
fontWeight: MyFontWeight.regular, fontWeight: MyFontWeight.regular,

117
lib/view_widget/update_dialog.dart

@ -13,10 +13,10 @@ import 'package:url_launcher/url_launcher.dart';
import '../generated/l10n.dart'; import '../generated/l10n.dart';
class UpdateDialog extends StatefulWidget { class UpdateDialog extends StatefulWidget {
final String version; final String version;
final AppUpdate appUpdate; final AppUpdate appUpdate;
UpdateDialog(this.version,this.appUpdate); UpdateDialog(this.version, this.appUpdate);
@override @override
State<StatefulWidget> createState() { State<StatefulWidget> createState() {
@ -30,8 +30,7 @@ class _UpdateDialog extends State<UpdateDialog> {
return Material( return Material(
type: MaterialType.transparency, type: MaterialType.transparency,
child: Center( child: Center(
child: child: Container(
Container(
width: MediaQuery.of(context).size.width - 80.w, width: MediaQuery.of(context).size.width - 80.w,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.transparent, color: Colors.transparent,
@ -50,8 +49,7 @@ class _UpdateDialog extends State<UpdateDialog> {
border: Border.all( border: Border.all(
color: Colors.white, color: Colors.white,
width: 0, width: 0,
style: BorderStyle.solid style: BorderStyle.solid),
),
// borderRadius: BorderRadius.only( // borderRadius: BorderRadius.only(
// topLeft: Radius.circular(8.r), // topLeft: Radius.circular(8.r),
// topRight: Radius.circular(8.r), // topRight: Radius.circular(8.r),
@ -61,7 +59,7 @@ class _UpdateDialog extends State<UpdateDialog> {
Image.asset( Image.asset(
"assets/image/update.webp", "assets/image/update.webp",
width: MediaQuery.of(context).size.width - 80.w, width: MediaQuery.of(context).size.width - 80.w,
fit:BoxFit.cover, fit: BoxFit.cover,
) )
], ],
), ),
@ -69,10 +67,7 @@ class _UpdateDialog extends State<UpdateDialog> {
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
border: Border.all( border: Border.all(
color: Colors.white, color: Colors.white, width: 0, style: BorderStyle.solid),
width: 0,
style: BorderStyle.solid
),
borderRadius: BorderRadius.only( borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(8.r), bottomLeft: Radius.circular(8.r),
bottomRight: Radius.circular(8.r), bottomRight: Radius.circular(8.r),
@ -80,63 +75,70 @@ class _UpdateDialog extends State<UpdateDialog> {
), ),
padding: EdgeInsets.symmetric(horizontal: 14.w), padding: EdgeInsets.symmetric(horizontal: 14.w),
child: Column( child: Column(
children: [ children: [
SizedBox(height:32.h,), SizedBox(
Text( height: 32.h,
widget.appUpdate.appLastVersionExplain ?? "",
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 17.sp,
height: 1.2,
fontWeight: MyFontWeight.regular,
color: Color(0xFF333333),
), ),
), Text(
SizedBox(height: 57.h,), widget.appUpdate.appLastVersionExplain ?? "",
InkWell( textAlign: TextAlign.center,
onTap: () { style: TextStyle(
updateApp(); fontSize: 17.sp,
}, height: 1.2,
child: Container( fontWeight: MyFontWeight.regular,
width: double.infinity, color: Color(0xFF333333),
decoration: BoxDecoration(
color: Color(0xFF32A060),
borderRadius: BorderRadius.circular(27),
),
margin: EdgeInsets.only(left: 14.w,right: 14.w,bottom: 8.h),
padding: EdgeInsets.symmetric(vertical: 11.h),
alignment: Alignment.center,
child: Text(
S.of(context).lijigengxin,
style: TextStyle(
fontSize: 17.sp,
fontWeight: MyFontWeight.semi_bold,
color: Color(0xFFFFFFFF),
),
), ),
), ),
), SizedBox(
if(!AppUtils.versionCompare(widget.version,widget.appUpdate.appLastVersionUp)) height: 57.h,
),
InkWell( InkWell(
onTap:() { onTap: () {
doNotUpdate(); updateApp();
}, },
child: Container( child: Container(
width: double.infinity, width: double.infinity,
decoration: BoxDecoration(
color: Color(0xFF32A060),
borderRadius: BorderRadius.circular(27),
),
margin: EdgeInsets.only(
left: 14.w, right: 14.w, bottom: 8.h),
padding: EdgeInsets.symmetric(vertical: 11.h),
alignment: Alignment.center, alignment: Alignment.center,
padding: EdgeInsets.only(top: 8.h,bottom: 15.h),
child: Text( child: Text(
S.of(context).yihouzaishuo, S.of(context).lijigengxin,
style: TextStyle( style: TextStyle(
fontSize: 10.sp, fontSize: 17.sp,
fontWeight: MyFontWeight.regular, fontWeight: MyFontWeight.semi_bold,
color: Color(0xFF8C8C8C), color: Color(0xFFFFFFFF),
), ),
), ),
), ),
), ),
], if (!AppUtils.versionCompare(
),) widget.version, widget.appUpdate.appLastVersionUp))
InkWell(
onTap: () {
doNotUpdate();
},
child: Container(
width: double.infinity,
alignment: Alignment.center,
padding: EdgeInsets.only(top: 8.h, bottom: 15.h),
child: Text(
S.of(context).yihouzaishuo,
style: TextStyle(
fontSize: 10.sp,
fontWeight: MyFontWeight.regular,
color: Color(0xFF8C8C8C),
),
),
),
),
],
),
)
], ],
), ),
), ),
@ -151,12 +153,13 @@ class _UpdateDialog extends State<UpdateDialog> {
} }
updateApp() async { updateApp() async {
String url = Platform.isIOS ? "itms-apps://itunes.apple.com/app/id1575124838":"http://application.lotus-wallet.com/huixiang?release_id="; String url = Platform.isIOS
? "itms-apps://itunes.apple.com/app/id1575124838"
: "http://application.lotus-wallet.com/huixiang?release_id=";
if (await canLaunch(url)) { if (await canLaunch(url)) {
await launch(url); await launch(url);
} else { } else {
throw 'Could not launch $url'; throw 'Could not launch $url';
} }
} }
} }

4
lib/view_widget/vip_dialog.dart

@ -241,7 +241,7 @@ class _VipDialog extends State<VipDialog> {
size: 10, size: 10,
), ),
Text( Text(
"暂未开放", S.of(context).zanweikaifang,
style: TextStyle( style: TextStyle(
color: Color(0xFFFFDCA1), color: Color(0xFFFFDCA1),
fontWeight: MyFontWeight.regular, fontWeight: MyFontWeight.regular,
@ -269,7 +269,7 @@ class _VipDialog extends State<VipDialog> {
size: 10, size: 10,
), ),
Text( Text(
"暂未解锁", S.of(context).zanweijiesuo,
style: TextStyle( style: TextStyle(
color: Color(0xFFFFDCA1), color: Color(0xFFFFDCA1),
fontWeight: MyFontWeight.regular, fontWeight: MyFontWeight.regular,

2
lib/vip/user_vip_service_page.dart

@ -34,7 +34,7 @@ class _UserVipServicePage extends State<UserVipServicePage> with WidgetsBindingO
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: MyAppBar( appBar: MyAppBar(
title:"回乡VIP会员卡规则协议", title:S.of(context).huixiangxieyi,
titleColor: Colors.black, titleColor: Colors.black,
background: Color(0xFFFFFFFF), background: Color(0xFFFFFFFF),
leadingColor: Colors.black, leadingColor: Colors.black,

252
lib/vip/vip_view/vip_top.dart

@ -135,118 +135,124 @@ class _VipTop extends State<VipTop> {
(!(widget?.vipCardHome?.member?.isVip ?? false)) (!(widget?.vipCardHome?.member?.isVip ?? false))
? vipCardList() ? vipCardList()
: Padding( : Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w), padding: EdgeInsets.symmetric(horizontal: 16.w),
child: Row( child: Row(
children: [ children: [
Expanded( Expanded(
child: Container( child: Container(
alignment: Alignment.center, alignment: Alignment.center,
padding: EdgeInsets.symmetric( padding: EdgeInsets.symmetric(
horizontal: 10.w, vertical: 15.h), horizontal: 10.w, vertical: 15.h),
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(4.w), borderRadius: BorderRadius.circular(4.w),
color: Color(0xffffffff), color: Color(0xffffffff),
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(
color: Colors.black.withAlpha(12), color: Colors.black.withAlpha(12),
offset: Offset(0, 3), offset: Offset(0, 3),
blurRadius: 14, blurRadius: 14,
spreadRadius: 0, spreadRadius: 0,
) )
], ],
),
child: Text.rich(
TextSpan(
children: [
TextSpan(
text: S.of(context).yixianghuiyuanquanyi,
style: TextStyle(
fontWeight: MyFontWeight.semi_bold,
fontSize: 15.sp,
color: Color(0xff32A060),
),
), ),
TextSpan( child: Text.rich(
text: widget TextSpan(
?.vipCardHome?.member?.vipDuration children: [
.toString() ?? TextSpan(
"0", text: S
style: TextStyle( .of(context)
fontWeight: MyFontWeight.semi_bold, .yixianghuiyuanquanyi,
fontSize: 18.sp, style: TextStyle(
color: Color(0xffF96519), fontWeight: MyFontWeight.semi_bold,
fontSize: 15.sp,
color: Color(0xff32A060),
),
),
TextSpan(
text: widget?.vipCardHome?.member
?.vipDuration
.toString() ??
"0",
style: TextStyle(
fontWeight: MyFontWeight.semi_bold,
fontSize: 18.sp,
color: Color(0xffF96519),
),
),
TextSpan(
text: "",
style: TextStyle(
fontWeight: MyFontWeight.semi_bold,
fontSize: 15.sp,
color: Color(0xff32A060),
),
),
],
), ),
), textDirection: TextDirection.ltr,
TextSpan( ))),
text: "", SizedBox(
style: TextStyle( width: 10.w,
fontWeight: MyFontWeight.semi_bold, ),
fontSize: 15.sp, Expanded(
color: Color(0xff32A060), child: GestureDetector(
onTap: () {
setState(() {
vipRenewShowBottomSheet();
});
},
child: Container(
alignment: Alignment.center,
padding: EdgeInsets.symmetric(
horizontal: 10.w, vertical: 15.h),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(4.w),
color: Color(0xffffffff),
boxShadow: [
BoxShadow(
color: Colors.black.withAlpha(12),
offset: Offset(0, 3),
blurRadius: 14,
spreadRadius: 0,
)
],
), ),
), child: Row(
], mainAxisAlignment:
), MainAxisAlignment.center,
textDirection: TextDirection.ltr, crossAxisAlignment:
))), CrossAxisAlignment.center,
SizedBox( children: [
width: 10.w, Text(
"${(widget?.vipCardHome?.member?.isVipSubscribe ?? false) ? "已开通自动续费" : "续费回乡VIP"}",
style: TextStyle(
color: Color((widget
?.vipCardHome
?.member
?.isVipSubscribe ??
false)
? 0xff3A3936
: 0xff32A060),
fontSize: 15.sp,
fontWeight: MyFontWeight.semi_bold,
),
),
SizedBox(
width: 6.w,
),
Image.asset(
"${(widget?.vipCardHome?.member?.isVipSubscribe ?? false) ? "assets/image/vip_xf.webp" : "assets/image/icon_right.webp"}",
width: 16,
height: 16,
fit: BoxFit.fill,
color: Color(0xff32A060),
),
],
))),
)
],
),
), ),
Expanded(
child: GestureDetector(
onTap: () {
setState(() {
vipRenewShowBottomSheet();
});
},
child: Container(
alignment: Alignment.center,
padding: EdgeInsets.symmetric(
horizontal: 10.w, vertical: 15.h),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(4.w),
color: Color(0xffffffff),
boxShadow: [
BoxShadow(
color: Colors.black.withAlpha(12),
offset: Offset(0, 3),
blurRadius: 14,
spreadRadius: 0,
)
],
),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Text(
"${(widget?.vipCardHome?.member?.isVipSubscribe ?? false) ? "已开通自动续费" : "续费回乡VIP"}",
style: TextStyle(
color: Color((widget?.vipCardHome
?.member?.isVipSubscribe ??
false)
? 0xff3A3936
: 0xff32A060),
fontSize: 15.sp,
fontWeight: MyFontWeight.semi_bold,
),
),
SizedBox(
width: 6.w,
),
Image.asset(
"${(widget?.vipCardHome?.member?.isVipSubscribe ?? false) ? "assets/image/vip_xf.webp" : "assets/image/icon_right.webp"}",
width: 16,
height: 16,
fit: BoxFit.fill,
color: Color(0xff32A060),
),
],
))),
)
],
),
),
], ],
), ),
) )
@ -258,7 +264,7 @@ class _VipTop extends State<VipTop> {
Widget vipCard() { Widget vipCard() {
return Container( return Container(
margin: EdgeInsets.fromLTRB( margin: EdgeInsets.fromLTRB(
14.w,( MediaQuery.of(context).padding.top + 50.h), 14.w, 8.h), 14.w, (MediaQuery.of(context).padding.top + 50.h), 14.w, 8.h),
width: double.infinity, width: double.infinity,
height: 207.h, height: 207.h,
decoration: BoxDecoration( decoration: BoxDecoration(
@ -279,11 +285,11 @@ class _VipTop extends State<VipTop> {
Image.asset( Image.asset(
"assets/image/vip_card.webp", "assets/image/vip_card.webp",
fit: BoxFit.fill, // fit: BoxFit.fill, //
height:double.infinity, height: double.infinity,
width: double.infinity, width: double.infinity,
), ),
Container( Container(
padding: EdgeInsets.only(top: 24.h,right:16.w), padding: EdgeInsets.only(top: 24.h, right: 16.w),
alignment: Alignment.topRight, alignment: Alignment.topRight,
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
@ -410,18 +416,21 @@ class _VipTop extends State<VipTop> {
TextSpan( TextSpan(
text: "", text: "",
style: TextStyle( style: TextStyle(
fontSize: 20.sp, fontSize: 20.sp,
color: Color(0xff32A060), color: Color(0xff32A060),
fontFamily: 'JDZhengHT', fontFamily: 'JDZhengHT',
fontWeight: MyFontWeight.medium,), fontWeight: MyFontWeight.medium,
),
), ),
TextSpan( TextSpan(
text: "${AppUtils.calculateDouble(double.tryParse(cards?.price ?? ""))}", text:
"${AppUtils.calculateDouble(double.tryParse(cards?.price ?? ""))}",
style: TextStyle( style: TextStyle(
fontSize: 36.sp, fontSize: 36.sp,
color: Color(0xff32A060), color: Color(0xff32A060),
fontFamily: 'JDZhengHT', fontFamily: 'JDZhengHT',
fontWeight: MyFontWeight.medium,), fontWeight: MyFontWeight.medium,
),
), ),
]), ]),
), ),
@ -700,7 +709,8 @@ class _VipTop extends State<VipTop> {
Widget buildBottomSheetWidget(BuildContext context, state) { Widget buildBottomSheetWidget(BuildContext context, state) {
return Container( return Container(
padding: EdgeInsets.only(top: 16.h,left: 16.w,right: 16.w,bottom:35.h), padding:
EdgeInsets.only(top: 16.h, left: 16.w, right: 16.w, bottom: 35.h),
decoration: new BoxDecoration( decoration: new BoxDecoration(
color: Colors.white, color: Colors.white,
borderRadius: new BorderRadius.only( borderRadius: new BorderRadius.only(
@ -789,6 +799,8 @@ class _VipTop extends State<VipTop> {
), ),
), ),
), ),
if (widget?.vipCardHome?.cards[selectIndex]?.autoSubscribe ??
false)
GestureDetector( GestureDetector(
onTap: () { onTap: () {
state(() { state(() {

2
lib/web/web_turntable_activity.dart

@ -1,10 +1,8 @@
import 'dart:io'; import 'dart:io';
import 'dart:ui'; import 'dart:ui';
import 'package:dio/dio.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
import 'package:huixiang/retrofit/retrofit_api.dart';
import 'package:huixiang/view_widget/my_appbar.dart'; import 'package:huixiang/view_widget/my_appbar.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
import 'package:webview_flutter/webview_flutter.dart'; import 'package:webview_flutter/webview_flutter.dart';

8
lib/web/web_view/input_comment.dart

@ -73,6 +73,14 @@ class _InputComment extends State<InputComment> {
margin: EdgeInsets.symmetric(horizontal: 4.w), margin: EdgeInsets.symmetric(horizontal: 4.w),
alignment: Alignment.topLeft, alignment: Alignment.topLeft,
child: TextField( child: TextField(
textInputAction:TextInputAction.send,
onEditingComplete: () {
var commentText = widget.commentTextController.text;
if (commentText.trim() == "") {
return;
}
widget.queryMemberComment(commentText);
},
maxLines: 8, maxLines: 8,
minLines: 1, minLines: 1,
focusNode: widget.commentFocus, focusNode: widget.commentFocus,

2
pubspec.yaml

@ -3,7 +3,7 @@ description: 一心回乡.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev publish_to: 'none' # Remove this line if you wish to publish to pub.dev
version: 3.1.8+36 version: 3.1.9+39
environment: environment:
sdk: ">=2.7.0 <3.0.0" sdk: ">=2.7.0 <3.0.0"

Loading…
Cancel
Save