Browse Source

Merge remote-tracking branch 'origin/dev' into dev

new_revision_app
fmk 2 years ago
parent
commit
cc199f37e2
  1. BIN
      assets/image/2x/my_trading.webp
  2. BIN
      assets/image/2x/trading_detail.webp
  3. BIN
      assets/image/2x/trading_history.webp
  4. BIN
      assets/image/2x/trading_logo.webp
  5. BIN
      assets/image/2x/trading_text.webp
  6. BIN
      assets/image/2x/vip_cz.webp
  7. BIN
      assets/image/2x/welfare_yz.webp
  8. BIN
      assets/image/3x/my_trading.webp
  9. BIN
      assets/image/3x/trading_detail.webp
  10. BIN
      assets/image/3x/trading_history.webp
  11. BIN
      assets/image/3x/trading_logo.webp
  12. BIN
      assets/image/3x/trading_text.webp
  13. BIN
      assets/image/3x/vip_cz.webp
  14. BIN
      assets/image/3x/welfare_yz.webp
  15. BIN
      assets/image/my_trading.webp
  16. BIN
      assets/image/trading_detail.webp
  17. BIN
      assets/image/trading_history.webp
  18. BIN
      assets/image/trading_logo.webp
  19. BIN
      assets/image/trading_text.webp
  20. BIN
      assets/image/vip_cz.webp
  21. BIN
      assets/image/welfare_yz.webp
  22. 55
      lib/community/community_child_page.dart
  23. 165
      lib/community/community_details.dart
  24. 4
      lib/community/photo_view_gallery_screen.dart
  25. 2
      lib/community/release_dynamic.dart
  26. 60
      lib/generated/intl/messages_en.dart
  27. 60
      lib/generated/intl/messages_en_US.dart
  28. 60
      lib/generated/intl/messages_zh_CN.dart
  29. 60
      lib/generated/intl/messages_zh_Hans_CN.dart
  30. 60
      lib/generated/intl/messages_zh_Hant_CN.dart
  31. 60
      lib/generated/intl/messages_zh_TW.dart
  32. 60
      lib/generated/l10n.dart
  33. 57
      lib/home/home_page.dart
  34. 3
      lib/home/points_mall_view/points_goods_view.dart
  35. 322
      lib/home/trading_card_page.dart
  36. 94
      lib/home/welfare_exchange.dart
  37. 43
      lib/home/welfare_page.dart
  38. 213
      lib/integral/integral_detailed_page.dart
  39. 2
      lib/integral/integral_page.dart
  40. 22
      lib/integral_store/integral_store_details_page.dart
  41. 8
      lib/l10n/intl_en.arb
  42. 7
      lib/l10n/intl_en_US.arb
  43. 7
      lib/l10n/intl_zh_CN.arb
  44. 7
      lib/l10n/intl_zh_Hans_CN.arb
  45. 7
      lib/l10n/intl_zh_Hant_CN.arb
  46. 7
      lib/l10n/intl_zh_TW.arb
  47. 2
      lib/login/new_login_page.dart
  48. 8
      lib/main.dart
  49. 269
      lib/main_page.dart
  50. 58
      lib/mine/mine_page.dart
  51. 830
      lib/mine/mine_vip/mine_vip_core.dart
  52. 2
      lib/mine/user_info_page.dart
  53. 4
      lib/order/exchange_history_page.dart
  54. 1021
      lib/order/exchange_order_page.dart
  55. 67
      lib/order/exchange_order_success_page.dart
  56. 126
      lib/order/order_view/order_commodity.dart
  57. 3
      lib/retrofit/data/exchange_order.dart
  58. 3
      lib/retrofit/data/findMiNiGroupList.dart
  59. 6
      lib/retrofit/data/goods.dart
  60. 5
      lib/retrofit/data/min_order_info.dart
  61. 5
      lib/retrofit/data/order_info.dart
  62. 8
      lib/retrofit/data/order_product_vo.dart
  63. 26
      lib/retrofit/data/rank.dart
  64. 3
      lib/retrofit/data/settleOrderInfo.dart
  65. 8
      lib/retrofit/data/user_info.dart
  66. 2
      lib/retrofit/min_api.dart
  67. 2
      lib/retrofit/min_api.g.dart
  68. 10
      lib/retrofit/retrofit_api.dart
  69. 44
      lib/retrofit/retrofit_api.g.dart
  70. 50
      lib/setting/account_security_page.dart
  71. 806
      lib/setting/binding_phone_page.dart
  72. 146
      lib/settlement/settlement.dart
  73. 7
      lib/settlement/settlement_view/activity_coupon_remarks.dart
  74. 281
      lib/settlement/settlement_view/settlement_order_commodity.dart
  75. 20
      lib/store/shop_details_page.dart
  76. 14
      lib/store/store_order.dart
  77. 267
      lib/store/store_view/product_meals_sku.dart
  78. 44
      lib/store/store_view/product_sku.dart
  79. 230
      lib/store/store_view/shop_goods.dart
  80. 551
      lib/store/store_view/shop_goods_car.dart
  81. 1
      lib/store/store_view/store_order_list.dart
  82. 19
      lib/utils/flutter_utils.dart
  83. 67
      lib/utils/upload_async.dart
  84. 471
      lib/view_widget/mine_vip_entry.dart
  85. 133
      lib/vip/vip_page.dart
  86. 600
      lib/vip/vip_view/exclusive_coupon.dart
  87. 407
      lib/vip/vip_view/vip_top.dart
  88. 2
      lib/web/web_view/comment_list.dart
  89. 3
      lib/web/web_view/input_comment.dart
  90. 5
      lib/web/web_view/web_header.dart
  91. 2
      pubspec.yaml

BIN
assets/image/2x/my_trading.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
assets/image/2x/trading_detail.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 696 B

BIN
assets/image/2x/trading_history.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 1020 B

BIN
assets/image/2x/trading_logo.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
assets/image/2x/trading_text.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
assets/image/2x/vip_cz.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

BIN
assets/image/2x/welfare_yz.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
assets/image/3x/my_trading.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

BIN
assets/image/3x/trading_detail.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 910 B

BIN
assets/image/3x/trading_history.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
assets/image/3x/trading_logo.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

BIN
assets/image/3x/trading_text.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

BIN
assets/image/3x/vip_cz.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

BIN
assets/image/3x/welfare_yz.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

BIN
assets/image/my_trading.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
assets/image/trading_detail.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 634 B

BIN
assets/image/trading_history.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 708 B

BIN
assets/image/trading_logo.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
assets/image/trading_text.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

BIN
assets/image/vip_cz.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
assets/image/welfare_yz.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

55
lib/community/community_child_page.dart

@ -17,6 +17,7 @@ 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'; import '../utils/flutter_utils.dart';
import '../utils/font_weight.dart';
class CommunityChildPage extends StatefulWidget { class CommunityChildPage extends StatefulWidget {
final String typeStr; final String typeStr;
@ -43,12 +44,18 @@ class CommunityChildPageState extends State<CommunityChildPage>
bool isLoadingData = false; bool isLoadingData = false;
ScrollController sc = ScrollController(); ScrollController sc = ScrollController();
List<Article> articles = []; List<Article> articles = [];
int _currentIndex = 0;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
sc.addListener(() { sc.addListener(() {
widget.onScroll(); widget.onScroll();
if (sc.offset >= 500) {
_currentIndex =1;
}else if(sc.offset <= 500){
_currentIndex = 0;
}
}); });
onRefresh(); onRefresh();
} }
@ -196,9 +203,11 @@ class CommunityChildPageState extends State<CommunityChildPage>
userId: userId, userId: userId,
isList: true, isList: true,
exitFull: () { exitFull: () {
setState(() { // setState(() {
onRefresh(); // onRefresh();
}); // });
queryCommunity(articles[position].id);
}, },
), ),
onTap: () { onTap: () {
@ -209,10 +218,11 @@ class CommunityChildPageState extends State<CommunityChildPage>
"userId": userId, "userId": userId,
}, },
).then((value) { ).then((value) {
onRefresh(); // onRefresh();
setState(() {}); // setState(() {});
queryCommunity(articles[position].id);
}); });
setState(() {}); // setState(() {});
}, },
); );
@ -232,7 +242,38 @@ class CommunityChildPageState extends State<CommunityChildPage>
height: 55, height: 55,
), ),
), ),
) ),
if(_currentIndex == 1)
GestureDetector(
onTap: () {
sc.jumpTo(0);
setState(() {});
},
child: Container(
margin: EdgeInsets.only(bottom:120.h, right: 14.w),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(100),
color: Colors.white,
),
height:48,
width: 48,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Icon(Icons.arrow_upward,size: 16,color: Color(0xFF808080),),
Text(
"顶部",
textAlign: TextAlign.center,
style: TextStyle(
color: Color(0xFF808080),
fontSize: 14.sp,
fontWeight: MyFontWeight.regular,
),
),
],
),
),
),
], ],
); );
}, },

165
lib/community/community_details.dart

@ -2,6 +2,7 @@ import 'dart:ui';
import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.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/generated/l10n.dart'; import 'package:huixiang/generated/l10n.dart';
@ -15,8 +16,12 @@ import 'package:huixiang/view_widget/my_appbar.dart';
import 'package:huixiang/view_widget/tips_dialog.dart'; import 'package:huixiang/view_widget/tips_dialog.dart';
import 'package:huixiang/web/web_view/comment_list.dart'; import 'package:huixiang/web/web_view/comment_list.dart';
import 'package:huixiang/web/web_view/input_comment.dart'; import 'package:huixiang/web/web_view/input_comment.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
import '../view_widget/classic_header.dart';
import '../view_widget/my_footer.dart';
class CommunityDetails extends StatefulWidget { class CommunityDetails extends StatefulWidget {
final Map<String, dynamic> arguments; final Map<String, dynamic> arguments;
@ -54,6 +59,7 @@ class _CommunityDetails extends State<CommunityDetails>
double keyboard = -1; double keyboard = -1;
bool needShowSmiley = false; bool needShowSmiley = false;
bool needHideSmiley = false; bool needHideSmiley = false;
final RefreshController refreshController = RefreshController();
void didChangeMetrics() { void didChangeMetrics() {
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
@ -94,11 +100,21 @@ class _CommunityDetails extends State<CommunityDetails>
void initState() { void initState() {
super.initState(); super.initState();
// comunity = widget.arguments["comment"]; // comunity = widget.arguments["comment"];
EasyLoading.show(status: S.current.zhengzaijiazai);
businessId = widget.arguments["businessId"]; businessId = widget.arguments["businessId"];
WidgetsBinding.instance.addObserver(this); WidgetsBinding.instance.addObserver(this);
commentFocus.addListener(_focusNodeListener); commentFocus.addListener(_focusNodeListener);
scrollController.addListener(() {
_queryMemberCommentList(); //
if(MediaQuery.of(context).viewInsets.bottom > 0)
FocusScope.of(context).requestFocus(FocusNode());
if(needShowSmiley && window.viewInsets.bottom > 0.1)
needHideSmiley = false;
setState(() {
emojiShowing = false;
});
});
_queryMemberCommentList(true);
queryDetails(businessId); queryDetails(businessId);
} }
@ -130,9 +146,10 @@ class _CommunityDetails extends State<CommunityDetails>
@override @override
void dispose(){ void dispose(){
super.dispose();
WidgetsBinding.instance.removeObserver(this); WidgetsBinding.instance.removeObserver(this);
commentFocus.removeListener(_focusNodeListener); commentFocus.removeListener(_focusNodeListener);
super.dispose(); refreshController.dispose();
} }
/// ///
@ -147,14 +164,24 @@ class _CommunityDetails extends State<CommunityDetails>
BaseData<Article> baseData = BaseData<Article> baseData =
await apiService.informationInfo(id).catchError((onError) { await apiService.informationInfo(id).catchError((onError) {
debugPrint(onError.toString()); debugPrint(onError.toString());
refreshController.refreshFailed();
}); });
if (baseData != null && baseData.isSuccess) { if (baseData != null && baseData.isSuccess) {
setState(() { setState(() {
article = baseData.data; article = baseData.data;
EasyLoading.dismiss();
refreshController.refreshCompleted();
}); });
}else {
refreshController.refreshFailed();
} }
} }
_onRefresh() {
queryDetails(businessId);
_queryMemberCommentList(true);
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
double h = MediaQuery.of(context).viewInsets.bottom; double h = MediaQuery.of(context).viewInsets.bottom;
@ -186,61 +213,81 @@ class _CommunityDetails extends State<CommunityDetails>
child: Column( child: Column(
children: [ children: [
Expanded( Expanded(
child: SingleChildScrollView( child: SmartRefresher(
physics: BouncingScrollPhysics(), controller: refreshController,
child: Column( enablePullDown: true,
children: [ enablePullUp: false,
if (article != null) header: MyHeader(),
CommunityDynamic( footer: CustomFooter(
article, builder: (context, mode) {
0, return MyFooter(mode);
exitFull: () { },
setState(() {}); ),
}, onRefresh: () {
userId: widget.arguments != null setState(() {
? widget.arguments["userId"] emojiShowing = false;
: widget.arguments["mid"], isKeyBoardShow = emojiShowing;
itemCount: 3, FocusScope.of(context).requestFocus(FocusNode());
isDetails: true, _onRefresh();
heightFun: (height) { });
this.height = height + },
MediaQuery.of(context).padding.top + scrollController:scrollController,
kToolbarHeight + child: SingleChildScrollView(
24; physics: BouncingScrollPhysics(),
if (mounted) setState(() {}); child: Column(
children: [
if (article != null)
CommunityDynamic(
article,
0,
exitFull: () {
setState(() {});
},
userId: widget.arguments != null
? widget.arguments["userId"]
: widget.arguments["mid"],
itemCount: 3,
isDetails: true,
heightFun: (height) {
this.height = height +
MediaQuery.of(context).padding.top +
kToolbarHeight +
24;
if (mounted) setState(() {});
},
),
CommentList(
commentKey,
article?.likes ?? 0,
businessId,
4,
isKeyBoardShow,
_reply,
_delCommentTips,
12.sp,
requestApiFinish: (total) {
setState(() {
commentTotal = total;
});
}, },
), ),
CommentList( if (memberList == null || memberList.length == 0)
commentKey, Container(
article?.likes ?? 0, width: double.infinity,
businessId, alignment: Alignment.topCenter,
4, margin: EdgeInsets.only(top: 40),
isKeyBoardShow, padding: EdgeInsets.all(22.h),
_reply, child: Text(
_delCommentTips, S.of(context).zanwupinglun,
12.sp, style: TextStyle(
requestApiFinish: (total) { fontSize: 12,
setState(() { fontWeight: FontWeight.bold,
commentTotal = total; color: Color(0xFFA0A0A0),
}); ),
},
),
if (memberList == null || memberList.length == 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, flex: 1,
@ -299,7 +346,7 @@ class _CommunityDetails extends State<CommunityDetails>
state.queryMemberCommentList(); state.queryMemberCommentList();
commentTextController.text = ""; commentTextController.text = "";
FocusScope.of(context).unfocus(); FocusScope.of(context).unfocus();
_queryMemberCommentList(); _queryMemberCommentList(false);
} }
} }
@ -351,14 +398,15 @@ class _CommunityDetails extends State<CommunityDetails>
} }
/// ///
_queryMemberCommentList() async { _queryMemberCommentList(bool isOnRefresh) async {
if (!isOnRefresh) EasyLoading.show(status: S.current.zhengzaijiazai);
SharedPreferences sharedPreferences = await SharedPreferences.getInstance(); SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
if (apiService == null) if (apiService == null)
apiService = ApiService( apiService = ApiService(
Dio(), Dio(),
context: context, context: context,
token: sharedPreferences.getString("token"), token: sharedPreferences.getString("token"),
showLoading: true, // showLoading: true,
); );
BaseData<PageInfo<MemberCommentList>> baseData = BaseData<PageInfo<MemberCommentList>> baseData =
await apiService.memberCommentList({ await apiService.memberCommentList({
@ -372,6 +420,9 @@ class _CommunityDetails extends State<CommunityDetails>
memberList = baseData.data.list; memberList = baseData.data.list;
contentHeight(); contentHeight();
if (mounted) setState(() {}); if (mounted) setState(() {});
EasyLoading.dismiss();
}else {
refreshController.refreshFailed();
} }
} }
} }

4
lib/community/photo_view_gallery_screen.dart

@ -2,6 +2,7 @@ import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:huixiang/utils/ImgCachePath.dart'; import 'package:huixiang/utils/ImgCachePath.dart';
import 'package:network_to_file_image/network_to_file_image.dart'; import 'package:network_to_file_image/network_to_file_image.dart';
import 'package:photo_view/photo_view.dart';
import 'package:photo_view/photo_view_gallery.dart'; import 'package:photo_view/photo_view_gallery.dart';
import 'package:path/path.dart' as p; import 'package:path/path.dart' as p;
@ -58,6 +59,9 @@ class _PhotoViewGalleryScreenState extends State<PhotoViewGalleryScreen> {
.replaceAll("https://pos.upload.gznl.top/", "").replaceAll("/", "")), .replaceAll("https://pos.upload.gznl.top/", "").replaceAll("/", "")),
debug: true, debug: true,
), ),
//
maxScale: PhotoViewComputedScale.contained *2.5,
minScale: PhotoViewComputedScale.contained *1,
); );
}, },
itemCount: widget.images.length, itemCount: widget.images.length,

2
lib/community/release_dynamic.dart

@ -381,6 +381,8 @@ class _ReleaseDynamic extends State<ReleaseDynamic> {
maxLines: 5, maxLines: 5,
style: TextStyle( style: TextStyle(
fontSize: 14.sp, fontSize: 14.sp,
height: 1.3,
letterSpacing:1,
fontWeight: MyFontWeight.medium, fontWeight: MyFontWeight.medium,
color: Color(0xFF4C4C4C), color: Color(0xFF4C4C4C),
), ),

60
lib/generated/intl/messages_en.dart

@ -81,31 +81,33 @@ class MessageLookup extends MessageLookupByLibrary {
static m30(jifen) => "实付积分 ${jifen}积分"; static m30(jifen) => "实付积分 ${jifen}积分";
static m31(sui) => "${sui}"; static m31(jihuanka) => "实付集换卡 ${jihuanka}集换卡";
static m32(num) => "完成${num}"; static m32(sui) => "${sui}";
static m33(time) => "下单时间:${time}"; static m33(num) => "完成${num}";
static m34(xihuan) => "喜欢(${xihuan})"; static m34(time) => "下单时间:${time}";
static m35(shoujihao) => "邀请人手机号:${shoujihao}"; static m35(xihuan) => "喜欢(${xihuan})";
static m36(jian) => "已兑换${jian}"; static m36(shoujihao) => "邀请人手机号:${shoujihao}";
static m37(time) => "营业时间: ${time}"; static m37(jian) => "已兑换${jian}";
static m38(date) => "有效期:${date}"; static m38(time) => "营业时间: ${time}";
static m39(date) => "有效期${date}"; static m39(date) => "有效期:${date}";
static m40(yuan) => "${yuan}"; static m40(date) => "有效期至${date}";
static m41(yue) => "余额${yue}"; static m41(yuan) => "${yuan}";
static m42(yue) => "余额 ${yue}"; static m42(yue) => "余额${yue}";
static m43(zuozhe) => "作者:${zuozhe}"; static m43(yue) => "余额 ${yue}";
static m44(zuozhe) => "作者:${zuozhe}";
final messages = _notInlinedMessages(_notInlinedMessages); final messages = _notInlinedMessages(_notInlinedMessages);
static _notInlinedMessages(_) => <String, Function> { static _notInlinedMessages(_) => <String, Function> {
@ -114,6 +116,7 @@ class MessageLookup extends MessageLookupByLibrary {
"baiyinhuiyuan" : MessageLookupByLibrary.simpleMessage("白银会员"), "baiyinhuiyuan" : MessageLookupByLibrary.simpleMessage("白银会员"),
"banben" : m0, "banben" : m0,
"bangdingfuka" : MessageLookupByLibrary.simpleMessage("绑定副卡"), "bangdingfuka" : MessageLookupByLibrary.simpleMessage("绑定副卡"),
"bangdingshouji" : MessageLookupByLibrary.simpleMessage("绑定手机"),
"bangong" : MessageLookupByLibrary.simpleMessage("办公"), "bangong" : MessageLookupByLibrary.simpleMessage("办公"),
"bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("帮助与反馈"), "bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("帮助与反馈"),
"baocun" : MessageLookupByLibrary.simpleMessage("保存"), "baocun" : MessageLookupByLibrary.simpleMessage("保存"),
@ -257,6 +260,7 @@ class MessageLookup extends MessageLookupByLibrary {
"gengduo" : MessageLookupByLibrary.simpleMessage("更多"), "gengduo" : MessageLookupByLibrary.simpleMessage("更多"),
"gengduohaoquan" : MessageLookupByLibrary.simpleMessage("更多好券"), "gengduohaoquan" : MessageLookupByLibrary.simpleMessage("更多好券"),
"gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多优惠券"), "gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多优惠券"),
"genggaibangdingshoujihao" : MessageLookupByLibrary.simpleMessage("更改绑定手机号"),
"genghuanbeijing" : MessageLookupByLibrary.simpleMessage("更换背景"), "genghuanbeijing" : MessageLookupByLibrary.simpleMessage("更换背景"),
"genghuantouxiang" : MessageLookupByLibrary.simpleMessage("更换头像"), "genghuantouxiang" : MessageLookupByLibrary.simpleMessage("更换头像"),
"gengyouhui" : MessageLookupByLibrary.simpleMessage("更优惠"), "gengyouhui" : MessageLookupByLibrary.simpleMessage("更优惠"),
@ -346,6 +350,7 @@ class MessageLookup extends MessageLookupByLibrary {
"jifenmingxi" : MessageLookupByLibrary.simpleMessage("积分明细"), "jifenmingxi" : MessageLookupByLibrary.simpleMessage("积分明细"),
"jifenshangcheng" : MessageLookupByLibrary.simpleMessage("积分商城"), "jifenshangcheng" : MessageLookupByLibrary.simpleMessage("积分商城"),
"jifenxiangqing" : MessageLookupByLibrary.simpleMessage("积分详情"), "jifenxiangqing" : MessageLookupByLibrary.simpleMessage("积分详情"),
"jihuanka" : MessageLookupByLibrary.simpleMessage("集换卡"),
"jingbilianmenghuiyuandian" : MessageLookupByLibrary.simpleMessage("净弼联盟会员店"), "jingbilianmenghuiyuandian" : MessageLookupByLibrary.simpleMessage("净弼联盟会员店"),
"jingxuanhaowen" : MessageLookupByLibrary.simpleMessage("精选好文"), "jingxuanhaowen" : MessageLookupByLibrary.simpleMessage("精选好文"),
"jingxuanhuodong" : MessageLookupByLibrary.simpleMessage("精选活动"), "jingxuanhuodong" : MessageLookupByLibrary.simpleMessage("精选活动"),
@ -569,6 +574,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shifangjiazaigengduo" : MessageLookupByLibrary.simpleMessage("释放加载更多"), "shifangjiazaigengduo" : MessageLookupByLibrary.simpleMessage("释放加载更多"),
"shifangshuaxin" : MessageLookupByLibrary.simpleMessage("释放刷新"), "shifangshuaxin" : MessageLookupByLibrary.simpleMessage("释放刷新"),
"shifujifen" : m30, "shifujifen" : m30,
"shifujihuanka" : m31,
"shimingrenzheng" : MessageLookupByLibrary.simpleMessage("实名认证"), "shimingrenzheng" : MessageLookupByLibrary.simpleMessage("实名认证"),
"shixiaoquan" : MessageLookupByLibrary.simpleMessage("失效券"), "shixiaoquan" : MessageLookupByLibrary.simpleMessage("失效券"),
"shixiaoyouhuiquan" : MessageLookupByLibrary.simpleMessage("失效优惠券"), "shixiaoyouhuiquan" : MessageLookupByLibrary.simpleMessage("失效优惠券"),
@ -595,7 +601,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shuliang" : MessageLookupByLibrary.simpleMessage("数量"), "shuliang" : MessageLookupByLibrary.simpleMessage("数量"),
"shurushouhuorendizhi" : MessageLookupByLibrary.simpleMessage("请输入收货人地址"), "shurushouhuorendizhi" : MessageLookupByLibrary.simpleMessage("请输入收货人地址"),
"shuruzhifumima" : MessageLookupByLibrary.simpleMessage("输入支付密码"), "shuruzhifumima" : MessageLookupByLibrary.simpleMessage("输入支付密码"),
"sui" : m31, "sui" : m32,
"tangshi" : MessageLookupByLibrary.simpleMessage("堂食"), "tangshi" : MessageLookupByLibrary.simpleMessage("堂食"),
"tebieshengming" : MessageLookupByLibrary.simpleMessage("特别声明"), "tebieshengming" : MessageLookupByLibrary.simpleMessage("特别声明"),
"tehuizhuanqu" : MessageLookupByLibrary.simpleMessage("特惠专区"), "tehuizhuanqu" : MessageLookupByLibrary.simpleMessage("特惠专区"),
@ -621,7 +627,7 @@ class MessageLookup extends MessageLookupByLibrary {
"waisong" : MessageLookupByLibrary.simpleMessage("外送"), "waisong" : MessageLookupByLibrary.simpleMessage("外送"),
"wan" : MessageLookupByLibrary.simpleMessage(""), "wan" : MessageLookupByLibrary.simpleMessage(""),
"wancheng" : MessageLookupByLibrary.simpleMessage("完成"), "wancheng" : MessageLookupByLibrary.simpleMessage("完成"),
"wancheng_" : m32, "wancheng_" : m33,
"wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下单"), "wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下单"),
"wangjimima" : MessageLookupByLibrary.simpleMessage("忘记密码"), "wangjimima" : MessageLookupByLibrary.simpleMessage("忘记密码"),
"wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"), "wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"),
@ -665,7 +671,7 @@ class MessageLookup extends MessageLookupByLibrary {
"wuliuxinxi" : MessageLookupByLibrary.simpleMessage("物流信息"), "wuliuxinxi" : MessageLookupByLibrary.simpleMessage("物流信息"),
"wuliuzhuangtai" : MessageLookupByLibrary.simpleMessage("物流状态:"), "wuliuzhuangtai" : MessageLookupByLibrary.simpleMessage("物流状态:"),
"xiadanshijian" : MessageLookupByLibrary.simpleMessage("下单时间"), "xiadanshijian" : MessageLookupByLibrary.simpleMessage("下单时间"),
"xiadanshijian_" : m33, "xiadanshijian_" : m34,
"xiadanzhuanjifen" : MessageLookupByLibrary.simpleMessage("下单赚积分"), "xiadanzhuanjifen" : MessageLookupByLibrary.simpleMessage("下单赚积分"),
"xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"), "xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"),
"xiangce" : MessageLookupByLibrary.simpleMessage("相册"), "xiangce" : MessageLookupByLibrary.simpleMessage("相册"),
@ -678,17 +684,19 @@ class MessageLookup extends MessageLookupByLibrary {
"xianxiashiyong" : MessageLookupByLibrary.simpleMessage("线下使用"), "xianxiashiyong" : MessageLookupByLibrary.simpleMessage("线下使用"),
"xiaofei" : MessageLookupByLibrary.simpleMessage("消费"), "xiaofei" : MessageLookupByLibrary.simpleMessage("消费"),
"xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"), "xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"),
"xiaofeijihuanka" : MessageLookupByLibrary.simpleMessage("消费集换卡"),
"xiaofeijilu" : MessageLookupByLibrary.simpleMessage("消费记录"), "xiaofeijilu" : MessageLookupByLibrary.simpleMessage("消费记录"),
"xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"), "xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"),
"xiayidengji" : MessageLookupByLibrary.simpleMessage("下一等级"), "xiayidengji" : MessageLookupByLibrary.simpleMessage("下一等级"),
"xiazaiwancheng" : MessageLookupByLibrary.simpleMessage("加载完成"), "xiazaiwancheng" : MessageLookupByLibrary.simpleMessage("加载完成"),
"xiedongtai" : MessageLookupByLibrary.simpleMessage("写动态"), "xiedongtai" : MessageLookupByLibrary.simpleMessage("写动态"),
"xieyitanchuang" : MessageLookupByLibrary.simpleMessage("一心回乡用户隐私政策"), "xieyitanchuang" : MessageLookupByLibrary.simpleMessage("一心回乡用户隐私政策"),
"xihuan_" : m34, "xihuan_" : m35,
"xindianhuodong" : MessageLookupByLibrary.simpleMessage("星店活动"), "xindianhuodong" : MessageLookupByLibrary.simpleMessage("星店活动"),
"xingming" : MessageLookupByLibrary.simpleMessage("姓名"), "xingming" : MessageLookupByLibrary.simpleMessage("姓名"),
"xitongtongzhi" : MessageLookupByLibrary.simpleMessage("系统通知"), "xitongtongzhi" : MessageLookupByLibrary.simpleMessage("系统通知"),
"xitongxiaoxi" : MessageLookupByLibrary.simpleMessage("系统消息"), "xitongxiaoxi" : MessageLookupByLibrary.simpleMessage("系统消息"),
"xiugai" : MessageLookupByLibrary.simpleMessage("修改"),
"xiugaichenggong" : MessageLookupByLibrary.simpleMessage("修改成功"), "xiugaichenggong" : MessageLookupByLibrary.simpleMessage("修改成功"),
"xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用户名"), "xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用户名"),
"xuanguige" : MessageLookupByLibrary.simpleMessage("选规格"), "xuanguige" : MessageLookupByLibrary.simpleMessage("选规格"),
@ -703,11 +711,11 @@ class MessageLookup extends MessageLookupByLibrary {
"yanzhengma" : MessageLookupByLibrary.simpleMessage("验证码"), "yanzhengma" : MessageLookupByLibrary.simpleMessage("验证码"),
"yaoqinghaoyou" : MessageLookupByLibrary.simpleMessage("邀请好友"), "yaoqinghaoyou" : MessageLookupByLibrary.simpleMessage("邀请好友"),
"yaoqinghaoyoudefen" : MessageLookupByLibrary.simpleMessage("邀请好友得分"), "yaoqinghaoyoudefen" : MessageLookupByLibrary.simpleMessage("邀请好友得分"),
"yaoqingrenshoujihao_" : m35, "yaoqingrenshoujihao_" : m36,
"yaoqingwancheng" : MessageLookupByLibrary.simpleMessage("邀请完成"), "yaoqingwancheng" : MessageLookupByLibrary.simpleMessage("邀请完成"),
"yibangfuka" : MessageLookupByLibrary.simpleMessage("已绑副卡"), "yibangfuka" : MessageLookupByLibrary.simpleMessage("已绑副卡"),
"yiduihuan" : MessageLookupByLibrary.simpleMessage("已兑换"), "yiduihuan" : MessageLookupByLibrary.simpleMessage("已兑换"),
"yiduihuanjian" : m36, "yiduihuanjian" : m37,
"yifahuo" : MessageLookupByLibrary.simpleMessage("已发货"), "yifahuo" : MessageLookupByLibrary.simpleMessage("已发货"),
"yiguanzhu" : MessageLookupByLibrary.simpleMessage("已关注"), "yiguanzhu" : MessageLookupByLibrary.simpleMessage("已关注"),
"yihouzaishuo" : MessageLookupByLibrary.simpleMessage("以后再说"), "yihouzaishuo" : MessageLookupByLibrary.simpleMessage("以后再说"),
@ -725,7 +733,7 @@ class MessageLookup extends MessageLookupByLibrary {
"yindaoye3" : MessageLookupByLibrary.simpleMessage("会员活动专区"), "yindaoye3" : MessageLookupByLibrary.simpleMessage("会员活动专区"),
"yindaoye4" : MessageLookupByLibrary.simpleMessage("过健康有机生活"), "yindaoye4" : MessageLookupByLibrary.simpleMessage("过健康有机生活"),
"yingwen" : MessageLookupByLibrary.simpleMessage("英文"), "yingwen" : MessageLookupByLibrary.simpleMessage("英文"),
"yingyeshijian" : m37, "yingyeshijian" : m38,
"yinkahuiyuan" : MessageLookupByLibrary.simpleMessage("银卡会员"), "yinkahuiyuan" : MessageLookupByLibrary.simpleMessage("银卡会员"),
"yinshi" : MessageLookupByLibrary.simpleMessage("饮食"), "yinshi" : MessageLookupByLibrary.simpleMessage("饮食"),
"yinsishengming" : MessageLookupByLibrary.simpleMessage("隐私声明"), "yinsishengming" : MessageLookupByLibrary.simpleMessage("隐私声明"),
@ -755,15 +763,15 @@ class MessageLookup extends MessageLookupByLibrary {
"youhuiquanlingqu" : MessageLookupByLibrary.simpleMessage("优惠券领取"), "youhuiquanlingqu" : MessageLookupByLibrary.simpleMessage("优惠券领取"),
"youhuiquanwufajileijifen" : MessageLookupByLibrary.simpleMessage("优惠金额无法累积积分,订单撤销或其他原因造成的未成功支付的订单,无法获得对应的积分。"), "youhuiquanwufajileijifen" : MessageLookupByLibrary.simpleMessage("优惠金额无法累积积分,订单撤销或其他原因造成的未成功支付的订单,无法获得对应的积分。"),
"youkedenglu" : MessageLookupByLibrary.simpleMessage("游客登录"), "youkedenglu" : MessageLookupByLibrary.simpleMessage("游客登录"),
"youxiaoqi" : m38, "youxiaoqi" : m39,
"youxiaoqixian" : MessageLookupByLibrary.simpleMessage("有效期限:"), "youxiaoqixian" : MessageLookupByLibrary.simpleMessage("有效期限:"),
"youxiaoqizhi" : m39, "youxiaoqizhi" : m40,
"yuan" : MessageLookupByLibrary.simpleMessage(""), "yuan" : MessageLookupByLibrary.simpleMessage(""),
"yuan_" : m40, "yuan_" : m41,
"yuanjia" : MessageLookupByLibrary.simpleMessage("原价"), "yuanjia" : MessageLookupByLibrary.simpleMessage("原价"),
"yue" : MessageLookupByLibrary.simpleMessage("余额"), "yue" : MessageLookupByLibrary.simpleMessage("余额"),
"yue_" : m41, "yue_" : m42,
"yue__" : m42, "yue__" : m43,
"yuemingxi" : MessageLookupByLibrary.simpleMessage("余额明细"), "yuemingxi" : MessageLookupByLibrary.simpleMessage("余额明细"),
"yuliudianhua" : MessageLookupByLibrary.simpleMessage("预留电话"), "yuliudianhua" : MessageLookupByLibrary.simpleMessage("预留电话"),
"yunfei" : MessageLookupByLibrary.simpleMessage("运费"), "yunfei" : MessageLookupByLibrary.simpleMessage("运费"),
@ -814,6 +822,6 @@ class MessageLookup extends MessageLookupByLibrary {
"zuanshihuiyuan" : MessageLookupByLibrary.simpleMessage("钻石会员"), "zuanshihuiyuan" : MessageLookupByLibrary.simpleMessage("钻石会员"),
"zuixinwenzhang" : MessageLookupByLibrary.simpleMessage("最新文章"), "zuixinwenzhang" : MessageLookupByLibrary.simpleMessage("最新文章"),
"zuorenwudejifen" : MessageLookupByLibrary.simpleMessage("做任务得积分"), "zuorenwudejifen" : MessageLookupByLibrary.simpleMessage("做任务得积分"),
"zuozhe" : m43 "zuozhe" : m44
}; };
} }

60
lib/generated/intl/messages_en_US.dart

@ -81,31 +81,33 @@ class MessageLookup extends MessageLookupByLibrary {
static m30(jifen) => "Paid in integral ${jifen}integral"; static m30(jifen) => "Paid in integral ${jifen}integral";
static m31(sui) => "${sui}years old"; static m31(jihuanka) => "paid-in trading card ${jihuanka}trading card";
static m32(num) => "Finish${num}"; static m32(sui) => "${sui}years old";
static m33(time) => "Ordering time:${time}"; static m33(num) => "Finish${num}";
static m34(xihuan) => "Like(${xihuan})"; static m34(time) => "Ordering time:${time}";
static m35(shoujihao) => "Inviter\'s mobile number:${shoujihao}"; static m35(xihuan) => "Like(${xihuan})";
static m36(jian) => "${jian}pieces redeemed"; static m36(shoujihao) => "Inviter\'s mobile number:${shoujihao}";
static m37(time) => "Business hours: ${time}"; static m37(jian) => "${jian}pieces redeemed";
static m38(date) => "Validity:${date}"; static m38(time) => "Business hours: ${time}";
static m39(date) => "Valid until ${date}"; static m39(date) => "Validity:${date}";
static m40(yuan) => "${yuan}yuan"; static m40(date) => "Valid until ${date}";
static m41(yue) => "Balance ${yue}"; static m41(yuan) => "${yuan}yuan";
static m42(yue) => "Balance ${yue}"; static m42(yue) => "Balance ${yue}";
static m43(zuozhe) => "Author:${zuozhe}"; static m43(yue) => "Balance ${yue}";
static m44(zuozhe) => "Author:${zuozhe}";
final messages = _notInlinedMessages(_notInlinedMessages); final messages = _notInlinedMessages(_notInlinedMessages);
static _notInlinedMessages(_) => <String, Function> { static _notInlinedMessages(_) => <String, Function> {
@ -114,6 +116,7 @@ class MessageLookup extends MessageLookupByLibrary {
"baiyinhuiyuan" : MessageLookupByLibrary.simpleMessage("Silver Member"), "baiyinhuiyuan" : MessageLookupByLibrary.simpleMessage("Silver Member"),
"banben" : m0, "banben" : m0,
"bangdingfuka" : MessageLookupByLibrary.simpleMessage("binding sub card"), "bangdingfuka" : MessageLookupByLibrary.simpleMessage("binding sub card"),
"bangdingshouji" : MessageLookupByLibrary.simpleMessage("bind phone"),
"bangong" : MessageLookupByLibrary.simpleMessage("Office"), "bangong" : MessageLookupByLibrary.simpleMessage("Office"),
"bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("Help"), "bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("Help"),
"baocun" : MessageLookupByLibrary.simpleMessage("Save"), "baocun" : MessageLookupByLibrary.simpleMessage("Save"),
@ -257,6 +260,7 @@ class MessageLookup extends MessageLookupByLibrary {
"gengduo" : MessageLookupByLibrary.simpleMessage("more"), "gengduo" : MessageLookupByLibrary.simpleMessage("more"),
"gengduohaoquan" : MessageLookupByLibrary.simpleMessage("more good coupons"), "gengduohaoquan" : MessageLookupByLibrary.simpleMessage("more good coupons"),
"gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("more coupons"), "gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("more coupons"),
"genggaibangdingshoujihao" : MessageLookupByLibrary.simpleMessage("modify bind phone"),
"genghuanbeijing" : MessageLookupByLibrary.simpleMessage("Changing the background"), "genghuanbeijing" : MessageLookupByLibrary.simpleMessage("Changing the background"),
"genghuantouxiang" : MessageLookupByLibrary.simpleMessage("Changing the avatar"), "genghuantouxiang" : MessageLookupByLibrary.simpleMessage("Changing the avatar"),
"gengyouhui" : MessageLookupByLibrary.simpleMessage("More preferential"), "gengyouhui" : MessageLookupByLibrary.simpleMessage("More preferential"),
@ -346,6 +350,7 @@ class MessageLookup extends MessageLookupByLibrary {
"jifenmingxi" : MessageLookupByLibrary.simpleMessage("Integral Details"), "jifenmingxi" : MessageLookupByLibrary.simpleMessage("Integral Details"),
"jifenshangcheng" : MessageLookupByLibrary.simpleMessage("Points Mall"), "jifenshangcheng" : MessageLookupByLibrary.simpleMessage("Points Mall"),
"jifenxiangqing" : MessageLookupByLibrary.simpleMessage("Points Details"), "jifenxiangqing" : MessageLookupByLibrary.simpleMessage("Points Details"),
"jihuanka" : MessageLookupByLibrary.simpleMessage("trading card"),
"jingbilianmenghuiyuandian" : MessageLookupByLibrary.simpleMessage("Jingbi League Member Store"), "jingbilianmenghuiyuandian" : MessageLookupByLibrary.simpleMessage("Jingbi League Member Store"),
"jingxuanhaowen" : MessageLookupByLibrary.simpleMessage("Selected good articles "), "jingxuanhaowen" : MessageLookupByLibrary.simpleMessage("Selected good articles "),
"jingxuanhuodong" : MessageLookupByLibrary.simpleMessage("Selected Activities"), "jingxuanhuodong" : MessageLookupByLibrary.simpleMessage("Selected Activities"),
@ -455,7 +460,7 @@ class MessageLookup extends MessageLookupByLibrary {
"pinglun" : MessageLookupByLibrary.simpleMessage("Comment"), "pinglun" : MessageLookupByLibrary.simpleMessage("Comment"),
"pinglun_" : m23, "pinglun_" : m23,
"pingtaiyue" : MessageLookupByLibrary.simpleMessage("Platform Balance"), "pingtaiyue" : MessageLookupByLibrary.simpleMessage("Platform Balance"),
"pingtaizhifumima" : MessageLookupByLibrary.simpleMessage("Platform Payment Password"), "pingtaizhifumima" : MessageLookupByLibrary.simpleMessage("Platform payment password"),
"pingtaizongyue" : m24, "pingtaizongyue" : m24,
"pinpai" : MessageLookupByLibrary.simpleMessage("brand"), "pinpai" : MessageLookupByLibrary.simpleMessage("brand"),
"pinpaijieshao" : MessageLookupByLibrary.simpleMessage("Brand Introduction"), "pinpaijieshao" : MessageLookupByLibrary.simpleMessage("Brand Introduction"),
@ -569,6 +574,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shifangjiazaigengduo" : MessageLookupByLibrary.simpleMessage("Release Load More"), "shifangjiazaigengduo" : MessageLookupByLibrary.simpleMessage("Release Load More"),
"shifangshuaxin" : MessageLookupByLibrary.simpleMessage("Release Refresh"), "shifangshuaxin" : MessageLookupByLibrary.simpleMessage("Release Refresh"),
"shifujifen" : m30, "shifujifen" : m30,
"shifujihuanka" : m31,
"shimingrenzheng" : MessageLookupByLibrary.simpleMessage("Real name authentication"), "shimingrenzheng" : MessageLookupByLibrary.simpleMessage("Real name authentication"),
"shixiaoquan" : MessageLookupByLibrary.simpleMessage("Invalid coupon"), "shixiaoquan" : MessageLookupByLibrary.simpleMessage("Invalid coupon"),
"shixiaoyouhuiquan" : MessageLookupByLibrary.simpleMessage("Invalid coupon"), "shixiaoyouhuiquan" : MessageLookupByLibrary.simpleMessage("Invalid coupon"),
@ -595,7 +601,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shuliang" : MessageLookupByLibrary.simpleMessage("number"), "shuliang" : MessageLookupByLibrary.simpleMessage("number"),
"shurushouhuorendizhi" : MessageLookupByLibrary.simpleMessage("Please enter the consignee address"), "shurushouhuorendizhi" : MessageLookupByLibrary.simpleMessage("Please enter the consignee address"),
"shuruzhifumima" : MessageLookupByLibrary.simpleMessage("Enter payment password"), "shuruzhifumima" : MessageLookupByLibrary.simpleMessage("Enter payment password"),
"sui" : m31, "sui" : m32,
"tangshi" : MessageLookupByLibrary.simpleMessage("tang shi"), "tangshi" : MessageLookupByLibrary.simpleMessage("tang shi"),
"tebieshengming" : MessageLookupByLibrary.simpleMessage("Special statement"), "tebieshengming" : MessageLookupByLibrary.simpleMessage("Special statement"),
"tehuizhuanqu" : MessageLookupByLibrary.simpleMessage("Special offer area"), "tehuizhuanqu" : MessageLookupByLibrary.simpleMessage("Special offer area"),
@ -621,7 +627,7 @@ class MessageLookup extends MessageLookupByLibrary {
"waisong" : MessageLookupByLibrary.simpleMessage("sending out"), "waisong" : MessageLookupByLibrary.simpleMessage("sending out"),
"wan" : MessageLookupByLibrary.simpleMessage("Play"), "wan" : MessageLookupByLibrary.simpleMessage("Play"),
"wancheng" : MessageLookupByLibrary.simpleMessage("finish"), "wancheng" : MessageLookupByLibrary.simpleMessage("finish"),
"wancheng_" : m32, "wancheng_" : m33,
"wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("Place an order once"), "wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("Place an order once"),
"wangjimima" : MessageLookupByLibrary.simpleMessage("Forgot password"), "wangjimima" : MessageLookupByLibrary.simpleMessage("Forgot password"),
"wanjiankang" : MessageLookupByLibrary.simpleMessage("Play healthy"), "wanjiankang" : MessageLookupByLibrary.simpleMessage("Play healthy"),
@ -665,7 +671,7 @@ class MessageLookup extends MessageLookupByLibrary {
"wuliuxinxi" : MessageLookupByLibrary.simpleMessage("Logistics Information"), "wuliuxinxi" : MessageLookupByLibrary.simpleMessage("Logistics Information"),
"wuliuzhuangtai" : MessageLookupByLibrary.simpleMessage("Logistics status:"), "wuliuzhuangtai" : MessageLookupByLibrary.simpleMessage("Logistics status:"),
"xiadanshijian" : MessageLookupByLibrary.simpleMessage("Order placement time"), "xiadanshijian" : MessageLookupByLibrary.simpleMessage("Order placement time"),
"xiadanshijian_" : m33, "xiadanshijian_" : m34,
"xiadanzhuanjifen" : MessageLookupByLibrary.simpleMessage("Place orders integral"), "xiadanzhuanjifen" : MessageLookupByLibrary.simpleMessage("Place orders integral"),
"xialashuaxin" : MessageLookupByLibrary.simpleMessage("Pull down Refresh"), "xialashuaxin" : MessageLookupByLibrary.simpleMessage("Pull down Refresh"),
"xiangce" : MessageLookupByLibrary.simpleMessage("album"), "xiangce" : MessageLookupByLibrary.simpleMessage("album"),
@ -678,17 +684,19 @@ class MessageLookup extends MessageLookupByLibrary {
"xianxiashiyong" : MessageLookupByLibrary.simpleMessage("offline use"), "xianxiashiyong" : MessageLookupByLibrary.simpleMessage("offline use"),
"xiaofei" : MessageLookupByLibrary.simpleMessage("consumption"), "xiaofei" : MessageLookupByLibrary.simpleMessage("consumption"),
"xiaofeijifen" : MessageLookupByLibrary.simpleMessage("Consumption Points"), "xiaofeijifen" : MessageLookupByLibrary.simpleMessage("Consumption Points"),
"xiaofeijihuanka" : MessageLookupByLibrary.simpleMessage("consume trading card"),
"xiaofeijilu" : MessageLookupByLibrary.simpleMessage("Consumption Record"), "xiaofeijilu" : MessageLookupByLibrary.simpleMessage("Consumption Record"),
"xiaoxi" : MessageLookupByLibrary.simpleMessage("Messages"), "xiaoxi" : MessageLookupByLibrary.simpleMessage("Messages"),
"xiayidengji" : MessageLookupByLibrary.simpleMessage("Next Level"), "xiayidengji" : MessageLookupByLibrary.simpleMessage("Next Level"),
"xiazaiwancheng" : MessageLookupByLibrary.simpleMessage("Loading completed"), "xiazaiwancheng" : MessageLookupByLibrary.simpleMessage("Loading completed"),
"xiedongtai" : MessageLookupByLibrary.simpleMessage("Write dynamic"), "xiedongtai" : MessageLookupByLibrary.simpleMessage("Write dynamic"),
"xieyitanchuang" : MessageLookupByLibrary.simpleMessage("privacy policy for returning home users"), "xieyitanchuang" : MessageLookupByLibrary.simpleMessage("privacy policy for returning home users"),
"xihuan_" : m34, "xihuan_" : m35,
"xindianhuodong" : MessageLookupByLibrary.simpleMessage("Star Store Activity"), "xindianhuodong" : MessageLookupByLibrary.simpleMessage("Star Store Activity"),
"xingming" : MessageLookupByLibrary.simpleMessage("name"), "xingming" : MessageLookupByLibrary.simpleMessage("name"),
"xitongtongzhi" : MessageLookupByLibrary.simpleMessage("System Notification"), "xitongtongzhi" : MessageLookupByLibrary.simpleMessage("System Notification"),
"xitongxiaoxi" : MessageLookupByLibrary.simpleMessage("System Messages"), "xitongxiaoxi" : MessageLookupByLibrary.simpleMessage("System Messages"),
"xiugai" : MessageLookupByLibrary.simpleMessage("modify"),
"xiugaichenggong" : MessageLookupByLibrary.simpleMessage("Modification succeeded"), "xiugaichenggong" : MessageLookupByLibrary.simpleMessage("Modification succeeded"),
"xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("Modify User Name"), "xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("Modify User Name"),
"xuanguige" : MessageLookupByLibrary.simpleMessage("Select specs"), "xuanguige" : MessageLookupByLibrary.simpleMessage("Select specs"),
@ -703,11 +711,11 @@ class MessageLookup extends MessageLookupByLibrary {
"yanzhengma" : MessageLookupByLibrary.simpleMessage("verification code"), "yanzhengma" : MessageLookupByLibrary.simpleMessage("verification code"),
"yaoqinghaoyou" : MessageLookupByLibrary.simpleMessage("Invite friends"), "yaoqinghaoyou" : MessageLookupByLibrary.simpleMessage("Invite friends"),
"yaoqinghaoyoudefen" : MessageLookupByLibrary.simpleMessage("Invite friends to score"), "yaoqinghaoyoudefen" : MessageLookupByLibrary.simpleMessage("Invite friends to score"),
"yaoqingrenshoujihao_" : m35, "yaoqingrenshoujihao_" : m36,
"yaoqingwancheng" : MessageLookupByLibrary.simpleMessage("Invitation completed"), "yaoqingwancheng" : MessageLookupByLibrary.simpleMessage("Invitation completed"),
"yibangfuka" : MessageLookupByLibrary.simpleMessage("bound sub card"), "yibangfuka" : MessageLookupByLibrary.simpleMessage("bound sub card"),
"yiduihuan" : MessageLookupByLibrary.simpleMessage("redeemed"), "yiduihuan" : MessageLookupByLibrary.simpleMessage("redeemed"),
"yiduihuanjian" : m36, "yiduihuanjian" : m37,
"yifahuo" : MessageLookupByLibrary.simpleMessage("Shipped"), "yifahuo" : MessageLookupByLibrary.simpleMessage("Shipped"),
"yiguanzhu" : MessageLookupByLibrary.simpleMessage("Followed"), "yiguanzhu" : MessageLookupByLibrary.simpleMessage("Followed"),
"yihouzaishuo" : MessageLookupByLibrary.simpleMessage("Talk Later"), "yihouzaishuo" : MessageLookupByLibrary.simpleMessage("Talk Later"),
@ -725,7 +733,7 @@ class MessageLookup extends MessageLookupByLibrary {
"yindaoye3" : MessageLookupByLibrary.simpleMessage("Member activity zone"), "yindaoye3" : MessageLookupByLibrary.simpleMessage("Member activity zone"),
"yindaoye4" : MessageLookupByLibrary.simpleMessage("Live a healthy and organic life"), "yindaoye4" : MessageLookupByLibrary.simpleMessage("Live a healthy and organic life"),
"yingwen" : MessageLookupByLibrary.simpleMessage("United States"), "yingwen" : MessageLookupByLibrary.simpleMessage("United States"),
"yingyeshijian" : m37, "yingyeshijian" : m38,
"yinkahuiyuan" : MessageLookupByLibrary.simpleMessage("Silver card member"), "yinkahuiyuan" : MessageLookupByLibrary.simpleMessage("Silver card member"),
"yinshi" : MessageLookupByLibrary.simpleMessage("diet"), "yinshi" : MessageLookupByLibrary.simpleMessage("diet"),
"yinsishengming" : MessageLookupByLibrary.simpleMessage("Privacy Statement"), "yinsishengming" : MessageLookupByLibrary.simpleMessage("Privacy Statement"),
@ -755,15 +763,15 @@ class MessageLookup extends MessageLookupByLibrary {
"youhuiquanlingqu" : MessageLookupByLibrary.simpleMessage("coupon collection"), "youhuiquanlingqu" : MessageLookupByLibrary.simpleMessage("coupon collection"),
"youhuiquanwufajileijifen" : MessageLookupByLibrary.simpleMessage("The preferential amount cannot accumulate points, and the corresponding points cannot be obtained for orders that are not successfully paid due to order cancellation or other reasons。"), "youhuiquanwufajileijifen" : MessageLookupByLibrary.simpleMessage("The preferential amount cannot accumulate points, and the corresponding points cannot be obtained for orders that are not successfully paid due to order cancellation or other reasons。"),
"youkedenglu" : MessageLookupByLibrary.simpleMessage("Visitor login"), "youkedenglu" : MessageLookupByLibrary.simpleMessage("Visitor login"),
"youxiaoqi" : m38, "youxiaoqi" : m39,
"youxiaoqixian" : MessageLookupByLibrary.simpleMessage("Valid Period:"), "youxiaoqixian" : MessageLookupByLibrary.simpleMessage("Valid Period:"),
"youxiaoqizhi" : m39, "youxiaoqizhi" : m40,
"yuan" : MessageLookupByLibrary.simpleMessage("yuan"), "yuan" : MessageLookupByLibrary.simpleMessage("yuan"),
"yuan_" : m40, "yuan_" : m41,
"yuanjia" : MessageLookupByLibrary.simpleMessage("original price"), "yuanjia" : MessageLookupByLibrary.simpleMessage("original price"),
"yue" : MessageLookupByLibrary.simpleMessage("Balance"), "yue" : MessageLookupByLibrary.simpleMessage("Balance"),
"yue_" : m41, "yue_" : m42,
"yue__" : m42, "yue__" : m43,
"yuemingxi" : MessageLookupByLibrary.simpleMessage("Balance Details"), "yuemingxi" : MessageLookupByLibrary.simpleMessage("Balance Details"),
"yuliudianhua" : MessageLookupByLibrary.simpleMessage("Reserved telephone"), "yuliudianhua" : MessageLookupByLibrary.simpleMessage("Reserved telephone"),
"yunfei" : MessageLookupByLibrary.simpleMessage("Freight"), "yunfei" : MessageLookupByLibrary.simpleMessage("Freight"),
@ -814,6 +822,6 @@ class MessageLookup extends MessageLookupByLibrary {
"zuanshihuiyuan" : MessageLookupByLibrary.simpleMessage("Diamond Member"), "zuanshihuiyuan" : MessageLookupByLibrary.simpleMessage("Diamond Member"),
"zuixinwenzhang" : MessageLookupByLibrary.simpleMessage("Latest Articles"), "zuixinwenzhang" : MessageLookupByLibrary.simpleMessage("Latest Articles"),
"zuorenwudejifen" : MessageLookupByLibrary.simpleMessage("Score points for doing tasks"), "zuorenwudejifen" : MessageLookupByLibrary.simpleMessage("Score points for doing tasks"),
"zuozhe" : m43 "zuozhe" : m44
}; };
} }

60
lib/generated/intl/messages_zh_CN.dart

@ -81,31 +81,33 @@ class MessageLookup extends MessageLookupByLibrary {
static m30(jifen) => "实付积分 ${jifen}积分"; static m30(jifen) => "实付积分 ${jifen}积分";
static m31(sui) => "${sui}"; static m31(jihuanka) => "实付集换卡 ${jihuanka}集换卡";
static m32(num) => "完成${num}"; static m32(sui) => "${sui}";
static m33(time) => "下单时间:${time}"; static m33(num) => "完成${num}";
static m34(xihuan) => "喜欢(${xihuan})"; static m34(time) => "下单时间:${time}";
static m35(shoujihao) => "邀请人手机号:${shoujihao}"; static m35(xihuan) => "喜欢(${xihuan})";
static m36(jian) => "已兑换${jian}"; static m36(shoujihao) => "邀请人手机号:${shoujihao}";
static m37(time) => "营业时间: ${time}"; static m37(jian) => "已兑换${jian}";
static m38(date) => "有效期:${date}"; static m38(time) => "营业时间: ${time}";
static m39(date) => "有效期${date}"; static m39(date) => "有效期:${date}";
static m40(yuan) => "${yuan}"; static m40(date) => "有效期至${date}";
static m41(yue) => "余额${yue}"; static m41(yuan) => "${yuan}";
static m42(yue) => "余额 ${yue}"; static m42(yue) => "余额${yue}";
static m43(zuozhe) => "作者:${zuozhe}"; static m43(yue) => "余额 ${yue}";
static m44(zuozhe) => "作者:${zuozhe}";
final messages = _notInlinedMessages(_notInlinedMessages); final messages = _notInlinedMessages(_notInlinedMessages);
static _notInlinedMessages(_) => <String, Function> { static _notInlinedMessages(_) => <String, Function> {
@ -114,6 +116,7 @@ class MessageLookup extends MessageLookupByLibrary {
"baiyinhuiyuan" : MessageLookupByLibrary.simpleMessage("白银会员"), "baiyinhuiyuan" : MessageLookupByLibrary.simpleMessage("白银会员"),
"banben" : m0, "banben" : m0,
"bangdingfuka" : MessageLookupByLibrary.simpleMessage("绑定副卡"), "bangdingfuka" : MessageLookupByLibrary.simpleMessage("绑定副卡"),
"bangdingshouji" : MessageLookupByLibrary.simpleMessage("绑定手机"),
"bangong" : MessageLookupByLibrary.simpleMessage("办公"), "bangong" : MessageLookupByLibrary.simpleMessage("办公"),
"bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("帮助与反馈"), "bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("帮助与反馈"),
"baocun" : MessageLookupByLibrary.simpleMessage("保存"), "baocun" : MessageLookupByLibrary.simpleMessage("保存"),
@ -257,6 +260,7 @@ class MessageLookup extends MessageLookupByLibrary {
"gengduo" : MessageLookupByLibrary.simpleMessage("更多"), "gengduo" : MessageLookupByLibrary.simpleMessage("更多"),
"gengduohaoquan" : MessageLookupByLibrary.simpleMessage("更多好券"), "gengduohaoquan" : MessageLookupByLibrary.simpleMessage("更多好券"),
"gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多优惠券"), "gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多优惠券"),
"genggaibangdingshoujihao" : MessageLookupByLibrary.simpleMessage("更改绑定手机号"),
"genghuanbeijing" : MessageLookupByLibrary.simpleMessage("更换背景"), "genghuanbeijing" : MessageLookupByLibrary.simpleMessage("更换背景"),
"genghuantouxiang" : MessageLookupByLibrary.simpleMessage("更换头像"), "genghuantouxiang" : MessageLookupByLibrary.simpleMessage("更换头像"),
"gengyouhui" : MessageLookupByLibrary.simpleMessage("更优惠"), "gengyouhui" : MessageLookupByLibrary.simpleMessage("更优惠"),
@ -346,6 +350,7 @@ class MessageLookup extends MessageLookupByLibrary {
"jifenmingxi" : MessageLookupByLibrary.simpleMessage("积分明细"), "jifenmingxi" : MessageLookupByLibrary.simpleMessage("积分明细"),
"jifenshangcheng" : MessageLookupByLibrary.simpleMessage("积分商城"), "jifenshangcheng" : MessageLookupByLibrary.simpleMessage("积分商城"),
"jifenxiangqing" : MessageLookupByLibrary.simpleMessage("积分详情"), "jifenxiangqing" : MessageLookupByLibrary.simpleMessage("积分详情"),
"jihuanka" : MessageLookupByLibrary.simpleMessage("集换卡"),
"jingbilianmenghuiyuandian" : MessageLookupByLibrary.simpleMessage("净弼联盟会员店"), "jingbilianmenghuiyuandian" : MessageLookupByLibrary.simpleMessage("净弼联盟会员店"),
"jingxuanhaowen" : MessageLookupByLibrary.simpleMessage("精选好文"), "jingxuanhaowen" : MessageLookupByLibrary.simpleMessage("精选好文"),
"jingxuanhuodong" : MessageLookupByLibrary.simpleMessage("精选活动"), "jingxuanhuodong" : MessageLookupByLibrary.simpleMessage("精选活动"),
@ -569,6 +574,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shifangjiazaigengduo" : MessageLookupByLibrary.simpleMessage("释放加载更多"), "shifangjiazaigengduo" : MessageLookupByLibrary.simpleMessage("释放加载更多"),
"shifangshuaxin" : MessageLookupByLibrary.simpleMessage("释放刷新"), "shifangshuaxin" : MessageLookupByLibrary.simpleMessage("释放刷新"),
"shifujifen" : m30, "shifujifen" : m30,
"shifujihuanka" : m31,
"shimingrenzheng" : MessageLookupByLibrary.simpleMessage("实名认证"), "shimingrenzheng" : MessageLookupByLibrary.simpleMessage("实名认证"),
"shixiaoquan" : MessageLookupByLibrary.simpleMessage("失效券"), "shixiaoquan" : MessageLookupByLibrary.simpleMessage("失效券"),
"shixiaoyouhuiquan" : MessageLookupByLibrary.simpleMessage("失效优惠券"), "shixiaoyouhuiquan" : MessageLookupByLibrary.simpleMessage("失效优惠券"),
@ -595,7 +601,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shuliang" : MessageLookupByLibrary.simpleMessage("数量"), "shuliang" : MessageLookupByLibrary.simpleMessage("数量"),
"shurushouhuorendizhi" : MessageLookupByLibrary.simpleMessage("请输入收货人地址"), "shurushouhuorendizhi" : MessageLookupByLibrary.simpleMessage("请输入收货人地址"),
"shuruzhifumima" : MessageLookupByLibrary.simpleMessage("输入支付密码"), "shuruzhifumima" : MessageLookupByLibrary.simpleMessage("输入支付密码"),
"sui" : m31, "sui" : m32,
"tangshi" : MessageLookupByLibrary.simpleMessage("堂食"), "tangshi" : MessageLookupByLibrary.simpleMessage("堂食"),
"tebieshengming" : MessageLookupByLibrary.simpleMessage("特别声明"), "tebieshengming" : MessageLookupByLibrary.simpleMessage("特别声明"),
"tehuizhuanqu" : MessageLookupByLibrary.simpleMessage("特惠专区"), "tehuizhuanqu" : MessageLookupByLibrary.simpleMessage("特惠专区"),
@ -621,7 +627,7 @@ class MessageLookup extends MessageLookupByLibrary {
"waisong" : MessageLookupByLibrary.simpleMessage("外送"), "waisong" : MessageLookupByLibrary.simpleMessage("外送"),
"wan" : MessageLookupByLibrary.simpleMessage(""), "wan" : MessageLookupByLibrary.simpleMessage(""),
"wancheng" : MessageLookupByLibrary.simpleMessage("完成"), "wancheng" : MessageLookupByLibrary.simpleMessage("完成"),
"wancheng_" : m32, "wancheng_" : m33,
"wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下单"), "wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下单"),
"wangjimima" : MessageLookupByLibrary.simpleMessage("忘记密码"), "wangjimima" : MessageLookupByLibrary.simpleMessage("忘记密码"),
"wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"), "wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"),
@ -665,7 +671,7 @@ class MessageLookup extends MessageLookupByLibrary {
"wuliuxinxi" : MessageLookupByLibrary.simpleMessage("物流信息"), "wuliuxinxi" : MessageLookupByLibrary.simpleMessage("物流信息"),
"wuliuzhuangtai" : MessageLookupByLibrary.simpleMessage("物流状态:"), "wuliuzhuangtai" : MessageLookupByLibrary.simpleMessage("物流状态:"),
"xiadanshijian" : MessageLookupByLibrary.simpleMessage("下单时间"), "xiadanshijian" : MessageLookupByLibrary.simpleMessage("下单时间"),
"xiadanshijian_" : m33, "xiadanshijian_" : m34,
"xiadanzhuanjifen" : MessageLookupByLibrary.simpleMessage("下单赚积分"), "xiadanzhuanjifen" : MessageLookupByLibrary.simpleMessage("下单赚积分"),
"xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"), "xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"),
"xiangce" : MessageLookupByLibrary.simpleMessage("相册"), "xiangce" : MessageLookupByLibrary.simpleMessage("相册"),
@ -678,17 +684,19 @@ class MessageLookup extends MessageLookupByLibrary {
"xianxiashiyong" : MessageLookupByLibrary.simpleMessage("线下使用"), "xianxiashiyong" : MessageLookupByLibrary.simpleMessage("线下使用"),
"xiaofei" : MessageLookupByLibrary.simpleMessage("消费"), "xiaofei" : MessageLookupByLibrary.simpleMessage("消费"),
"xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"), "xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"),
"xiaofeijihuanka" : MessageLookupByLibrary.simpleMessage("消费集换卡"),
"xiaofeijilu" : MessageLookupByLibrary.simpleMessage("消费记录"), "xiaofeijilu" : MessageLookupByLibrary.simpleMessage("消费记录"),
"xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"), "xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"),
"xiayidengji" : MessageLookupByLibrary.simpleMessage("下一等级"), "xiayidengji" : MessageLookupByLibrary.simpleMessage("下一等级"),
"xiazaiwancheng" : MessageLookupByLibrary.simpleMessage("加载完成"), "xiazaiwancheng" : MessageLookupByLibrary.simpleMessage("加载完成"),
"xiedongtai" : MessageLookupByLibrary.simpleMessage("写动态"), "xiedongtai" : MessageLookupByLibrary.simpleMessage("写动态"),
"xieyitanchuang" : MessageLookupByLibrary.simpleMessage("一心回乡用户隐私政策"), "xieyitanchuang" : MessageLookupByLibrary.simpleMessage("一心回乡用户隐私政策"),
"xihuan_" : m34, "xihuan_" : m35,
"xindianhuodong" : MessageLookupByLibrary.simpleMessage("星店活动"), "xindianhuodong" : MessageLookupByLibrary.simpleMessage("星店活动"),
"xingming" : MessageLookupByLibrary.simpleMessage("姓名"), "xingming" : MessageLookupByLibrary.simpleMessage("姓名"),
"xitongtongzhi" : MessageLookupByLibrary.simpleMessage("系统通知"), "xitongtongzhi" : MessageLookupByLibrary.simpleMessage("系统通知"),
"xitongxiaoxi" : MessageLookupByLibrary.simpleMessage("系统消息"), "xitongxiaoxi" : MessageLookupByLibrary.simpleMessage("系统消息"),
"xiugai" : MessageLookupByLibrary.simpleMessage("修改"),
"xiugaichenggong" : MessageLookupByLibrary.simpleMessage("修改成功"), "xiugaichenggong" : MessageLookupByLibrary.simpleMessage("修改成功"),
"xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用户名"), "xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用户名"),
"xuanguige" : MessageLookupByLibrary.simpleMessage("选规格"), "xuanguige" : MessageLookupByLibrary.simpleMessage("选规格"),
@ -703,11 +711,11 @@ class MessageLookup extends MessageLookupByLibrary {
"yanzhengma" : MessageLookupByLibrary.simpleMessage("验证码"), "yanzhengma" : MessageLookupByLibrary.simpleMessage("验证码"),
"yaoqinghaoyou" : MessageLookupByLibrary.simpleMessage("邀请好友"), "yaoqinghaoyou" : MessageLookupByLibrary.simpleMessage("邀请好友"),
"yaoqinghaoyoudefen" : MessageLookupByLibrary.simpleMessage("邀请好友得分"), "yaoqinghaoyoudefen" : MessageLookupByLibrary.simpleMessage("邀请好友得分"),
"yaoqingrenshoujihao_" : m35, "yaoqingrenshoujihao_" : m36,
"yaoqingwancheng" : MessageLookupByLibrary.simpleMessage("邀请完成"), "yaoqingwancheng" : MessageLookupByLibrary.simpleMessage("邀请完成"),
"yibangfuka" : MessageLookupByLibrary.simpleMessage("已绑副卡"), "yibangfuka" : MessageLookupByLibrary.simpleMessage("已绑副卡"),
"yiduihuan" : MessageLookupByLibrary.simpleMessage("已兑换"), "yiduihuan" : MessageLookupByLibrary.simpleMessage("已兑换"),
"yiduihuanjian" : m36, "yiduihuanjian" : m37,
"yifahuo" : MessageLookupByLibrary.simpleMessage("已发货"), "yifahuo" : MessageLookupByLibrary.simpleMessage("已发货"),
"yiguanzhu" : MessageLookupByLibrary.simpleMessage("已关注"), "yiguanzhu" : MessageLookupByLibrary.simpleMessage("已关注"),
"yihouzaishuo" : MessageLookupByLibrary.simpleMessage("以后再说"), "yihouzaishuo" : MessageLookupByLibrary.simpleMessage("以后再说"),
@ -725,7 +733,7 @@ class MessageLookup extends MessageLookupByLibrary {
"yindaoye3" : MessageLookupByLibrary.simpleMessage("会员活动专区"), "yindaoye3" : MessageLookupByLibrary.simpleMessage("会员活动专区"),
"yindaoye4" : MessageLookupByLibrary.simpleMessage("过健康有机生活"), "yindaoye4" : MessageLookupByLibrary.simpleMessage("过健康有机生活"),
"yingwen" : MessageLookupByLibrary.simpleMessage("英文"), "yingwen" : MessageLookupByLibrary.simpleMessage("英文"),
"yingyeshijian" : m37, "yingyeshijian" : m38,
"yinkahuiyuan" : MessageLookupByLibrary.simpleMessage("银卡会员"), "yinkahuiyuan" : MessageLookupByLibrary.simpleMessage("银卡会员"),
"yinshi" : MessageLookupByLibrary.simpleMessage("饮食"), "yinshi" : MessageLookupByLibrary.simpleMessage("饮食"),
"yinsishengming" : MessageLookupByLibrary.simpleMessage("隐私声明"), "yinsishengming" : MessageLookupByLibrary.simpleMessage("隐私声明"),
@ -755,15 +763,15 @@ class MessageLookup extends MessageLookupByLibrary {
"youhuiquanlingqu" : MessageLookupByLibrary.simpleMessage("优惠券领取"), "youhuiquanlingqu" : MessageLookupByLibrary.simpleMessage("优惠券领取"),
"youhuiquanwufajileijifen" : MessageLookupByLibrary.simpleMessage("优惠金额无法累积积分,订单撤销或其他原因造成的未成功支付的订单,无法获得对应的积分。"), "youhuiquanwufajileijifen" : MessageLookupByLibrary.simpleMessage("优惠金额无法累积积分,订单撤销或其他原因造成的未成功支付的订单,无法获得对应的积分。"),
"youkedenglu" : MessageLookupByLibrary.simpleMessage("游客登录"), "youkedenglu" : MessageLookupByLibrary.simpleMessage("游客登录"),
"youxiaoqi" : m38, "youxiaoqi" : m39,
"youxiaoqixian" : MessageLookupByLibrary.simpleMessage("有效期限:"), "youxiaoqixian" : MessageLookupByLibrary.simpleMessage("有效期限:"),
"youxiaoqizhi" : m39, "youxiaoqizhi" : m40,
"yuan" : MessageLookupByLibrary.simpleMessage(""), "yuan" : MessageLookupByLibrary.simpleMessage(""),
"yuan_" : m40, "yuan_" : m41,
"yuanjia" : MessageLookupByLibrary.simpleMessage("原价"), "yuanjia" : MessageLookupByLibrary.simpleMessage("原价"),
"yue" : MessageLookupByLibrary.simpleMessage("余额"), "yue" : MessageLookupByLibrary.simpleMessage("余额"),
"yue_" : m41, "yue_" : m42,
"yue__" : m42, "yue__" : m43,
"yuemingxi" : MessageLookupByLibrary.simpleMessage("余额明细"), "yuemingxi" : MessageLookupByLibrary.simpleMessage("余额明细"),
"yuliudianhua" : MessageLookupByLibrary.simpleMessage("预留电话"), "yuliudianhua" : MessageLookupByLibrary.simpleMessage("预留电话"),
"yunfei" : MessageLookupByLibrary.simpleMessage("运费"), "yunfei" : MessageLookupByLibrary.simpleMessage("运费"),
@ -814,6 +822,6 @@ class MessageLookup extends MessageLookupByLibrary {
"zuanshihuiyuan" : MessageLookupByLibrary.simpleMessage("钻石会员"), "zuanshihuiyuan" : MessageLookupByLibrary.simpleMessage("钻石会员"),
"zuixinwenzhang" : MessageLookupByLibrary.simpleMessage("最新文章"), "zuixinwenzhang" : MessageLookupByLibrary.simpleMessage("最新文章"),
"zuorenwudejifen" : MessageLookupByLibrary.simpleMessage("做任务得积分"), "zuorenwudejifen" : MessageLookupByLibrary.simpleMessage("做任务得积分"),
"zuozhe" : m43 "zuozhe" : m44
}; };
} }

60
lib/generated/intl/messages_zh_Hans_CN.dart

@ -81,31 +81,33 @@ class MessageLookup extends MessageLookupByLibrary {
static m30(jifen) => "实付积分 ${jifen}积分"; static m30(jifen) => "实付积分 ${jifen}积分";
static m31(sui) => "${sui}"; static m31(jihuanka) => "实付集换卡 ${jihuanka}集换卡";
static m32(num) => "完成${num}"; static m32(sui) => "${sui}";
static m33(time) => "下单时间:${time}"; static m33(num) => "完成${num}";
static m34(xihuan) => "喜欢(${xihuan})"; static m34(time) => "下单时间:${time}";
static m35(shoujihao) => "邀请人手机号:${shoujihao}"; static m35(xihuan) => "喜欢(${xihuan})";
static m36(jian) => "已兑换${jian}"; static m36(shoujihao) => "邀请人手机号:${shoujihao}";
static m37(time) => "营业时间: ${time}"; static m37(jian) => "已兑换${jian}";
static m38(date) => "有效期:${date}"; static m38(time) => "营业时间: ${time}";
static m39(date) => "有效期${date}"; static m39(date) => "有效期:${date}";
static m40(yuan) => "${yuan}"; static m40(date) => "有效期至${date}";
static m41(yue) => "余额${yue}"; static m41(yuan) => "${yuan}";
static m42(yue) => "余额 ${yue}"; static m42(yue) => "余额${yue}";
static m43(zuozhe) => "作者:${zuozhe}"; static m43(yue) => "余额 ${yue}";
static m44(zuozhe) => "作者:${zuozhe}";
final messages = _notInlinedMessages(_notInlinedMessages); final messages = _notInlinedMessages(_notInlinedMessages);
static _notInlinedMessages(_) => <String, Function> { static _notInlinedMessages(_) => <String, Function> {
@ -114,6 +116,7 @@ class MessageLookup extends MessageLookupByLibrary {
"baiyinhuiyuan" : MessageLookupByLibrary.simpleMessage("白银会员"), "baiyinhuiyuan" : MessageLookupByLibrary.simpleMessage("白银会员"),
"banben" : m0, "banben" : m0,
"bangdingfuka" : MessageLookupByLibrary.simpleMessage("绑定副卡"), "bangdingfuka" : MessageLookupByLibrary.simpleMessage("绑定副卡"),
"bangdingshouji" : MessageLookupByLibrary.simpleMessage("绑定手机"),
"bangong" : MessageLookupByLibrary.simpleMessage("办公"), "bangong" : MessageLookupByLibrary.simpleMessage("办公"),
"bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("帮助与反馈"), "bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("帮助与反馈"),
"baocun" : MessageLookupByLibrary.simpleMessage("保存"), "baocun" : MessageLookupByLibrary.simpleMessage("保存"),
@ -257,6 +260,7 @@ class MessageLookup extends MessageLookupByLibrary {
"gengduo" : MessageLookupByLibrary.simpleMessage("更多"), "gengduo" : MessageLookupByLibrary.simpleMessage("更多"),
"gengduohaoquan" : MessageLookupByLibrary.simpleMessage("更多好券"), "gengduohaoquan" : MessageLookupByLibrary.simpleMessage("更多好券"),
"gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多优惠券"), "gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多优惠券"),
"genggaibangdingshoujihao" : MessageLookupByLibrary.simpleMessage("更改绑定手机号"),
"genghuanbeijing" : MessageLookupByLibrary.simpleMessage("更换背景"), "genghuanbeijing" : MessageLookupByLibrary.simpleMessage("更换背景"),
"genghuantouxiang" : MessageLookupByLibrary.simpleMessage("更换头像"), "genghuantouxiang" : MessageLookupByLibrary.simpleMessage("更换头像"),
"gengyouhui" : MessageLookupByLibrary.simpleMessage("更优惠"), "gengyouhui" : MessageLookupByLibrary.simpleMessage("更优惠"),
@ -346,6 +350,7 @@ class MessageLookup extends MessageLookupByLibrary {
"jifenmingxi" : MessageLookupByLibrary.simpleMessage("积分明细"), "jifenmingxi" : MessageLookupByLibrary.simpleMessage("积分明细"),
"jifenshangcheng" : MessageLookupByLibrary.simpleMessage("积分商城"), "jifenshangcheng" : MessageLookupByLibrary.simpleMessage("积分商城"),
"jifenxiangqing" : MessageLookupByLibrary.simpleMessage("积分详情"), "jifenxiangqing" : MessageLookupByLibrary.simpleMessage("积分详情"),
"jihuanka" : MessageLookupByLibrary.simpleMessage("集换卡"),
"jingbilianmenghuiyuandian" : MessageLookupByLibrary.simpleMessage("净弼联盟会员店"), "jingbilianmenghuiyuandian" : MessageLookupByLibrary.simpleMessage("净弼联盟会员店"),
"jingxuanhaowen" : MessageLookupByLibrary.simpleMessage("精选好文"), "jingxuanhaowen" : MessageLookupByLibrary.simpleMessage("精选好文"),
"jingxuanhuodong" : MessageLookupByLibrary.simpleMessage("精选活动"), "jingxuanhuodong" : MessageLookupByLibrary.simpleMessage("精选活动"),
@ -569,6 +574,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shifangjiazaigengduo" : MessageLookupByLibrary.simpleMessage("释放加载更多"), "shifangjiazaigengduo" : MessageLookupByLibrary.simpleMessage("释放加载更多"),
"shifangshuaxin" : MessageLookupByLibrary.simpleMessage("释放刷新"), "shifangshuaxin" : MessageLookupByLibrary.simpleMessage("释放刷新"),
"shifujifen" : m30, "shifujifen" : m30,
"shifujihuanka" : m31,
"shimingrenzheng" : MessageLookupByLibrary.simpleMessage("实名认证"), "shimingrenzheng" : MessageLookupByLibrary.simpleMessage("实名认证"),
"shixiaoquan" : MessageLookupByLibrary.simpleMessage("失效券"), "shixiaoquan" : MessageLookupByLibrary.simpleMessage("失效券"),
"shixiaoyouhuiquan" : MessageLookupByLibrary.simpleMessage("失效优惠券"), "shixiaoyouhuiquan" : MessageLookupByLibrary.simpleMessage("失效优惠券"),
@ -595,7 +601,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shuliang" : MessageLookupByLibrary.simpleMessage("数量"), "shuliang" : MessageLookupByLibrary.simpleMessage("数量"),
"shurushouhuorendizhi" : MessageLookupByLibrary.simpleMessage("请输入收货人地址"), "shurushouhuorendizhi" : MessageLookupByLibrary.simpleMessage("请输入收货人地址"),
"shuruzhifumima" : MessageLookupByLibrary.simpleMessage("输入支付密码"), "shuruzhifumima" : MessageLookupByLibrary.simpleMessage("输入支付密码"),
"sui" : m31, "sui" : m32,
"tangshi" : MessageLookupByLibrary.simpleMessage("堂食"), "tangshi" : MessageLookupByLibrary.simpleMessage("堂食"),
"tebieshengming" : MessageLookupByLibrary.simpleMessage("特别声明"), "tebieshengming" : MessageLookupByLibrary.simpleMessage("特别声明"),
"tehuizhuanqu" : MessageLookupByLibrary.simpleMessage("特惠专区"), "tehuizhuanqu" : MessageLookupByLibrary.simpleMessage("特惠专区"),
@ -621,7 +627,7 @@ class MessageLookup extends MessageLookupByLibrary {
"waisong" : MessageLookupByLibrary.simpleMessage("外送"), "waisong" : MessageLookupByLibrary.simpleMessage("外送"),
"wan" : MessageLookupByLibrary.simpleMessage(""), "wan" : MessageLookupByLibrary.simpleMessage(""),
"wancheng" : MessageLookupByLibrary.simpleMessage("完成"), "wancheng" : MessageLookupByLibrary.simpleMessage("完成"),
"wancheng_" : m32, "wancheng_" : m33,
"wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下单"), "wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下单"),
"wangjimima" : MessageLookupByLibrary.simpleMessage("忘记密码"), "wangjimima" : MessageLookupByLibrary.simpleMessage("忘记密码"),
"wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"), "wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"),
@ -665,7 +671,7 @@ class MessageLookup extends MessageLookupByLibrary {
"wuliuxinxi" : MessageLookupByLibrary.simpleMessage("物流信息"), "wuliuxinxi" : MessageLookupByLibrary.simpleMessage("物流信息"),
"wuliuzhuangtai" : MessageLookupByLibrary.simpleMessage("物流状态:"), "wuliuzhuangtai" : MessageLookupByLibrary.simpleMessage("物流状态:"),
"xiadanshijian" : MessageLookupByLibrary.simpleMessage("下单时间"), "xiadanshijian" : MessageLookupByLibrary.simpleMessage("下单时间"),
"xiadanshijian_" : m33, "xiadanshijian_" : m34,
"xiadanzhuanjifen" : MessageLookupByLibrary.simpleMessage("下单赚积分"), "xiadanzhuanjifen" : MessageLookupByLibrary.simpleMessage("下单赚积分"),
"xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"), "xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"),
"xiangce" : MessageLookupByLibrary.simpleMessage("相册"), "xiangce" : MessageLookupByLibrary.simpleMessage("相册"),
@ -678,17 +684,19 @@ class MessageLookup extends MessageLookupByLibrary {
"xianxiashiyong" : MessageLookupByLibrary.simpleMessage("线下使用"), "xianxiashiyong" : MessageLookupByLibrary.simpleMessage("线下使用"),
"xiaofei" : MessageLookupByLibrary.simpleMessage("消费"), "xiaofei" : MessageLookupByLibrary.simpleMessage("消费"),
"xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"), "xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"),
"xiaofeijihuanka" : MessageLookupByLibrary.simpleMessage("消费集换卡"),
"xiaofeijilu" : MessageLookupByLibrary.simpleMessage("消费记录"), "xiaofeijilu" : MessageLookupByLibrary.simpleMessage("消费记录"),
"xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"), "xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"),
"xiayidengji" : MessageLookupByLibrary.simpleMessage("下一等级"), "xiayidengji" : MessageLookupByLibrary.simpleMessage("下一等级"),
"xiazaiwancheng" : MessageLookupByLibrary.simpleMessage("加载完成"), "xiazaiwancheng" : MessageLookupByLibrary.simpleMessage("加载完成"),
"xiedongtai" : MessageLookupByLibrary.simpleMessage("写动态"), "xiedongtai" : MessageLookupByLibrary.simpleMessage("写动态"),
"xieyitanchuang" : MessageLookupByLibrary.simpleMessage("一心回乡用户隐私政策"), "xieyitanchuang" : MessageLookupByLibrary.simpleMessage("一心回乡用户隐私政策"),
"xihuan_" : m34, "xihuan_" : m35,
"xindianhuodong" : MessageLookupByLibrary.simpleMessage("星店活动"), "xindianhuodong" : MessageLookupByLibrary.simpleMessage("星店活动"),
"xingming" : MessageLookupByLibrary.simpleMessage("姓名"), "xingming" : MessageLookupByLibrary.simpleMessage("姓名"),
"xitongtongzhi" : MessageLookupByLibrary.simpleMessage("系统通知"), "xitongtongzhi" : MessageLookupByLibrary.simpleMessage("系统通知"),
"xitongxiaoxi" : MessageLookupByLibrary.simpleMessage("系统消息"), "xitongxiaoxi" : MessageLookupByLibrary.simpleMessage("系统消息"),
"xiugai" : MessageLookupByLibrary.simpleMessage("修改"),
"xiugaichenggong" : MessageLookupByLibrary.simpleMessage("修改成功"), "xiugaichenggong" : MessageLookupByLibrary.simpleMessage("修改成功"),
"xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用户名"), "xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用户名"),
"xuanguige" : MessageLookupByLibrary.simpleMessage("选规格"), "xuanguige" : MessageLookupByLibrary.simpleMessage("选规格"),
@ -703,11 +711,11 @@ class MessageLookup extends MessageLookupByLibrary {
"yanzhengma" : MessageLookupByLibrary.simpleMessage("验证码"), "yanzhengma" : MessageLookupByLibrary.simpleMessage("验证码"),
"yaoqinghaoyou" : MessageLookupByLibrary.simpleMessage("邀请好友"), "yaoqinghaoyou" : MessageLookupByLibrary.simpleMessage("邀请好友"),
"yaoqinghaoyoudefen" : MessageLookupByLibrary.simpleMessage("邀请好友得分"), "yaoqinghaoyoudefen" : MessageLookupByLibrary.simpleMessage("邀请好友得分"),
"yaoqingrenshoujihao_" : m35, "yaoqingrenshoujihao_" : m36,
"yaoqingwancheng" : MessageLookupByLibrary.simpleMessage("邀请完成"), "yaoqingwancheng" : MessageLookupByLibrary.simpleMessage("邀请完成"),
"yibangfuka" : MessageLookupByLibrary.simpleMessage("已绑副卡"), "yibangfuka" : MessageLookupByLibrary.simpleMessage("已绑副卡"),
"yiduihuan" : MessageLookupByLibrary.simpleMessage("已兑换"), "yiduihuan" : MessageLookupByLibrary.simpleMessage("已兑换"),
"yiduihuanjian" : m36, "yiduihuanjian" : m37,
"yifahuo" : MessageLookupByLibrary.simpleMessage("已发货"), "yifahuo" : MessageLookupByLibrary.simpleMessage("已发货"),
"yiguanzhu" : MessageLookupByLibrary.simpleMessage("已关注"), "yiguanzhu" : MessageLookupByLibrary.simpleMessage("已关注"),
"yihouzaishuo" : MessageLookupByLibrary.simpleMessage("以后再说"), "yihouzaishuo" : MessageLookupByLibrary.simpleMessage("以后再说"),
@ -725,7 +733,7 @@ class MessageLookup extends MessageLookupByLibrary {
"yindaoye3" : MessageLookupByLibrary.simpleMessage("会员活动专区"), "yindaoye3" : MessageLookupByLibrary.simpleMessage("会员活动专区"),
"yindaoye4" : MessageLookupByLibrary.simpleMessage("过健康有机生活"), "yindaoye4" : MessageLookupByLibrary.simpleMessage("过健康有机生活"),
"yingwen" : MessageLookupByLibrary.simpleMessage("英文"), "yingwen" : MessageLookupByLibrary.simpleMessage("英文"),
"yingyeshijian" : m37, "yingyeshijian" : m38,
"yinkahuiyuan" : MessageLookupByLibrary.simpleMessage("银卡会员"), "yinkahuiyuan" : MessageLookupByLibrary.simpleMessage("银卡会员"),
"yinshi" : MessageLookupByLibrary.simpleMessage("饮食"), "yinshi" : MessageLookupByLibrary.simpleMessage("饮食"),
"yinsishengming" : MessageLookupByLibrary.simpleMessage("隐私声明"), "yinsishengming" : MessageLookupByLibrary.simpleMessage("隐私声明"),
@ -755,15 +763,15 @@ class MessageLookup extends MessageLookupByLibrary {
"youhuiquanlingqu" : MessageLookupByLibrary.simpleMessage("优惠券领取"), "youhuiquanlingqu" : MessageLookupByLibrary.simpleMessage("优惠券领取"),
"youhuiquanwufajileijifen" : MessageLookupByLibrary.simpleMessage("优惠金额无法累积积分,订单撤销或其他原因造成的未成功支付的订单,无法获得对应的积分。"), "youhuiquanwufajileijifen" : MessageLookupByLibrary.simpleMessage("优惠金额无法累积积分,订单撤销或其他原因造成的未成功支付的订单,无法获得对应的积分。"),
"youkedenglu" : MessageLookupByLibrary.simpleMessage("游客登录"), "youkedenglu" : MessageLookupByLibrary.simpleMessage("游客登录"),
"youxiaoqi" : m38, "youxiaoqi" : m39,
"youxiaoqixian" : MessageLookupByLibrary.simpleMessage("有效期限:"), "youxiaoqixian" : MessageLookupByLibrary.simpleMessage("有效期限:"),
"youxiaoqizhi" : m39, "youxiaoqizhi" : m40,
"yuan" : MessageLookupByLibrary.simpleMessage(""), "yuan" : MessageLookupByLibrary.simpleMessage(""),
"yuan_" : m40, "yuan_" : m41,
"yuanjia" : MessageLookupByLibrary.simpleMessage("原价"), "yuanjia" : MessageLookupByLibrary.simpleMessage("原价"),
"yue" : MessageLookupByLibrary.simpleMessage("余额"), "yue" : MessageLookupByLibrary.simpleMessage("余额"),
"yue_" : m41, "yue_" : m42,
"yue__" : m42, "yue__" : m43,
"yuemingxi" : MessageLookupByLibrary.simpleMessage("余额明细"), "yuemingxi" : MessageLookupByLibrary.simpleMessage("余额明细"),
"yuliudianhua" : MessageLookupByLibrary.simpleMessage("预留电话"), "yuliudianhua" : MessageLookupByLibrary.simpleMessage("预留电话"),
"yunfei" : MessageLookupByLibrary.simpleMessage("运费"), "yunfei" : MessageLookupByLibrary.simpleMessage("运费"),
@ -814,6 +822,6 @@ class MessageLookup extends MessageLookupByLibrary {
"zuanshihuiyuan" : MessageLookupByLibrary.simpleMessage("钻石会员"), "zuanshihuiyuan" : MessageLookupByLibrary.simpleMessage("钻石会员"),
"zuixinwenzhang" : MessageLookupByLibrary.simpleMessage("最新文章"), "zuixinwenzhang" : MessageLookupByLibrary.simpleMessage("最新文章"),
"zuorenwudejifen" : MessageLookupByLibrary.simpleMessage("做任务得积分"), "zuorenwudejifen" : MessageLookupByLibrary.simpleMessage("做任务得积分"),
"zuozhe" : m43 "zuozhe" : m44
}; };
} }

60
lib/generated/intl/messages_zh_Hant_CN.dart

@ -79,31 +79,33 @@ class MessageLookup extends MessageLookupByLibrary {
static m30(jifen) => "實付積分 ${jifen}積分"; static m30(jifen) => "實付積分 ${jifen}積分";
static m31(sui) => "${sui}"; static m31(jihuanka) => "實付集換卡 ${jihuanka}集換卡";
static m32(num) => "完成${num}"; static m32(sui) => "${sui}";
static m33(time) => "下單時間:${time}"; static m33(num) => "完成${num}";
static m34(xihuan) => "喜歡(${xihuan})"; static m34(time) => "下單時間:${time}";
static m35(shoujihao) => "邀请人手機號:${shoujihao}"; static m35(xihuan) => "喜歡(${xihuan})";
static m36(jian) => "已兌換${jian}"; static m36(shoujihao) => "邀请人手機號:${shoujihao}";
static m37(time) => "營業時間: ${time}"; static m37(jian) => "已兌換${jian}";
static m38(date) => "有效期:${date}"; static m38(time) => "營業時間: ${time}";
static m39(date) => "有效期${date}"; static m39(date) => "有效期:${date}";
static m40(yuan) => "${yuan}"; static m40(date) => "有效期至${date}";
static m41(yue) => "餘額${yue}"; static m41(yuan) => "${yuan}";
static m42(yue) => "餘額 ${yue}"; static m42(yue) => "餘額${yue}";
static m43(zuozhe) => "作者:${zuozhe}"; static m43(yue) => "餘額 ${yue}";
static m44(zuozhe) => "作者:${zuozhe}";
final messages = _notInlinedMessages(_notInlinedMessages); final messages = _notInlinedMessages(_notInlinedMessages);
static _notInlinedMessages(_) => <String, Function> { static _notInlinedMessages(_) => <String, Function> {
@ -112,6 +114,7 @@ class MessageLookup extends MessageLookupByLibrary {
"baiyinhuiyuan" : MessageLookupByLibrary.simpleMessage("白銀會員"), "baiyinhuiyuan" : MessageLookupByLibrary.simpleMessage("白銀會員"),
"banben" : m0, "banben" : m0,
"bangdingfuka" : MessageLookupByLibrary.simpleMessage("綁定副卡"), "bangdingfuka" : MessageLookupByLibrary.simpleMessage("綁定副卡"),
"bangdingshouji" : MessageLookupByLibrary.simpleMessage("綁定手機"),
"bangong" : MessageLookupByLibrary.simpleMessage("辦公"), "bangong" : MessageLookupByLibrary.simpleMessage("辦公"),
"bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("幫助與反饋"), "bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("幫助與反饋"),
"baocun" : MessageLookupByLibrary.simpleMessage("保存"), "baocun" : MessageLookupByLibrary.simpleMessage("保存"),
@ -253,6 +256,7 @@ class MessageLookup extends MessageLookupByLibrary {
"gengduo" : MessageLookupByLibrary.simpleMessage("更多"), "gengduo" : MessageLookupByLibrary.simpleMessage("更多"),
"gengduohaoquan" : MessageLookupByLibrary.simpleMessage("更多好券"), "gengduohaoquan" : MessageLookupByLibrary.simpleMessage("更多好券"),
"gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多優惠券"), "gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多優惠券"),
"genggaibangdingshoujihao" : MessageLookupByLibrary.simpleMessage("更改綁定手機號"),
"genghuanbeijing" : MessageLookupByLibrary.simpleMessage("更換背景"), "genghuanbeijing" : MessageLookupByLibrary.simpleMessage("更換背景"),
"genghuantouxiang" : MessageLookupByLibrary.simpleMessage("更换头像"), "genghuantouxiang" : MessageLookupByLibrary.simpleMessage("更换头像"),
"gengyouhui" : MessageLookupByLibrary.simpleMessage("更優惠"), "gengyouhui" : MessageLookupByLibrary.simpleMessage("更優惠"),
@ -342,6 +346,7 @@ class MessageLookup extends MessageLookupByLibrary {
"jifenmingxi" : MessageLookupByLibrary.simpleMessage("積分明細"), "jifenmingxi" : MessageLookupByLibrary.simpleMessage("積分明細"),
"jifenshangcheng" : MessageLookupByLibrary.simpleMessage("積分商城"), "jifenshangcheng" : MessageLookupByLibrary.simpleMessage("積分商城"),
"jifenxiangqing" : MessageLookupByLibrary.simpleMessage("積分詳情"), "jifenxiangqing" : MessageLookupByLibrary.simpleMessage("積分詳情"),
"jihuanka" : MessageLookupByLibrary.simpleMessage("集換卡"),
"jingbilianmenghuiyuandian" : MessageLookupByLibrary.simpleMessage("淨弼聯盟會員店"), "jingbilianmenghuiyuandian" : MessageLookupByLibrary.simpleMessage("淨弼聯盟會員店"),
"jingxuanhaowen" : MessageLookupByLibrary.simpleMessage("精選好文"), "jingxuanhaowen" : MessageLookupByLibrary.simpleMessage("精選好文"),
"jingxuanhuodong" : MessageLookupByLibrary.simpleMessage("精選活動"), "jingxuanhuodong" : MessageLookupByLibrary.simpleMessage("精選活動"),
@ -564,6 +569,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shifangjiazaigengduo" : MessageLookupByLibrary.simpleMessage("釋放加載更多"), "shifangjiazaigengduo" : MessageLookupByLibrary.simpleMessage("釋放加載更多"),
"shifangshuaxin" : MessageLookupByLibrary.simpleMessage("釋放刷新"), "shifangshuaxin" : MessageLookupByLibrary.simpleMessage("釋放刷新"),
"shifujifen" : m30, "shifujifen" : m30,
"shifujihuanka" : m31,
"shimingrenzheng" : MessageLookupByLibrary.simpleMessage("實名認證"), "shimingrenzheng" : MessageLookupByLibrary.simpleMessage("實名認證"),
"shixiaoquan" : MessageLookupByLibrary.simpleMessage("失效券"), "shixiaoquan" : MessageLookupByLibrary.simpleMessage("失效券"),
"shixiaoyouhuiquan" : MessageLookupByLibrary.simpleMessage("失效优惠券"), "shixiaoyouhuiquan" : MessageLookupByLibrary.simpleMessage("失效优惠券"),
@ -589,7 +595,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shuliang" : MessageLookupByLibrary.simpleMessage("數量"), "shuliang" : MessageLookupByLibrary.simpleMessage("數量"),
"shurushouhuorendizhi" : MessageLookupByLibrary.simpleMessage("請輸入收貨人地址"), "shurushouhuorendizhi" : MessageLookupByLibrary.simpleMessage("請輸入收貨人地址"),
"shuruzhifumima" : MessageLookupByLibrary.simpleMessage("輸入支付密碼"), "shuruzhifumima" : MessageLookupByLibrary.simpleMessage("輸入支付密碼"),
"sui" : m31, "sui" : m32,
"tangshi" : MessageLookupByLibrary.simpleMessage("堂食"), "tangshi" : MessageLookupByLibrary.simpleMessage("堂食"),
"tebieshengming" : MessageLookupByLibrary.simpleMessage("特別聲明"), "tebieshengming" : MessageLookupByLibrary.simpleMessage("特別聲明"),
"tehuizhuanqu" : MessageLookupByLibrary.simpleMessage("特惠專區"), "tehuizhuanqu" : MessageLookupByLibrary.simpleMessage("特惠專區"),
@ -615,7 +621,7 @@ class MessageLookup extends MessageLookupByLibrary {
"waisong" : MessageLookupByLibrary.simpleMessage("外送"), "waisong" : MessageLookupByLibrary.simpleMessage("外送"),
"wan" : MessageLookupByLibrary.simpleMessage(""), "wan" : MessageLookupByLibrary.simpleMessage(""),
"wancheng" : MessageLookupByLibrary.simpleMessage("完成"), "wancheng" : MessageLookupByLibrary.simpleMessage("完成"),
"wancheng_" : m32, "wancheng_" : m33,
"wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下單"), "wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下單"),
"wangjimima" : MessageLookupByLibrary.simpleMessage("忘記密碼"), "wangjimima" : MessageLookupByLibrary.simpleMessage("忘記密碼"),
"wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"), "wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"),
@ -659,7 +665,7 @@ class MessageLookup extends MessageLookupByLibrary {
"wuliuxinxi" : MessageLookupByLibrary.simpleMessage("物流信息"), "wuliuxinxi" : MessageLookupByLibrary.simpleMessage("物流信息"),
"wuliuzhuangtai" : MessageLookupByLibrary.simpleMessage("物流狀態:"), "wuliuzhuangtai" : MessageLookupByLibrary.simpleMessage("物流狀態:"),
"xiadanshijian" : MessageLookupByLibrary.simpleMessage("下單時間"), "xiadanshijian" : MessageLookupByLibrary.simpleMessage("下單時間"),
"xiadanshijian_" : m33, "xiadanshijian_" : m34,
"xiadanzhuanjifen" : MessageLookupByLibrary.simpleMessage("下單賺積分"), "xiadanzhuanjifen" : MessageLookupByLibrary.simpleMessage("下單賺積分"),
"xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"), "xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"),
"xiangce" : MessageLookupByLibrary.simpleMessage("相冊"), "xiangce" : MessageLookupByLibrary.simpleMessage("相冊"),
@ -672,17 +678,19 @@ class MessageLookup extends MessageLookupByLibrary {
"xianxiashiyong" : MessageLookupByLibrary.simpleMessage("線下使用"), "xianxiashiyong" : MessageLookupByLibrary.simpleMessage("線下使用"),
"xiaofei" : MessageLookupByLibrary.simpleMessage("消費"), "xiaofei" : MessageLookupByLibrary.simpleMessage("消費"),
"xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"), "xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"),
"xiaofeijihuanka" : MessageLookupByLibrary.simpleMessage("消費集換卡"),
"xiaofeijilu" : MessageLookupByLibrary.simpleMessage("消費記錄"), "xiaofeijilu" : MessageLookupByLibrary.simpleMessage("消費記錄"),
"xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"), "xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"),
"xiayidengji" : MessageLookupByLibrary.simpleMessage("下一等級"), "xiayidengji" : MessageLookupByLibrary.simpleMessage("下一等級"),
"xiazaiwancheng" : MessageLookupByLibrary.simpleMessage("加載完成"), "xiazaiwancheng" : MessageLookupByLibrary.simpleMessage("加載完成"),
"xiedongtai" : MessageLookupByLibrary.simpleMessage("寫動態"), "xiedongtai" : MessageLookupByLibrary.simpleMessage("寫動態"),
"xieyitanchuang" : MessageLookupByLibrary.simpleMessage("一心回鄉用戶隱私協議"), "xieyitanchuang" : MessageLookupByLibrary.simpleMessage("一心回鄉用戶隱私協議"),
"xihuan_" : m34, "xihuan_" : m35,
"xindianhuodong" : MessageLookupByLibrary.simpleMessage("星店活動"), "xindianhuodong" : MessageLookupByLibrary.simpleMessage("星店活動"),
"xingming" : MessageLookupByLibrary.simpleMessage("姓名"), "xingming" : MessageLookupByLibrary.simpleMessage("姓名"),
"xitongtongzhi" : MessageLookupByLibrary.simpleMessage("系統通知"), "xitongtongzhi" : MessageLookupByLibrary.simpleMessage("系統通知"),
"xitongxiaoxi" : MessageLookupByLibrary.simpleMessage("系統消息"), "xitongxiaoxi" : MessageLookupByLibrary.simpleMessage("系統消息"),
"xiugai" : MessageLookupByLibrary.simpleMessage("修改"),
"xiugaichenggong" : MessageLookupByLibrary.simpleMessage("修改成功"), "xiugaichenggong" : MessageLookupByLibrary.simpleMessage("修改成功"),
"xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用戶名"), "xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用戶名"),
"xuanguige" : MessageLookupByLibrary.simpleMessage("選規格"), "xuanguige" : MessageLookupByLibrary.simpleMessage("選規格"),
@ -697,11 +705,11 @@ class MessageLookup extends MessageLookupByLibrary {
"yanzhengma" : MessageLookupByLibrary.simpleMessage("驗證碼"), "yanzhengma" : MessageLookupByLibrary.simpleMessage("驗證碼"),
"yaoqinghaoyou" : MessageLookupByLibrary.simpleMessage("邀請好友"), "yaoqinghaoyou" : MessageLookupByLibrary.simpleMessage("邀請好友"),
"yaoqinghaoyoudefen" : MessageLookupByLibrary.simpleMessage("邀請好友得分"), "yaoqinghaoyoudefen" : MessageLookupByLibrary.simpleMessage("邀請好友得分"),
"yaoqingrenshoujihao_" : m35, "yaoqingrenshoujihao_" : m36,
"yaoqingwancheng" : MessageLookupByLibrary.simpleMessage("邀請完成"), "yaoqingwancheng" : MessageLookupByLibrary.simpleMessage("邀請完成"),
"yibangfuka" : MessageLookupByLibrary.simpleMessage("已綁副卡"), "yibangfuka" : MessageLookupByLibrary.simpleMessage("已綁副卡"),
"yiduihuan" : MessageLookupByLibrary.simpleMessage("已兌換"), "yiduihuan" : MessageLookupByLibrary.simpleMessage("已兌換"),
"yiduihuanjian" : m36, "yiduihuanjian" : m37,
"yifahuo" : MessageLookupByLibrary.simpleMessage("已發貨"), "yifahuo" : MessageLookupByLibrary.simpleMessage("已發貨"),
"yiguanzhu" : MessageLookupByLibrary.simpleMessage("已關注"), "yiguanzhu" : MessageLookupByLibrary.simpleMessage("已關注"),
"yihouzaishuo" : MessageLookupByLibrary.simpleMessage("以後再說"), "yihouzaishuo" : MessageLookupByLibrary.simpleMessage("以後再說"),
@ -719,7 +727,7 @@ class MessageLookup extends MessageLookupByLibrary {
"yindaoye3" : MessageLookupByLibrary.simpleMessage("會員活動專區"), "yindaoye3" : MessageLookupByLibrary.simpleMessage("會員活動專區"),
"yindaoye4" : MessageLookupByLibrary.simpleMessage("過健康有機生活"), "yindaoye4" : MessageLookupByLibrary.simpleMessage("過健康有機生活"),
"yingwen" : MessageLookupByLibrary.simpleMessage("英文"), "yingwen" : MessageLookupByLibrary.simpleMessage("英文"),
"yingyeshijian" : m37, "yingyeshijian" : m38,
"yinkahuiyuan" : MessageLookupByLibrary.simpleMessage("银卡会员"), "yinkahuiyuan" : MessageLookupByLibrary.simpleMessage("银卡会员"),
"yinshi" : MessageLookupByLibrary.simpleMessage("飲食"), "yinshi" : MessageLookupByLibrary.simpleMessage("飲食"),
"yinsishengming" : MessageLookupByLibrary.simpleMessage("隱私聲明"), "yinsishengming" : MessageLookupByLibrary.simpleMessage("隱私聲明"),
@ -749,15 +757,15 @@ class MessageLookup extends MessageLookupByLibrary {
"youhuiquanlingqu" : MessageLookupByLibrary.simpleMessage("優惠券領取"), "youhuiquanlingqu" : MessageLookupByLibrary.simpleMessage("優惠券領取"),
"youhuiquanwufajileijifen" : MessageLookupByLibrary.simpleMessage("優惠金額無法累積積分,訂單撤銷或其他原因造成的未成功支付的訂單,無法獲得對應的積分。"), "youhuiquanwufajileijifen" : MessageLookupByLibrary.simpleMessage("優惠金額無法累積積分,訂單撤銷或其他原因造成的未成功支付的訂單,無法獲得對應的積分。"),
"youkedenglu" : MessageLookupByLibrary.simpleMessage("遊客登錄"), "youkedenglu" : MessageLookupByLibrary.simpleMessage("遊客登錄"),
"youxiaoqi" : m38, "youxiaoqi" : m39,
"youxiaoqixian" : MessageLookupByLibrary.simpleMessage("有效期限:"), "youxiaoqixian" : MessageLookupByLibrary.simpleMessage("有效期限:"),
"youxiaoqizhi" : m39, "youxiaoqizhi" : m40,
"yuan" : MessageLookupByLibrary.simpleMessage(""), "yuan" : MessageLookupByLibrary.simpleMessage(""),
"yuan_" : m40, "yuan_" : m41,
"yuanjia" : MessageLookupByLibrary.simpleMessage("原價"), "yuanjia" : MessageLookupByLibrary.simpleMessage("原價"),
"yue" : MessageLookupByLibrary.simpleMessage("餘額"), "yue" : MessageLookupByLibrary.simpleMessage("餘額"),
"yue_" : m41, "yue_" : m42,
"yue__" : m42, "yue__" : m43,
"yuemingxi" : MessageLookupByLibrary.simpleMessage("餘額明細"), "yuemingxi" : MessageLookupByLibrary.simpleMessage("餘額明細"),
"yuliudianhua" : MessageLookupByLibrary.simpleMessage("預留電話"), "yuliudianhua" : MessageLookupByLibrary.simpleMessage("預留電話"),
"yunfei" : MessageLookupByLibrary.simpleMessage("運費"), "yunfei" : MessageLookupByLibrary.simpleMessage("運費"),
@ -808,6 +816,6 @@ class MessageLookup extends MessageLookupByLibrary {
"zuanshihuiyuan" : MessageLookupByLibrary.simpleMessage("鑽石會員"), "zuanshihuiyuan" : MessageLookupByLibrary.simpleMessage("鑽石會員"),
"zuixinwenzhang" : MessageLookupByLibrary.simpleMessage("最新文章"), "zuixinwenzhang" : MessageLookupByLibrary.simpleMessage("最新文章"),
"zuorenwudejifen" : MessageLookupByLibrary.simpleMessage("做任務得積分"), "zuorenwudejifen" : MessageLookupByLibrary.simpleMessage("做任務得積分"),
"zuozhe" : m43 "zuozhe" : m44
}; };
} }

60
lib/generated/intl/messages_zh_TW.dart

@ -79,31 +79,33 @@ class MessageLookup extends MessageLookupByLibrary {
static m30(jifen) => "實付積分 ${jifen}積分"; static m30(jifen) => "實付積分 ${jifen}積分";
static m31(sui) => "${sui}"; static m31(jihuanka) => "實付集換卡 ${jihuanka}集換卡";
static m32(num) => "完成${num}"; static m32(sui) => "${sui}";
static m33(time) => "下單時間:${time}"; static m33(num) => "完成${num}";
static m34(xihuan) => "喜歡(${xihuan})"; static m34(time) => "下單時間:${time}";
static m35(shoujihao) => "邀请人手機號:${shoujihao}"; static m35(xihuan) => "喜歡(${xihuan})";
static m36(jian) => "已兌換${jian}"; static m36(shoujihao) => "邀请人手機號:${shoujihao}";
static m37(time) => "營業時間: ${time}"; static m37(jian) => "已兌換${jian}";
static m38(date) => "有效期:${date}"; static m38(time) => "營業時間: ${time}";
static m39(date) => "有效期${date}"; static m39(date) => "有效期:${date}";
static m40(yuan) => "${yuan}"; static m40(date) => "有效期至${date}";
static m41(yue) => "餘額${yue}"; static m41(yuan) => "${yuan}";
static m42(yue) => "餘額 ${yue}"; static m42(yue) => "餘額${yue}";
static m43(zuozhe) => "作者:${zuozhe}"; static m43(yue) => "餘額 ${yue}";
static m44(zuozhe) => "作者:${zuozhe}";
final messages = _notInlinedMessages(_notInlinedMessages); final messages = _notInlinedMessages(_notInlinedMessages);
static _notInlinedMessages(_) => <String, Function> { static _notInlinedMessages(_) => <String, Function> {
@ -112,6 +114,7 @@ class MessageLookup extends MessageLookupByLibrary {
"baiyinhuiyuan" : MessageLookupByLibrary.simpleMessage("白銀會員"), "baiyinhuiyuan" : MessageLookupByLibrary.simpleMessage("白銀會員"),
"banben" : m0, "banben" : m0,
"bangdingfuka" : MessageLookupByLibrary.simpleMessage("綁定副卡"), "bangdingfuka" : MessageLookupByLibrary.simpleMessage("綁定副卡"),
"bangdingshouji" : MessageLookupByLibrary.simpleMessage("綁定手機"),
"bangong" : MessageLookupByLibrary.simpleMessage("辦公"), "bangong" : MessageLookupByLibrary.simpleMessage("辦公"),
"bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("幫助與反饋"), "bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("幫助與反饋"),
"baocun" : MessageLookupByLibrary.simpleMessage("保存"), "baocun" : MessageLookupByLibrary.simpleMessage("保存"),
@ -255,6 +258,7 @@ class MessageLookup extends MessageLookupByLibrary {
"gengduo" : MessageLookupByLibrary.simpleMessage("更多"), "gengduo" : MessageLookupByLibrary.simpleMessage("更多"),
"gengduohaoquan" : MessageLookupByLibrary.simpleMessage("更多好券"), "gengduohaoquan" : MessageLookupByLibrary.simpleMessage("更多好券"),
"gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多優惠券"), "gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多優惠券"),
"genggaibangdingshoujihao" : MessageLookupByLibrary.simpleMessage("更改綁定手機號"),
"genghuanbeijing" : MessageLookupByLibrary.simpleMessage("更換背景"), "genghuanbeijing" : MessageLookupByLibrary.simpleMessage("更換背景"),
"genghuantouxiang" : MessageLookupByLibrary.simpleMessage("更換頭像"), "genghuantouxiang" : MessageLookupByLibrary.simpleMessage("更換頭像"),
"gengyouhui" : MessageLookupByLibrary.simpleMessage("更優惠"), "gengyouhui" : MessageLookupByLibrary.simpleMessage("更優惠"),
@ -344,6 +348,7 @@ class MessageLookup extends MessageLookupByLibrary {
"jifenmingxi" : MessageLookupByLibrary.simpleMessage("積分明細"), "jifenmingxi" : MessageLookupByLibrary.simpleMessage("積分明細"),
"jifenshangcheng" : MessageLookupByLibrary.simpleMessage("積分商城"), "jifenshangcheng" : MessageLookupByLibrary.simpleMessage("積分商城"),
"jifenxiangqing" : MessageLookupByLibrary.simpleMessage("積分詳情"), "jifenxiangqing" : MessageLookupByLibrary.simpleMessage("積分詳情"),
"jihuanka" : MessageLookupByLibrary.simpleMessage("集換卡"),
"jingbilianmenghuiyuandian" : MessageLookupByLibrary.simpleMessage("淨弼聯盟會員店"), "jingbilianmenghuiyuandian" : MessageLookupByLibrary.simpleMessage("淨弼聯盟會員店"),
"jingxuanhaowen" : MessageLookupByLibrary.simpleMessage("精選好文"), "jingxuanhaowen" : MessageLookupByLibrary.simpleMessage("精選好文"),
"jingxuanhuodong" : MessageLookupByLibrary.simpleMessage("精選活動"), "jingxuanhuodong" : MessageLookupByLibrary.simpleMessage("精選活動"),
@ -566,6 +571,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shifangjiazaigengduo" : MessageLookupByLibrary.simpleMessage("釋放加載更多"), "shifangjiazaigengduo" : MessageLookupByLibrary.simpleMessage("釋放加載更多"),
"shifangshuaxin" : MessageLookupByLibrary.simpleMessage("釋放刷新"), "shifangshuaxin" : MessageLookupByLibrary.simpleMessage("釋放刷新"),
"shifujifen" : m30, "shifujifen" : m30,
"shifujihuanka" : m31,
"shimingrenzheng" : MessageLookupByLibrary.simpleMessage("實名認證"), "shimingrenzheng" : MessageLookupByLibrary.simpleMessage("實名認證"),
"shixiaoquan" : MessageLookupByLibrary.simpleMessage("失效券"), "shixiaoquan" : MessageLookupByLibrary.simpleMessage("失效券"),
"shixiaoyouhuiquan" : MessageLookupByLibrary.simpleMessage("失效优惠券"), "shixiaoyouhuiquan" : MessageLookupByLibrary.simpleMessage("失效优惠券"),
@ -592,7 +598,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shuliang" : MessageLookupByLibrary.simpleMessage("數量"), "shuliang" : MessageLookupByLibrary.simpleMessage("數量"),
"shurushouhuorendizhi" : MessageLookupByLibrary.simpleMessage("請輸入收貨人地址"), "shurushouhuorendizhi" : MessageLookupByLibrary.simpleMessage("請輸入收貨人地址"),
"shuruzhifumima" : MessageLookupByLibrary.simpleMessage("輸入支付密碼"), "shuruzhifumima" : MessageLookupByLibrary.simpleMessage("輸入支付密碼"),
"sui" : m31, "sui" : m32,
"tangshi" : MessageLookupByLibrary.simpleMessage("堂食"), "tangshi" : MessageLookupByLibrary.simpleMessage("堂食"),
"tebieshengming" : MessageLookupByLibrary.simpleMessage("特別聲明"), "tebieshengming" : MessageLookupByLibrary.simpleMessage("特別聲明"),
"tehuizhuanqu" : MessageLookupByLibrary.simpleMessage("特惠專區"), "tehuizhuanqu" : MessageLookupByLibrary.simpleMessage("特惠專區"),
@ -618,7 +624,7 @@ class MessageLookup extends MessageLookupByLibrary {
"waisong" : MessageLookupByLibrary.simpleMessage("外送"), "waisong" : MessageLookupByLibrary.simpleMessage("外送"),
"wan" : MessageLookupByLibrary.simpleMessage(""), "wan" : MessageLookupByLibrary.simpleMessage(""),
"wancheng" : MessageLookupByLibrary.simpleMessage("完成"), "wancheng" : MessageLookupByLibrary.simpleMessage("完成"),
"wancheng_" : m32, "wancheng_" : m33,
"wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下單"), "wanchengyicixiadan" : MessageLookupByLibrary.simpleMessage("完成一次下單"),
"wangjimima" : MessageLookupByLibrary.simpleMessage("忘記密碼"), "wangjimima" : MessageLookupByLibrary.simpleMessage("忘記密碼"),
"wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"), "wanjiankang" : MessageLookupByLibrary.simpleMessage("玩健康"),
@ -662,7 +668,7 @@ class MessageLookup extends MessageLookupByLibrary {
"wuliuxinxi" : MessageLookupByLibrary.simpleMessage("物流信息"), "wuliuxinxi" : MessageLookupByLibrary.simpleMessage("物流信息"),
"wuliuzhuangtai" : MessageLookupByLibrary.simpleMessage("物流狀態:"), "wuliuzhuangtai" : MessageLookupByLibrary.simpleMessage("物流狀態:"),
"xiadanshijian" : MessageLookupByLibrary.simpleMessage("下單時間"), "xiadanshijian" : MessageLookupByLibrary.simpleMessage("下單時間"),
"xiadanshijian_" : m33, "xiadanshijian_" : m34,
"xiadanzhuanjifen" : MessageLookupByLibrary.simpleMessage("下單賺積分"), "xiadanzhuanjifen" : MessageLookupByLibrary.simpleMessage("下單賺積分"),
"xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"), "xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"),
"xiangce" : MessageLookupByLibrary.simpleMessage("相冊"), "xiangce" : MessageLookupByLibrary.simpleMessage("相冊"),
@ -675,17 +681,19 @@ class MessageLookup extends MessageLookupByLibrary {
"xianxiashiyong" : MessageLookupByLibrary.simpleMessage("線下使用"), "xianxiashiyong" : MessageLookupByLibrary.simpleMessage("線下使用"),
"xiaofei" : MessageLookupByLibrary.simpleMessage("消費"), "xiaofei" : MessageLookupByLibrary.simpleMessage("消費"),
"xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"), "xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"),
"xiaofeijihuanka" : MessageLookupByLibrary.simpleMessage("消費集換卡"),
"xiaofeijilu" : MessageLookupByLibrary.simpleMessage("消費記錄"), "xiaofeijilu" : MessageLookupByLibrary.simpleMessage("消費記錄"),
"xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"), "xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"),
"xiayidengji" : MessageLookupByLibrary.simpleMessage("下一等級"), "xiayidengji" : MessageLookupByLibrary.simpleMessage("下一等級"),
"xiazaiwancheng" : MessageLookupByLibrary.simpleMessage("加載完成"), "xiazaiwancheng" : MessageLookupByLibrary.simpleMessage("加載完成"),
"xiedongtai" : MessageLookupByLibrary.simpleMessage("寫動態"), "xiedongtai" : MessageLookupByLibrary.simpleMessage("寫動態"),
"xieyitanchuang" : MessageLookupByLibrary.simpleMessage("一心回鄉用戶隱私協議"), "xieyitanchuang" : MessageLookupByLibrary.simpleMessage("一心回鄉用戶隱私協議"),
"xihuan_" : m34, "xihuan_" : m35,
"xindianhuodong" : MessageLookupByLibrary.simpleMessage("星店活動"), "xindianhuodong" : MessageLookupByLibrary.simpleMessage("星店活動"),
"xingming" : MessageLookupByLibrary.simpleMessage("姓名"), "xingming" : MessageLookupByLibrary.simpleMessage("姓名"),
"xitongtongzhi" : MessageLookupByLibrary.simpleMessage("系統通知"), "xitongtongzhi" : MessageLookupByLibrary.simpleMessage("系統通知"),
"xitongxiaoxi" : MessageLookupByLibrary.simpleMessage("系統消息"), "xitongxiaoxi" : MessageLookupByLibrary.simpleMessage("系統消息"),
"xiugai" : MessageLookupByLibrary.simpleMessage("修改"),
"xiugaichenggong" : MessageLookupByLibrary.simpleMessage("修改成功"), "xiugaichenggong" : MessageLookupByLibrary.simpleMessage("修改成功"),
"xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用戶名"), "xiugaiyonghuming" : MessageLookupByLibrary.simpleMessage("修改用戶名"),
"xuanguige" : MessageLookupByLibrary.simpleMessage("選規格"), "xuanguige" : MessageLookupByLibrary.simpleMessage("選規格"),
@ -700,11 +708,11 @@ class MessageLookup extends MessageLookupByLibrary {
"yanzhengma" : MessageLookupByLibrary.simpleMessage("驗證碼"), "yanzhengma" : MessageLookupByLibrary.simpleMessage("驗證碼"),
"yaoqinghaoyou" : MessageLookupByLibrary.simpleMessage("邀請好友"), "yaoqinghaoyou" : MessageLookupByLibrary.simpleMessage("邀請好友"),
"yaoqinghaoyoudefen" : MessageLookupByLibrary.simpleMessage("邀請好友得分"), "yaoqinghaoyoudefen" : MessageLookupByLibrary.simpleMessage("邀請好友得分"),
"yaoqingrenshoujihao_" : m35, "yaoqingrenshoujihao_" : m36,
"yaoqingwancheng" : MessageLookupByLibrary.simpleMessage("邀請完成"), "yaoqingwancheng" : MessageLookupByLibrary.simpleMessage("邀請完成"),
"yibangfuka" : MessageLookupByLibrary.simpleMessage("已綁副卡"), "yibangfuka" : MessageLookupByLibrary.simpleMessage("已綁副卡"),
"yiduihuan" : MessageLookupByLibrary.simpleMessage("已兌換"), "yiduihuan" : MessageLookupByLibrary.simpleMessage("已兌換"),
"yiduihuanjian" : m36, "yiduihuanjian" : m37,
"yifahuo" : MessageLookupByLibrary.simpleMessage("已發貨"), "yifahuo" : MessageLookupByLibrary.simpleMessage("已發貨"),
"yiguanzhu" : MessageLookupByLibrary.simpleMessage("已關注"), "yiguanzhu" : MessageLookupByLibrary.simpleMessage("已關注"),
"yihouzaishuo" : MessageLookupByLibrary.simpleMessage("以後再說"), "yihouzaishuo" : MessageLookupByLibrary.simpleMessage("以後再說"),
@ -722,7 +730,7 @@ class MessageLookup extends MessageLookupByLibrary {
"yindaoye3" : MessageLookupByLibrary.simpleMessage("會員活動專區"), "yindaoye3" : MessageLookupByLibrary.simpleMessage("會員活動專區"),
"yindaoye4" : MessageLookupByLibrary.simpleMessage("過健康有機生活"), "yindaoye4" : MessageLookupByLibrary.simpleMessage("過健康有機生活"),
"yingwen" : MessageLookupByLibrary.simpleMessage("英文"), "yingwen" : MessageLookupByLibrary.simpleMessage("英文"),
"yingyeshijian" : m37, "yingyeshijian" : m38,
"yinkahuiyuan" : MessageLookupByLibrary.simpleMessage("银卡会员"), "yinkahuiyuan" : MessageLookupByLibrary.simpleMessage("银卡会员"),
"yinshi" : MessageLookupByLibrary.simpleMessage("飲食"), "yinshi" : MessageLookupByLibrary.simpleMessage("飲食"),
"yinsishengming" : MessageLookupByLibrary.simpleMessage("隱私聲明"), "yinsishengming" : MessageLookupByLibrary.simpleMessage("隱私聲明"),
@ -752,15 +760,15 @@ class MessageLookup extends MessageLookupByLibrary {
"youhuiquanlingqu" : MessageLookupByLibrary.simpleMessage("優惠券領取"), "youhuiquanlingqu" : MessageLookupByLibrary.simpleMessage("優惠券領取"),
"youhuiquanwufajileijifen" : MessageLookupByLibrary.simpleMessage("優惠金額無法累積積分,訂單撤銷或其他原因造成的未成功支付的訂單,無法獲得對應的積分。"), "youhuiquanwufajileijifen" : MessageLookupByLibrary.simpleMessage("優惠金額無法累積積分,訂單撤銷或其他原因造成的未成功支付的訂單,無法獲得對應的積分。"),
"youkedenglu" : MessageLookupByLibrary.simpleMessage("遊客登錄"), "youkedenglu" : MessageLookupByLibrary.simpleMessage("遊客登錄"),
"youxiaoqi" : m38, "youxiaoqi" : m39,
"youxiaoqixian" : MessageLookupByLibrary.simpleMessage("有效期限:"), "youxiaoqixian" : MessageLookupByLibrary.simpleMessage("有效期限:"),
"youxiaoqizhi" : m39, "youxiaoqizhi" : m40,
"yuan" : MessageLookupByLibrary.simpleMessage(""), "yuan" : MessageLookupByLibrary.simpleMessage(""),
"yuan_" : m40, "yuan_" : m41,
"yuanjia" : MessageLookupByLibrary.simpleMessage("原價"), "yuanjia" : MessageLookupByLibrary.simpleMessage("原價"),
"yue" : MessageLookupByLibrary.simpleMessage("餘額"), "yue" : MessageLookupByLibrary.simpleMessage("餘額"),
"yue_" : m41, "yue_" : m42,
"yue__" : m42, "yue__" : m43,
"yuemingxi" : MessageLookupByLibrary.simpleMessage("餘額明細"), "yuemingxi" : MessageLookupByLibrary.simpleMessage("餘額明細"),
"yuliudianhua" : MessageLookupByLibrary.simpleMessage("預留電話"), "yuliudianhua" : MessageLookupByLibrary.simpleMessage("預留電話"),
"yunfei" : MessageLookupByLibrary.simpleMessage("運費"), "yunfei" : MessageLookupByLibrary.simpleMessage("運費"),
@ -811,6 +819,6 @@ class MessageLookup extends MessageLookupByLibrary {
"zuanshihuiyuan" : MessageLookupByLibrary.simpleMessage("鑽石會員"), "zuanshihuiyuan" : MessageLookupByLibrary.simpleMessage("鑽石會員"),
"zuixinwenzhang" : MessageLookupByLibrary.simpleMessage("最新文章"), "zuixinwenzhang" : MessageLookupByLibrary.simpleMessage("最新文章"),
"zuorenwudejifen" : MessageLookupByLibrary.simpleMessage("做任務得積分"), "zuorenwudejifen" : MessageLookupByLibrary.simpleMessage("做任務得積分"),
"zuozhe" : m43 "zuozhe" : m44
}; };
} }

60
lib/generated/l10n.dart

@ -7085,6 +7085,66 @@ class S {
); );
} }
/// ` {jihuanka}`
String shifujihuanka(Object jihuanka) {
return Intl.message(
'实付集换卡 $jihuanka集换卡',
name: 'shifujihuanka',
desc: '',
args: [jihuanka],
);
}
/// ``
String get jihuanka {
return Intl.message(
'集换卡',
name: 'jihuanka',
desc: '',
args: [],
);
}
/// ``
String get xiaofeijihuanka {
return Intl.message(
'消费集换卡',
name: 'xiaofeijihuanka',
desc: '',
args: [],
);
}
/// ``
String get xiugai {
return Intl.message(
'修改',
name: 'xiugai',
desc: '',
args: [],
);
}
/// ``
String get bangdingshouji {
return Intl.message(
'绑定手机',
name: 'bangdingshouji',
desc: '',
args: [],
);
}
/// ``
String get genggaibangdingshoujihao {
return Intl.message(
'更改绑定手机号',
name: 'genggaibangdingshoujihao',
desc: '',
args: [],
);
}
/// `使` /// `使`
String get privacy_policy4 { String get privacy_policy4 {
return Intl.message( return Intl.message(

57
lib/home/home_page.dart

@ -602,26 +602,55 @@ class HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin {
Widget spread(){ Widget spread(){
return Container( return Container(
width: double.infinity, width: double.infinity,
height: 80.h, height: 85.h,
margin: EdgeInsets.symmetric(horizontal: 14.w), child: Swiper(
child: GestureDetector( pagination: SwiperPagination(
onTap: (){ alignment: Alignment.bottomCenter,
Navigator.of(context).pushNamed('/router/invite_friends'); margin: EdgeInsets.only(top: 5.h),
// Navigator.of(context).pushNamed('/router/mine_greenery'); builder: DotSwiperPaginationBuilder(
}, size: 8.w,
child: ClipRRect( activeSize: 8.w,
child:Image.asset( space: 5.w,
"assets/image/welfare_spread.webp", activeColor: Colors.white,
width:double.infinity, color: Colors.white.withAlpha(76),
fit: BoxFit.fill,
height:double.infinity,
), ),
borderRadius: BorderRadius.circular(6.w),
), ),
autoplay:true,
duration: 1000,
autoplayDelay: 2000,
itemBuilder: (context, position) {
return GestureDetector(
onTap: (){
if(position == 0){
Navigator.of(context).pushNamed('/router/invite_friends');
}else if(position == 1){
Navigator.of(context).pushNamed('/router/trading_card_page');
}
},
child:Container(
margin: EdgeInsets.symmetric(horizontal:14.w),
child: ClipRRect(
child:Image.asset(
spreadItem[position],
width:double.infinity,
fit: BoxFit.fill,
height:double.infinity,
),
borderRadius: BorderRadius.circular(6.w),
),
),
);
},
itemCount:2,
), ),
); );
} }
final List<String> spreadItem = [
"assets/image/welfare_spread.webp",
"assets/image/welfare_yz.webp",
];
/// ///
toScan() async { toScan() async {
if (await Permission.camera.isPermanentlyDenied) { if (await Permission.camera.isPermanentlyDenied) {

3
lib/home/points_mall_view/points_goods_view.dart

@ -22,6 +22,9 @@ class PointGoods extends StatefulWidget {
class _PointGoods extends State<PointGoods> { class _PointGoods extends State<PointGoods> {
String pointPrice(Goods goods) { String pointPrice(Goods goods) {
if (goods == null) return ""; if (goods == null) return "";
if (goods?.oneBean != null && goods?.oneBean != "0") {
return "${goods?.oneBean}集换卡";
}
if (goods?.onePrice != null && goods?.onePrice != "0") { if (goods?.onePrice != null && goods?.onePrice != "0") {
return S.of(context).jifen_(goods?.onePrice); return S.of(context).jifen_(goods?.onePrice);
} else if ((goods?.onePrice == null || goods?.onePrice == "0") && } else if ((goods?.onePrice == null || goods?.onePrice == "0") &&

322
lib/home/trading_card_page.dart

@ -0,0 +1,322 @@
import 'dart:convert';
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:huixiang/retrofit/data/base_data.dart';
import 'package:huixiang/retrofit/retrofit_api.dart';
import 'package:huixiang/utils/font_weight.dart';
import 'package:huixiang/view_widget/my_appbar.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import '../retrofit/data/user_info.dart';
import '../view_widget/classic_header.dart';
import '../view_widget/my_footer.dart';
class TradingCardPage extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return _TradingCardPage();
}
}
class _TradingCardPage extends State<TradingCardPage> {
ApiService apiService;
final RefreshController refreshController = RefreshController();
UserInfo userInfo;
@override
void initState() {
super.initState();
SharedPreferences.getInstance().then((value) {
apiService =
ApiService(Dio(), context: context, token: value.getString("token"));
queryUserBalance();
});
}
@override
void dispose() {
super.dispose();
refreshController.dispose();
}
///
queryUserBalance() async {
BaseData<UserInfo> baseData =
await apiService.queryInfo().catchError((onError) {
refreshController.refreshFailed();
refreshController.loadFailed();});
if (baseData != null && baseData.isSuccess) {
userInfo = baseData.data;
if (mounted) setState(() {});
refreshController.refreshCompleted();
refreshController.loadComplete();
}else {
SmartDialog.showToast(baseData.msg, alignment: Alignment.center);
refreshController.refreshFailed();
refreshController.loadFailed();
}
}
@override
Widget build(BuildContext context) {
return Container(
color: Colors.white,
child: Stack(
children: [
Container(
decoration: BoxDecoration(
image: DecorationImage(
fit: BoxFit.fill,
image: AssetImage("assets/image/settlement_bg.webp"),
),
),
width: double.infinity,
height: 306.h,
),
Scaffold(
backgroundColor: Colors.transparent,
appBar: MyAppBar(
title: "",
titleColor: Colors.white,
background: Colors.transparent,
leadingColor: Colors.white,
brightness: Brightness.dark,
),
body: SmartRefresher(
controller: refreshController,
enablePullDown: true,
enablePullUp: false,
header: MyHeader(
color: Colors.white,
),
footer: CustomFooter(
builder: (context, mode) {
return MyFooter(mode);
},
),
onRefresh: () {
queryUserBalance();
},
physics: BouncingScrollPhysics(),
scrollController: ScrollController(),
child: SingleChildScrollView(
physics: BouncingScrollPhysics(),
child:Container(
margin: EdgeInsets.symmetric(horizontal:14.w),
child:Column(
children: [
Container(
width: double.infinity,
padding:EdgeInsets.only(top:24.h,bottom: 27.h) ,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(12),
boxShadow: [
BoxShadow(
color: Colors.black.withAlpha(12),
offset: Offset(0, 4),
blurRadius: 8,
spreadRadius: 8,
)
],
),
child: Column(
children:[
Image.asset(
"assets/image/my_trading.webp",
width:200.w,
fit: BoxFit.fill,
height:22.h,
),
SizedBox(height:28.h),
Image.asset(
"assets/image/trading_logo.webp",
width:196.w,
fit: BoxFit.fill,
height:150.h,
),
Padding(padding:EdgeInsets.only(top: 21.h,bottom: 17.h),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
"我已收集",
style: TextStyle(
color: Colors.black,
fontSize: 14.sp,
fontWeight: MyFontWeight.regular),
),
SizedBox(width: 12.w,),
Text(
(userInfo?.happyBean ?? 0).toString(),
style: TextStyle(
color: Color(0xFF32A060),
fontSize: 18.sp,
fontWeight: MyFontWeight.regular),
)
],
),),
Padding(padding:EdgeInsets.only(bottom:31.h),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(padding:EdgeInsets.only(right:1.w),
child: GestureDetector(
onTap: (){
Navigator.of(context).pushNamed('/router/welfare_exchange');
},
child: Text(
"兑换区逛逛",
style: TextStyle(
color: Color(0xFF32A060),
fontSize: 15.sp,
fontWeight: MyFontWeight.regular),
),
)),
Image.asset(
"assets/image/icon_right_z.webp",
width:16,
fit: BoxFit.fill,
height:16,
color: Color(0xFF32A060),
)
],
),),
Image.asset(
"assets/image/trading_text.webp",
width:314.w,
fit: BoxFit.cover,
height:98.h,
),
]
),
),
Container(
width: double.infinity,
padding:EdgeInsets.symmetric(vertical: 17.h,horizontal: 32.w) ,
margin: EdgeInsets.only(top:16.h),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(12),
boxShadow: [
BoxShadow(
color: Colors.black.withAlpha(12),
offset: Offset(0, 4),
blurRadius: 8,
spreadRadius: 8,
)
],
),
child: Row(
children: [
Image.asset(
"assets/image/trading_history.webp",
width:16.h,
fit: BoxFit.fill,
height:16.h,
),
GestureDetector(
behavior: HitTestBehavior.opaque,
onTap:(){
Navigator.of(context)
.pushNamed('/router/exchange_history_page');
},
child: Padding(padding:EdgeInsets.only(left: 4.w),
child: Text(
"兑换记录",
style: TextStyle(
color: Color(0xFF0D0D0D),
fontSize: 12.sp,
fontWeight: MyFontWeight.regular),
)),
),
Spacer(),
Container(
width: 1.w,
height: 35.5.h,
margin: EdgeInsets.symmetric(),
color:Color(0xFFD8D8D8)),
Spacer(),
Image.asset(
"assets/image/trading_detail.webp",
width:16.h,
fit: BoxFit.fill,
height:16.h,
),
GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: (){
Navigator.of(context).pushNamed('/router/integral_detailed_page',arguments:{"titleType":1});
},
child: Padding(padding:EdgeInsets.only(left: 4.w),
child: Text(
"印章明细",
style: TextStyle(
color: Color(0xFF0D0D0D),
fontSize: 12.sp,
fontWeight: MyFontWeight.regular),
)),)
],
),
),
Container(
width: double.infinity,
padding:EdgeInsets.symmetric(vertical:12.h,horizontal: 11.w) ,
margin: EdgeInsets.only(top:16.h),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(12),
boxShadow: [
BoxShadow(
color: Colors.black.withAlpha(12),
offset: Offset(0, 4),
blurRadius: 8,
spreadRadius: 8,
)
],
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(padding:EdgeInsets.only(bottom:14.h),
child: Text(
"规则介绍",
style: TextStyle(
color: Color(0xFF0D0D0D),
fontSize: 15.sp,
fontWeight: MyFontWeight.semi_bold),
),),
Padding(padding:EdgeInsets.only(bottom:12.h),
child: Text(
"(1) 商品中所要求的印章达到方可兑换",
style: TextStyle(
color: Color(0xFF353535),
fontSize: 12.sp,
fontWeight: MyFontWeight.regular),
),),
Text(
"(2) 印章卡仅兑换商城指定商品,不能折算现金或兑换其他非指定商品项目",
style: TextStyle(
color: Color(0xFF353535),
fontSize: 12.sp,
height: 1.5.h,
fontWeight: MyFontWeight.regular),
),
],
),
)
],
),
),
),
),
)
],
),
);
}
}

94
lib/home/welfare_exchange.dart

@ -211,7 +211,7 @@ class _WelfareExchange extends State<WelfareExchange>
), ),
], ],
)), )),
expandedHeight: 258.h, expandedHeight: MediaQuery.of(context).size.height >= 750 ? 245.h : 258.h,
bottom: PreferredSize( bottom: PreferredSize(
preferredSize: Size(double.infinity, 0), preferredSize: Size(double.infinity, 0),
child: DefaultTabController( child: DefaultTabController(
@ -269,7 +269,7 @@ class _WelfareExchange extends State<WelfareExchange>
onRefresh: _onRefresh, onRefresh: _onRefresh,
child: Container( child: Container(
color: Colors.white, color: Colors.white,
padding: EdgeInsets.only(top: 19.h), padding: EdgeInsets.only(top: 15.h),
child: pointList(), child: pointList(),
)), )),
), ),
@ -323,7 +323,7 @@ class _WelfareExchange extends State<WelfareExchange>
userInfo.nickname, userInfo.nickname,
style: TextStyle( style: TextStyle(
fontSize: 16.sp, fontSize: 16.sp,
fontWeight: MyFontWeight.medium, fontWeight: MyFontWeight.bold,
color: Color(0xFF353535), color: Color(0xFF353535),
), ),
), ),
@ -365,65 +365,71 @@ class _WelfareExchange extends State<WelfareExchange>
height: 50.h, height: 50.h,
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly, mainAxisAlignment: MainAxisAlignment.spaceEvenly,
crossAxisAlignment: CrossAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
GestureDetector( Row(
onTap: () { children: [
Navigator.of(context) Text(
.pushNamed('/router/integral_detailed_page'); "总积分",
}, style: TextStyle(
child: Row( fontSize: 14.sp,
children: [ fontWeight: MyFontWeight.medium,
Text( color: Color(0xFF4C4C4C),
S.of(context).jifenmingxi,
style: TextStyle(
fontSize: 14.sp,
fontWeight: MyFontWeight.medium,
color: Color(0xFF4C4C4C),
),
), ),
Container( ),
width: 20, Padding(padding:EdgeInsets.only(left:2.w),
height: 20, child: Text(
margin: EdgeInsets.only(left: 4), (userInfo != null) ? "${userInfo.points}" : "",
decoration: BoxDecoration( style: TextStyle(
color: Color(0xFF32A060), fontSize: 16.sp,
borderRadius: BorderRadius.circular(10), color: Color(0xFF32A060),
), fontFamily: 'JDZhengHT',
child: Icon( fontWeight: MyFontWeight.medium,
Icons.keyboard_arrow_right,
size: 20,
color: Colors.white,
),
), ),
], ),),
), SizedBox(
width: 4.w,
),
Image.asset(
"assets/image/icon_gold_coin.webp",
width: 18,
height: 18,
)
],
), ),
SizedBox( SizedBox(
height: 4.h, height: 4.h,
), ),
Expanded( Row(
child: Row(
children: [ children: [
Text( Text(
(userInfo != null) ? "${userInfo.points}" : "", "总印章",
style: TextStyle( style: TextStyle(
fontSize: 16.sp, fontSize: 14.sp,
color: Color(0xFF32A060),
fontFamily: 'JDZhengHT',
fontWeight: MyFontWeight.medium, fontWeight: MyFontWeight.medium,
color: Color(0xFF4C4C4C),
), ),
), ),
Padding(padding:EdgeInsets.only(left:2.w),
child: Text(
(userInfo != null) ? "${userInfo?.happyBean ?? 0}" : "",
style: TextStyle(
fontSize: 16.sp,
color: Color(0xFF32A060),
fontFamily: 'JDZhengHT',
fontWeight: MyFontWeight.medium,
),
),),
SizedBox( SizedBox(
width: 6.w, width:4.w,
), ),
Image.asset( Image.asset(
"assets/image/icon_gold_coin.webp", "assets/image/trading_logo.webp",
width: 18, width: 18,
height: 18, height: 18,
) )
], ],
)) ),
], ],
), ),
) )
@ -561,7 +567,9 @@ class _WelfareExchange extends State<WelfareExchange>
String pointPrice(Goods goods) { String pointPrice(Goods goods) {
if (goods == null) return ""; if (goods == null) return "";
if (goods?.onePrice != null && goods?.onePrice != "0") { if(goods?.oneBean!=null && goods?.oneBean!="0"){
return "${goods?.oneBean}集换卡";
} else if (goods?.onePrice != null && goods?.onePrice != "0") {
return S.of(context).jifen_(goods?.onePrice); return S.of(context).jifen_(goods?.onePrice);
} else if ((goods?.onePrice == null || goods?.onePrice == "0") && } else if ((goods?.onePrice == null || goods?.onePrice == "0") &&
((goods?.price != null && goods?.price != "0") || ((goods?.price != null && goods?.price != "0") ||

43
lib/home/welfare_page.dart

@ -145,15 +145,20 @@ class _WelfarePage extends State<WelfarePage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Stack( return Stack(
children: [ children: [
Container( Column(
decoration: BoxDecoration( children: [
image: DecorationImage( Container(
fit: BoxFit.fill, decoration: BoxDecoration(
image: AssetImage("assets/image/welfare_zx.webp"), image: DecorationImage(
fit: BoxFit.fill,
image: AssetImage("assets/image/welfare_zx.webp"),
),
),
width: double.infinity,
height: 236.h,
), ),
), Expanded(child: Container(color: Colors.white,))
width: double.infinity, ],
height: 236.h,
), ),
Scaffold( Scaffold(
backgroundColor: Colors.transparent, backgroundColor: Colors.transparent,
@ -183,7 +188,21 @@ class _WelfarePage extends State<WelfarePage> {
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
scrollController: ScrollController(), scrollController: ScrollController(),
child: Container( child: Container(
// margin: EdgeInsets.only(top:30.h,left: 14,right: 14), decoration: BoxDecoration(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(6),
topRight: Radius.circular(6),),
color: Colors.white,
boxShadow: [
BoxShadow(
color: Color(0x08213303).withAlpha(12),
offset: Offset(0, 2),
blurRadius: 3,
spreadRadius: 0,
),
],
),
margin: EdgeInsets.only(top: 95.h),
child: SingleChildScrollView( child: SingleChildScrollView(
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
child: Column( child: Column(
@ -220,7 +239,6 @@ class _WelfarePage extends State<WelfarePage> {
Widget weekCoupons() { Widget weekCoupons() {
return Container( return Container(
width: double.infinity, width: double.infinity,
margin: EdgeInsets.only(top: 95.h),
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.only( borderRadius: BorderRadius.only(
topLeft: Radius.circular(6), topLeft: Radius.circular(6),
@ -235,7 +253,6 @@ class _WelfarePage extends State<WelfarePage> {
), ),
], ],
), ),
// margin: EdgeInsets.only(top: 139.h),
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
@ -898,7 +915,9 @@ class _WelfarePage extends State<WelfarePage> {
String pointPrice(Goods goodsPrice){ String pointPrice(Goods goodsPrice){
if(goodsPrice == null) if(goodsPrice == null)
return ""; return "";
if(goodsPrice?.onePrice!=null && goodsPrice?.onePrice!="0"){ if(goodsPrice?.oneBean!=null && goodsPrice?.oneBean!="0"){
return "${goodsPrice?.oneBean}集换卡";
} else if(goodsPrice?.onePrice!=null && goodsPrice?.onePrice!="0"){
return S.of(context).jifen_(goodsPrice?.onePrice); return S.of(context).jifen_(goodsPrice?.onePrice);
}else if((goodsPrice?.onePrice == null || goodsPrice?.onePrice == "0") && ((goodsPrice?.price != null && goodsPrice?.price != "0") || (goodsPrice?.money != null && goodsPrice?.money != "0.00"))){ }else if((goodsPrice?.onePrice == null || goodsPrice?.onePrice == "0") && ((goodsPrice?.price != null && goodsPrice?.price != "0") || (goodsPrice?.money != null && goodsPrice?.money != "0.00"))){
return (goodsPrice?.price== "0"|| goodsPrice?.price == null ? "" : S.of(context).jifen_(goodsPrice?.price)) + (goodsPrice?.money== "0"|| goodsPrice?.money == null ? "" : " + ${AppUtils.calculateDouble(double.tryParse(goodsPrice?.money) ?? 0)}"); return (goodsPrice?.price== "0"|| goodsPrice?.price == null ? "" : S.of(context).jifen_(goodsPrice?.price)) + (goodsPrice?.money== "0"|| goodsPrice?.money == null ? "" : " + ${AppUtils.calculateDouble(double.tryParse(goodsPrice?.money) ?? 0)}");

213
lib/integral/integral_detailed_page.dart

@ -10,14 +10,18 @@ import 'package:huixiang/retrofit/data/user_info.dart';
import 'package:huixiang/retrofit/retrofit_api.dart'; import 'package:huixiang/retrofit/retrofit_api.dart';
import 'package:huixiang/utils/font_weight.dart'; import 'package:huixiang/utils/font_weight.dart';
import 'package:huixiang/view_widget/classic_header.dart'; import 'package:huixiang/view_widget/classic_header.dart';
import 'package:huixiang/view_widget/my_appbar.dart';
import 'package:huixiang/view_widget/my_footer.dart'; import 'package:huixiang/view_widget/my_footer.dart';
import 'package:huixiang/view_widget/my_tab.dart'; import 'package:huixiang/view_widget/my_tab.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart'; 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 '../view_widget/no_data_view.dart';
class IntegralDetailedPage extends StatefulWidget { class IntegralDetailedPage extends StatefulWidget {
final arguments;
IntegralDetailedPage({this.arguments});
@override @override
State<StatefulWidget> createState() { State<StatefulWidget> createState() {
return _IntegralDetailedPage(); return _IntegralDetailedPage();
@ -34,19 +38,19 @@ class _IntegralDetailedPage extends State<IntegralDetailedPage>
super.didChangeDependencies(); super.didChangeDependencies();
_tabs = [ _tabs = [
MyTab( MyTab(
text: S.of(context).huode, text: widget.arguments["titleType"] == 1 ? "印章获得" : S.of(context).huode,
), ),
MyTab( MyTab(
text: S.of(context).xiaofei, text: widget.arguments["titleType"] == 1 ? "印章使用" : S.of(context).xiaofei,
), ),
]; ];
tabController = TabController(length: 2, vsync: this) tabController = TabController(length: 2, vsync: this)
..addListener(() { ..addListener(() {
current = 1; current = 1;
if (tabController.index == 0) { if (tabController.index == 0) {
queryDetail("bill_cate_point_get"); queryDetail(widget.arguments["titleType"] == 1 ? "" : "bill_cate_point_get",widget.arguments["titleType"] == 1 ?"BILL_TYPE_BEAN_ADD" :"");
} else { } else {
queryDetail("bill_cate_point_sub"); queryDetail(widget.arguments["titleType"] == 1 ? "" : "bill_cate_point_sub",widget.arguments["titleType"] == 1 ?"BILL_TYPE_BEAN_SUB" :"");
} }
}); });
} }
@ -67,17 +71,17 @@ class _IntegralDetailedPage extends State<IntegralDetailedPage>
apiService = ApiService(Dio(), apiService = ApiService(Dio(),
context: context, token: value.getString("token")), context: context, token: value.getString("token")),
userInfo = UserInfo.fromJson(jsonDecode(value.getString('user'))), userInfo = UserInfo.fromJson(jsonDecode(value.getString('user'))),
queryDetail("bill_cate_point_get"), queryDetail(widget.arguments["titleType"] == 1 ? "" : "bill_cate_point_get",widget.arguments["titleType"] == 1 ?"BILL_TYPE_BEAN_ADD" :""),
}); });
} }
int current = 1; int current = 1;
List<UserBill> userBill = []; List<UserBill> userBill = [];
queryDetail(category) async { queryDetail(category,type) async {
BaseData<PageInfo<UserBill>> baseData = await apiService.queryBillInfo({ BaseData<PageInfo<UserBill>> baseData = await apiService.queryBillInfo({
"current": current, "current": current,
"model": {"category": category, "title": "bill_title_point", "type": ""}, "model": {"category": category, "title": widget.arguments["titleType"] == 1 ? "":"bill_title_point", "type": type},
"order": "descending", "order": "descending",
"size": 10, "size": 10,
"sort": "id" "sort": "id"
@ -107,17 +111,17 @@ class _IntegralDetailedPage extends State<IntegralDetailedPage>
_onRefresh() { _onRefresh() {
current = 1; current = 1;
if (tabController.index == 0) { if (tabController.index == 0) {
queryDetail("bill_cate_point_get"); queryDetail(widget.arguments["titleType"] == 1 ? "" : "bill_cate_point_get",widget.arguments["titleType"] == 1 ?"BILL_TYPE_BEAN_ADD" :"");
} else { } else {
queryDetail("bill_cate_point_sub"); queryDetail(widget.arguments["titleType"] == 1 ? "" : "bill_cate_point_sub",widget.arguments["titleType"] == 1 ?"BILL_TYPE_BEAN_SUB" :"");
} }
} }
_loadMore() { _loadMore() {
if (tabController.index == 0) { if (tabController.index == 0) {
queryDetail("bill_cate_point_get"); queryDetail(widget.arguments["titleType"] == 1 ? "" : "bill_cate_point_get",widget.arguments["titleType"] == 1 ?"BILL_TYPE_BEAN_SUB" :"");
} else { } else {
queryDetail("bill_cate_point_sub"); queryDetail(widget.arguments["titleType"] == 1 ? "" : "bill_cate_point_sub",widget.arguments["titleType"] == 1 ?"BILL_TYPE_BEAN_SUB" :"");
} }
} }
@ -155,29 +159,39 @@ class _IntegralDetailedPage extends State<IntegralDetailedPage>
titleSpacing: 2, titleSpacing: 2,
leadingWidth: 56, leadingWidth: 56,
flexibleSpace: FlexibleSpaceBar( flexibleSpace: FlexibleSpaceBar(
background: Container( background: Stack(
alignment: Alignment.center, children: [
margin: EdgeInsets.only(top: 56.h), Image.asset(
child: Column( "assets/image/ming_xi.webp",
mainAxisAlignment: MainAxisAlignment.center, width:double.infinity,
crossAxisAlignment: CrossAxisAlignment.center, fit: BoxFit.fill,
children: [ height:259.h,
Text( ),
userInfo != null ? userInfo.points : "0", Container(
style: TextStyle( alignment: Alignment.center,
color: Colors.white, margin: EdgeInsets.only(top: 56.h),
fontWeight: MyFontWeight.medium, child: Column(
fontSize: 48.sp), mainAxisAlignment: MainAxisAlignment.center,
), crossAxisAlignment: CrossAxisAlignment.center,
Text( children: [
S.of(context).wodejifenzhi, Text(
style: TextStyle( userInfo != null ? (widget.arguments["titleType"] == 1 ? (userInfo?.happyBean ?? 0) : userInfo.points) : "0",
color: Color(0xFFF2F2F2), style: TextStyle(
fontSize: 12.sp, color: Colors.white,
fontWeight: MyFontWeight.regular), fontWeight: MyFontWeight.medium,
fontSize: 48.sp),
),
Text(
widget.arguments["titleType"] == 1 ? "我的集卡券" : S.of(context).wodejifenzhi,
style: TextStyle(
color: Color(0xFFF2F2F2),
fontSize: 12.sp,
fontWeight: MyFontWeight.regular),
),
],
), ),
], )
), ],
), ),
), ),
expandedHeight: 228, expandedHeight: 228,
@ -220,74 +234,125 @@ class _IntegralDetailedPage extends State<IntegralDetailedPage>
), ),
onRefresh: _onRefresh, onRefresh: _onRefresh,
onLoading: _loadMore, onLoading: _loadMore,
child: ListView.builder( child: (userBill == null || userBill.length == 0)
? NoDataView(
src: "assets/image/xiao_fei.webp",
isShowBtn: false,
text: "当前暂无记录哦~",
fontSize: 16.sp,
margin: EdgeInsets.all(60.h),
):ListView.builder(
itemCount: userBill != null ? userBill.length : 0, itemCount: userBill != null ? userBill.length : 0,
padding: EdgeInsets.only(top: 8, bottom: 8), padding: EdgeInsets.only(top: 8, bottom: 8),
itemBuilder: (context, position) { itemBuilder: (context, position) {
return Container( return Container(
margin: EdgeInsets.fromLTRB(16, 8, 16, 8), margin: EdgeInsets.fromLTRB(16, 8, 16, 8),
padding: EdgeInsets.fromLTRB(14, 7, 16, 7), padding: EdgeInsets.all(12),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
borderRadius: BorderRadius.all(Radius.circular(2)), borderRadius: BorderRadius.all(Radius.circular(6)),
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(
color: Colors.black.withAlpha(25), color: Colors.black.withAlpha(25),
offset: Offset(0, 1), offset: Offset(0, 2),
blurRadius: 12, blurRadius: 3,
spreadRadius: 0, spreadRadius: 0,
) )
]), ]),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
Image.asset(
"assets/image/icon_intergral_sign.webp",
width: 36.w,
height: 34.h,
),
SizedBox(
width: 15,
),
Expanded( Expanded(
child: Container( child: Container(
// height: 34.h, // height: 34.h,
alignment: Alignment.centerLeft, alignment: Alignment.centerLeft,
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.spaceAround, mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text( Padding(padding: EdgeInsets.only(bottom: 8.h),
userBill[position].name ?? "", child: Text(
// S.of(context).qiandao, userBill[position].type ?? "",
style: TextStyle( // S.of(context).qiandao,
color: Colors.black, style: TextStyle(
fontSize: 12.sp, color: Colors.black,
fontWeight: FontWeight.w400), fontSize: 14.sp,
fontWeight: FontWeight.bold),
),),
Text(
userBill[position].createTime ?? "",
style: TextStyle(
color: Color(0xFF4D4D4D),
fontSize: 12.sp,
fontWeight: MyFontWeight.regular),
)
],
), ),
Text( )),
userBill[position].createTime ?? "",
style: TextStyle(
color: Color(0xFF727272),
fontSize: 10.sp,
fontWeight: MyFontWeight.regular),
)
],
),
)),
Container( Container(
margin: EdgeInsets.only(top: 2.h), margin: EdgeInsets.only(top: 2.h),
child: Text( child: Text(
"${tabController.index == 0 ? "+" : "-"}${double.tryParse(userBill[position].number ?? "0").toInt().toString()}", "${tabController.index == 0 ? "+" : "-"}${double.tryParse(userBill[position].number ?? "0").toInt().toString()}",
style: TextStyle( style: TextStyle(
color: Color(0xFF727272), color: Color(0xFF4D4D4D),
fontSize: 12.sp, fontSize: 14.sp,
fontFamily: 'JDZhengHT',
fontWeight: MyFontWeight.regular), fontWeight: MyFontWeight.regular),
), ),
) )
], ],
), )
// Row(
// mainAxisAlignment: MainAxisAlignment.start,
// crossAxisAlignment: CrossAxisAlignment.center,
// children: [
// Image.asset(
// "assets/image/icon_intergral_sign.webp",
// width: 36.w,
// height: 34.h,
// ),
// SizedBox(
// width: 15,
// ),
// Expanded(
// child: Container(
// // height: 34.h,
// alignment: Alignment.centerLeft,
// child: Column(
// mainAxisAlignment: MainAxisAlignment.spaceAround,
// crossAxisAlignment: CrossAxisAlignment.start,
// children: [
// Text(
// userBill[position].type ?? "",
// // S.of(context).qiandao,
// style: TextStyle(
// color: Colors.black,
// fontSize: 12.sp,
// fontWeight: FontWeight.w400),
// ),
// Text(
// userBill[position].createTime ?? "",
// style: TextStyle(
// color: Color(0xFF727272),
// fontSize: 10.sp,
// fontWeight: MyFontWeight.regular),
// )
// ],
// ),
// )),
// Container(
// margin: EdgeInsets.only(top: 2.h),
// child: Text(
// "${tabController.index == 0 ? "+" : "-"}${double.tryParse(userBill[position].number ?? "0").toInt().toString()}",
// style: TextStyle(
// color: Color(0xFF727272),
// fontSize: 12.sp,
// fontWeight: MyFontWeight.regular),
// ),
// )
// ],
// ),
); );
}), }),
), ),

2
lib/integral/integral_page.dart

@ -124,7 +124,7 @@ class _IntegralPage extends State<IntegralPage> {
margin: EdgeInsets.only(right: 16.w), margin: EdgeInsets.only(right: 16.w),
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
Navigator.of(context).pushNamed('/router/integral_detailed_page'); Navigator.of(context).pushNamed('/router/integral_detailed_page',arguments:{"titleType":2});
}, },
child: Text( child: Text(
S.of(context).mingxi, S.of(context).mingxi,

22
lib/integral_store/integral_store_details_page.dart

@ -34,6 +34,7 @@ class IntegralStoreDetailsPage extends StatefulWidget {
class _IntegralStoreDetailsPage extends State<IntegralStoreDetailsPage> { class _IntegralStoreDetailsPage extends State<IntegralStoreDetailsPage> {
ApiService apiService; ApiService apiService;
String points; String points;
String happyBean;
int payType = 0; int payType = 0;
final ScrollController scrollController = ScrollController(); final ScrollController scrollController = ScrollController();
final RefreshController refreshController = RefreshController(); final RefreshController refreshController = RefreshController();
@ -48,6 +49,7 @@ class _IntegralStoreDetailsPage extends State<IntegralStoreDetailsPage> {
queryGoodsById(); queryGoodsById();
if (value.getString('user') != null) { if (value.getString('user') != null) {
points = UserInfo.fromJson(jsonDecode(value.getString('user'))).points; points = UserInfo.fromJson(jsonDecode(value.getString('user'))).points;
happyBean = UserInfo.fromJson(jsonDecode(value.getString('user'))).happyBean;
} }
}); });
} }
@ -62,15 +64,18 @@ class _IntegralStoreDetailsPage extends State<IntegralStoreDetailsPage> {
if (baseData != null && baseData.isSuccess) { if (baseData != null && baseData.isSuccess) {
setState(() { setState(() {
goods = baseData.data; goods = baseData.data;
if(goods != null && points != null && double.tryParse(goods.onePrice) if(goods != null && happyBean != null && double.tryParse(goods?.oneBean ?? "0")
!= 0 && double.tryParse(goods.onePrice) <= double.tryParse(points)){ != 0 && double.tryParse(goods?.oneBean ?? "0") <= double.tryParse(happyBean)){
payType = 1; payType = 1;
} else if(goods != null && points != null && double.tryParse(goods.onePrice)
!= 0 && double.tryParse(goods.onePrice) <= double.tryParse(points)){
payType = 2;
} else if (goods != null && points != null && double.tryParse(goods.price) != 0 && double.tryParse(goods.price) } else if (goods != null && points != null && double.tryParse(goods.price) != 0 && double.tryParse(goods.price)
<= double.tryParse(points) && double.tryParse(goods.money) != 0.00){ <= double.tryParse(points) && double.tryParse(goods.money) != 0.00){
payType = 2; payType = 3;
} else if (goods != null && points != null } else if (goods != null && points != null
&& double.tryParse(goods.oneMoney) != 0.00){ && double.tryParse(goods.oneMoney) != 0.00){
payType = 3; payType = 4;
} }
refreshController.refreshCompleted(); refreshController.refreshCompleted();
}); });
@ -82,7 +87,9 @@ class _IntegralStoreDetailsPage extends State<IntegralStoreDetailsPage> {
String pointPrice(){ String pointPrice(){
if(goods == null) if(goods == null)
return ""; return "";
if(goods?.onePrice!=null && goods?.onePrice!="0"){ if(goods?.oneBean!=null && goods?.oneBean!="0"){
return "${goods?.oneBean}集换卡";
}else if(goods?.onePrice!=null && goods?.onePrice!="0"){
return S.of(context).jifen_(goods?.onePrice); return S.of(context).jifen_(goods?.onePrice);
}else if((goods?.onePrice == null || goods?.onePrice == "0") && ((goods?.price != null && goods?.price != "0") || (goods?.money != null && goods?.money != "0.00"))){ }else if((goods?.onePrice == null || goods?.onePrice == "0") && ((goods?.price != null && goods?.price != "0") || (goods?.money != null && goods?.money != "0.00"))){
return (goods?.price== "0"|| goods?.price == null ? "" : S.of(context).jifen_(goods?.price)) + (goods?.money== "0"|| goods?.money == null ? "" : " + ${AppUtils.calculateDouble(double.tryParse(goods?.money) ?? 0)}"); return (goods?.price== "0"|| goods?.price == null ? "" : S.of(context).jifen_(goods?.price)) + (goods?.money== "0"|| goods?.money == null ? "" : " + ${AppUtils.calculateDouble(double.tryParse(goods?.money) ?? 0)}");
@ -168,7 +175,7 @@ class _IntegralStoreDetailsPage extends State<IntegralStoreDetailsPage> {
if(payType > 0){ if(payType > 0){
toExchangeOrder(); toExchangeOrder();
}else{ }else{
SmartDialog.showToast("您的积分不足!", alignment: Alignment.center); SmartDialog.showToast(pointPrice().contains("集换卡")?"您的集换卡数量不足!" : "您的积分不足!", alignment: Alignment.center);
return; return;
} }
}, },
@ -187,7 +194,7 @@ class _IntegralStoreDetailsPage extends State<IntegralStoreDetailsPage> {
child: Text( child: Text(
(payType > 0) (payType > 0)
? "立即兑换" ? "立即兑换"
: S.of(context).jifenbuzu, : pointPrice().contains("集换卡")?"您的集换卡数量不足" :S.of(context).jifenbuzu,
// "兑换功能暂未开放", // "兑换功能暂未开放",
style: TextStyle( style: TextStyle(
fontSize: 16.sp, fontSize: 16.sp,
@ -211,6 +218,7 @@ class _IntegralStoreDetailsPage extends State<IntegralStoreDetailsPage> {
"money": goods.money, "money": goods.money,
"onePrice":goods.onePrice, "onePrice":goods.onePrice,
"oneMoney":goods.oneMoney, "oneMoney":goods.oneMoney,
"oneBean":goods.oneBean,
"price": goods.price, "price": goods.price,
"image": goods.mainImgPath, "image": goods.mainImgPath,
"payType":payType, "payType":payType,

8
lib/l10n/intl_en.arb

@ -736,6 +736,14 @@
"xuanhaola":"选好啦", "xuanhaola":"选好啦",
"qudaolaiyuan":"渠道来源", "qudaolaiyuan":"渠道来源",
"shuliang":"数量", "shuliang":"数量",
"shifujihuanka": "实付集换卡 {jihuanka}集换卡",
"jihuanka":"集换卡",
"xiaofeijihuanka":"消费集换卡",
"pingtaizhifumima":"平台支付密码",
"xiugai":"修改",
"bangdingshouji":"绑定手机",
"genggaibangdingshoujihao":"更改绑定手机号",

7
lib/l10n/intl_en_US.arb

@ -737,6 +737,13 @@
"xuanhaola":"select success", "xuanhaola":"select success",
"qudaolaiyuan":"channel source", "qudaolaiyuan":"channel source",
"shuliang":"number", "shuliang":"number",
"shifujihuanka": "paid-in trading card {jihuanka}trading card",
"jihuanka":"trading card",
"xiaofeijihuanka":"consume trading card",
"pingtaizhifumima":"Platform payment password",
"xiugai":"modify",
"bangdingshouji":"bind phone",
"genggaibangdingshoujihao":"modify bind phone",

7
lib/l10n/intl_zh_CN.arb

@ -737,6 +737,13 @@
"xuanhaola":"选好啦", "xuanhaola":"选好啦",
"qudaolaiyuan":"渠道来源", "qudaolaiyuan":"渠道来源",
"shuliang":"数量", "shuliang":"数量",
"shifujihuanka": "实付集换卡 {jihuanka}集换卡",
"jihuanka":"集换卡",
"xiaofeijihuanka":"消费集换卡",
"pingtaizhifumima":"平台支付密码",
"xiugai":"修改",
"bangdingshouji":"绑定手机",
"genggaibangdingshoujihao":"更改绑定手机号",

7
lib/l10n/intl_zh_Hans_CN.arb

@ -737,6 +737,13 @@
"xuanhaola":"选好啦", "xuanhaola":"选好啦",
"qudaolaiyuan":"渠道来源", "qudaolaiyuan":"渠道来源",
"shuliang":"数量", "shuliang":"数量",
"shifujihuanka": "实付集换卡 {jihuanka}集换卡",
"jihuanka":"集换卡",
"xiaofeijihuanka":"消费集换卡",
"pingtaizhifumima":"平台支付密码",
"xiugai":"修改",
"bangdingshouji":"绑定手机",
"genggaibangdingshoujihao":"更改绑定手机号",

7
lib/l10n/intl_zh_Hant_CN.arb

@ -728,6 +728,13 @@
"xuanhaola":"選好啦", "xuanhaola":"選好啦",
"qudaolaiyuan":"渠道來源", "qudaolaiyuan":"渠道來源",
"shuliang":"數量", "shuliang":"數量",
"shifujihuanka": "實付集換卡 {jihuanka}集換卡",
"jihuanka":"集換卡",
"xiaofeijihuanka":"消費集換卡",
"pingtaizhifumima":"平臺支付密碼",
"xiugai":"修改",
"bangdingshouji":"綁定手機",
"genggaibangdingshoujihao":"更改綁定手機號",

7
lib/l10n/intl_zh_TW.arb

@ -730,6 +730,13 @@
"xuanhaola":"選好啦", "xuanhaola":"選好啦",
"qudaolaiyuan":"渠道來源", "qudaolaiyuan":"渠道來源",
"shuliang":"數量", "shuliang":"數量",
"shifujihuanka": "實付集換卡 {jihuanka}集換卡",
"jihuanka":"集換卡",
"xiaofeijihuanka":"消費集換卡",
"pingtaizhifumima":"平臺支付密碼",
"xiugai":"修改",
"bangdingshouji":"綁定手機",
"genggaibangdingshoujihao":"更改綁定手機號",

2
lib/login/new_login_page.dart

@ -445,7 +445,7 @@ class _NewLoginPage extends State<NewLoginPage> {
Container( Container(
height: 30.h, height: 30.h,
width: MediaQuery.of(context).size.width - 100.w, width: MediaQuery.of(context).size.width - 100.w,
margin: EdgeInsets.only(bottom:10.h), margin: EdgeInsets.only(bottom:Platform.isIOS ? 10.h:5.h),
child: TextField( child: TextField(
style: TextStyle( style: TextStyle(
height: 1.h, height: 1.h,

8
lib/main.dart

@ -47,6 +47,7 @@ import 'package:huixiang/qr/qr_share.dart';
import 'package:huixiang/retrofit/data/examine_instance.dart'; import 'package:huixiang/retrofit/data/examine_instance.dart';
import 'package:huixiang/setting/about_page.dart'; import 'package:huixiang/setting/about_page.dart';
import 'package:huixiang/setting/account_security_page.dart'; import 'package:huixiang/setting/account_security_page.dart';
import 'package:huixiang/setting/binding_phone_page.dart';
import 'package:huixiang/setting/help_feedback_page.dart'; import 'package:huixiang/setting/help_feedback_page.dart';
import 'package:huixiang/setting/logout_ing.dart'; import 'package:huixiang/setting/logout_ing.dart';
import 'package:huixiang/setting/logout_page.dart'; import 'package:huixiang/setting/logout_page.dart';
@ -94,6 +95,7 @@ import 'home/guide_page.dart';
import 'home/help_farmers/help_farmers_page.dart'; import 'home/help_farmers/help_farmers_page.dart';
import 'home/home_view/activity_list.dart'; import 'home/home_view/activity_list.dart';
import 'home/start_page.dart'; import 'home/start_page.dart';
import 'home/trading_card_page.dart';
import 'home/welfare_exchange.dart'; import 'home/welfare_exchange.dart';
import 'home/welfare_page.dart'; import 'home/welfare_page.dart';
import 'login/login_store_select.dart'; import 'login/login_store_select.dart';
@ -309,7 +311,7 @@ Map<String, WidgetBuilder> routers = <String, WidgetBuilder>{
'/router/settlement': (context, {arguments}) => '/router/settlement': (context, {arguments}) =>
Settlement(arguments: arguments), Settlement(arguments: arguments),
'/router/integral_detailed_page': (context, {arguments}) => '/router/integral_detailed_page': (context, {arguments}) =>
IntegralDetailedPage(), IntegralDetailedPage(arguments:arguments),
'/router/write_off_success_page': (context, {arguments}) => '/router/write_off_success_page': (context, {arguments}) =>
WriteOffSuccessPage(), WriteOffSuccessPage(),
'/router/exchange_history_page': (context, {arguments}) => '/router/exchange_history_page': (context, {arguments}) =>
@ -434,4 +436,8 @@ Map<String, WidgetBuilder> routers = <String, WidgetBuilder>{
StoreHtml(arguments:arguments), StoreHtml(arguments:arguments),
'/router/login_store_select': (context, {arguments}) => '/router/login_store_select': (context, {arguments}) =>
LoginStoreSelect(arguments:arguments), LoginStoreSelect(arguments:arguments),
'/router/binding_phone_page': (context, {arguments}) =>
BindingPhonePage(arguments:arguments),
'/router/trading_card_page': (context, {arguments}) =>
TradingCardPage(),
}; };

269
lib/main_page.dart

@ -55,6 +55,7 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
final GlobalKey minePageKey = GlobalKey(); final GlobalKey minePageKey = GlobalKey();
final GlobalKey unionPageKey = GlobalKey(); final GlobalKey unionPageKey = GlobalKey();
final GlobalKey vipPageKey = GlobalKey(); final GlobalKey vipPageKey = GlobalKey();
// List<String> iconn; // List<String> iconn;
ApiService apiService; ApiService apiService;
int lastTime = DateTime.now().millisecondsSinceEpoch; int lastTime = DateTime.now().millisecondsSinceEpoch;
@ -73,11 +74,13 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
break; break;
case AppLifecycleState.resumed: // case AppLifecycleState.resumed: //
pushRoute(); pushRoute();
if(DateTime.now().millisecondsSinceEpoch - lastTime > 420000) if (DateTime.now().millisecondsSinceEpoch - lastTime > 420000)
Navigator.of(context).popAndPushNamed('/router/start_page'); //**
// Navigator.of(context).popAndPushNamed('/router/start_page');
setState((){});
break; break;
case AppLifecycleState.paused: // case AppLifecycleState.paused: //
lastTime = DateTime.now().millisecondsSinceEpoch; lastTime = DateTime.now().millisecondsSinceEpoch;
break; break;
case AppLifecycleState.detached: // APP结束时调用 case AppLifecycleState.detached: // APP结束时调用
break; break;
@ -87,8 +90,12 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
pageController = PageController(initialPage: widget.arguments != null && widget.arguments["index"] != null ? widget.arguments["index"]:0); pageController = PageController(
if(widget.arguments != null && widget.arguments["index"] != null) initialPage:
widget.arguments != null && widget.arguments["index"] != null
? widget.arguments["index"]
: 0);
if (widget.arguments != null && widget.arguments["index"] != null)
clickIndex = widget.arguments["index"]; clickIndex = widget.arguments["index"];
WidgetsBinding.instance.addObserver(this); WidgetsBinding.instance.addObserver(this);
EasyLoading.instance EasyLoading.instance
@ -103,7 +110,6 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
..userInteractions = false ..userInteractions = false
..dismissOnTap = false; ..dismissOnTap = false;
initSdk(); initSdk();
pushRoute(); pushRoute();
@ -112,32 +118,43 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
var interviewCouponList; var interviewCouponList;
var firstLoginCouponList; var firstLoginCouponList;
if(widget.arguments != null && (widget.arguments["invite"]??"") != "" if (widget.arguments != null &&
&& widget.arguments["interviewCouponList"] != null ){ (widget.arguments["invite"] ?? "") != "" &&
widget.arguments["interviewCouponList"] != null) {
invite = widget.arguments["invite"]; invite = widget.arguments["invite"];
interviewCouponList = widget.arguments["interviewCouponList"]; interviewCouponList = widget.arguments["interviewCouponList"];
} }
if(widget.arguments != null && widget.arguments["firstLoginCouponList"] != null ){ if (widget.arguments != null &&
widget.arguments["firstLoginCouponList"] != null) {
firstLoginCouponList = widget.arguments["firstLoginCouponList"]; firstLoginCouponList = widget.arguments["firstLoginCouponList"];
} }
_widgetOptions = <Widget>[ _widgetOptions = <Widget>[
// BrandPage(), // BrandPage(),
HomePage(homePageKey,(index,jpIndex) { HomePage(
if(index == 1){ homePageKey,
if(unionPageKey?.currentState != null) { (index, jpIndex) {
UnionPageState state = unionPageKey.currentState; if (index == 1) {
state.jumpIndex(jpIndex); if (unionPageKey?.currentState != null) {
}else _widgetOptions[1] = UnionPage(unionPageKey,jpIndex); UnionPageState state = unionPageKey.currentState;
} state.jumpIndex(jpIndex);
setState(() { } else
pageController.jumpToPage(index); _widgetOptions[1] = UnionPage(unionPageKey, jpIndex);
}); }
},invite:invite,interviewCouponList:interviewCouponList,firstLoginCouponList:firstLoginCouponList,), setState(() {
pageController.jumpToPage(index);
});
},
invite: invite,
interviewCouponList: interviewCouponList,
firstLoginCouponList: firstLoginCouponList,
),
// MainHomePage(), // MainHomePage(),
UnionPage(unionPageKey,0), UnionPage(unionPageKey, 0),
VipPage(vipPageKey), VipPage(vipPageKey),
Platform.isAndroid ? (ExamineInstance.instance.isExamine?OrderPage():CommunityPage()) :CommunityPage(), Platform.isAndroid
? (ExamineInstance.instance.isExamine ? OrderPage() : CommunityPage())
: CommunityPage(),
// CommunityPage(), // CommunityPage(),
MinePage(minePageKey), MinePage(minePageKey),
]; ];
@ -167,9 +184,12 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
///App自动更新 ///App自动更新
appAutoUpdate(); appAutoUpdate();
} }
final XgFlutterPlugin xgFlutterPlugin = XgFlutterPlugin(); final XgFlutterPlugin xgFlutterPlugin = XgFlutterPlugin();
initSdk() async { initSdk() async {
xgFlutterPlugin.stopXg(); xgFlutterPlugin.stopXg();
///ios startXg前需要调用此方法 ///ios startXg前需要调用此方法
xgFlutterPlugin.configureClusterDomainName("tpns.sh.tencent.com"); xgFlutterPlugin.configureClusterDomainName("tpns.sh.tencent.com");
xgFlutterPlugin.setEnableDebug(true); xgFlutterPlugin.setEnableDebug(true);
@ -217,7 +237,7 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
if (Platform.isAndroid) { if (Platform.isAndroid) {
xgFlutterPlugin.getXgAndroidApi().addNativeEventHandler( xgFlutterPlugin.getXgAndroidApi().addNativeEventHandler(
MyNativeEventHandler( MyNativeEventHandler(
(String title, String message, String customContent, int type) { (String title, String message, String customContent, int type) {
print("xgPushClickAction2: $customContent"); print("xgPushClickAction2: $customContent");
SharedPreferences.getInstance().then((value) { SharedPreferences.getInstance().then((value) {
value.setString("pushData", customContent); value.setString("pushData", customContent);
@ -234,7 +254,7 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
if (Platform.isAndroid if (Platform.isAndroid
? (event["actionType"] == 0) ? (event["actionType"] == 0)
: (event["xg"]["msgtype"] == 1) && : (event["xg"]["msgtype"] == 1) &&
event[Platform.isAndroid ? "customMessage" : "custom"] != null) { event[Platform.isAndroid ? "customMessage" : "custom"] != null) {
SharedPreferences.getInstance().then((value) { SharedPreferences.getInstance().then((value) {
value.setString("pushData", value.setString("pushData",
event[Platform.isAndroid ? "customMessage" : "custom"]); event[Platform.isAndroid ? "customMessage" : "custom"]);
@ -249,15 +269,15 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
} }
return event; return event;
}, onReceiveNotificationResponse: (event) async { }, onReceiveNotificationResponse: (event) async {
try{ try {
if(jsonDecode(event["customMessage"])["typed"] == 6){ if (jsonDecode(event["customMessage"])["typed"] == 6) {
// HomePageState state = homePageKey.currentState; // HomePageState state = homePageKey.currentState;
// state.queryMsgStats(); // state.queryMsgStats();
MinePageState state = minePageKey.currentState; MinePageState state = minePageKey.currentState;
state.queryMsgStats(); state.queryMsgStats();
} }
}catch(ex){} } catch (ex) {}
print("onReceiveNotificationResponse: ${event.toString()}"); print("onReceiveNotificationResponse: ${event.toString()}");
return event; return event;
}, onReceiveMessage: (event) async { }, onReceiveMessage: (event) async {
@ -277,7 +297,7 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
if (sharedPreferences.getString("token") == null || if (sharedPreferences.getString("token") == null ||
sharedPreferences.getString("token") == "") return; sharedPreferences.getString("token") == "") return;
String startIntent; String startIntent;
if(Platform.isAndroid) startIntent= await Bridge.getStartIntent(); if (Platform.isAndroid) startIntent = await Bridge.getStartIntent();
print("intent:$startIntent"); print("intent:$startIntent");
String pushData = ""; String pushData = "";
if (startIntent != null && startIntent != "") { if (startIntent != null && startIntent != "") {
@ -292,37 +312,45 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
String routeName = ""; String routeName = "";
Map<String, dynamic> params = {}; Map<String, dynamic> params = {};
switch (pushMap["typed"].toString()) { switch (pushMap["typed"].toString()) {
case "1":case "ARTICLE": case "1":
case "ARTICLE":
routeName = "/router/web_page"; routeName = "/router/web_page";
params["articleId"] = pushMap["info"]; params["articleId"] = pushMap["info"];
break; break;
case "2":case "ACTIVITY": case "2":
case "ACTIVITY":
routeName = "/router/web_page"; routeName = "/router/web_page";
params["activityId"] = pushMap["info"]; params["activityId"] = pushMap["info"];
break; break;
case "3":case "SHOP": case "3":
case "SHOP":
routeName = "/router/store_order"; routeName = "/router/store_order";
params["id"] = pushMap["info"]; params["id"] = pushMap["info"];
params["tenant"] = pushMap["tenant"]; params["tenant"] = pushMap["tenant"];
params["storeName"] = pushMap["storeName"]; params["storeName"] = pushMap["storeName"];
break; break;
case "4":case "CREDIT_GOODS": case "4":
case "CREDIT_GOODS":
routeName = "/router/integral_store_page"; routeName = "/router/integral_store_page";
params["goodsId"] = pushMap["info"]; params["goodsId"] = pushMap["info"];
break; break;
case "5":case "ORDER": case "5":
case "ORDER":
routeName = "/router/order_details"; routeName = "/router/order_details";
params["id"] = pushMap["info"]; params["id"] = pushMap["info"];
break; break;
case "6":case "MEMBER": case "6":
case "MEMBER":
routeName = "/router/community_details"; routeName = "/router/community_details";
params["businessId"] = pushMap["info"]; params["businessId"] = pushMap["info"];
break; break;
case "8":case "WALLET": case "8":
case "WALLET":
routeName = "/router/mine_wallet"; routeName = "/router/mine_wallet";
params["id"] = pushMap["info"]; params["id"] = pushMap["info"];
break; break;
case "9":case "WELFARE": case "9":
case "WELFARE":
routeName = "/router/welfare_page"; routeName = "/router/welfare_page";
params["id"] = pushMap["info"]; params["id"] = pushMap["info"];
break; break;
@ -346,6 +374,7 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
).queryInfo().catchError((onError) {}); ).queryInfo().catchError((onError) {});
sharedPreferences.setString('user', jsonEncode(baseDate.data)); sharedPreferences.setString('user', jsonEncode(baseDate.data));
//
String mobile = baseDate.data.phone; String mobile = baseDate.data.phone;
if (mobile != null && mobile != "") { if (mobile != null && mobile != "") {
xgFlutterPlugin.setAccount(mobile, AccountType.PHONE_NUMBER); xgFlutterPlugin.setAccount(mobile, AccountType.PHONE_NUMBER);
@ -366,35 +395,37 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
SharedPreferences value = await SharedPreferences.getInstance(); SharedPreferences value = await SharedPreferences.getInstance();
if (apiService == null) { if (apiService == null) {
apiService = ApiService( apiService = ApiService(
Dio(), Dio(),
context: context, context: context,
token: value.getString("token"), token: value.getString("token"),
); );
} }
PackageInfo packageInfo = await PackageInfo.fromPlatform(); PackageInfo packageInfo = await PackageInfo.fromPlatform();
BaseData<AppUpdate> baseData = await apiService.appVersion().catchError((onError) {}); BaseData<AppUpdate> baseData =
await apiService.appVersion().catchError((onError) {});
if (baseData != null && baseData.isSuccess) { if (baseData != null && baseData.isSuccess) {
// baseData.data.appLastVersion = "2.0.17"; // baseData.data.appLastVersion = "2.0.17";
// baseData.data.appLastVersionUp = "1.0.1"; // baseData.data.appLastVersionUp = "1.0.1";
if(AppUtils.versionCompare(packageInfo.version,baseData.data?.appLastVersion) if (AppUtils.versionCompare(
&& AppUtils.versionCompare(value.getString("appLastVersion")??"1.0.0",baseData.data?.appLastVersion)){ packageInfo.version, baseData.data?.appLastVersion) &&
AppUtils.versionCompare(value.getString("appLastVersion") ?? "1.0.0",
baseData.data?.appLastVersion)) {
showDialog( showDialog(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (BuildContext context) { builder: (BuildContext context) {
return WillPopScope( return WillPopScope(
child:UpdateDialog(packageInfo.version,baseData.data), child: UpdateDialog(packageInfo.version, baseData.data),
onWillPop: () async { onWillPop: () async {
return Future.value(false); return Future.value(false);
}); });
}, },
); );
}else{ } else {
return; return;
} }
}else{ } else {
SmartDialog.showToast(baseData.msg, SmartDialog.showToast(baseData.msg, alignment: Alignment.center);
alignment: Alignment.center);
Navigator.of(context).pop(); Navigator.of(context).pop();
} }
} }
@ -443,7 +474,13 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
bottomNavigationItem(S.of(context).main_menu2, 1), bottomNavigationItem(S.of(context).main_menu2, 1),
// bottomNavigationItem(S.of(context).main_menu3 , 2), // bottomNavigationItem(S.of(context).main_menu3 , 2),
bottomNavigationItem(S.of(context).main_menu5, 2), bottomNavigationItem(S.of(context).main_menu5, 2),
bottomNavigationItem(Platform.isAndroid ? (ExamineInstance.instance.isExamine?"订单":S.of(context).main_menu3) :S.of(context).main_menu3, 3), bottomNavigationItem(
Platform.isAndroid
? (ExamineInstance.instance.isExamine
? "订单"
: S.of(context).main_menu3)
: S.of(context).main_menu3,
3),
bottomNavigationItem(S.of(context).main_menu4, 4), bottomNavigationItem(S.of(context).main_menu4, 4),
], ],
), ),
@ -525,72 +562,72 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
); );
} }
// Widget bottomNavigationBigItem(text, index) { // Widget bottomNavigationBigItem(text, index) {
// var isSelected = index == clickIndex; // var isSelected = index == clickIndex;
// return Expanded( // return Expanded(
// child: InkWell( // child: InkWell(
// onTap: () { // onTap: () {
// setState(() { // setState(() {
// clickIndex = index; // clickIndex = index;
// pageController.jumpToPage(clickIndex); // pageController.jumpToPage(clickIndex);
// }); // });
// }, // },
// child: Container( // child: Container(
// width: 45.w, // width: 45.w,
// alignment: Alignment.center, // alignment: Alignment.center,
// child: AnimatedCrossFade( // child: AnimatedCrossFade(
// firstCurve: Curves.easeIn, // firstCurve: Curves.easeIn,
// secondCurve: Curves.ease, // secondCurve: Curves.ease,
// sizeCurve: Curves.easeInOut, // sizeCurve: Curves.easeInOut,
// duration: Duration(milliseconds: 50), // duration: Duration(milliseconds: 50),
// firstChild: Container( // firstChild: Container(
// padding: EdgeInsets.all(4), // padding: EdgeInsets.all(4),
// height: 82.h, // height: 82.h,
// alignment: // alignment:
// Platform.isAndroid ? Alignment.center : Alignment.topCenter, // Platform.isAndroid ? Alignment.center : Alignment.topCenter,
// child: Image.asset( // child: Image.asset(
// icons[index], // icons[index],
// width: 45, // width: 45,
// height: 45, // height: 45,
// fit: BoxFit.contain, // fit: BoxFit.contain,
// ), // ),
// ), // ),
// secondChild: Column( // secondChild: Column(
// mainAxisAlignment: Platform.isAndroid // mainAxisAlignment: Platform.isAndroid
// ? MainAxisAlignment.center // ? MainAxisAlignment.center
// : MainAxisAlignment.start, // : MainAxisAlignment.start,
// crossAxisAlignment: CrossAxisAlignment.center, // crossAxisAlignment: CrossAxisAlignment.center,
// children: [ // children: [
// if (Platform.isIOS) // if (Platform.isIOS)
// SizedBox( // SizedBox(
// height: 4.h, // height: 4.h,
// ), // ),
// Image.asset( // Image.asset(
// iconn[index], // iconn[index],
// width: 30, // width: 30,
// height: 30, // height: 30,
// fit: BoxFit.contain, // fit: BoxFit.contain,
// ), // ),
// SizedBox( // SizedBox(
// height: 1.h, // height: 1.h,
// ), // ),
// Text( // Text(
// text, // text,
// style: TextStyle( // style: TextStyle(
// fontSize: 10.sp, // fontSize: 10.sp,
// fontWeight: MyFontWeight.semi_bold, // fontWeight: MyFontWeight.semi_bold,
// color: Color(isSelected ? 0xFF4C4C4C : 0xFFA29E9E), // color: Color(isSelected ? 0xFF4C4C4C : 0xFFA29E9E),
// ), // ),
// ), // ),
// ], // ],
// ), // ),
// crossFadeState: isSelected // crossFadeState: isSelected
// ? CrossFadeState.showFirst // ? CrossFadeState.showFirst
// : CrossFadeState.showSecond, // : CrossFadeState.showSecond,
// ), // ),
// ), // ),
// ), // ),
// flex: 1, // flex: 1,
// ); // );
// } // }
} }

58
lib/mine/mine_page.dart

@ -5,6 +5,7 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:flutter_swiper/flutter_swiper.dart';
import 'package:huixiang/generated/l10n.dart'; import 'package:huixiang/generated/l10n.dart';
import 'package:huixiang/main.dart'; import 'package:huixiang/main.dart';
import 'package:huixiang/mine/mine_view/mine_calendar.dart'; import 'package:huixiang/mine/mine_view/mine_calendar.dart';
@ -427,24 +428,57 @@ class MinePageState extends State<MinePage> with AutomaticKeepAliveClientMixin {
///广 ///广
Widget spreadImage() { Widget spreadImage() {
return Container( return Container(
margin: EdgeInsets.only(right: 14.w, bottom: 30.h, left: 14.w), margin: EdgeInsets.only(bottom: 30.h,),
child: GestureDetector( width: double.infinity,
onTap: () { height: 85.h,
Navigator.of(context).pushNamed('/router/invite_friends'); child: Swiper(
}, pagination: SwiperPagination(
child: ClipRRect( alignment: Alignment.bottomCenter,
child: Image.asset( margin: EdgeInsets.only(top: 5.h),
"assets/image/welfare_spread.webp", builder: DotSwiperPaginationBuilder(
width: double.infinity, size: 8.w,
fit: BoxFit.fill, activeSize: 8.w,
height: 80.h, space: 5.w,
activeColor: Colors.white,
color: Colors.white.withAlpha(76),
), ),
borderRadius: BorderRadius.circular(6.w),
), ),
autoplay:true,
duration: 1000,
autoplayDelay: 2000,
itemBuilder: (context, position) {
return GestureDetector(
onTap: (){
if(position == 0){
Navigator.of(context).pushNamed('/router/invite_friends');
}else if(position == 1){
Navigator.of(context).pushNamed('/router/trading_card_page');
}
},
child:Container(
margin: EdgeInsets.symmetric(horizontal:14.w),
child: ClipRRect(
child:Image.asset(
spreadItem[position],
width:double.infinity,
fit: BoxFit.fill,
height:double.infinity,
),
borderRadius: BorderRadius.circular(6.w),
),
),
);
},
itemCount:2,
), ),
); );
} }
final List<String> spreadItem = [
"assets/image/welfare_spread.webp",
"assets/image/welfare_yz.webp",
];
/// ///
Widget buildNotice() { Widget buildNotice() {
return Container( return Container(

830
lib/mine/mine_vip/mine_vip_core.dart

@ -23,8 +23,13 @@ import 'package:huixiang/view_widget/mine_vip_view.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:huixiang/view_widget/my_appbar.dart'; import 'package:huixiang/view_widget/my_appbar.dart';
import 'package:huixiang/view_widget/vip_dialog.dart'; import 'package:huixiang/view_widget/vip_dialog.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
import '../../retrofit/data/user_info.dart';
import '../../view_widget/classic_header.dart';
import '../../view_widget/my_footer.dart';
class MineVipCore extends StatefulWidget { class MineVipCore extends StatefulWidget {
final Map<String, dynamic> arguments; final Map<String, dynamic> arguments;
@ -42,27 +47,30 @@ class _MineVipCore extends State<MineVipCore> {
List<VipBenefitList> vipBenefitList = []; List<VipBenefitList> vipBenefitList = [];
VipRuleDetails vipRuleDetails; VipRuleDetails vipRuleDetails;
int checkIndex = 0; int checkIndex = 0;
UserInfo userInfo;
int rankNameIndex;
final RefreshController refreshController = RefreshController();
final SwiperController controller = SwiperController(); final SwiperController controller = SwiperController();
@override @override
void initState() { void initState() {
super.initState(); super.initState();
userInfo = widget.arguments["userInfo"];
SharedPreferences.getInstance().then((value) { SharedPreferences.getInstance().then((value) {
if (widget.arguments["rankLevel"] == 1 && // if (widget.arguments["rankLevel"] == 1 &&
!(value.getBool("FirstYinKa") ?? false)) { // !(value.getBool("FirstYinKa") ?? false)) {
showAlertDialog("银卡会员"); // showAlertDialog("银卡会员");
value.setBool("FirstYinKa", true); // value.setBool("FirstYinKa", true);
} else if (widget.arguments["rankLevel"] == 2 && // } else if (widget.arguments["rankLevel"] == 2 &&
!(value.getBool("FirstJinKa") ?? false)) { // !(value.getBool("FirstJinKa") ?? false)) {
showAlertDialog("金卡会员"); // showAlertDialog("金卡会员");
value.setBool("FirstJinKa", true); // value.setBool("FirstJinKa", true);
} else if (widget.arguments["rankLevel"] == 3 && // } else if (widget.arguments["rankLevel"] == 3 &&
!(value.getBool("FirstGongC") ?? false)) { // !(value.getBool("FirstGongC") ?? false)) {
showAlertDialog("共创会员"); // showAlertDialog("共创会员");
value.setBool("FirstGongC", true); // value.setBool("FirstGongC", true);
} // }
apiService = apiService =
ApiService(Dio(), context: context, token: value.getString("token")); ApiService(Dio(), context: context, token: value.getString("token"));
queryVipLevel(); queryVipLevel();
@ -82,29 +90,59 @@ class _MineVipCore extends State<MineVipCore> {
}); });
} }
String levelTipsName(int position){
if(userInfo.memberRankVo.rankName == ranks[position].rankName)
return S.of(context).dangqiandengji;
else {
int userLevelIndex = ranks.indexWhere((element) => element.rankName == userInfo.memberRankVo.rankName);
if(userLevelIndex+1 == position)
return "下一等级";
else if(userLevelIndex-1 > position)
return "已达到";
else if(userLevelIndex-1 == position)
return "上一等级";
else
return S.of(context).zanweikaitong;
}
}
///
queryVipLevel() async { queryVipLevel() async {
BaseData<List<Rank>> rankData = await apiService.rankList().catchError((onError) {}); BaseData<List<Rank>> rankData = await apiService.rankList().catchError((onError) {
refreshController.refreshFailed();
refreshController.loadFailed();});
if (rankData != null && rankData.isSuccess) { if (rankData != null && rankData.isSuccess) {
ranks.clear(); ranks.clear();
ranks.addAll(rankData.data); ranks.addAll(rankData.data);
rankNameIndex = ranks.indexWhere((element) => element.rankName == userInfo.memberRankVo.rankName);
if(rankNameIndex != -1)
checkIndex = rankNameIndex;
setState(() { setState(() {
controller.move((widget.arguments["rankLevel"] - 1), animation: false); controller.move((widget.arguments["rankLevel"] - 1), animation: false);
}); });
refreshController.refreshCompleted();
refreshController.loadComplete();
} else { } else {
SmartDialog.showToast(rankData.msg, alignment: Alignment.center); SmartDialog.showToast(rankData?.msg??"", alignment: Alignment.center);
refreshController.refreshFailed();
refreshController.loadFailed();
} }
} }
/// ///
queryBenefitList() async { queryBenefitList() async {
BaseData<List<VipBenefitList>> baseData = BaseData<List<VipBenefitList>> baseData =
await apiService.benefitList().catchError((onError) {}); await apiService.benefitList().catchError((onError) {
refreshController.refreshFailed();
refreshController.loadFailed();});
if (baseData != null && baseData.isSuccess) { if (baseData != null && baseData.isSuccess) {
setState(() { setState(() {
vipBenefitList.clear(); vipBenefitList.clear();
vipBenefitList.addAll(baseData.data); vipBenefitList.addAll(baseData.data);
vipBenefitList.sort((a, b) => (a.sort).compareTo(b.sort)); vipBenefitList.sort((a, b) => (a.sort).compareTo(b.sort));
}); });
refreshController.refreshCompleted();
refreshController.loadComplete();
} }
EasyLoading.dismiss(); EasyLoading.dismiss();
} }
@ -112,11 +150,15 @@ class _MineVipCore extends State<MineVipCore> {
////// //////
queryRuleDetails() async { queryRuleDetails() async {
BaseData<VipRuleDetails> baseData = BaseData<VipRuleDetails> baseData =
await apiService.vipBenefit().catchError((onError) {}); await apiService.vipBenefit().catchError((onError) {
refreshController.refreshFailed();
refreshController.loadFailed();});
if (baseData != null && baseData.isSuccess) { if (baseData != null && baseData.isSuccess) {
setState(() { setState(() {
vipRuleDetails = baseData.data; vipRuleDetails = baseData.data;
}); });
refreshController.refreshCompleted();
refreshController.loadComplete();
} }
EasyLoading.dismiss(); EasyLoading.dismiss();
} }
@ -156,6 +198,13 @@ class _MineVipCore extends State<MineVipCore> {
} }
} }
_onRefresh() async {
await queryVipLevel();
await queryBenefitList();
await queryRuleDetails();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Container( return Container(
@ -213,7 +262,7 @@ class _MineVipCore extends State<MineVipCore> {
), ),
)), )),
), ),
if(widget?.arguments["userInfo"] != null) if(userInfo.masterCardRankName != null)
Container( Container(
alignment: Alignment.center, alignment: Alignment.center,
margin: EdgeInsets.only(right: 16.w), margin: EdgeInsets.only(right: 16.w),
@ -222,7 +271,7 @@ class _MineVipCore extends State<MineVipCore> {
// Navigator.of(context).pushNamed('/router/integral_detailed_page'); // Navigator.of(context).pushNamed('/router/integral_detailed_page');
}, },
child: Text( child: Text(
"${S.of(context).dangqianzhukadengji} : ${widget?.arguments["userInfo"]??""}", "${S.of(context).dangqianzhukadengji} : ${userInfo.masterCardRankName??""}",
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 16.sp, fontSize: 16.sp,
@ -235,304 +284,328 @@ class _MineVipCore extends State<MineVipCore> {
), ),
), ),
Expanded(child: Expanded(child:
SingleChildScrollView( SmartRefresher(
controller: refreshController,
enablePullDown: true,
enablePullUp: false,
header: MyHeader(
color: Colors.white,
),
footer: CustomFooter(
builder: (context, mode) {
return MyFooter(mode);
},
),
onRefresh: () {
_onRefresh();
},
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
child: Column( scrollController: ScrollController(),
children: [ child: SingleChildScrollView(
/// physics: BouncingScrollPhysics(),
if(ranks.length > 0) child: Column(
Container( children: [
height: (MediaQuery.of(context).size.width) / ///
1.78 * if(ranks.length > 0)
AppUtils.textScale(context), Container(
child: Swiper( height: (MediaQuery.of(context).size.width) /
viewportFraction: 0.95, 1.78 *
loop: false, AppUtils.textScale(context),
physics: BouncingScrollPhysics(), child: Swiper(
controller: controller, viewportFraction: 0.95,
onIndexChanged: (index) { loop: false,
setState(() { physics: BouncingScrollPhysics(),
checkIndex = index; index: checkIndex,
}); controller: controller,
}, onIndexChanged: (index) {
itemBuilder: (context, position) { setState(() {
return MineVipView( checkIndex = index;
vipLevel: !(ranks != null && ranks.isNotEmpty) });
? widget.arguments["rankLevel"] },
: position + 1, itemBuilder: (context, position) {
curLevel: widget.arguments["rankLevel"], return vipCar(position);
tag: (widget.arguments["rankLevel"] == (position + 1) || // MineVipView(
!(ranks != null && ranks.isNotEmpty)) // vipLevel: !(ranks != null && ranks.isNotEmpty)
? "vip" // ? widget.arguments["rankLevel"]
: "", // : position + 1,
padding: 6.w, // curLevel: widget.arguments["rankLevel"],
// rank: !(ranks != null && ranks.isNotEmpty) // tag: (widget.arguments["rankLevel"] == (position + 1) ||
// ? 0 // !(ranks != null && ranks.isNotEmpty))
// : widget.arguments["expendAmount"] ?? 0, // ? "vip"
rankMax: !(ranks != null && ranks.isNotEmpty) // : "",
? 0 // padding: 6.w,
: ranks[position].rankOrigin, // // rank: !(ranks != null && ranks.isNotEmpty)
createTime: widget.arguments["createTime"], // // ? 0
showRank: false, // // : widget.arguments["expendAmount"] ?? 0,
price: !(ranks != null && ranks.isNotEmpty) // rankMax: !(ranks != null && ranks.isNotEmpty)
? "0" // ? 0
: ranks[position].price, // : ranks[position].rankOrigin,
); // createTime: widget.arguments["createTime"],
}, // showRank: false,
itemCount: // price: !(ranks != null && ranks.isNotEmpty)
(ranks != null && ranks.isNotEmpty) ? ranks.length : 1, // ? "0"
// : ranks[position].price,
// );
},
itemCount:
(ranks != null && ranks.isNotEmpty) ? ranks.length : 1,
),
), ),
),
/// ///
Container( if(vipBenefitList != null)
margin: EdgeInsets.fromLTRB(0, 16.h, 0, 0), Container(
padding: EdgeInsets.fromLTRB(16.w, 16.h, 16.w, 16.h), margin: EdgeInsets.fromLTRB(0, 16.h, 0, 0),
decoration: BoxDecoration( padding: EdgeInsets.fromLTRB(16.w, 16.h, 16.w, 16.h),
color: Colors.white, decoration: BoxDecoration(
borderRadius: BorderRadius.only( color: Colors.white,
topLeft: Radius.circular(8), borderRadius: BorderRadius.only(
topRight: Radius.circular(8), topLeft: Radius.circular(8),
), topRight: Radius.circular(8),
), ),
child: Column( ),
mainAxisAlignment: MainAxisAlignment.start, child: Column(
crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ crossAxisAlignment: CrossAxisAlignment.start,
Row(
children: [ children: [
Container( Row(
width: 4.w, children: [
height: 18.h, Container(
decoration: BoxDecoration( width: 4.w,
gradient: new LinearGradient( height: 18.h,
begin: Alignment.bottomCenter, decoration: BoxDecoration(
end: Alignment.topCenter, gradient: new LinearGradient(
colors: [ begin: Alignment.bottomCenter,
Color(0xFF000000), end: Alignment.topCenter,
Color(0xFF585858), colors: [
]), Color(0xFF000000),
), Color(0xFF585858),
]),
),
),
SizedBox(
width: 4.w,
),
Text(
S.of(context).huiyuanquanyi,
style: TextStyle(
fontWeight: MyFontWeight.medium,
fontSize: 16.sp,
color: Colors.black,
),
),
],
), ),
SizedBox( SizedBox(
width: 4.w, height: 12.h,
),
Text(
S.of(context).huiyuanquanyi,
style: TextStyle(
fontWeight: MyFontWeight.medium,
fontSize: 16.sp,
color: Colors.black,
),
), ),
vipLegalRight(),
], ],
), ),
SizedBox(
height: 12.h,
),
vipLegalRight(),
],
),
),
///
Container(
margin: EdgeInsets.fromLTRB(0, 16.h, 0, 0),
padding: EdgeInsets.fromLTRB(16.w, 16.h, 16.w, 16.h),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(8),
topRight: Radius.circular(8),
), ),
),
child: Column( ///
mainAxisAlignment: MainAxisAlignment.start, if(vipRuleDetails != null)
crossAxisAlignment: CrossAxisAlignment.start, Container(
children: [ margin: EdgeInsets.fromLTRB(0, 16.h, 0, 0),
Row( padding: EdgeInsets.fromLTRB(16.w, 16.h, 16.w, 16.h),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(8),
topRight: Radius.circular(8),
),
),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Container( Row(
width: 4.w, children: [
height: 18.h, Container(
decoration: BoxDecoration( width: 4.w,
gradient: new LinearGradient( height: 18.h,
begin: Alignment.bottomCenter, decoration: BoxDecoration(
end: Alignment.topCenter, gradient: new LinearGradient(
colors: [ begin: Alignment.bottomCenter,
Color(0xFF000000), end: Alignment.topCenter,
Color(0xFF585858), colors: [
]), Color(0xFF000000),
), Color(0xFF585858),
]),
),
),
SizedBox(
width: 4.w,
),
Text(
S.of(context).huiyuanguize,
style: TextStyle(
fontWeight: MyFontWeight.medium,
fontSize: 16.sp,
color: Colors.black,
),
),
],
), ),
SizedBox( SizedBox(
width: 4.w, height: 12.h,
), ),
Text( if (vipRuleDetails?.qa != null && vipRuleDetails.qa != "")
S.of(context).huiyuanguize, Container(
style: TextStyle( color: Colors.white,
fontWeight: MyFontWeight.medium, padding: EdgeInsets.only(left: 8.w),
fontSize: 16.sp, child: Html(
color: Colors.black, data: vipRuleDetails?.qa ?? "",
customImageRenders: {
networkSourceMatcher(): networkImageRender(
loadingWidget: () {
return Container();
},
),
},
),
), ),
),
], ],
), ),
SizedBox(
height: 12.h,
),
if (vipRuleDetails?.qa != null && vipRuleDetails.qa != "")
Container(
color: Colors.white,
padding: EdgeInsets.only(left: 8.w),
child: Html(
data: vipRuleDetails?.qa ?? "",
customImageRenders: {
networkSourceMatcher(): networkImageRender(
loadingWidget: () {
return Container();
},
),
},
),
),
],
),
),
///
Container(
margin: EdgeInsets.fromLTRB(0, 16.h, 0, 0),
padding: EdgeInsets.fromLTRB(16.w, 16.h, 16.w, 16.h),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(8),
topRight: Radius.circular(8),
), ),
),
child: Column( ///
mainAxisAlignment: MainAxisAlignment.start, if(vipRuleDetails != null)
crossAxisAlignment: CrossAxisAlignment.start, Container(
children: [ margin: EdgeInsets.fromLTRB(0, 16.h, 0, 0),
Row( padding: EdgeInsets.fromLTRB(16.w, 16.h, 16.w, 16.h),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(8),
topRight: Radius.circular(8),
),
),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Container( Row(
width: 4.w, children: [
height: 18.h, Container(
decoration: BoxDecoration( width: 4.w,
gradient: new LinearGradient( height: 18.h,
begin: Alignment.bottomCenter, decoration: BoxDecoration(
end: Alignment.topCenter, gradient: new LinearGradient(
colors: [ begin: Alignment.bottomCenter,
Color(0xFF000000), end: Alignment.topCenter,
Color(0xFF585858), colors: [
]), Color(0xFF000000),
), Color(0xFF585858),
]),
),
),
SizedBox(
width: 4.w,
),
Text(
S.of(context).huiyuanjibieduizhao,
style: TextStyle(
fontWeight: MyFontWeight.medium,
fontSize: 16.sp,
color: Colors.black,
),
),
],
), ),
SizedBox( SizedBox(
width: 4.w, height: 12.h,
), ),
Text( MImage(
S.of(context).huiyuanjibieduizhao, vipRuleDetails?.contrast ?? "",
style: TextStyle( width: double.infinity,
fontWeight: MyFontWeight.medium, height: 281.h,
fontSize: 16.sp, errorSrc: "assets/image/default_1.webp",
color: Colors.black, fadeSrc: "assets/image/default_1.webp",
), ),
SizedBox(
height: 16.h,
), ),
], ],
), ),
SizedBox(
height: 12.h,
),
MImage(
vipRuleDetails?.contrast ?? "",
width: double.infinity,
height: 281.h,
errorSrc: "assets/image/default_1.webp",
fadeSrc: "assets/image/default_1.webp",
),
SizedBox(
height: 16.h,
),
],
),
),
///
Container(
margin: EdgeInsets.fromLTRB(0, 16.h, 0, 0),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(8),
topRight: Radius.circular(8),
), ),
),
child: Column( ///
mainAxisAlignment: MainAxisAlignment.start, if(vipRuleDetails != null)
crossAxisAlignment: CrossAxisAlignment.start, Container(
children: [ margin: EdgeInsets.fromLTRB(0, 16.h, 0, 0),
Container( decoration: BoxDecoration(
padding: EdgeInsets.fromLTRB(16.w, 16.h, 16.w, 16.h), color: Colors.white,
child: Column( borderRadius: BorderRadius.only(
mainAxisAlignment: MainAxisAlignment.start, topLeft: Radius.circular(8),
crossAxisAlignment: CrossAxisAlignment.start, topRight: Radius.circular(8),
children: [ ),
Row( ),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
padding: EdgeInsets.fromLTRB(16.w, 16.h, 16.w, 16.h),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Container( Row(
width: 4.w, children: [
height: 18.h, Container(
decoration: BoxDecoration( width: 4.w,
gradient: new LinearGradient( height: 18.h,
begin: Alignment.bottomCenter, decoration: BoxDecoration(
end: Alignment.topCenter, gradient: new LinearGradient(
colors: [ begin: Alignment.bottomCenter,
Color(0xFF000000), end: Alignment.topCenter,
Color(0xFF585858), colors: [
]), Color(0xFF000000),
), Color(0xFF585858),
]),
),
),
SizedBox(
width: 4.w,
),
Text(
S.of(context).huiyuanhuodejifen,
style: TextStyle(
fontWeight: MyFontWeight.medium,
fontSize: 16.sp,
color: Colors.black,
),
),
],
), ),
SizedBox( SizedBox(
width: 4.w, height: 12.h,
), ),
Text( if (vipRuleDetails?.rule != null &&
S.of(context).huiyuanhuodejifen, vipRuleDetails.rule != "")
style: TextStyle( Container(
fontWeight: MyFontWeight.medium, color: Colors.white,
fontSize: 16.sp, child: Html(
color: Colors.black, data: vipRuleDetails?.rule ?? "",
customImageRenders: {
networkSourceMatcher(): networkImageRender(
loadingWidget: () {
return Container();
},
),
},
),
), ),
),
], ],
), ),
SizedBox( ),
height: 12.h, ],
),
if (vipRuleDetails?.rule != null &&
vipRuleDetails.rule != "")
Container(
color: Colors.white,
child: Html(
data: vipRuleDetails?.rule ?? "",
customImageRenders: {
networkSourceMatcher(): networkImageRender(
loadingWidget: () {
return Container();
},
),
},
),
),
],
),
), ),
], ),
), ],
), ),
],
), ),
)), )),
], ],
@ -559,7 +632,6 @@ class _MineVipCore extends State<MineVipCore> {
]), ]),
), ),
width: MediaQuery.of(context).size.width, width: MediaQuery.of(context).size.width,
padding: EdgeInsets.all(16),
height: 54.h, height: 54.h,
alignment: Alignment.center, alignment: Alignment.center,
child: Text( child: Text(
@ -577,8 +649,194 @@ class _MineVipCore extends State<MineVipCore> {
], ],
), ),
); );
}
Widget vipCar(int position){
return Container(
margin:EdgeInsets.fromLTRB(16.w, 16.h, 8.w, 8.h),
width: MediaQuery.of(context).size.width - 32.w,
height: ((MediaQuery.of(context).size.width - 32.w) /
2.11 *
AppUtils.textScale(context)),
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [
AppUtils.getLighterColor(ranks[position]?.color ?? "#85C9DD"),
Color(int.parse((ranks[position]?.color ?? "#85C9DD").replaceAll("#", "FF"), radix: 16)),
],
begin: Alignment.topLeft,
end: Alignment.bottomRight,
),
borderRadius:BorderRadius.circular(8),
boxShadow: [
BoxShadow(
color: Colors.black.withAlpha(12),
offset: Offset(0, 3),
blurRadius: 14,
spreadRadius: 0,
),
],
),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
height: 86.w,
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
padding: EdgeInsets.fromLTRB(9.w, 4.h, 8.w, 4.h),
decoration: BoxDecoration(
color: Color(int.parse((ranks[position]?.color ?? "").replaceAll("#", "FF"), radix: 16)),
borderRadius: BorderRadius.only(
topLeft: Radius.circular(8),
bottomRight: Radius.circular(8),
),
),
child: Text(levelTipsName(position),
style: TextStyle(
fontSize: 12.sp,
fontWeight: MyFontWeight.semi_bold,
color: Color(int.parse((ranks[position]?.textColor ?? "").replaceAll("#", "FF"), radix: 16)),
),
),
),
Container(
margin: EdgeInsets.only(left: 13.w),
child: Text(
"VIP ${ranks[position].rankName ?? ""}",
style: TextStyle(
color: Color(int.parse((ranks[position]?.textColor ?? "").replaceAll("#", "FF"), radix: 16)),
fontWeight: MyFontWeight.semi_bold,
fontSize:22.sp,
),
),
),
],
),
),
Container(
margin: EdgeInsets.only(right: 11.w, bottom: 9.h),
child: Image.asset(
"assets/image/icon_mine_huixiang_logo.webp",
width: 86.w,
height: 86.w,
fit: BoxFit.contain,
),
),
],
),
Expanded(
child: Container(
margin: EdgeInsets.only(
left: 13.w,
right: 12.w,
bottom: 12.h,
),
child: Column(
mainAxisAlignment:
MainAxisAlignment.spaceAround,
children: [
if(userInfo?.memberRankVo?.rankName != ranks[position].rankName || (userInfo?.memberRankVo?.rankName == "共创会员" && ranks[position].rankName == "共创会员"))
Align(alignment: Alignment.centerRight,
child: Text(
(ranks[position].rankName == "共创会员") ? "永久VIP" : (ranks[position]?.originScore ?? 0).toString(),
overflow: TextOverflow.ellipsis,
style: TextStyle(
color:Color(int.parse((ranks[position]?.textColor ?? "").replaceAll("#", "FF"), radix: 16)),
fontWeight: ranks[position].rankName == "共创会员" ? MyFontWeight.regular : MyFontWeight.bold,
fontSize: ranks[position].rankName == "共创会员" ? 14.sp : 20.sp,
),
),),
if(userInfo?.memberRankVo?.rankName == ranks[position].rankName && (userInfo?.memberRankVo?.rankName != "共创会员" && ranks[position].rankName != "共创会员"))
Padding(padding:EdgeInsets.only(bottom: 12.h),
child: Row(
children: [
Expanded(child:
Text(
"消费满 ¥${userInfo.memberRankVo.nextOrigin ?? "0"} 升级为 ${userInfo?.memberRankVo?.nextName ?? ""}",
overflow: TextOverflow.ellipsis,
style: TextStyle(
color:Color(int.parse((ranks[position]?.textColor ?? "").replaceAll("#", "FF"), radix: 16)),
fontWeight:MyFontWeight.regular,
fontSize: 14.sp,
),
)
),
Text.rich(
TextSpan(
children: [
TextSpan(
text:"${AppUtils.calculateDouble(double.tryParse(userInfo.expendAmount??"0"))}",
style: TextStyle(
fontSize: 24.sp,
fontWeight: MyFontWeight.medium,
color: Color(int.parse((ranks[position]?.textColor ?? "").replaceAll("#", "FF"), radix: 16)),
),
),
TextSpan(
text: "/${userInfo.memberRankVo.nextOrigin ?? "0"}",
style: TextStyle(
fontSize: 14.sp,
fontWeight: MyFontWeight.regular,
color: Color(int.parse((ranks[position]?.textColor ?? "").replaceAll("#", "FF"), radix: 16)),
),
),
],
),
),
],
),),
if(userInfo?.memberRankVo?.rankName == ranks[position].rankName && (userInfo?.memberRankVo?.rankName != "共创会员" && ranks[position].rankName != "共创会员"))
Container(
height: 8.h,
child: ClipRRect(
borderRadius: BorderRadius.circular(6.5),
child: LinearProgressIndicator(
value: (userInfo?.memberRankVo?.nextOrigin ?? 0) > (double.tryParse(userInfo?.expendAmount ?? "0").toInt())? ((checkIndex < rankNameIndex) ?
(userInfo?.memberRankVo?.nextOrigin ?? 0)/(userInfo?.memberRankVo?.nextOrigin ?? 0): (double.tryParse(userInfo?.expendAmount ?? "0").toInt()) / (userInfo?.memberRankVo?.nextOrigin ?? 0)) : 0,
backgroundColor: Colors.white,
color: AppUtils.getLighterColor(ranks[position]?.color ?? ""),
),
),
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Text(
S.of(context).kaitongriqi(
(widget.arguments["createTime"] != null && widget.arguments["createTime"] != "")
? widget.arguments["createTime"].split(" ")[0]
: widget.arguments["createTime"]
),
style: TextStyle(
fontWeight: MyFontWeight.regular,
fontSize: 12.sp,
color: Color(int.parse((ranks[position]?.textColor ?? "").replaceAll("#", "FF"), radix: 16))
),
),
Icon(
Icons.qr_code,
size: 24,
color: Color(int.parse((ranks[position]?.textColor ?? "").replaceAll("#", "FF"), radix: 16)),
),
],
),
],
),
),
flex: 1,
),
],
),
);
} }
///vip ///vip

2
lib/mine/user_info_page.dart

@ -44,7 +44,7 @@ class _UserInfoPage extends State<UserInfoPage> {
SharedPreferences.getInstance().then((value) => { SharedPreferences.getInstance().then((value) => {
print(value.getString('user')), print(value.getString('user')),
user = UserInfo.fromJson(jsonDecode(value.getString('user'))), user = UserInfo.fromJson(jsonDecode(value.getString('user'))),
mobile = value.getString('mobile'), mobile = user.phone,
modifyInfo["nickname"] = user.nickname, modifyInfo["nickname"] = user.nickname,
modifyInfo["signature"] = user.signature, modifyInfo["signature"] = user.signature,
modifyInfo["birth"] = user.birth, modifyInfo["birth"] = user.birth,

4
lib/order/exchange_history_page.dart

@ -445,12 +445,12 @@ class _ExchangeHistoryList extends State<ExchangeHistoryList>
Text( Text(
exchangeOrder?.amount == null || exchangeOrder.amount == "0" exchangeOrder?.amount == null || exchangeOrder.amount == "0"
? "" ? ""
: S.of(context).shifujifen((exchangeOrder.amount)) + : exchangeOrder.payType == 2 ? S.of(context).shifujihuanka(exchangeOrder.amount):(S.of(context).shifujifen(exchangeOrder.amount) +
( exchangeOrder?.creditOrderDetailList[0]?.money == null || ( exchangeOrder?.creditOrderDetailList[0]?.money == null ||
exchangeOrder?.creditOrderDetailList[0]?.money == exchangeOrder?.creditOrderDetailList[0]?.money ==
"0.00" "0.00"
? "" ? ""
: " + ${double.parse(exchangeOrder?.creditOrderDetailList[0]?.money.toString()) * exchangeOrder?.creditOrderDetailList[0].goodsNumber}"), : " + ${double.parse(exchangeOrder?.creditOrderDetailList[0]?.money.toString()) * exchangeOrder?.creditOrderDetailList[0].goodsNumber}")),
style: TextStyle( style: TextStyle(
fontSize: 12.sp, fontSize: 12.sp,
fontWeight: MyFontWeight.semi_bold, fontWeight: MyFontWeight.semi_bold,

1021
lib/order/exchange_order_page.dart

File diff suppressed because it is too large Load Diff

67
lib/order/exchange_order_success_page.dart

@ -26,17 +26,21 @@ class ExchangeOrderSuccessPage extends StatefulWidget {
class _ExchangeOrderSuccessPage extends State<ExchangeOrderSuccessPage> { class _ExchangeOrderSuccessPage extends State<ExchangeOrderSuccessPage> {
int price = 0; int price = 0;
ApiService apiService; ApiService apiService;
int happyBeanPrice= 0;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
price = double.parse((widget.arguments["points"] ?? "0").toString()).toInt() - price = double.parse((widget.arguments["points"] ?? "0").toString()).toInt() -
double.parse((widget.arguments["price"] ?? "0").toString()).toInt(); double.parse((widget.arguments["price"] ?? "0").toString()).toInt();
happyBeanPrice = double.parse((widget.arguments["happyBean"] ?? "0").toString()).toInt() -
double.parse((widget.arguments["happyBeanPrice"] ?? "0").toString()).toInt();
UserInfo userInfo; UserInfo userInfo;
SharedPreferences.getInstance().then((value){ SharedPreferences.getInstance().then((value){
apiService = ApiService(Dio(), context: context, token: value.getString("token")); apiService = ApiService(Dio(), context: context, token: value.getString("token"));
userInfo = UserInfo.fromJson(jsonDecode(value.getString('user'))); userInfo = UserInfo.fromJson(jsonDecode(value.getString('user')));
userInfo.points = "$price"; userInfo.points = "$price";
userInfo.happyBean = "$happyBeanPrice";
value.setString('user', jsonEncode(userInfo.toJson())); value.setString('user', jsonEncode(userInfo.toJson()));
}); });
@ -79,7 +83,28 @@ class _ExchangeOrderSuccessPage extends State<ExchangeOrderSuccessPage> {
fontWeight: MyFontWeight.semi_bold), fontWeight: MyFontWeight.semi_bold),
), ),
SizedBox( SizedBox(
height: 70.h, height:45.h,
),
Text(
widget.arguments["realPay"].toString().contains(S.of(context).xiaofeijihuanka) ?
S.of(context).xiaofeijihuanka: (widget.arguments["realPay"].toString().contains(S.of(context).jifen) ? S.of(context).xiaofeijifen : "消费金额"),
style: TextStyle(
color: Color(0xFF727272),
fontSize: 14.sp,
),
),
SizedBox(
height: 5.h,
),
Text(
widget.arguments["realPay"],
style: TextStyle(
color: Color(0xFF32A060),
fontSize: 21.sp,
fontWeight: MyFontWeight.bold),
),
SizedBox(
height: 34.h,
), ),
Row( Row(
children: [ children: [
@ -87,53 +112,53 @@ class _ExchangeOrderSuccessPage extends State<ExchangeOrderSuccessPage> {
child: Column( child: Column(
children: [ children: [
Text( Text(
widget.arguments["realPay"], "可用集换卡",
style: TextStyle( style: TextStyle(
color: Colors.black, color: Color(0xFF727272),
fontSize: 21.sp, fontSize: 14.sp,
fontWeight: MyFontWeight.semi_bold), ),
), ),
SizedBox( SizedBox(
height: 14.h, height: 14.h,
), ),
Text( Text(
S.of(context).xiaofeijifen, "$happyBeanPrice",
style: TextStyle( style: TextStyle(
color: Color(0xFF727272), color: Colors.black,
fontSize: 14.sp, fontSize: 21.sp,
), fontWeight: MyFontWeight.regular),
) ),
], ],
), ),
flex: 1, flex: 1,
), ),
Container( Container(
width: 2.w, width: 1.w,
height: 34.h, height: 53.h,
color: Color(0xFFABABAB), color: Color(0xFFD8D8D8),
margin: EdgeInsets.only(top: 18.h, bottom: 7.h), margin: EdgeInsets.only(top: 18.h, bottom: 7.h),
), ),
Expanded( Expanded(
child: Column( child: Column(
children: [ children: [
Text( Text(
"$price", S.of(context).keyongjifen,
style: TextStyle( style: TextStyle(
color: Colors.black, color: Color(0xFF727272),
fontSize: 21.sp, fontSize: 14.sp,
fontWeight: MyFontWeight.semi_bold,
), ),
), ),
SizedBox( SizedBox(
height: 14.h, height: 14.h,
), ),
Text( Text(
S.of(context).keyongjifen, "$price",
style: TextStyle( style: TextStyle(
color: Color(0xFF727272), color: Colors.black,
fontSize: 14.sp, fontSize: 21.sp,
fontWeight: MyFontWeight.regular,
), ),
) ),
], ],
), ),
flex: 1, flex: 1,

126
lib/order/order_view/order_commodity.dart

@ -9,6 +9,8 @@ import 'package:huixiang/utils/font_weight.dart';
import 'package:huixiang/view_widget/custom_image.dart'; import 'package:huixiang/view_widget/custom_image.dart';
import 'package:huixiang/view_widget/separator.dart'; import 'package:huixiang/view_widget/separator.dart';
import '../../utils/flutter_utils.dart';
class OrderCommodity extends StatefulWidget { class OrderCommodity extends StatefulWidget {
final OrderInfo orderInfo; final OrderInfo orderInfo;
@ -87,6 +89,18 @@ class _OrderCommodity extends State<OrderCommodity> {
); );
} }
if (widget.orderInfo.isTakeOut == 3) {
//
widgets.add(
discountItem(
Color(0xFFFF7A1A),
"打包费",
"",
"+ ${widget.orderInfo?.totalPackagingFee ?? "0"}",
),
);
}
if (widget.orderInfo.benefitDiscountAmount != "0.00") { if (widget.orderInfo.benefitDiscountAmount != "0.00") {
// //
widgets.add( widgets.add(
@ -169,12 +183,14 @@ class _OrderCommodity extends State<OrderCommodity> {
return Container( return Container(
margin: EdgeInsets.only(top: 8.h, bottom: 8.h), margin: EdgeInsets.only(top: 8.h, bottom: 8.h),
child: Row( child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
MImage( MImage(
productList.skuImg, productList.skuImg,
width: 44.w, width: 49,
height: 44, height: 49,
fit: BoxFit.cover, fit: BoxFit.cover,
radius: BorderRadius.circular(2),
errorSrc: "assets/image/default_1.webp", errorSrc: "assets/image/default_1.webp",
fadeSrc: "assets/image/default_1.webp", fadeSrc: "assets/image/default_1.webp",
), ),
@ -182,68 +198,74 @@ class _OrderCommodity extends State<OrderCommodity> {
flex: 1, flex: 1,
child: Container( child: Container(
margin: EdgeInsets.only( margin: EdgeInsets.only(
left: 16.w, left: 8.w,
), ),
// height: 44.h, // height: 44.h,
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.spaceAround, mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Row( Text(
mainAxisAlignment: MainAxisAlignment.spaceBetween, productList.productName,
crossAxisAlignment: CrossAxisAlignment.center, maxLines: 1,
children: [ overflow: TextOverflow.ellipsis,
Expanded(child:Text( style: TextStyle(
productList.productName, fontWeight: FontWeight.bold,
maxLines: 1, fontSize: 14.sp,
overflow: TextOverflow.ellipsis, color: Color(0xFF353535),
style: TextStyle( ),
fontWeight: FontWeight.bold, ),
fontSize: 14.sp, SizedBox(
color: Color(0xFF353535), height: 4.h,
),
)),
Text(
"x${productList.buyNum}",
style: TextStyle(
fontSize: 12.sp,
color: Color(0xFF727272),
),
),
],
), ),
Row( Text(
mainAxisAlignment: MainAxisAlignment.spaceBetween, productList.skuNameStr != null
crossAxisAlignment: CrossAxisAlignment.center, ? "${productList.skuNameStr ?? ""}"
children: [ : "",
Expanded( overflow: TextOverflow.ellipsis,
flex: 1, style: TextStyle(
child: Text( fontSize: 10.sp,
productList.skuNameStr != null color: Color(0xFFA29E9E),
? "${productList.skuNameStr}" ),
: "", ),
overflow: TextOverflow.ellipsis, Text(
style: TextStyle( "x${productList.buyNum}",
fontSize: 12.sp, style: TextStyle(
color: Color(0xFFA29E9E), fontSize: 12.sp,
), color: Color(0xFF727272),
), ),
),
Text(
S.of(context).yuan_(productList.sellPrice),
style: TextStyle(
fontWeight: MyFontWeight.medium,
fontSize: 12.sp,
fontFamily: 'JDZhengHT',
color: Color(0xFF4C4C4C),
),
)
],
), ),
], ],
), ),
), ),
), ),
Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Text(
productList.buyNum > 1
? S.of(context).yuan_(AppUtils.calculateDouble(double.tryParse(productList.sellPrice ?? "0") - AppUtils.stringAsFixedDouble2((double.tryParse(productList.discountAmount ?? "0") / productList.buyNum))))
: S.of(context).yuan_(AppUtils.calculateDouble(double.tryParse(productList.sellPrice ?? "0") - double.tryParse(productList.discountAmount ?? "0"))),
style: TextStyle(
fontWeight: MyFontWeight.medium,
fontSize: 14.sp,
color: Color(0xFF4C4C4C),
),
),
if (productList.discountAmount != null && productList.discountAmount != "0")
Text(
S.of(context).yuan_(productList.sellPrice),
style: TextStyle(
fontWeight: MyFontWeight.regular,
fontSize: 12.sp,
fontFamily: 'JDZhengHT',
decoration: TextDecoration.lineThrough,
color: Color(0xFFA29E9E),
),
)
],
),
], ],
), ),
); );

3
lib/retrofit/data/exchange_order.dart

@ -14,6 +14,7 @@ class ExchangeOrder {
String amount; String amount;
String money; String money;
int payStatus; int payStatus;
int payType;
int sendStatus; int sendStatus;
String address; String address;
String recAddress; String recAddress;
@ -34,6 +35,7 @@ class ExchangeOrder {
..amount = json['amount'] as String ..amount = json['amount'] as String
..money = json['money'] as String ..money = json['money'] as String
..payStatus = json['payStatus'] as int ..payStatus = json['payStatus'] as int
..payType = json['payType'] as int
..sendStatus = json['sendStatus'] as int ..sendStatus = json['sendStatus'] as int
..address = json['address'] as String ..address = json['address'] as String
..recAddress = json['recAddress'] as String ..recAddress = json['recAddress'] as String
@ -58,6 +60,7 @@ class ExchangeOrder {
'amount': this.amount, 'amount': this.amount,
'money': this.money, 'money': this.money,
'payStatus': this.payStatus, 'payStatus': this.payStatus,
'payType':this.payType,
'sendStatus': this.sendStatus, 'sendStatus': this.sendStatus,
'address': this.address, 'address': this.address,
'recAddress': this.recAddress, 'recAddress': this.recAddress,

3
lib/retrofit/data/findMiNiGroupList.dart

@ -103,6 +103,7 @@ class ProductListBean {
String printerFlag; String printerFlag;
dynamic markProductNone; dynamic markProductNone;
SubscribeParam subscribeParam; SubscribeParam subscribeParam;
bool isSetMeal;
static ProductListBean fromJson(Map<String, dynamic> map) { static ProductListBean fromJson(Map<String, dynamic> map) {
if (map == null) return null; if (map == null) return null;
@ -137,6 +138,7 @@ class ProductListBean {
productListBean.printerFlag = map['printerFlag']; productListBean.printerFlag = map['printerFlag'];
productListBean.markProductNone = map['markProductNone']; productListBean.markProductNone = map['markProductNone'];
productListBean.subscribeParam = SubscribeParam.fromJson(map['subscribeParam']); productListBean.subscribeParam = SubscribeParam.fromJson(map['subscribeParam']);
productListBean.isSetMeal = map['isSetMeal'];
return productListBean; return productListBean;
} }
@ -171,6 +173,7 @@ class ProductListBean {
"printerFlag": printerFlag, "printerFlag": printerFlag,
"markProductNone": markProductNone, "markProductNone": markProductNone,
"subscribeParam": subscribeParam, "subscribeParam": subscribeParam,
"isSetMeal": isSetMeal,
}; };
} }

6
lib/retrofit/data/goods.dart

@ -42,6 +42,7 @@ class Goods {
String money, String money,
String onePrice, String onePrice,
String oneMoney, String oneMoney,
String oneBean,
String orderId, String orderId,
int stock, int stock,
int sales, int sales,
@ -69,6 +70,7 @@ class Goods {
_money = money; _money = money;
_onePrice = onePrice; _onePrice = onePrice;
_oneMoney = oneMoney; _oneMoney = oneMoney;
_oneBean = oneBean;
_orderId = orderId; _orderId = orderId;
_stock = stock; _stock = stock;
_sales = sales; _sales = sales;
@ -99,6 +101,7 @@ class Goods {
_money = json['money']; _money = json['money'];
_onePrice = json['onePrice']; _onePrice = json['onePrice'];
_oneMoney = json['oneMoney']; _oneMoney = json['oneMoney'];
_oneBean = json['oneBean'];
_orderId = json['orderId']; _orderId = json['orderId'];
_stock = json['stock']; _stock = json['stock'];
_sales = json['sales']; _sales = json['sales'];
@ -127,6 +130,7 @@ class Goods {
String _money; String _money;
String _onePrice; String _onePrice;
String _oneMoney; String _oneMoney;
String _oneBean;
String _orderId; String _orderId;
int _stock; int _stock;
int _sales; int _sales;
@ -155,6 +159,7 @@ class Goods {
String get money => _money; String get money => _money;
String get onePrice => _onePrice; String get onePrice => _onePrice;
String get oneMoney => _oneMoney; String get oneMoney => _oneMoney;
String get oneBean => _oneBean;
String get orderId => _orderId; String get orderId => _orderId;
int get stock => _stock; int get stock => _stock;
int get sales => _sales; int get sales => _sales;
@ -185,6 +190,7 @@ class Goods {
map['money'] = _money; map['money'] = _money;
map['onePrice'] = _onePrice; map['onePrice'] = _onePrice;
map['oneMoney'] = _oneMoney; map['oneMoney'] = _oneMoney;
map['oneBean'] = _oneBean;
map['orderId'] = _orderId; map['orderId'] = _orderId;
map['stock'] = _stock; map['stock'] = _stock;
map['sales'] = _sales; map['sales'] = _sales;

5
lib/retrofit/data/min_order_info.dart

@ -61,6 +61,7 @@ class MinOrderInfo {
String activityNoPrice, String activityNoPrice,
String activityDiscountPrice, String activityDiscountPrice,
String totalDiscountPrice, String totalDiscountPrice,
String totalPackagingFee,
String benefitDiscountAmount, String benefitDiscountAmount,
int orderSource, int orderSource,
dynamic address, dynamic address,
@ -145,6 +146,7 @@ class MinOrderInfo {
this.activityNoPrice = activityNoPrice; this.activityNoPrice = activityNoPrice;
this.activityDiscountPrice = activityDiscountPrice; this.activityDiscountPrice = activityDiscountPrice;
this.totalDiscountPrice = totalDiscountPrice; this.totalDiscountPrice = totalDiscountPrice;
this.totalPackagingFee = totalPackagingFee;
this.benefitDiscountAmount = benefitDiscountAmount; this.benefitDiscountAmount = benefitDiscountAmount;
this.orderSource = orderSource; this.orderSource = orderSource;
this.address = address; this.address = address;
@ -232,6 +234,7 @@ class MinOrderInfo {
this.activityNoPrice = json['activityNoPrice']; this.activityNoPrice = json['activityNoPrice'];
this.activityDiscountPrice = json['activityDiscountPrice']; this.activityDiscountPrice = json['activityDiscountPrice'];
this.totalDiscountPrice = json['totalDiscountPrice']; this.totalDiscountPrice = json['totalDiscountPrice'];
this.totalPackagingFee = json['totalPackagingFee'];
this.benefitDiscountAmount = json['benefitDiscountAmount']; this.benefitDiscountAmount = json['benefitDiscountAmount'];
this.orderSource = json['orderSource']; this.orderSource = json['orderSource'];
this.address = json['address']; this.address = json['address'];
@ -322,6 +325,7 @@ class MinOrderInfo {
String activityNoPrice; String activityNoPrice;
String activityDiscountPrice; String activityDiscountPrice;
String totalDiscountPrice; String totalDiscountPrice;
String totalPackagingFee;
String benefitDiscountAmount; String benefitDiscountAmount;
int orderSource; int orderSource;
dynamic address; dynamic address;
@ -409,6 +413,7 @@ class MinOrderInfo {
map['activityNoPrice'] = this.activityNoPrice; map['activityNoPrice'] = this.activityNoPrice;
map['activityDiscountPrice'] = this.activityDiscountPrice; map['activityDiscountPrice'] = this.activityDiscountPrice;
map['totalDiscountPrice'] = this.totalDiscountPrice; map['totalDiscountPrice'] = this.totalDiscountPrice;
map['totalPackagingFee'] = this.totalPackagingFee;
map['benefitDiscountAmount'] = this.benefitDiscountAmount; map['benefitDiscountAmount'] = this.benefitDiscountAmount;
map['orderSource'] = this.orderSource; map['orderSource'] = this.orderSource;
map['address'] = this.address; map['address'] = this.address;

5
lib/retrofit/data/order_info.dart

@ -122,6 +122,7 @@ class OrderInfo {
String activityDiscountPrice; String activityDiscountPrice;
String vipDiscountPrice; String vipDiscountPrice;
String totalDiscountPrice; String totalDiscountPrice;
String totalPackagingFee;
int orderSource; int orderSource;
StoreVO storeVO; StoreVO storeVO;
OrderDetail orderDetail; OrderDetail orderDetail;
@ -186,6 +187,7 @@ class OrderInfo {
String activityDiscountPrice, String activityDiscountPrice,
String vipDiscountPrice, String vipDiscountPrice,
String totalDiscountPrice, String totalDiscountPrice,
String totalPackagingFee,
int orderSource, int orderSource,
StoreVO storeVO, StoreVO storeVO,
OrderDetail orderDetail, OrderDetail orderDetail,
@ -248,6 +250,7 @@ class OrderInfo {
this.activityDiscountPrice = activityDiscountPrice; this.activityDiscountPrice = activityDiscountPrice;
this.vipDiscountPrice = vipDiscountPrice; this.vipDiscountPrice = vipDiscountPrice;
this.totalDiscountPrice = totalDiscountPrice; this.totalDiscountPrice = totalDiscountPrice;
this.totalPackagingFee = totalPackagingFee;
this.orderSource = orderSource; this.orderSource = orderSource;
this.storeVO = storeVO; this.storeVO = storeVO;
this.orderDetail = orderDetail; this.orderDetail = orderDetail;
@ -315,6 +318,7 @@ class OrderInfo {
this.activityDiscountPrice = json["activityDiscountPrice"]; this.activityDiscountPrice = json["activityDiscountPrice"];
this.vipDiscountPrice = json["vipDiscountPrice"]; this.vipDiscountPrice = json["vipDiscountPrice"];
this.totalDiscountPrice = json["totalDiscountPrice"]; this.totalDiscountPrice = json["totalDiscountPrice"];
this.totalPackagingFee =json["totalPackagingFee"];
this.orderSource = json["orderSource"]; this.orderSource = json["orderSource"];
this.storeVO = this.storeVO =
json["storeVO"] != null ? StoreVO.fromJson(json["storeVO"]) : null; json["storeVO"] != null ? StoreVO.fromJson(json["storeVO"]) : null;
@ -391,6 +395,7 @@ class OrderInfo {
map["activityDiscountPrice"] = this.activityDiscountPrice; map["activityDiscountPrice"] = this.activityDiscountPrice;
map["vipDiscountPrice"] = this.vipDiscountPrice; map["vipDiscountPrice"] = this.vipDiscountPrice;
map["totalDiscountPrice"] = this.totalDiscountPrice; map["totalDiscountPrice"] = this.totalDiscountPrice;
map["totalPackagingFee"] = this.totalPackagingFee;
map["orderSource"] = this.orderSource; map["orderSource"] = this.orderSource;
if (this.storeVO != null) { if (this.storeVO != null) {
map["storeVO"] = this.storeVO.toJson(); map["storeVO"] = this.storeVO.toJson();

8
lib/retrofit/data/order_product_vo.dart

@ -19,7 +19,8 @@ class OrderProductVOList {
String skuId, String skuId,
String skuImg, String skuImg,
String skuNameStr, String skuNameStr,
List<SetMealDataList> setMealDataList List<SetMealDataList> setMealDataList,
String packagingFee,
}) { }) {
this.actInfo = actInfo; this.actInfo = actInfo;
this.additionalComment = additionalComment; this.additionalComment = additionalComment;
@ -39,6 +40,7 @@ class OrderProductVOList {
this.skuImg = skuImg; this.skuImg = skuImg;
this.skuNameStr = skuNameStr; this.skuNameStr = skuNameStr;
this.setMealDataList = setMealDataList; this.setMealDataList = setMealDataList;
this.packagingFee = packagingFee;
} }
OrderProductVOList.fromJson(dynamic json) { OrderProductVOList.fromJson(dynamic json) {
@ -66,6 +68,7 @@ class OrderProductVOList {
this.setMealDataList = []..addAll( this.setMealDataList = []..addAll(
(json['setMealDataList'] as List ?? []) (json['setMealDataList'] as List ?? [])
.map((o) => SetMealDataList.fromJson(o))); .map((o) => SetMealDataList.fromJson(o)));
this.packagingFee = json['packagingFee'];
} }
ActInfo actInfo; ActInfo actInfo;
@ -86,7 +89,7 @@ class OrderProductVOList {
String skuImg; String skuImg;
String skuNameStr; String skuNameStr;
List<SetMealDataList> setMealDataList; List<SetMealDataList> setMealDataList;
String packagingFee;
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final map = <String, dynamic>{}; final map = <String, dynamic>{};
@ -114,6 +117,7 @@ class OrderProductVOList {
map['skuImg'] = this.skuImg; map['skuImg'] = this.skuImg;
map['skuNameStr'] = this.skuNameStr; map['skuNameStr'] = this.skuNameStr;
map['setMealDataList']=this.setMealDataList; map['setMealDataList']=this.setMealDataList;
map['packagingFee'] = this.packagingFee;
return map; return map;
} }

26
lib/retrofit/data/rank.dart

@ -22,6 +22,10 @@ class Rank {
bool _status; bool _status;
String _updateTime; String _updateTime;
String _updateUser; String _updateUser;
String _color;
String _textColor;
int _originScore;
int _demotionScore;
String get createTime => _createTime; String get createTime => _createTime;
String get createUser => _createUser; String get createUser => _createUser;
@ -35,14 +39,18 @@ class Rank {
bool get status => _status; bool get status => _status;
String get updateTime => _updateTime; String get updateTime => _updateTime;
String get updateUser => _updateUser; String get updateUser => _updateUser;
String get color => _color;
String get textColor => _textColor;
int get originScore => _originScore;
int get demotionScore => _demotionScore;
Rank({ Rank({
String createTime, String createTime,
String createUser, String createUser,
String id, String id,
String rankContent, String rankContent,
String rankImg, String rankImg,
String rankName, String rankName,
int rankOrigin, int rankOrigin,
int level, int level,
bool status, bool status,
@ -60,6 +68,10 @@ class Rank {
_status = status; _status = status;
_updateTime = updateTime; _updateTime = updateTime;
_updateUser = updateUser; _updateUser = updateUser;
_color = color;
_textColor = textColor;
_originScore = originScore;
_demotionScore = demotionScore;
} }
Rank.fromJson(dynamic json) { Rank.fromJson(dynamic json) {
@ -75,6 +87,10 @@ class Rank {
_status = json["status"]; _status = json["status"];
_updateTime = json["updateTime"]; _updateTime = json["updateTime"];
_updateUser = json["updateUser"]; _updateUser = json["updateUser"];
_color = json["color"];
_textColor = json["textColor"];
_originScore = json["originScore"];
_demotionScore = json["demotionScore"];
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -91,6 +107,10 @@ class Rank {
map["status"] = _status; map["status"] = _status;
map["updateTime"] = _updateTime; map["updateTime"] = _updateTime;
map["updateUser"] = _updateUser; map["updateUser"] = _updateUser;
map["color"] = _color;
map["textColor"] = _textColor;
map["originScore"] = _originScore;
map["demotionScore"] = _demotionScore;
return map; return map;
} }

3
lib/retrofit/data/settleOrderInfo.dart

@ -25,6 +25,7 @@ class SettleOrderInfo {
String vipDiscountAmount; String vipDiscountAmount;
String totalDiscountAmount; String totalDiscountAmount;
String discountType; String discountType;
String totalPackagingFee;
static SettleOrderInfo fromJson(Map<String, dynamic> map) { static SettleOrderInfo fromJson(Map<String, dynamic> map) {
@ -58,6 +59,7 @@ class SettleOrderInfo {
settleOrderInfoBean.vipDiscountAmount = map['vipDiscountAmount']; settleOrderInfoBean.vipDiscountAmount = map['vipDiscountAmount'];
settleOrderInfoBean.totalDiscountAmount = map['totalDiscountAmount']; settleOrderInfoBean.totalDiscountAmount = map['totalDiscountAmount'];
settleOrderInfoBean.discountType = map['discountType']; settleOrderInfoBean.discountType = map['discountType'];
settleOrderInfoBean.totalPackagingFee = map['totalPackagingFee'];
return settleOrderInfoBean; return settleOrderInfoBean;
} }
@ -84,6 +86,7 @@ class SettleOrderInfo {
"vipDiscountAmount":vipDiscountAmount, "vipDiscountAmount":vipDiscountAmount,
"totalDiscountAmount": totalDiscountAmount, "totalDiscountAmount": totalDiscountAmount,
"discountType":discountType, "discountType":discountType,
"packagingFee" : totalPackagingFee,
}; };

8
lib/retrofit/data/user_info.dart

@ -49,8 +49,8 @@ class UserInfo {
String signature; String signature;
String background; String background;
bool hasPayPassword; bool hasPayPassword;
String happyBean;
bool isVip;
factory UserInfo.fromJson(Map<String, dynamic> json) => factory UserInfo.fromJson(Map<String, dynamic> json) =>
UserInfo() UserInfo()
@ -83,6 +83,8 @@ class UserInfo {
..signature = json['signature'] as String ..signature = json['signature'] as String
..background = json['background'] as String ..background = json['background'] as String
..hasPayPassword = json['hasPayPassword'] as bool ..hasPayPassword = json['hasPayPassword'] as bool
..happyBean = json['happyBean'] as String
..isVip = json['isVip'] as bool
..memberRankVo = json['memberRankVo'] == null ..memberRankVo = json['memberRankVo'] == null
? null ? null
: MemberRank.fromJson(json['memberRankVo'] as Map<String, dynamic>); : MemberRank.fromJson(json['memberRankVo'] as Map<String, dynamic>);
@ -117,6 +119,8 @@ class UserInfo {
'signature' : this.signature, 'signature' : this.signature,
'background' : this.background, 'background' : this.background,
'hasPayPassword' : this.hasPayPassword, 'hasPayPassword' : this.hasPayPassword,
'happyBean':this.happyBean,
'isVip':this.isVip,
'memberRankVo': this.memberRankVo == null ? "" : this.memberRankVo.toJson(), 'memberRankVo': this.memberRankVo == null ? "" : this.memberRankVo.toJson(),
}; };
} }

2
lib/retrofit/min_api.dart

@ -27,7 +27,7 @@ import 'data/shopping_home_config.dart';
part 'min_api.g.dart'; part 'min_api.g.dart';
const localBaseUrl = "http://192.168.10.78: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 = "http://pos-test.api.lotus-wallet.com/app/";///
const serviceBaseUrl = "https://pos.api.lotus-wallet.com/app/";///线 const serviceBaseUrl = "https://pos.api.lotus-wallet.com/app/";///线

2
lib/retrofit/min_api.g.dart

@ -194,7 +194,7 @@ class _MinApiService implements MinApiService {
data: _data); data: _data);
final value = BaseData<List<ShoppingCart>>.fromJson( final value = BaseData<List<ShoppingCart>>.fromJson(
_result.data, _result.data,
(json) => (json as List<dynamic>) (json) => ((json??"") == "")?null:(json as List<dynamic>)
.map<ShoppingCart>( .map<ShoppingCart>(
(i) => ShoppingCart.fromJson(i as Map<String, dynamic>)) (i) => ShoppingCart.fromJson(i as Map<String, dynamic>))
.toList()); .toList());

10
lib/retrofit/retrofit_api.dart

@ -67,7 +67,7 @@ import 'data/wx_pay.dart';
part 'retrofit_api.g.dart'; part 'retrofit_api.g.dart';
const localBaseUrl = "http://192.168.10.78: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 = "http://platform.test.api.lotus-wallet.com/app/";///
const serviceBaseUrl = "https://pos.platform.lotus-wallet.com/app/";///线 const serviceBaseUrl = "https://pos.platform.lotus-wallet.com/app/";///线
@RestApi(baseUrl: localBaseUrl) @RestApi(baseUrl: localBaseUrl)
@ -553,4 +553,12 @@ abstract class ApiService {
///code获取设置/ ///code获取设置/
@GET("/raise/products") @GET("/raise/products")
Future<BaseData<List<FarmersList>>> getConfig(); Future<BaseData<List<FarmersList>>> getConfig();
///
@POST("/auth/changePhone")
Future<BaseData> changePhone(@Body() Map<String, dynamic> param);
///-
@GET("/auth/sendVerify/{mobile}")
Future<BaseData> changeSendVerify(@Path("mobile") String mobile);
} }

44
lib/retrofit/retrofit_api.g.dart

@ -2153,4 +2153,48 @@ class _ApiService implements ApiService {
.toList()); .toList());
return value; return value;
} }
@override
Future<BaseData<dynamic>> changePhone(param) async {
ArgumentError.checkNotNull(param, 'param');
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
_data.addAll(param ?? <String, dynamic>{});
final _result = await _dio.request<Map<String, dynamic>>('/auth/changePhone',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData<dynamic>.fromJson(
_result.data,
(json) => json as dynamic,
);
return value;
}
@override
Future<BaseData<dynamic>> changeSendVerify(mobile) async {
ArgumentError.checkNotNull(mobile, 'mobile');
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>(
'/auth/sendVerify//$mobile',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData<dynamic>.fromJson(
_result.data,
(json) => json as dynamic,
);
return value;
}
} }

50
lib/setting/account_security_page.dart

@ -3,6 +3,7 @@ import 'dart:convert';
import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:huixiang/generated/l10n.dart'; import 'package:huixiang/generated/l10n.dart';
import 'package:huixiang/retrofit/data/base_data.dart'; import 'package:huixiang/retrofit/data/base_data.dart';
import 'package:huixiang/retrofit/data/user_info.dart'; import 'package:huixiang/retrofit/data/user_info.dart';
@ -25,9 +26,10 @@ class _AccountSecurityPage extends State<AccountSecurityPage> {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
EasyLoading.show(status: S.current.zhengzaijiazai);
SharedPreferences.getInstance().then((value) => { SharedPreferences.getInstance().then((value) => {
apiService = ApiService(Dio(), apiService = ApiService(Dio(),
context: context, token: value.getString("token")), context: context, token: value.getString("token"),),
queryUser(), queryUser(),
}); });
@ -45,6 +47,7 @@ class _AccountSecurityPage extends State<AccountSecurityPage> {
value.setString('user', jsonEncode(baseDate.data)), value.setString('user', jsonEncode(baseDate.data)),
}, },
); );
EasyLoading.dismiss();
} }
} }
@ -83,6 +86,49 @@ class _AccountSecurityPage extends State<AccountSecurityPage> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.max, mainAxisSize: MainAxisSize.max,
children: [ children: [
GestureDetector(
onTap: () {
Navigator.of(context).pushNamed('/router/binding_phone_page',arguments:{"userInfo":userInfo}).then((value) => {
queryUser(),
});
},
child: Container(
padding: EdgeInsets.all(15),
margin: EdgeInsets.only(top: 14.h),
decoration: BoxDecoration(
color: Colors.white,
),
child: Row(
children: [
Expanded(
child: Text(
S.of(context).bangdingshouji,
style: TextStyle(
fontWeight: MyFontWeight.semi_bold,
fontSize: 15.sp,
color: Color(0xFF353535),
),
),
flex: 1,
),
Text(
"+86 ${userInfo?.phone ?? ""}",
style: TextStyle(
fontSize: 14.sp,
fontWeight: MyFontWeight.regular,
color: Color(0xFF4D4D4D)),
),
SizedBox(
width:8.w,
),
Icon(
Icons.keyboard_arrow_right,
size: 20,
),
],
),
),
),
GestureDetector( GestureDetector(
onTap: () { onTap: () {
Navigator.of(context).pushReplacementNamed('/router/platform_code_page',arguments:{"userInfo":userInfo}); Navigator.of(context).pushReplacementNamed('/router/platform_code_page',arguments:{"userInfo":userInfo});
@ -108,7 +154,7 @@ class _AccountSecurityPage extends State<AccountSecurityPage> {
), ),
if(userInfo?.hasPayPassword != null) if(userInfo?.hasPayPassword != null)
Text( Text(
(userInfo?.hasPayPassword ?? true)? "修改" :"设置", (userInfo?.hasPayPassword ?? true)? S.of(context).xiugai :S.of(context).shezhi,
style: TextStyle( style: TextStyle(
fontSize: 14.sp, fontSize: 14.sp,
fontWeight: MyFontWeight.regular, fontWeight: MyFontWeight.regular,

806
lib/setting/binding_phone_page.dart

@ -0,0 +1,806 @@
import 'dart:async';
import 'dart:io';
import 'package:dio/dio.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:huixiang/generated/l10n.dart';
import 'package:huixiang/retrofit/data/base_data.dart';
import 'package:huixiang/retrofit/data/user_info.dart';
import 'package:huixiang/retrofit/retrofit_api.dart';
import 'package:huixiang/utils/font_weight.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:shared_preferences/shared_preferences.dart';
import '../view_widget/border_text.dart';
class BindingPhonePage extends StatefulWidget {
final Map<String, dynamic> arguments;
BindingPhonePage({this.arguments});
@override
State<StatefulWidget> createState() {
return _BindingPhonePage();
}
}
class _BindingPhonePage extends State<BindingPhonePage> {
ApiService apiService;
String area = "+86";
var _controllerPhone = TextEditingController();
var _controllerNewPhone = TextEditingController();
var _controllerCode = TextEditingController();
var _controllerNewCode = TextEditingController();
Color statusCodeTextColor = Color(0xFF353535);
var verifyStatus = 0;
var mobileStatus = 0;
var btnText = "获取验证码";
var _sendCodeStatus = 0;
Timer _timer;
UserInfo userInfo;
int phoneState = 1;
@override
void initState() {
super.initState();
userInfo = widget.arguments['userInfo'];
}
@override
void dispose() {
if (_timer != null && _timer.isActive) _timer.cancel();
super.dispose();
}
///
modifyPhoneCode(int state) async {
var mobile = _controllerPhone.text;
if (mobile == ""&& phoneState == 1) {
SmartDialog.showToast(S.of(context).qingshurushoujihao, alignment: Alignment.center);
return;
}
var newMobile = _controllerNewPhone.text;
if (newMobile == ""&& phoneState == 2) {
SmartDialog.showToast(S.of(context).qingshurushoujihao, alignment: Alignment.center);
return;
}
var code = _controllerCode.text;
if (code == "" && phoneState == 1) {
SmartDialog.showToast(S.of(context).qingshuruyanzhengma, alignment: Alignment.center);
return;
}
var newCode = _controllerNewCode.text;
if (newCode == "" && phoneState == 2) {
SmartDialog.showToast(S.of(context).qingshuruyanzhengma, alignment: Alignment.center);
return;
}
if (code.length != 6 && phoneState==1) {
SmartDialog.showToast(S.of(context).code_error, alignment: Alignment.center);
return;
}
if (newCode.length != 6 && phoneState == 2) {
SmartDialog.showToast(S.of(context).code_error, alignment: Alignment.center);
return;
}
if (apiService == null) {
SharedPreferences value = await SharedPreferences.getInstance();
apiService = ApiService(Dio(),
context: context, token: value.getString("token"), showLoading: false);
}
BaseData baseData = await apiService.changePhone({
"areaCode": area,
"capcha": phoneState == 1 ? code:newCode,
"mobile1": mobile,
"mobile2": newMobile,
"state": state,
}).catchError((error) {});
if (baseData != null && baseData.isSuccess) {
if(state == 1){
_timer.cancel();
btnText = "获取验证码";
_sendCodeStatus = 0;
phoneState = 2;
}else if(state == 2){
phoneState = 3;}
setState(() {});
} else {
setState(() {});
SmartDialog.showToast(baseData.msg, alignment: Alignment.center);
}
}
///
verificationCode() async {
var mobile = _controllerPhone.text;
if (mobile == "" && phoneState == 1) {
SmartDialog.showToast(S.of(context).qingshurushoujihao, alignment: Alignment.center);
return;
}
var newMobile = _controllerNewPhone.text;
if (newMobile == "" && phoneState == 2) {
SmartDialog.showToast(S.of(context).qingshurushoujihao, alignment: Alignment.center);
return;
}
if (apiService == null) {
SharedPreferences value = await SharedPreferences.getInstance();
apiService = ApiService(Dio(),
context: context, token: value.getString("token"), showLoading: false);
}
BaseData baseData = await apiService.changeSendVerify(mobile).catchError((error) {});
if (baseData != null && baseData.isSuccess) {
_sendCodeStatus = 1;
countdown();
SmartDialog.showToast(baseData.data ?? false, alignment: Alignment.center);
} else {
SmartDialog.showToast(baseData.msg, alignment: Alignment.center);
}
}
countdown() {
if (_timer != null && _timer.isActive) return;
int countdown = 60;
_timer = Timer.periodic(Duration(seconds: 1), (timer) {
countdown--;
if (countdown == 0) {
btnText = "重新发送";
_sendCodeStatus = 0;
_timer.cancel();
} else {
btnText = "${countdown}s";
}
setState(() {});
});
}
bool isPhone(mobile) {
RegExp exp = RegExp(
r'^((13[0-9])|(14[0-9])|(15[0-9])|(16[0-9])|(17[0-9])|(18[0-9])|(19[0-9]))\d{8}$');
return exp.hasMatch(mobile);
}
@override
Widget build(BuildContext context) {
return GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: () {
FocusScope.of(context).requestFocus(FocusNode());
},
child: Scaffold(
resizeToAvoidBottomInset: false,
appBar: AppBar(
backgroundColor: Colors.white,
leading: GestureDetector(
child: Icon(
Icons.arrow_back_ios,
color: Colors.black,
),
onTap: () {
Navigator.of(context).pop();
}),
title: Text(
S.of(context).genggaibangdingshoujihao,
style: TextStyle(
fontWeight: MyFontWeight.regular,
fontSize: 17.sp,
color: Color(0xFF0D0D0D),
),
),
centerTitle: true,
elevation: 0.0,
),
body: Container(
margin: EdgeInsets.only(top: 12.h),
padding: EdgeInsets.symmetric(horizontal:16.w),
color: Colors.white,
width: double.infinity,
child:Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
topSequence(),
if(phoneState != 3)
Align(alignment: Alignment.center,
child: Text(
phoneState == 1 ?"现手机号验证":"修改成新号码",
textAlign: TextAlign.center,
style: TextStyle(
color: Color(0xFF353535),
fontSize: 18.sp,
letterSpacing:1,
fontWeight: MyFontWeight.bold,
),)),
if(phoneState == 2)
Padding(padding:EdgeInsets.only(top: 14.h),
child: Text(
"当前手机号为${area + " ${userInfo?.phone ?? ""}"} ",
style: TextStyle(
color: Color(0xFFA29E9E),
fontSize: 14.sp,
letterSpacing:0.5,
fontWeight: MyFontWeight.medium,
),)),
if(phoneState == 1)
inputPhone(),
if(phoneState == 2)
newInputPhone(),
if(phoneState == 3)
bindingSuccess(),
],
),
),
));
}
///
Widget topSequence(){
return Container(
margin:EdgeInsets.only(top:35.h,bottom: 31.h),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Container(
decoration:BoxDecoration(
borderRadius: BorderRadius.circular(100.w),
color: Color(0xFF34995E),
),
padding: EdgeInsets.symmetric(horizontal:8.5.w,vertical:5.h),
child: Text(
"1",
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontSize: 14.sp,
fontWeight: MyFontWeight.regular,
),),
),
Container(
height: 1.h,
width: 74.w,
color: Color(0xFF34995E),
margin: EdgeInsets.symmetric(horizontal:8.w),
),
Container(
decoration:BoxDecoration(
borderRadius: BorderRadius.circular(100.w),
color: phoneState == 1?Color(0xFFB7D3C3) : Color(0xFF34995E),
),
padding: EdgeInsets.symmetric(horizontal:8.5.w,vertical:5.h),
child: Text(
"2",
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontSize: 14.sp,
fontWeight: MyFontWeight.regular,
),),
),
Container(
height: 1.h,
width: 74.w,
color: Color(0xFF34995E),
margin: EdgeInsets.symmetric(horizontal:8.w),
),
Container(
decoration:BoxDecoration(
borderRadius: BorderRadius.circular(100.w),
color: (phoneState !=3)?Color(0xFFB7D3C3) : Color(0xFF34995E),
),
padding: EdgeInsets.symmetric(horizontal:8.5.w,vertical:5.h),
child: Text(
"3",
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontSize: 14.sp,
fontWeight: MyFontWeight.regular,
),),
)
],
),
);
}
///
Widget inputPhone(){
return Container(
margin:EdgeInsets.only(top:phoneState == 1?15.h:12.h,bottom:21.h,),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(padding:EdgeInsets.only(bottom: 10.h),
child: Text(
"手机号",
style: TextStyle(
color: Color(0xFF181818),
fontSize: 16.sp,
fontWeight: MyFontWeight.bold,
),)),
Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
GestureDetector(
onTap: () {
Navigator.of(context)
.pushNamed('/router/phone_address_page')
.then((value) {
if (value != null)
setState(() {
area = value;
});
});
},
child: Text(
area,
style: TextStyle(
fontWeight: MyFontWeight.regular,
fontSize: 16.sp,
color: Color(0xFF1A1A1A),
),
)),
Icon(
Icons.keyboard_arrow_right,
size: 18,
color: Color(0xFF1A1A1A),
),
Container(
height: 30.h,
width: MediaQuery.of(context).size.width - 100.w,
margin: EdgeInsets.only(bottom:Platform.isIOS ? 10.h:0),
child: TextField(
style: TextStyle(
height: 1.h,
fontSize: 16.sp,
color: Color(0xFF353535),
),
onChanged: (value) {
if (value != null && value.isNotEmpty) {
if (isPhone(value)) {
mobileStatus = 1;
} else {
mobileStatus = 2;
}
} else {
mobileStatus = 0;
}
setState(() {});
},
controller: _controllerPhone,
keyboardType: TextInputType.phone,
decoration: InputDecoration(
errorBorder: InputBorder.none,
focusedBorder: InputBorder.none,
enabledBorder: InputBorder.none,
hintText: S.of(context).qingshurushoujihao,
// contentPadding: EdgeInsets.only(top: 12, bottom: 12, left: 12),
hintStyle: TextStyle(
fontSize: 14.sp,
color: Color(0xFFA29E9E),
),
),
textInputAction: TextInputAction.next,
inputFormatters: [
LengthLimitingTextInputFormatter(11)
],
cursorColor: Colors.grey,
maxLines: 1,
),
),
],
),
Container(
height: 1.h,
width: MediaQuery.of(context).size.width - 80.h,
color: _controllerPhone.text == ""
? Color(0xFFE7E3E3)
: Color(0xFF32A060),
margin: EdgeInsets.only(top: 10.h),
),
SizedBox(
height: 30.h,
),
Padding(padding:EdgeInsets.only(bottom: 10.h),
child: Text(
S.of(context).yanzhengma,
style: TextStyle(
fontWeight: MyFontWeight.bold,
fontSize: 16.sp,
color: Color(0xFF181818),
),
)),
Container(
height: 30.h,
width: MediaQuery.of(context).size.width - 30.h,
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Expanded(
child: TextField(
style: TextStyle(
height: 1.h,
fontSize: 16.sp,
color: statusCodeTextColor,
),
onChanged: (value) {
if (value != null &&
value.isNotEmpty) {
if (value.length == 6) {
verifyStatus = 1;
} else {
verifyStatus = 2;
}
} else {
verifyStatus = 0;
}
setState(() {});
},
controller: _controllerCode,
keyboardType: TextInputType.phone,
decoration: InputDecoration(
errorBorder: InputBorder.none,
focusedBorder: InputBorder.none,
enabledBorder: InputBorder.none,
hintText:S.of(context).input_code_hide,
hintStyle: TextStyle(
fontSize: 14.sp,
color: Color(0xFFA29E9E),
),
),
textInputAction: TextInputAction.next,
inputFormatters: [
LengthLimitingTextInputFormatter(6)
],
cursorColor: Colors.grey,
maxLines: 1,
),
flex: 4,
),
Expanded(
child: Container(
alignment: Alignment.bottomCenter,
child: InkWell(
onTap: (){
verificationCode();
},
child: BorderText(
text: btnText,
borderColor: Colors.transparent,
borderWidth: 1.w,
radius: 2,
padding: EdgeInsets.only(
left: 6.w,
right: 6.w,
),
fontSize: 14.sp,
fontWeight: MyFontWeight.bold,
textColor: _sendCodeStatus == 0
? Color(0xFF32A060)
: Color(0xFFA29E9E),
),
),
),
flex: 2,
)
],
),
),
Container(
height: 1.h,
width: MediaQuery.of(context).size.width - 10.h,
color: _controllerNewCode.text == ""
? Color(0xFFE7E3E3)
: Color(0xFF32A060),
margin: EdgeInsets.only(top: 10.h),
),
SizedBox(
height: 54.h,
),
Align(alignment: Alignment.center,
child: GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: (){
modifyPhoneCode(1);
},
child: Container(
decoration:BoxDecoration(
borderRadius: BorderRadius.circular(23),
color: Color(0xFF34995E),
),
padding: EdgeInsets.symmetric(vertical: 12.h,horizontal:65.w),
child: Text(
S.of(context).queding,
style: TextStyle(
color: Color(0xFFFFFFFF),
fontSize: 16.sp,
fontWeight: MyFontWeight.regular,
),),
),
),),
],
),
);
}
///
Widget newInputPhone(){
return Container(
margin:EdgeInsets.only(top:15.h,bottom:21.h,),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
///
Padding(padding:EdgeInsets.only(bottom: 10.h),
child: Text(
"手机号",
style: TextStyle(
color: Color(0xFF181818),
fontSize: 16.sp,
fontWeight: MyFontWeight.bold,
),)),
Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
GestureDetector(
onTap: () {
Navigator.of(context)
.pushNamed('/router/phone_address_page')
.then((value) {
if (value != null)
setState(() {
area = value;
});
});
},
child: Text(
area,
style: TextStyle(
fontWeight: MyFontWeight.regular,
fontSize: 16.sp,
color: Color(0xFF1A1A1A),
),
)),
Icon(
Icons.keyboard_arrow_right,
size: 18,
color: Color(0xFF1A1A1A),
),
Container(
height: 30.h,
width: MediaQuery.of(context).size.width - 100.w,
margin: EdgeInsets.only(bottom:Platform.isIOS ? 10.h:0),
child: TextField(
style: TextStyle(
height: 1.h,
fontSize: 16.sp,
color: Color(0xFF353535),
),
onChanged: (value) {
if (value != null && value.isNotEmpty) {
if (isPhone(value)) {
mobileStatus = 1;
} else {
mobileStatus = 2;
}
} else {
mobileStatus = 0;
}
setState(() {});
},
controller: _controllerNewPhone,
keyboardType: TextInputType.phone,
decoration: InputDecoration(
errorBorder: InputBorder.none,
focusedBorder: InputBorder.none,
enabledBorder: InputBorder.none,
hintText: S.of(context).qingshurushoujihao,
// contentPadding: EdgeInsets.only(top: 12, bottom: 12, left: 12),
hintStyle: TextStyle(
fontSize: 14.sp,
color: Color(0xFFA29E9E),
),
),
textInputAction: TextInputAction.next,
inputFormatters: [
LengthLimitingTextInputFormatter(11)
],
cursorColor: Colors.grey,
maxLines: 1,
),
),
],
),
Container(
height: 1.h,
width: MediaQuery.of(context).size.width - 10.h,
color: _controllerNewPhone.text == ""
? Color(0xFFE7E3E3)
: Color(0xFF32A060),
margin: EdgeInsets.only(top: 10.h),
),
SizedBox(
height: 30.h,
),
///
Padding(padding:EdgeInsets.only(bottom: 10.h),
child: Text(
S.of(context).yanzhengma,
style: TextStyle(
fontWeight: MyFontWeight.bold,
fontSize: 16.sp,
color: Color(0xFF181818),
),
)),
Container(
height: 30.h,
width: MediaQuery.of(context).size.width - 30.h,
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Expanded(
child: TextField(
style: TextStyle(
height: 1.h,
fontSize: 16.sp,
color: statusCodeTextColor,
),
onChanged: (value) {
if (value != null &&
value.isNotEmpty) {
if (value.length == 6) {
verifyStatus = 1;
} else {
verifyStatus = 2;
}
} else {
verifyStatus = 0;
}
setState(() {});
},
controller: _controllerNewCode,
keyboardType: TextInputType.phone,
decoration: InputDecoration(
errorBorder: InputBorder.none,
focusedBorder: InputBorder.none,
enabledBorder: InputBorder.none,
hintText:S.of(context).input_code_hide,
hintStyle: TextStyle(
fontSize: 14.sp,
color: Color(0xFFA29E9E),
),
),
textInputAction: TextInputAction.next,
inputFormatters: [
LengthLimitingTextInputFormatter(6)
],
cursorColor: Colors.grey,
maxLines: 1,
),
flex: 4,
),
Expanded(
child: Container(
alignment: Alignment.bottomCenter,
child: InkWell(
onTap:(){
verificationCode();
},
child: BorderText(
text: btnText,
borderColor: Colors.transparent,
borderWidth: 1.w,
radius: 2,
padding: EdgeInsets.only(
left: 6.w,
right: 6.w,
),
fontSize: 14.sp,
fontWeight: MyFontWeight.bold,
textColor: _sendCodeStatus == 0
? Color(0xFF32A060)
: Color(0xFFA29E9E),
),
),
),
flex: 2,
)
],
),
),
Container(
height: 1.h,
width: MediaQuery.of(context).size.width - 10.h,
color: _controllerNewCode.text == ""
? Color(0xFFE7E3E3)
: Color(0xFF32A060),
margin: EdgeInsets.only(top: 10.h),
),
SizedBox(
height: 54.h,
),
Align(alignment: Alignment.center,
child: GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: (){
modifyPhoneCode(2);
},
child: Container(
decoration:BoxDecoration(
borderRadius: BorderRadius.circular(23),
color: Color(0xFF34995E),
),
padding: EdgeInsets.symmetric(vertical: 12.h,horizontal:65.w),
child: Text(
"下一步",
style: TextStyle(
color: Color(0xFFFFFFFF),
fontSize: 16.sp,
fontWeight: MyFontWeight.regular,
),),
),
),),
],
),
);
}
Widget bindingSuccess(){
return Container(
alignment: Alignment.center,
margin: EdgeInsets.only(top: 31.h),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Image.asset(
"assets/image/icon_order_success.webp",
fit: BoxFit.cover,
width: 76,
height: 76,
),
SizedBox(
height: 16.h,
),
Text(
"新号码绑定成功",
style: TextStyle(
fontWeight: MyFontWeight.semi_bold,
fontSize: 18.sp,
color: Color(0xFF353535),
),
),
SizedBox(
height: 99.h,
),
GestureDetector(
onTap: () {
Navigator.of(context).pop();
},
child: Container(
decoration:BoxDecoration(
borderRadius: BorderRadius.circular(23),
color: Color(0xFF34995E),
),
padding: EdgeInsets.symmetric(vertical: 14.h,horizontal:65.w),
child: Text(
S.of(context).queren,
style: TextStyle(
color: Color(0xFFFFFFFF),
fontSize: 16.sp,
fontWeight: MyFontWeight.regular,
),),
),
)
],
),
);
}
}

146
lib/settlement/settlement.dart

@ -141,7 +141,9 @@ class _Settlement extends State<Settlement> {
if (promotions != null && promotions != "" && tableId <= 0) { if (promotions != null && promotions != "" && tableId <= 0) {
queryOrderInfo( queryOrderInfo(
address != null ? address.id : null, address != null ? address.id : null,
selectedBtn, ((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && (subscribeParam?.isEnableSubscribe ?? false) == false && selectedBtn != 1 && selectedBtn != 2)
? diningStatus
: selectedBtn,
0, 0,
0, 0,
widget.arguments["pid"] ?? (productId ?? 0), widget.arguments["pid"] ?? (productId ?? 0),
@ -157,7 +159,9 @@ class _Settlement extends State<Settlement> {
} else if (coupons != null && coupons != "" && tableId <= 0) { } else if (coupons != null && coupons != "" && tableId <= 0) {
queryOrderInfo( queryOrderInfo(
address != null ? address.id : null, address != null ? address.id : null,
selectedBtn, ((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && (subscribeParam?.isEnableSubscribe ?? false) == false && selectedBtn != 1 && selectedBtn != 2)
? diningStatus
: selectedBtn,
widget.arguments["cid"], widget.arguments["cid"],
0, 0,
productId ?? 0, productId ?? 0,
@ -173,17 +177,17 @@ class _Settlement extends State<Settlement> {
} else } else
queryOrderInfo( queryOrderInfo(
null, null,
selectedBtn, ((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && (subscribeParam?.isEnableSubscribe ?? false) == false && selectedBtn != 1 && selectedBtn != 2)
? diningStatus
: selectedBtn,
0, 0,
0, 0,
productId ?? 0, productId ?? 0,
productSkuId ?? "", productSkuId ?? "",
actProductId ?? "", actProductId ?? "",
actProductSkuId ?? "", actProductSkuId ?? "",
(isVips == false || !placeOrder) (!placeOrder)
? ((vipLevelName == "黄金会员" && placeOrder) ? "NONE"
? "MEMBER_RANK"
: "NONE")
: "AUTO", : "AUTO",
// useVipPriceSelect, // useVipPriceSelect,
// (useVipPriceSelect == true && isVips) ? false:useBenefitSelect, // (useVipPriceSelect == true && isVips) ? false:useBenefitSelect,
@ -268,7 +272,9 @@ class _Settlement extends State<Settlement> {
isRaiseChannel = true; isRaiseChannel = true;
queryOrderInfo( queryOrderInfo(
address?.id, address?.id,
selectedBtn, ((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && (subscribeParam?.isEnableSubscribe ?? false) == false && selectedBtn != 1 && selectedBtn != 2)
? diningStatus
: selectedBtn,
couponListBean?.id, couponListBean?.id,
0, 0,
promotion?.id ?? productId, promotion?.id ?? productId,
@ -360,7 +366,9 @@ class _Settlement extends State<Settlement> {
if (address != null) { if (address != null) {
queryOrderInfo( queryOrderInfo(
address.id, address.id,
selectedBtn, ((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && (subscribeParam?.isEnableSubscribe ?? false) == false && selectedBtn != 1 && selectedBtn != 2)
? diningStatus
: selectedBtn,
null, null,
0, 0,
productId ?? null, productId ?? null,
@ -414,7 +422,9 @@ class _Settlement extends State<Settlement> {
} }
await queryOrderInfo( await queryOrderInfo(
address.id, address.id,
selectedBtn, ((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && (subscribeParam?.isEnableSubscribe ?? false) == false && selectedBtn != 1 && selectedBtn != 2)
? diningStatus
: selectedBtn,
null, null,
0, 0,
productId ?? null, productId ?? null,
@ -444,7 +454,9 @@ class _Settlement extends State<Settlement> {
queryOrderInfo( queryOrderInfo(
address.id, address.id,
selectedBtn, ((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && (subscribeParam?.isEnableSubscribe ?? false) == false && selectedBtn != 1 && selectedBtn != 2)
? diningStatus
: selectedBtn,
0, 0,
0, 0,
productId ?? 0, productId ?? 0,
@ -542,10 +554,7 @@ class _Settlement extends State<Settlement> {
? true ? true
: false; // : false; //
placeOrderFirst.isTakeOut = placeOrderFirst.isTakeOut =
((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && ((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && (subscribeParam?.isEnableSubscribe ?? false) == false && selectedBtn != 1 && selectedBtn != 2)
(subscribeParam?.isEnableSubscribe ?? false) == false &&
selectedBtn != 1 &&
selectedBtn != 2)
? diningStatus ? diningStatus
: selectedBtn; : selectedBtn;
placeOrderFirst.notes = remakers + placeOrderFirst.notes = remakers +
@ -837,7 +846,9 @@ class _Settlement extends State<Settlement> {
}); });
queryOrderInfo( queryOrderInfo(
addressId, addressId,
isTake, ((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && (subscribeParam?.isEnableSubscribe ?? false) == false && selectedBtn != 1 && selectedBtn != 2)
? diningStatus
: selectedBtn,
memberCouponId, memberCouponId,
orderId, orderId,
promotionId ?? (productId ?? 0), promotionId ?? (productId ?? 0),
@ -863,6 +874,7 @@ class _Settlement extends State<Settlement> {
height: 16.h, height: 16.h,
), ),
////
if ((storeInfo?.pickupType?.dineInTakeStatus ?? if ((storeInfo?.pickupType?.dineInTakeStatus ??
false) == false) ==
true && true &&
@ -885,6 +897,7 @@ class _Settlement extends State<Settlement> {
minOrderInfo != null) minOrderInfo != null)
SettlementOrderCommodity( SettlementOrderCommodity(
selectedBtn, selectedBtn,
diningStatus,
settleOrderInfo, settleOrderInfo,
minOrderInfo, minOrderInfo,
tableId, tableId,
@ -1081,6 +1094,27 @@ class _Settlement extends State<Settlement> {
onTap: () { onTap: () {
setState(() { setState(() {
diningStatus = 4; diningStatus = 4;
queryOrderInfo(
address?.id,
((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && (subscribeParam?.isEnableSubscribe ?? false) == false && selectedBtn != 1 && selectedBtn != 2)
? diningStatus
: selectedBtn,
(settleOrderInfo.isRaise || payChannel == 5)
? ""
: couponListBean?.id,
0,
(settleOrderInfo.isRaise || payChannel == 5)
? ""
: promotion?.id ?? productId,
productSkuId ?? "",
actProductId ?? "",
actProductSkuId ?? "",
((promotion?.id ?? productId ?? "") != "") ? "ACTIVITY" : ((couponListBean?.id ?? "") != "" ? "COUPON":"AUTO"),
// useVipPriceSelect,
// useBenefitSelect,
count1,
payChannel,
tableId);
}); });
}, },
child: Container( child: Container(
@ -1146,6 +1180,27 @@ class _Settlement extends State<Settlement> {
onTap: () { onTap: () {
setState(() { setState(() {
diningStatus = 3; diningStatus = 3;
queryOrderInfo(
address?.id,
((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && (subscribeParam?.isEnableSubscribe ?? false) == false && selectedBtn != 1 && selectedBtn != 2)
? diningStatus
: selectedBtn,
(settleOrderInfo.isRaise || payChannel == 5)
? ""
: couponListBean?.id,
0,
(settleOrderInfo.isRaise || payChannel == 5)
? ""
: promotion?.id ?? productId,
productSkuId ?? "",
actProductId ?? "",
actProductSkuId ?? "",
((promotion?.id ?? productId ?? "") != "") ? "ACTIVITY" : ((couponListBean?.id ?? "") != "" ? "COUPON":"AUTO"),
// useVipPriceSelect,
// useBenefitSelect,
count1,
payChannel,
tableId);
}); });
}, },
child: Container( child: Container(
@ -1216,7 +1271,9 @@ class _Settlement extends State<Settlement> {
} else { } else {
queryOrderInfo( queryOrderInfo(
address?.id, address?.id,
selectedBtn, ((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && (subscribeParam?.isEnableSubscribe ?? false) == false && selectedBtn != 1 && selectedBtn != 2)
? diningStatus
: selectedBtn,
(settleOrderInfo.isRaise || payChannel == 5) (settleOrderInfo.isRaise || payChannel == 5)
? "" ? ""
: couponListBean?.id, : couponListBean?.id,
@ -1227,15 +1284,16 @@ class _Settlement extends State<Settlement> {
productSkuId ?? "", productSkuId ?? "",
actProductId ?? "", actProductId ?? "",
actProductSkuId ?? "", actProductSkuId ?? "",
(settleOrderInfo.isRaise || payChannel == 5) // (settleOrderInfo.isRaise || payChannel == 5)
? "NONE" // ? "NONE"
: ((useVipPriceSelect == false && // : ((useVipPriceSelect == false &&
couponListBean?.id != "" && // couponListBean?.id != "" &&
((promotion?.id ?? productId) != "")) // ((promotion?.id ?? productId) != ""))
? "MEMBER_RANK" // ? "MEMBER_RANK"
: (isVips == false && vipLevelName == "黄金会员") // : (isVips == false && vipLevelName == "黄金会员")
? "MEMBER_RANK" // ? "MEMBER_RANK"
: "AUTO"), // : "AUTO"),
preferentialType(),
// (settleOrderInfo.isRaise || payChannel == 5 || ((payChannel == 4 && settleOrderInfo.usePlateMoney == false))) ? false :useVipPriceSelect, // (settleOrderInfo.isRaise || payChannel == 5 || ((payChannel == 4 && settleOrderInfo.usePlateMoney == false))) ? false :useVipPriceSelect,
// (settleOrderInfo.isRaise || payChannel == 5 || ((payChannel == 4 && settleOrderInfo.usePlateMoney == false)) || useVipPriceSelect == true) ? false :useBenefitSelect, // (settleOrderInfo.isRaise || payChannel == 5 || ((payChannel == 4 && settleOrderInfo.usePlateMoney == false)) || useVipPriceSelect == true) ? false :useBenefitSelect,
count1, count1,
@ -1244,6 +1302,22 @@ class _Settlement extends State<Settlement> {
} }
} }
String preferentialType(){
if(settleOrderInfo.isRaise || payChannel == 5)
return "NONE";
if((((promotion?.id ?? productId) ?? "") != "") && (couponListBean?.id ?? "") == ""){
return "ACTIVITY";
}else if((couponListBean?.id ?? "") != "" && (((promotion?.id ?? productId) ?? "") == "")){
return "COUPON";
}else if(useVipPriceSelect == true && (couponListBean?.id ?? "") == "" && ((promotion?.id ?? productId ??"") == "")){
return "VIP";
}if(useVipPriceSelect == false && (couponListBean?.id ?? "") == "" && ((promotion?.id ?? productId ?? "") == "")){
return "MEMBER_RANK";
}else {
return "AUTO";
}
}
vipPriceSelect(bool useVipPriceSelect) { vipPriceSelect(bool useVipPriceSelect) {
this.useVipPriceSelect = useVipPriceSelect; this.useVipPriceSelect = useVipPriceSelect;
if (tableId > 0) { if (tableId > 0) {
@ -1251,7 +1325,9 @@ class _Settlement extends State<Settlement> {
} else { } else {
queryOrderInfo( queryOrderInfo(
address?.id, address?.id,
selectedBtn, ((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && (subscribeParam?.isEnableSubscribe ?? false) == false && selectedBtn != 1 && selectedBtn != 2)
? diningStatus
: selectedBtn,
0, 0,
0, 0,
productId ?? 0, productId ?? 0,
@ -1275,7 +1351,9 @@ class _Settlement extends State<Settlement> {
} else { } else {
queryOrderInfo( queryOrderInfo(
address?.id, address?.id,
selectedBtn, ((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && (subscribeParam?.isEnableSubscribe ?? false) == false && selectedBtn != 1 && selectedBtn != 2)
? diningStatus
: selectedBtn,
null, null,
0, 0,
productId ?? null, productId ?? null,
@ -1333,7 +1411,9 @@ class _Settlement extends State<Settlement> {
} else { } else {
queryOrderInfo( queryOrderInfo(
address?.id, address?.id,
selectedBtn, ((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && (subscribeParam?.isEnableSubscribe ?? false) == false && selectedBtn != 1 && selectedBtn != 2)
? diningStatus
: selectedBtn,
couponBean?.id, couponBean?.id,
0, 0,
productId ?? 0, productId ?? 0,
@ -1341,7 +1421,7 @@ class _Settlement extends State<Settlement> {
actProductId ?? "", actProductId ?? "",
actProductSkuId ?? "", actProductSkuId ?? "",
(couponBean?.id ?? 0) == 0 (couponBean?.id ?? 0) == 0
? ((isVips == false && vipLevelName == "黄金会员") ? ((isVips == false)
? "MEMBER_RANK" ? "MEMBER_RANK"
: "AUTO") : "AUTO")
: "COUPON", : "COUPON",
@ -1372,7 +1452,9 @@ class _Settlement extends State<Settlement> {
// this.couponListBean = null; // this.couponListBean = null;
queryOrderInfo( queryOrderInfo(
address?.id, address?.id,
selectedBtn, ((storeInfo?.pickupType?.dineInTakeStatus ?? false) == true && (subscribeParam?.isEnableSubscribe ?? false) == false && selectedBtn != 1 && selectedBtn != 2)
? diningStatus
: selectedBtn,
0, 0,
0, 0,
(pro?.id ?? 0) ?? productId, (pro?.id ?? 0) ?? productId,
@ -1380,7 +1462,7 @@ class _Settlement extends State<Settlement> {
actProductId ?? "", actProductId ?? "",
actProductSkuId ?? "", actProductSkuId ?? "",
((pro?.id ?? 0) ?? productId) == 0 ((pro?.id ?? 0) ?? productId) == 0
? ((isVips == false && vipLevelName == "黄金会员") ? ((isVips == false)
? "MEMBER_RANK" ? "MEMBER_RANK"
: "AUTO") : "AUTO")
: "ACTIVITY", : "ACTIVITY",

7
lib/settlement/settlement_view/activity_coupon_remarks.dart

@ -122,7 +122,7 @@ class _ActivityCouponRemarks extends State<ActivityCouponRemarks> {
(widget.coupons != null && widget.coupons != "" || (widget.coupons != null && widget.coupons != "" ||
widget.promotions != null && widget.promotions != null &&
widget.promotions != "" || widget.promotions != "" ||
widget.payChannell == 5 || widget.payChannell == 7 ||(widget?.settleOrderInfo?.discountType ?? "") == "MEMBER_RANK" ||(widget.payChannell == 4 && widget.settleOrderInfo.promotionInfoList.length <=0 && widget.settleOrderInfo.couponList.length <= 0)) widget.payChannell == 5 || widget.payChannell == 7 || ((widget?.settleOrderInfo?.discountType ?? "") == "MEMBER_RANK" || (widget?.settleOrderInfo?.discountType ?? "") == "SURPRISE") )
? false ? false
: vipSelect, : vipSelect,
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
@ -179,7 +179,8 @@ class _ActivityCouponRemarks extends State<ActivityCouponRemarks> {
widget.promotions != null && widget.promotions != null &&
widget.promotions != "" || widget.promotions != "" ||
widget.payChannell == 5 || widget.payChannell == 5 ||
widget.payChannell == 7 ||(widget?.settleOrderInfo?.discountType ?? "") == "MEMBER_RANK"|| (widget.payChannell == 4 && widget.settleOrderInfo.promotionInfoList.length <=0 && widget.settleOrderInfo.couponList.length <= 0)) widget.payChannell == 7 ||((widget?.settleOrderInfo?.discountType ?? "") == "MEMBER_RANK" || (widget?.settleOrderInfo?.discountType ?? "") == "SURPRISE")
|| (widget.payChannell == 4 && widget.settleOrderInfo.promotionInfoList.length <=0 && widget.settleOrderInfo.couponList.length <= 0))
? false ? false
: vipSelect) : vipSelect)
? "assets/image/vip_price.webp" ? "assets/image/vip_price.webp"
@ -278,7 +279,7 @@ class _ActivityCouponRemarks extends State<ActivityCouponRemarks> {
// ), // ),
// ), // ),
if (widget.placeOrder && if (widget.placeOrder &&
(widget?.settleOrderInfo?.discountType == "MEMBER_RANK" && widget?.settleOrderInfo?.benefitDiscountAmount != null && ((widget?.settleOrderInfo?.discountType == "MEMBER_RANK" || widget?.settleOrderInfo?.discountType == "SURPRISE") && widget?.settleOrderInfo?.benefitDiscountAmount != null &&
widget?.settleOrderInfo?.benefitDiscountAmount != "0")) widget?.settleOrderInfo?.benefitDiscountAmount != "0"))
Container( Container(
margin: EdgeInsets.only(bottom: 13), margin: EdgeInsets.only(bottom: 13),

281
lib/settlement/settlement_view/settlement_order_commodity.dart

@ -10,8 +10,11 @@ import 'package:huixiang/utils/font_weight.dart';
import 'package:huixiang/view_widget/custom_image.dart'; import 'package:huixiang/view_widget/custom_image.dart';
import 'package:huixiang/view_widget/separator.dart'; import 'package:huixiang/view_widget/separator.dart';
import '../../retrofit/data/shoppingCart.dart';
class SettlementOrderCommodity extends StatefulWidget { class SettlementOrderCommodity extends StatefulWidget {
final int isTakeOut; final int isTakeOut;
final int diningStatus;
final int tableId; final int tableId;
final SettleOrderInfo settleOrderInfo; final SettleOrderInfo settleOrderInfo;
@ -24,6 +27,7 @@ class SettlementOrderCommodity extends StatefulWidget {
SettlementOrderCommodity( SettlementOrderCommodity(
this.isTakeOut, this.isTakeOut,
this.diningStatus,
this.settleOrderInfo, this.settleOrderInfo,
this.minOrderInfo, this.minOrderInfo,
this.tableId, this.tableId,
@ -114,18 +118,52 @@ class _SettlementOrderCommodity extends State<SettlementOrderCommodity> {
); );
} }
if (widget.diningStatus == 3) {
//
widgets.add(
discountItem(
Color(0xFFFF7A1A),
"打包费",
"",
(widget.minOrderInfo != null)
? "+ ${widget.minOrderInfo?.totalPackagingFee ?? "0"}"
: "+ ${widget.settleOrderInfo?.totalPackagingFee ?? "0"}",
),
);
}
if (widget.useVipPriceSelect && if (widget.useVipPriceSelect &&
widget.settleOrderInfo.memberVO.isVip && widget.settleOrderInfo.memberVO.isVip &&
(widget.tableId > 0 ? !(widget?.minOrderInfo?.isRaise ?? false) : !(widget?.settleOrderInfo?.isRaise ?? false)) && (widget.tableId > 0
(widget?.settleOrderInfo?.discountType == "VIP" && widget?.settleOrderInfo?.vipDiscountAmount != "0")) { ? !(widget?.minOrderInfo?.isRaise ?? false)
widgets.add(vipItem(Color(0xFFFF7A1A), "VIP优惠", : !(widget?.settleOrderInfo?.isRaise ?? false)) &&
(widget.minOrderInfo != null && widget.minOrderInfo.orderProductVOList != null) ? (widget.minOrderInfo?.discountAmount ?? ""):(widget?.settleOrderInfo?.vipDiscountAmount ?? ""))); (widget?.settleOrderInfo?.discountType == "VIP" &&
widget?.settleOrderInfo?.vipDiscountAmount != "0")) {
widgets.add(vipItem(
Color(0xFFFF7A1A),
"VIP优惠",
AppUtils.calculateDouble(double.tryParse(
(widget.minOrderInfo != null &&
widget.minOrderInfo.orderProductVOList != null)
? (widget.minOrderInfo?.discountAmount ?? "")
: (widget?.settleOrderInfo?.vipDiscountAmount ?? "")))));
} }
if (widget.useBenefitSelect && if (widget.useBenefitSelect &&
(widget?.settleOrderInfo?.discountType == "MEMBER_RANK" && widget?.settleOrderInfo?.benefitDiscountAmount != "0") && ((widget.tableId > 0 ? !(widget?.minOrderInfo?.isRaise ?? false) : !(widget?.settleOrderInfo?.isRaise ?? false)))) { ((widget?.settleOrderInfo?.discountType == "MEMBER_RANK" ||
widgets.add(vipItem(Color(0xFFFF7A1A), "会员优惠金额", widget?.settleOrderInfo?.discountType == "SURPRISE") &&
(widget.minOrderInfo != null && widget.minOrderInfo.orderProductVOList != null) ? (widget.minOrderInfo?.benefitDiscountAmount ?? "") :(widget?.settleOrderInfo?.benefitDiscountAmount ?? ""))); widget?.settleOrderInfo?.benefitDiscountAmount != "0") &&
((widget.tableId > 0
? !(widget?.minOrderInfo?.isRaise ?? false)
: !(widget?.settleOrderInfo?.isRaise ?? false)))) {
widgets.add(vipItem(
Color(0xFFFF7A1A),
"会员优惠金额",
AppUtils.calculateDouble(double.tryParse(
(widget.minOrderInfo != null &&
widget.minOrderInfo.orderProductVOList != null)
? (widget.minOrderInfo?.benefitDiscountAmount ?? "")
: (widget?.settleOrderInfo?.benefitDiscountAmount ?? "")))));
} }
if (widget.showVipTips) { if (widget.showVipTips) {
@ -181,92 +219,165 @@ class _SettlementOrderCommodity extends State<SettlementOrderCommodity> {
Widget commodityItem(OrderProductVOList productList) { Widget commodityItem(OrderProductVOList productList) {
return Container( return Container(
margin: EdgeInsets.only(top: 8.h, bottom: 8.h), margin: EdgeInsets.only(top: 8.h, bottom: 8.h),
child: Row( child: Column(
children: [ children: [
MImage( Row(
productList.skuImg, children: [
width: 55, MImage(
height: 55, productList.skuImg,
fit: BoxFit.cover, width: 55,
radius: BorderRadius.circular(4), height: 55,
errorSrc: "assets/image/default_1.webp", fit: BoxFit.cover,
fadeSrc: "assets/image/default_1.webp", radius: BorderRadius.circular(4),
), errorSrc: "assets/image/default_1.webp",
Expanded( fadeSrc: "assets/image/default_1.webp",
flex: 1,
child: Container(
margin: EdgeInsets.only(
left: 8.w,
), ),
// height: 44.h, Expanded(
child: Column( flex: 1,
mainAxisAlignment: MainAxisAlignment.spaceAround, child: Container(
crossAxisAlignment: CrossAxisAlignment.start, margin: EdgeInsets.only(
children: [ left: 8.w,
Text(
productList.productName,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 14.sp,
color: Color(0xFF353535),
),
), ),
SizedBox( // height: 44.h,
height: 4.h, child: Column(
), mainAxisAlignment: MainAxisAlignment.spaceAround,
Text( crossAxisAlignment: CrossAxisAlignment.start,
productList.skuNameStr != null children: [
? "${productList.skuNameStr ?? ""}" Text(
: "", productList.productName,
overflow: TextOverflow.ellipsis, maxLines: 1,
style: TextStyle( overflow: TextOverflow.ellipsis,
fontSize: 10.sp, style: TextStyle(
color: Color(0xFFA29E9E), fontWeight: FontWeight.bold,
), fontSize: 14.sp,
color: Color(0xFF353535),
),
),
SizedBox(
height: 4.h,
),
Text(
productList.skuNameStr != null
? "${productList.skuNameStr ?? ""}"
: "",
overflow: TextOverflow.ellipsis,
style: TextStyle(
fontSize: 10.sp,
color: Color(0xFFA29E9E),
),
),
Text(
"x${productList.buyNum}",
style: TextStyle(
fontSize: 12.sp,
color: Color(0xFF727272),
),
),
],
), ),
),
),
Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Text( Text(
"x${productList.buyNum}", productList.buyNum > 1
? S.of(context).yuan_(AppUtils.calculateDouble(
double.tryParse(productList.sellPrice ?? "0") -
AppUtils.stringAsFixedDouble2((double.tryParse(
productList.discountAmount ?? "0") /
productList.buyNum))))
: S.of(context).yuan_(AppUtils.calculateDouble(
double.tryParse(productList.sellPrice ?? "0") -
double.tryParse(
productList.discountAmount ?? "0"))),
style: TextStyle( style: TextStyle(
fontSize: 12.sp, fontWeight: MyFontWeight.medium,
color: Color(0xFF727272), fontSize: 14.sp,
color: Color(0xFF4C4C4C),
), ),
), ),
if (productList.discountAmount != null &&
productList.discountAmount != "0")
Text(
S.of(context).yuan_(productList.sellPrice),
style: TextStyle(
fontWeight: MyFontWeight.regular,
fontSize: 12.sp,
fontFamily: 'JDZhengHT',
decoration: TextDecoration.lineThrough,
color: Color(0xFFA29E9E),
),
)
], ],
), ),
), ],
), ),
Column( if (productList.setMealDataList.length != 0)
mainAxisAlignment: MainAxisAlignment.start, ListView.builder(
crossAxisAlignment: CrossAxisAlignment.end, itemCount: productList.setMealDataList.length,
children: [ scrollDirection: Axis.vertical,
Text( physics: BouncingScrollPhysics(),
productList.buyNum > 1 shrinkWrap: true,
? S.of(context).yuan_(AppUtils.calculateDouble(double.tryParse(productList.sellPrice ?? "0") - AppUtils.stringAsFixedDouble2((double.tryParse(productList.discountAmount ?? "0") / productList.buyNum)))) padding: EdgeInsets.zero,
: S.of(context).yuan_(AppUtils.calculateDouble(double.tryParse(productList.sellPrice ?? "0") - double.tryParse(productList.discountAmount ?? "0"))), itemBuilder: (context, index) {
return orderMealsItem(productList.setMealDataList[index]);
},
),
],
),
);
}
Widget orderMealsItem(SetMealDataList setMealDataList) {
return Column(children: setMealDataList.productInfoList.map((e) {
return Container(
margin: EdgeInsets.symmetric(
vertical: 10.h,
),
child: Row(
children: [
Expanded(
flex: 2,
child: Text(
e.productName,
overflow: TextOverflow.ellipsis,
maxLines: 1,
style: TextStyle( style: TextStyle(
fontWeight: MyFontWeight.medium, color: Color(0xffA29E9E),
fontSize: 14.sp, fontSize: 14.sp,
color: Color(0xFF4C4C4C), fontWeight: MyFontWeight.regular,
), ),
), ),
if (productList.discountAmount != null && productList.discountAmount != "0") ),
Text( Expanded(
S.of(context).yuan_(productList.sellPrice), flex: 3,
style: TextStyle( child: Text(
fontWeight: MyFontWeight.regular, "${(e.skuName == "") ? "" : e.skuName}",
fontSize: 12.sp, overflow: TextOverflow.ellipsis,
fontFamily: 'JDZhengHT', maxLines: 1,
decoration: TextDecoration.lineThrough, style: TextStyle(
color: Color(0xFFA29E9E), color: Color(0xffA29E9E),
), fontSize: 13.sp,
) fontWeight: MyFontWeight.regular,
], ),
) ),
], ),
), Text(
); "x${e.buyNumber.toString()}",
overflow: TextOverflow.ellipsis,
maxLines: 1,
style: TextStyle(
color: Color(0xffFF7A1A),
fontSize: 13.sp,
fontWeight: MyFontWeight.regular,
),
),
],
),
);
}).toList(),);
} }
Widget discountItem(Color color, textName, condition, amount) { Widget discountItem(Color color, textName, condition, amount) {
@ -464,7 +575,7 @@ class _SettlementOrderCommodity extends State<SettlementOrderCommodity> {
), ),
Container( Container(
child: Text( child: Text(
"已优惠:¥${(widget.tableId > 0 ? (widget?.minOrderInfo?.isRaise ?? false) : (widget?.settleOrderInfo?.isRaise ?? false)) ? "0": discountPrice()}", "已优惠:¥${(widget.tableId > 0 ? (widget?.minOrderInfo?.isRaise ?? false) : (widget?.settleOrderInfo?.isRaise ?? false)) ? "0" : discountPrice()}",
style: TextStyle( style: TextStyle(
fontSize: 12.sp, fontSize: 12.sp,
fontFamily: 'JDZhengHT', fontFamily: 'JDZhengHT',
@ -507,20 +618,24 @@ class _SettlementOrderCommodity extends State<SettlementOrderCommodity> {
/// ///
String discountPrice() { String discountPrice() {
if (widget.minOrderInfo != null) { if (widget.minOrderInfo != null) {
return AppUtils.calculateDouble(double.tryParse(widget.minOrderInfo?.totalDiscountPrice ?? "0")); return AppUtils.calculateDouble(
double.tryParse(widget.minOrderInfo?.totalDiscountPrice ?? "0"));
} else if (widget.tableId < 0) { } else if (widget.tableId < 0) {
return "0"; return "0";
} else { } else {
return AppUtils.calculateDouble(double.tryParse(widget?.settleOrderInfo?.totalDiscountAmount ?? "0")); return AppUtils.calculateDouble(
double.tryParse(widget?.settleOrderInfo?.totalDiscountAmount ?? "0"));
} }
} }
String totalPrice() { String totalPrice() {
if (widget.minOrderInfo != null && if (widget.minOrderInfo != null &&
widget.minOrderInfo.orderProductVOList != null) { widget.minOrderInfo.orderProductVOList != null) {
return "${widget.minOrderInfo.finalPayPrice}"; return "${AppUtils.calculateDouble(
double.tryParse(widget.minOrderInfo.finalPayPrice))}";
} }
if (widget.settleOrderInfo.orderProductList == null) return ""; if (widget.settleOrderInfo.orderProductList == null) return "";
return "${widget.settleOrderInfo.price}"; return "${AppUtils.calculateDouble(
double.tryParse(widget.settleOrderInfo.price ?? ""))}";
} }
} }

20
lib/store/shop_details_page.dart

@ -64,12 +64,14 @@ class _ShopDetailsPage extends State<ShopDetailsPage> {
String parentId; String parentId;
int numberOfPeople = 0; int numberOfPeople = 0;
int index; int index;
bool isSetMeal;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
id = widget.arguments["id"]; id = widget.arguments["id"];
storeId = widget.arguments["storeId"]; storeId = widget.arguments["storeId"];
isSetMeal = widget.arguments["isSetMeal"] ?? false;
// SharedPreferences.getInstance().then((value) { // SharedPreferences.getInstance().then((value) {
// String minToken = value.getString("minToken"); // String minToken = value.getString("minToken");
// String tenant = value.getString("tenant"); // String tenant = value.getString("tenant");
@ -841,10 +843,22 @@ class _ShopDetailsPage extends State<ShopDetailsPage> {
), ),
)), )),
GestureDetector( GestureDetector(
onTap: () { onTap: () async {
if (storeInfo.posType.code == "NORMALSTORE" && if (storeInfo.posType.code == "NORMALSTORE" &&
tableId == 0) { tableId == 0) {
showDeleteDialog(); showDeleteDialog();
} else if (isSetMeal == true) {
await Navigator.of(context).pushNamed(
'/router/product_meals_sku',
arguments: {
"id": id,
"storeId": storeId,
"tableId": tableId
});
queryShopCar().then((value) {
this.shopCarGoods = value;
setState(() {});
});
} else { } else {
_queryMiNiDetail(id, counts); _queryMiNiDetail(id, counts);
} }
@ -875,7 +889,9 @@ class _ShopDetailsPage extends State<ShopDetailsPage> {
false) == false) ==
true) true)
? S.of(context).lijiyuyue ? S.of(context).lijiyuyue
: "加入购物车", : (isSetMeal ?? false) == true
? "选套餐"
: "加入购物车",
style: TextStyle( style: TextStyle(
fontSize: 12.sp, fontSize: 12.sp,
fontWeight: MyFontWeight.regular, fontWeight: MyFontWeight.regular,

14
lib/store/store_order.dart

@ -92,7 +92,6 @@ class _StoreOrderPage extends State<StoreOrderPage>
SharedPreferences.getInstance().then((value) { SharedPreferences.getInstance().then((value) {
minLogin(value); minLogin(value);
queryStoreInfo();
}); });
} }
@ -426,6 +425,7 @@ class _StoreOrderPage extends State<StoreOrderPage>
]; ];
}, },
body: body:
/// ///
TabBarView( TabBarView(
physics: NeverScrollableScrollPhysics(), physics: NeverScrollableScrollPhysics(),
@ -656,9 +656,9 @@ class _StoreOrderPage extends State<StoreOrderPage>
"cid": cid, "cid": cid,
"shoppingCart": shopCarGoods, "shoppingCart": shopCarGoods,
"numberOfPeople": numberOfPeople, "numberOfPeople": numberOfPeople,
"distance":widget.arguments["distance"], "distance": widget.arguments["distance"],
"vipLevelName":memberVo.memberRankVo.rankName, "vipLevelName": memberVo?.memberRankVo?.rankName ??"",
"isVips":memberVo.isVip, "isVips": memberVo?.isVip ?? false,
"distance": widget.arguments["distance"], "distance": widget.arguments["distance"],
"subscribeParam": miNiDetail?.subscribeParam, "subscribeParam": miNiDetail?.subscribeParam,
}, },
@ -693,7 +693,7 @@ class _StoreOrderPage extends State<StoreOrderPage>
color: Colors.white.withAlpha(76), color: Colors.white.withAlpha(76),
), ),
), ),
autoplay: (storeInfo?.bannerList?.length ?? 0) == 0 ? false :true, autoplay: (storeInfo?.bannerList?.length ?? 0) == 0 ? false : true,
duration: 1000, duration: 1000,
autoplayDelay: 2000, autoplayDelay: 2000,
itemBuilder: (context, position) { itemBuilder: (context, position) {
@ -969,6 +969,8 @@ class _StoreOrderPage extends State<StoreOrderPage>
this.shopCarGoods = await queryShopCar(); this.shopCarGoods = await queryShopCar();
debugPrint("count.toString()"); debugPrint("count.toString()");
setState(() {}); setState(() {});
} else {
SmartDialog.showToast(baseDate.msg, alignment: Alignment.center);
} }
} }
@ -1014,6 +1016,8 @@ class _StoreOrderPage extends State<StoreOrderPage>
this.shopCarGoods = value; this.shopCarGoods = value;
setState(() {}); setState(() {});
}); });
} else {
SmartDialog.showToast(baseDate.msg, alignment: Alignment.center);
} }
} }

267
lib/store/store_view/product_meals_sku.dart

@ -93,7 +93,8 @@ class _ProductMealsSku extends State<ProductMealsSku> {
"productId": ele.productId, "productId": ele.productId,
"skuId": ele.skuInfoList.length == 1 "skuId": ele.skuInfoList.length == 1
? ele.skuInfoList.first.id ? ele.skuInfoList.first.id
: ele.skuInfoList.firstWhere((e2) => e2.isSelected).id : ele.skuInfoList.firstWhere((e2) => e2.isSelected).id,
// "buyNumber":1,
}); });
} }
}); });
@ -316,6 +317,7 @@ class _ProductMealsSku extends State<ProductMealsSku> {
return Container( return Container(
margin: EdgeInsets.symmetric(vertical: 16.h), margin: EdgeInsets.symmetric(vertical: 16.h),
child: Row( child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
MImage( MImage(
productSetMeals[position].productInfoList[index].productImg ?? "", productSetMeals[position].productInfoList[index].productImg ?? "",
@ -332,60 +334,63 @@ class _ProductMealsSku extends State<ProductMealsSku> {
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Row( Padding(
children: [ padding: EdgeInsets.symmetric(vertical: 8.h),
Expanded( child: Row(
child: Text( children: [
productSetMeals[position] Expanded(
.productInfoList[index]
.productName ??
"",
overflow: TextOverflow.ellipsis,
maxLines: 1,
style: TextStyle(
color: Colors.black,
fontSize: 13.sp,
fontWeight: MyFontWeight.semi_bold,
),
),
),
if (productSetMeals[position]
.productInfoList[index]
.productAttrInfoList[0]
.attrName !=
"")
GestureDetector(
child: Text( child: Text(
S.of(context).xuanguige, productSetMeals[position]
.productInfoList[index]
.productName ??
"",
overflow: TextOverflow.ellipsis,
maxLines: 1,
style: TextStyle( style: TextStyle(
color: Colors.black, color: Colors.black,
fontSize: 13.sp, fontSize: 13.sp,
fontWeight: MyFontWeight.regular, fontWeight: MyFontWeight.semi_bold,
), ),
), ),
onTap: () {
showSkuDialog(position, index);
},
), ),
if (productSetMeals[position] if (productSetMeals[position]
.productInfoList[index] .productInfoList[index]
.productAttrInfoList[0] .productAttrInfoList[0]
.attrName != .attrName !=
"") "")
GestureDetector( GestureDetector(
onTap: () { child: Text(
showSkuDialog(position, index); S.of(context).xuanguige,
}, style: TextStyle(
child: Icon( color: Colors.black,
Icons.chevron_right, fontSize: 13.sp,
color: Colors.black, fontWeight: MyFontWeight.regular,
size: 18, ),
),
onTap: () {
showSkuDialog(position, index);
},
), ),
) if (productSetMeals[position]
], .productInfoList[index]
.productAttrInfoList[0]
.attrName !=
"")
GestureDetector(
onTap: () {
showSkuDialog(position, index);
},
child: Icon(
Icons.chevron_right,
color: Colors.black,
size: 18,
),
)
],
),
), ),
SizedBox(height: 8.h),
Row( Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
if (productSetMeals[position] if (productSetMeals[position]
.productInfoList[index] .productInfoList[index]
@ -410,77 +415,123 @@ class _ProductMealsSku extends State<ProductMealsSku> {
), ),
), ),
Spacer(), Spacer(),
InkWell( if (productSetMeals[position]
onTap: () {
setState(() {
if (productSetMeals[position]
.productInfoList[index]
.count >=
1)
productSetMeals[position]
.productInfoList[index]
.count -= 1;
});
},
child: Image.asset(
"assets/image/reduce.webp",
width: 22,
height: 22.h,
),
),
Container(
width: 30,
alignment: Alignment.center,
child: Text(
productSetMeals[position]
.productInfoList[index] .productInfoList[index]
.count .skuInfoList
.toString(), .where((element) => element.isSelected)
style: TextStyle( .isNotEmpty &&
color: Colors.black, productSetMeals[position].productInfoList[index].count >
fontSize: 14.sp, 0)
fontWeight: MyFontWeight.medium, Padding(
padding: EdgeInsets.only(right: 4.w),
child: Text(
"x${productSetMeals[position].productInfoList[index].count}",
overflow: TextOverflow.ellipsis,
maxLines: 1,
style: TextStyle(
color: Color(0xffFF7A1A),
fontSize: 13.sp,
fontWeight: MyFontWeight.regular,
),
), ),
), ),
), if (productSetMeals[position]
GestureDetector( .productInfoList[index]
onTap: () { .productAttrInfoList[0]
setState(() { .attrName ==
if (productSetMeals[position] "")
InkWell(
onTap: () {
setState(() {
if (productSetMeals[position]
.productInfoList[index]
.count >=
1)
productSetMeals[position]
.productInfoList[index] .productInfoList[index]
.productAttrInfoList[0] .count -= 1;
.attrName !=
"") {
showSkuDialog(position, index);
return;
}
int total = 0;
productSetMeals[position]
.productInfoList
.forEach((element) {
total += element.count;
}); });
if (total >= },
productSetMeals[position].optionalNumber) { child: Image.asset(
SmartDialog.showToast("抱歉,无法加购更多", "assets/image/reduce.webp",
alignment: Alignment.center); width: 22,
return; height: 22.h,
} ),
if (productSetMeals[position] ),
if (productSetMeals[position]
.productInfoList[index]
.productAttrInfoList[0]
.attrName ==
"")
Container(
width: 30,
alignment: Alignment.center,
child: Text(
(productSetMeals[position].totalNumber > 1 &&
productSetMeals[position].totalNumber !=
productSetMeals[position].optionalNumber)
? productSetMeals[position]
.productInfoList[index] .productInfoList[index]
.count == .count
0) .toString()
: (productSetMeals[position]
.productInfoList[index]
.count = 1)
.toString(),
style: TextStyle(
color: Colors.black,
fontSize: 14.sp,
fontWeight: MyFontWeight.medium,
),
),
),
if (productSetMeals[position]
.productInfoList[index]
.productAttrInfoList[0]
.attrName ==
"")
GestureDetector(
onTap: () {
setState(() {
if (productSetMeals[position]
.productInfoList[index]
.productAttrInfoList[0]
.attrName !=
"") {
showSkuDialog(position, index);
return;
}
int total = 0;
productSetMeals[position] productSetMeals[position]
.productInfoList[index] .productInfoList
.count += 1; .forEach((element) {
}); total += element.count;
}, });
child: Image.asset( if (total >=
"assets/image/add.webp", productSetMeals[position].optionalNumber ||
width: 22, productSetMeals[position]
height: 22.h, .productInfoList[index]
.count >=
1) {
SmartDialog.showToast("抱歉,无法加购更多",
alignment: Alignment.center);
return;
}
if (productSetMeals[position]
.productInfoList[index]
.count ==
0)
productSetMeals[position]
.productInfoList[index]
.count += 1;
});
},
child: Image.asset(
"assets/image/add.webp",
width: 22,
height: 22.h,
),
), ),
),
], ],
), ),
SizedBox( SizedBox(

44
lib/store/store_view/product_sku.dart

@ -1,5 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:huixiang/generated/l10n.dart'; import 'package:huixiang/generated/l10n.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:huixiang/retrofit/data/miNiDetail.dart'; import 'package:huixiang/retrofit/data/miNiDetail.dart';
@ -56,7 +57,7 @@ class _ProductSku extends State<ProductSku> {
return; return;
} }
if (productSku == null) return; if (productSku == null) return;
selectedPrice = productSku.vipPrice; selectedPrice = productSku.vipPrice ?? productSku.skuPrice ?? "";
String skuId = productSku.id; String skuId = productSku.id;
if (widget.shopCarGoods == null || if (widget.shopCarGoods == null ||
widget.shopCarGoods.shoppingCartSkuItemList == null) return; widget.shopCarGoods.shoppingCartSkuItemList == null) return;
@ -237,9 +238,11 @@ class _ProductSku extends State<ProductSku> {
), ),
InkWell( InkWell(
onTap: () async { onTap: () async {
if(count == 1) if (count == 1) return;
return; if ((widget?.miNiDetail?.subscribeParam
if((widget?.miNiDetail?.subscribeParam?.isEnableSubscribe ?? false) == false){ ?.isEnableSubscribe ??
false) ==
false) {
_isTapEd = true; _isTapEd = true;
EasyLoading.show(status: S.current.zhengzaijiazai); EasyLoading.show(status: S.current.zhengzaijiazai);
await widget.reduce(widget.miNiDetail, selectSkus); await widget.reduce(widget.miNiDetail, selectSkus);
@ -267,7 +270,10 @@ class _ProductSku extends State<ProductSku> {
), ),
InkWell( InkWell(
onTap: () async { onTap: () async {
if((widget?.miNiDetail?.subscribeParam?.isEnableSubscribe ?? false) == false){ if ((widget?.miNiDetail?.subscribeParam
?.isEnableSubscribe ??
false) ==
false) {
_isTapEd = true; _isTapEd = true;
EasyLoading.show(status: S.current.zhengzaijiazai); EasyLoading.show(status: S.current.zhengzaijiazai);
if (count == 1 && realCount == 0) if (count == 1 && realCount == 0)
@ -276,7 +282,16 @@ class _ProductSku extends State<ProductSku> {
else else
await widget.add(widget.miNiDetail, selectSkus); await widget.add(widget.miNiDetail, selectSkus);
} }
count += 1; if ((widget?.miNiDetail?.oversold ?? 0) == 0 &&
count >=
(widget?.miNiDetail?.productSkuVOList[0]
?.skuStock ??
0)) {
SmartDialog.showToast("库存不足",
alignment: Alignment.center);
} else {
count += 1;
}
setState(() {}); setState(() {});
EasyLoading.dismiss(); EasyLoading.dismiss();
}, },
@ -295,7 +310,12 @@ class _ProductSku extends State<ProductSku> {
RoundButton( RoundButton(
width: double.infinity, width: double.infinity,
height: 54.h, height: 54.h,
text: (widget?.miNiDetail?.subscribeParam?.isEnableSubscribe ?? false) == true ? S.of(context).lijiyuyue:"加入购物车", text:
(widget?.miNiDetail?.subscribeParam?.isEnableSubscribe ??
false) ==
true
? S.of(context).lijiyuyue
: "加入购物车",
textColor: Colors.white, textColor: Colors.white,
fontWeight: MyFontWeight.semi_bold, fontWeight: MyFontWeight.semi_bold,
radius: 27, radius: 27,
@ -305,7 +325,15 @@ class _ProductSku extends State<ProductSku> {
Navigator.of(context).pop(); Navigator.of(context).pop();
// SmartDialog.dismiss(); // SmartDialog.dismiss();
if (!_isTapEd) if (!_isTapEd)
widget.addShopCar(widget.miNiDetail, selectSkus,((widget?.miNiDetail?.subscribeParam?.isEnableSubscribe ?? false) == false) ? 1 : count); widget.addShopCar(
widget.miNiDetail,
selectSkus,
((widget?.miNiDetail?.subscribeParam
?.isEnableSubscribe ??
false) ==
false)
? 1
: count);
}, },
), ),
if (widget.buttonType == 1) if (widget.buttonType == 1)

230
lib/store/store_view/shop_goods.dart

@ -1,6 +1,7 @@
import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:huixiang/generated/l10n.dart'; import 'package:huixiang/generated/l10n.dart';
import 'package:huixiang/retrofit/data/findMiNiGroupList.dart'; import 'package:huixiang/retrofit/data/findMiNiGroupList.dart';
import 'package:huixiang/retrofit/data/shoppingCart.dart'; import 'package:huixiang/retrofit/data/shoppingCart.dart';
@ -232,7 +233,8 @@ class _ShopGoods extends State<ShopGoods> {
(widget.productListBean?.attrStyle ?? 0) == 1 && (widget.productListBean?.attrStyle ?? 0) == 1 &&
!(widget?.productListBean?.subscribeParam !(widget?.productListBean?.subscribeParam
?.isEnableSubscribe ?? ?.isEnableSubscribe ??
false)) false) &&
!(widget?.productListBean?.isSetMeal ?? false))
GestureDetector( GestureDetector(
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
onTap: () async { onTap: () async {
@ -249,58 +251,57 @@ class _ShopGoods extends State<ShopGoods> {
0); 0);
} }
}, },
child: Container( child: Stack(
// padding: EdgeInsets.only(right: 16.w), children: [
child: Stack( Container(
children: [ padding: EdgeInsets.only(
Container( left: 35.w,
padding: EdgeInsets.only( top: 4.h,
left: 35.w, bottom: 4.h,
top: 4.h, ),
bottom: 4.h, margin: EdgeInsets.only(right: 8.w, top: 4.h),
), child: RoundButton(
margin: EdgeInsets.only(right:8.w,top: 4.h), text: S.of(context).xuanguige,
child: RoundButton( textColor: Colors.white,
text: S.of(context).xuanguige, fontWeight: MyFontWeight.medium,
textColor: Colors.white, radius: 3,
fontWeight: MyFontWeight.medium, backgroup: Color(0xFF32A060),
radius: 3, fontSize: 11.sp,
backgroup: Color(0xFF32A060), padding: EdgeInsets.symmetric(
fontSize: 11.sp, vertical: 5.h, horizontal: 3.w),
padding: EdgeInsets.symmetric(
vertical: 5.h, horizontal: 3.w),
),
), ),
Positioned( ),
right: 0, Positioned(
child: Visibility( right: 0,
visible: widget.count > 0, child: Visibility(
child: RoundButton( visible: widget.count > 0,
width: 17, child: RoundButton(
height: 17.h, width: 17,
text: "${widget.count}", height: 17.h,
textColor: Color(0xFF32A060), text: "${widget.count}",
fontWeight: MyFontWeight.regular, textColor: Color(0xFF32A060),
backgroup: Colors.white, fontWeight: MyFontWeight.regular,
fontSize: 12.sp, backgroup: Colors.white,
radius: 100, fontSize: 12.sp,
), radius: 100,
), ),
), ),
], ),
), ],
)), )),
if (widget.isShopCart || if (widget.isShopCart ||
(widget.productListBean?.attrStyle ?? 0) == 0 && (widget.productListBean?.attrStyle ?? 0) == 0 &&
!(widget?.productListBean?.subscribeParam !(widget?.productListBean?.subscribeParam
?.isEnableSubscribe ?? ?.isEnableSubscribe ??
false)) false) &&
!(widget?.productListBean?.isSetMeal ?? false))
Spacer(), Spacer(),
if (widget.isShopCart || if (widget.isShopCart ||
(widget.productListBean?.attrStyle ?? 0) == 0 && (widget.productListBean?.attrStyle ?? 0) == 0 &&
!(widget?.productListBean?.subscribeParam !(widget?.productListBean?.subscribeParam
?.isEnableSubscribe ?? ?.isEnableSubscribe ??
false)) false) &&
!(widget?.productListBean?.isSetMeal ?? false))
GestureDetector( GestureDetector(
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
onTap: () async { onTap: () async {
@ -324,7 +325,8 @@ class _ShopGoods extends State<ShopGoods> {
(widget.productListBean?.attrStyle ?? 0) == 0 && (widget.productListBean?.attrStyle ?? 0) == 0 &&
!(widget?.productListBean?.subscribeParam !(widget?.productListBean?.subscribeParam
?.isEnableSubscribe ?? ?.isEnableSubscribe ??
false)) false) &&
!(widget?.productListBean?.isSetMeal ?? false))
Container( Container(
alignment: Alignment.center, alignment: Alignment.center,
child: Text( child: Text(
@ -340,7 +342,8 @@ class _ShopGoods extends State<ShopGoods> {
(widget.productListBean?.attrStyle ?? 0) == 0 && (widget.productListBean?.attrStyle ?? 0) == 0 &&
!(widget?.productListBean?.subscribeParam !(widget?.productListBean?.subscribeParam
?.isEnableSubscribe ?? ?.isEnableSubscribe ??
false)) false) &&
!(widget?.productListBean?.isSetMeal ?? false))
GestureDetector( GestureDetector(
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
onTap: () async { onTap: () async {
@ -348,7 +351,15 @@ class _ShopGoods extends State<ShopGoods> {
widget.tableId == 0) { widget.tableId == 0) {
showDeleteDialog(); showDeleteDialog();
} else { } else {
if (_jumpType == -1) // if ((widget?.productListBean?.oversold ?? 0) == 0 &&
// widget.count >=
// (widget?.shoppingCartSkuItemListBean
// ?.skuStock ??
// 0)) {
// SmartDialog.showToast("库存不足",
// alignment: Alignment.center);
// } else
if (_jumpType == -1)
queryMiNiDetail(widget.productListBean.id); queryMiNiDetail(widget.productListBean.id);
else if (_jumpType == 0) else if (_jumpType == 0)
widget.add(widget.shoppingCartSkuItemListBean); widget.add(widget.shoppingCartSkuItemListBean);
@ -364,7 +375,7 @@ class _ShopGoods extends State<ShopGoods> {
} }
}, },
child: Container( child: Container(
padding: EdgeInsets.only(left: 6.w, right:9.w), padding: EdgeInsets.only(left: 6.w, right: 9.w),
child: Image.asset( child: Image.asset(
"assets/image/add.webp", "assets/image/add.webp",
width: 22, width: 22,
@ -401,7 +412,7 @@ class _ShopGoods extends State<ShopGoods> {
top: 4.h, top: 4.h,
bottom: 4.h, bottom: 4.h,
), ),
margin: EdgeInsets.only(right:8.w,top: 4), margin: EdgeInsets.only(right: 8.w, top: 4),
child: RoundButton( child: RoundButton(
text: S.of(context).lijiyuyue, text: S.of(context).lijiyuyue,
textColor: Colors.white, textColor: Colors.white,
@ -413,41 +424,110 @@ class _ShopGoods extends State<ShopGoods> {
vertical: 5.h, horizontal: 3.w), vertical: 5.h, horizontal: 3.w),
), ),
)), )),
if ((widget.productListBean.isSetMeal ?? false) == true)
GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () async {
if (widget.storeInfo.posType.code ==
"NORMALSTORE" &&
widget.tableId == 0) {
showDeleteDialog();
}
// else if ((widget?.productListBean?.oversold ??
// 0) ==
// 0 &&
// widget.count >=
// (widget?.shoppingCartSkuItemListBean
// ?.skuStock ??
// 0)) {
// SmartDialog.showToast("库存不足",
// alignment: Alignment.center);
// }
else {
await Navigator.of(context).pushNamed(
'/router/product_meals_sku',
arguments: {
"id": widget.productListBean.id,
"storeId": widget.productListBean.storeId,
"tableId": widget.tableId
});
widget.queryShoppingCart();
}
},
child: Stack(
children: [
Container(
padding: EdgeInsets.only(
left: 35.w,
top: 4.h,
bottom: 4.h,
),
margin: EdgeInsets.only(right: 8.w, top: 4.h),
child: RoundButton(
text: "选套餐",
textColor: Colors.white,
fontWeight: MyFontWeight.medium,
radius: 3,
backgroup: Color(0xFF32A060),
fontSize: 11.sp,
padding: EdgeInsets.symmetric(
vertical: 5.h, horizontal: 3.w),
),
),
Positioned(
right: 0,
child: Visibility(
visible: widget.count > 0,
child: RoundButton(
width: 17,
height: 17.h,
text: "${widget.count}",
textColor: Color(0xFF32A060),
fontWeight: MyFontWeight.regular,
backgroup: Colors.white,
fontSize: 12.sp,
radius: 100,
),
),
),
],
))
], ],
), ),
SizedBox( SizedBox(
height: 4.h, height: 4.h,
), ),
if (widget.productListBean.vipPrice != null) ///VIP价格
Row( // if (widget.productListBean.vipPrice != null)
children: [ // Row(
Container( // children: [
alignment: Alignment.center, // Container(
padding: EdgeInsets.symmetric(horizontal: 2.w), // alignment: Alignment.center,
margin: EdgeInsets.only(right: 4.w), // padding: EdgeInsets.symmetric(horizontal: 2.w),
decoration: new BoxDecoration( // margin: EdgeInsets.only(right: 4.w),
color: Color(0xff32A060), // decoration: new BoxDecoration(
borderRadius: BorderRadius.circular(4)), // color: Color(0xff32A060),
child: Text( // borderRadius: BorderRadius.circular(4)),
"VIP", // child: Text(
style: TextStyle( // "VIP",
fontSize: 12.sp, // style: TextStyle(
fontWeight: MyFontWeight.medium, // fontSize: 12.sp,
color: Color(0xFFFFFFFF), // fontWeight: MyFontWeight.medium,
), // color: Color(0xFFFFFFFF),
), // ),
), // ),
Text( // ),
"${AppUtils.calculateDouble(double.tryParse(widget.productListBean.vipPrice ?? "0") ?? 0)}", // Text(
style: TextStyle( // "${AppUtils.calculateDouble(double.tryParse(widget.productListBean.vipPrice ?? "0") ?? 0)}",
fontSize: 14.sp, // style: TextStyle(
fontWeight: MyFontWeight.medium, // fontSize: 14.sp,
fontFamily: 'JDZhengHT', // fontWeight: MyFontWeight.medium,
color: Color(0xff32A060), // fontFamily: 'JDZhengHT',
), // color: Color(0xff32A060),
), // ),
], // ),
), // ],
// ),
// Text( // Text(
// "${AppUtils.calculateDouble(double.tryParse(widget.isShopCart ? widget.shoppingCartSkuItemListBean.skuPrice : widget.productListBean.applyPrice) ?? 0)}", // "${AppUtils.calculateDouble(double.tryParse(widget.isShopCart ? widget.shoppingCartSkuItemListBean.skuPrice : widget.productListBean.applyPrice) ?? 0)}",
// style: TextStyle( // style: TextStyle(

551
lib/store/store_view/shop_goods_car.dart

@ -1,4 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:huixiang/generated/l10n.dart'; import 'package:huixiang/generated/l10n.dart';
import 'package:huixiang/retrofit/data/findMiNiGroupList.dart'; import 'package:huixiang/retrofit/data/findMiNiGroupList.dart';
import 'package:huixiang/retrofit/data/shoppingCart.dart'; import 'package:huixiang/retrofit/data/shoppingCart.dart';
@ -12,21 +13,21 @@ class ShopGoodsCar extends StatefulWidget {
final Function(String id, int count) queryMiNiDetail; final Function(String id, int count) queryMiNiDetail;
final Function(ShoppingCartSkuItemListBean shoppingCartSkuItemListBean) add; final Function(ShoppingCartSkuItemListBean shoppingCartSkuItemListBean) add;
final Function(ShoppingCartSkuItemListBean shoppingCartSkuItemListBean) final Function(ShoppingCartSkuItemListBean shoppingCartSkuItemListBean)
reduce; reduce;
final ProductListBean productListBean; final ProductListBean productListBean;
final ShoppingCartSkuItemListBean shoppingCartSkuItemListBean; final ShoppingCartSkuItemListBean shoppingCartSkuItemListBean;
final int count; final int count;
final bool isShopCart; final bool isShopCart;
ShopGoodsCar( ShopGoodsCar(
this.add, this.add,
this.reduce, { this.reduce, {
this.productListBean, this.productListBean,
this.count = 0, this.count = 0,
this.isShopCart = false, this.isShopCart = false,
this.queryMiNiDetail, this.queryMiNiDetail,
this.shoppingCartSkuItemListBean, this.shoppingCartSkuItemListBean,
}); });
@override @override
State<StatefulWidget> createState() { State<StatefulWidget> createState() {
@ -38,296 +39,310 @@ class _ShopGoodsCar extends State<ShopGoodsCar> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Container( return Container(
color: Colors.white, color: Colors.white,
padding: EdgeInsets.only( padding: EdgeInsets.only(
right: 16.w, right: 16.w,
// bottom: 20.h, // bottom: 20.h,
), ),
child:Column( child: Column(
children: [ children: [
Row( Row(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.max, mainAxisSize: MainAxisSize.max,
children: [ children: [
SizedBox(width: 12.w), SizedBox(width: 12.w),
MImage( MImage(
widget.productListBean != null widget.productListBean != null
? widget.productListBean.imgPath ? widget.productListBean.imgPath
: (widget.shoppingCartSkuItemListBean != null : (widget.shoppingCartSkuItemListBean != null
? widget.shoppingCartSkuItemListBean.skuImg ? widget.shoppingCartSkuItemListBean.skuImg
: ""), : ""),
width: 70.h, width: 70.h,
height: 70.h, height: 70.h,
radius: BorderRadius.circular(4), radius: BorderRadius.circular(4),
fit: BoxFit.cover, fit: BoxFit.cover,
errorSrc: "assets/image/default_1.webp", errorSrc: "assets/image/default_1.webp",
fadeSrc: "assets/image/default_1.webp", fadeSrc: "assets/image/default_1.webp",
), ),
SizedBox( SizedBox(
width: 10, width: 10,
), ),
Expanded( Expanded(
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Row( Row(
children: [ children: [
Expanded( Expanded(
child: Text( child: Text(
widget.productListBean != null widget.productListBean != null
? widget.productListBean.productName ? widget.productListBean.productName
: widget.shoppingCartSkuItemListBean.productName, : widget
overflow: TextOverflow.ellipsis, .shoppingCartSkuItemListBean.productName,
maxLines: 2, overflow: TextOverflow.ellipsis,
style: TextStyle( maxLines: 2,
color: Colors.black,
fontSize: 13.sp,
fontWeight: MyFontWeight.medium,
),
),
),
// Image.asset(
// "assets/image/green_leaf.webp",
// fit: BoxFit.cover,
// width: 12,
// height: 12,
// ),
// Text(
// "X300",
// style: TextStyle(
// color: Color(0xFF55BC51),
// fontSize: 10.sp,
// fontWeight: MyFontWeight.semi_bold,
// ),
// ),
],
),
SizedBox(
height: 2.h,
),
Row(
children: [
Expanded(
child: Text(
(widget.productListBean != null
? widget.productListBean.shortName
: ((widget.shoppingCartSkuItemListBean.skuName == "0") ? "": widget.shoppingCartSkuItemListBean.skuName ) ?? ""),
overflow: TextOverflow.ellipsis,
maxLines: 2,
style: TextStyle(
color: Color(0xFF4C4C4C),
fontSize: 10.sp,
fontWeight: MyFontWeight.regular,
),
),
),
SizedBox(
width: 10,
),
],
),
SizedBox(
height: 7.h,
),
Row(
children: [
Row(
children: [
Text(
"¥${AppUtils.calculateDouble(double.tryParse(widget.isShopCart ? widget.shoppingCartSkuItemListBean.skuPrice : widget.productListBean.price) ?? 0)}",
style: TextStyle( style: TextStyle(
color: Color(0xFFFF7A1A), color: Colors.black,
fontSize: 16.sp, fontSize: 13.sp,
fontFamily: 'JDZhengHT',
fontWeight: MyFontWeight.medium, fontWeight: MyFontWeight.medium,
), ),
), ),
SizedBox( ),
width: 2.w, // Image.asset(
// "assets/image/green_leaf.webp",
// fit: BoxFit.cover,
// width: 12,
// height: 12,
// ),
// Text(
// "X300",
// style: TextStyle(
// color: Color(0xFF55BC51),
// fontSize: 10.sp,
// fontWeight: MyFontWeight.semi_bold,
// ),
// ),
],
),
SizedBox(
height: 2.h,
),
Row(
children: [
Expanded(
child: Text(
(widget.productListBean != null
? widget.productListBean.shortName
: ((widget.shoppingCartSkuItemListBean
.skuName ==
"0")
? ""
: widget.shoppingCartSkuItemListBean
.skuName) ??
""),
overflow: TextOverflow.ellipsis,
maxLines: 2,
style: TextStyle(
color: Color(0xFF4C4C4C),
fontSize: 10.sp,
fontWeight: MyFontWeight.regular,
),
), ),
// Container( ),
// width: 44.w, SizedBox(
// height: 18.h, width: 10,
// decoration: BoxDecoration( ),
// color: Color(0xFFFF4500), ],
// borderRadius: BorderRadius.circular(2), ),
// ), SizedBox(
// alignment: Alignment.center, height: 7.h,
// child: Text( ),
// "APP专享", Row(
// style: TextStyle( children: [
// color: Color(0xFFFFFFFF), Row(
// fontSize: 10.sp,
// fontWeight: MyFontWeight.medium,
// ),
// ),
// ),
],
),
Spacer(),
if (!widget.isShopCart &&
(widget.productListBean?.attrStyle ?? 0) == 1)
Stack(
children: [ children: [
Container( Text(
margin: EdgeInsets.only(right: 8, top: 4), "¥${AppUtils.calculateDouble(double.tryParse(widget.isShopCart ? widget.shoppingCartSkuItemListBean.skuPrice : widget.productListBean.price) ?? 0)}",
child: RoundButton( style: TextStyle(
width: 49.w, color: Color(0xFFFF7A1A),
text: S.of(context).xuanguige, fontSize: 16.sp,
textColor: Colors.white, fontFamily: 'JDZhengHT',
fontWeight: MyFontWeight.medium, fontWeight: MyFontWeight.medium,
radius: 3,
backgroup: Color(0xFF32A060),
fontSize: 11.sp,
padding: EdgeInsets.symmetric(vertical: 5.h),
callback: () {
widget.queryMiNiDetail(
widget.productListBean != null
? widget.productListBean.id
: widget.shoppingCartSkuItemListBean
.productId,
0);
},
), ),
), ),
Positioned( SizedBox(
right: 0, width: 2.w,
child: Visibility( ),
visible: widget.count > 0, // Container(
// width: 44.w,
// height: 18.h,
// decoration: BoxDecoration(
// color: Color(0xFFFF4500),
// borderRadius: BorderRadius.circular(2),
// ),
// alignment: Alignment.center,
// child: Text(
// "APP专享",
// style: TextStyle(
// color: Color(0xFFFFFFFF),
// fontSize: 10.sp,
// fontWeight: MyFontWeight.medium,
// ),
// ),
// ),
],
),
Spacer(),
if (!widget.isShopCart &&
(widget.productListBean?.attrStyle ?? 0) == 1)
Stack(
children: [
Container(
margin: EdgeInsets.only(right: 8, top: 4),
child: RoundButton( child: RoundButton(
width: 17, width: 49.w,
height: 17.h, text: S.of(context).xuanguige,
text: "${widget.count}", textColor: Colors.white,
textColor: Color(0xFF32A060), fontWeight: MyFontWeight.medium,
fontWeight: MyFontWeight.regular, radius: 3,
backgroup: Colors.white, backgroup: Color(0xFF32A060),
fontSize: 12.sp, fontSize: 11.sp,
radius: 100, padding:
EdgeInsets.symmetric(vertical: 5.h),
callback: () {
widget.queryMiNiDetail(
widget.productListBean != null
? widget.productListBean.id
: widget
.shoppingCartSkuItemListBean
.productId,
0);
},
), ),
), ),
Positioned(
right: 0,
child: Visibility(
visible: widget.count > 0,
child: RoundButton(
width: 17,
height: 17.h,
text: "${widget.count}",
textColor: Color(0xFF32A060),
fontWeight: MyFontWeight.regular,
backgroup: Colors.white,
fontSize: 12.sp,
radius: 100,
),
),
),
],
),
if (widget.isShopCart ||
(widget.productListBean?.attrStyle ?? 0) == 0)
InkWell(
onTap: () {
widget
.reduce(widget.shoppingCartSkuItemListBean);
},
child: Image.asset(
"assets/image/reduce.webp",
width: 22,
height: 22.h,
), ),
],
),
if (widget.isShopCart ||
(widget.productListBean?.attrStyle ?? 0) == 0)
InkWell(
onTap: () {
widget.reduce(widget.shoppingCartSkuItemListBean);
},
child: Image.asset(
"assets/image/reduce.webp",
width: 22,
height: 22.h,
), ),
), if (widget.isShopCart ||
if (widget.isShopCart || (widget.productListBean?.attrStyle ?? 0) == 0)
(widget.productListBean?.attrStyle ?? 0) == 0) Container(
Container( width: 30,
width: 30, alignment: Alignment.center,
alignment: Alignment.center, child: Text(
child: Text( "${widget.count}",
"${widget.count}", style: TextStyle(
style: TextStyle( color: Colors.black,
color: Colors.black, fontSize: 14.sp,
fontSize: 14.sp, fontWeight: MyFontWeight.medium,
fontWeight: MyFontWeight.medium, ),
), ),
), ),
), if (widget.isShopCart ||
if (widget.isShopCart || (widget.productListBean?.attrStyle ?? 0) == 0)
(widget.productListBean?.attrStyle ?? 0) == 0) GestureDetector(
GestureDetector( onTap: () {
onTap: () { widget.add(widget.shoppingCartSkuItemListBean);
widget.add(widget.shoppingCartSkuItemListBean); },
}, child: Image.asset(
child: Image.asset( "assets/image/add.webp",
"assets/image/add.webp", width: 22,
width: 22, height: 22.h,
height: 22.h, ),
), ),
), ],
], ),
), SizedBox(
SizedBox( height: 4.h,
height: 4.h, ),
), Text(
Text( "${AppUtils.calculateDouble(double.tryParse(widget.isShopCart ? widget.shoppingCartSkuItemListBean.skuPrice : widget.productListBean.applyPrice) ?? 0)}",
"${AppUtils.calculateDouble(double.tryParse(widget.isShopCart ? widget.shoppingCartSkuItemListBean.skuPrice : widget.productListBean.applyPrice) ?? 0)}", style: TextStyle(
style: TextStyle( color: Color(0xFFA29E9E),
color: Color(0xFFA29E9E), fontSize: 12.sp,
fontSize: 12.sp, fontFamily: 'JDZhengHT',
fontFamily: 'JDZhengHT', decoration: TextDecoration.lineThrough,
decoration: TextDecoration.lineThrough, fontWeight: MyFontWeight.regular,
fontWeight: MyFontWeight.regular, ),
), ),
), ],
], ),
), ),
), ],
],
),
if(widget.shoppingCartSkuItemListBean.setMealDataList.length != 0)
ListView.builder(
itemCount: widget.shoppingCartSkuItemListBean.setMealDataList.length,
scrollDirection: Axis.vertical,
physics: BouncingScrollPhysics(),
shrinkWrap: true,
padding: EdgeInsets.zero,
itemBuilder: (context, index) {
return shopCarMealsItem(widget.shoppingCartSkuItemListBean.setMealDataList[index]);
},
), ),
SizedBox(height:15.h,) if (widget.shoppingCartSkuItemListBean.setMealDataList.length != 0)
], ListView.builder(
) itemCount:
); widget.shoppingCartSkuItemListBean.setMealDataList.length,
scrollDirection: Axis.vertical,
physics: BouncingScrollPhysics(),
shrinkWrap: true,
padding: EdgeInsets.zero,
itemBuilder: (context, index) {
return shopCarMealsItem(widget
.shoppingCartSkuItemListBean.setMealDataList[index]);
},
),
SizedBox(
height: 15.h,
)
],
));
} }
Widget shopCarMealsItem(SetMealDataList setMealDataList) { Widget shopCarMealsItem(SetMealDataList setMealDataList) {
return Container( return Column(children: setMealDataList.productInfoList.map((e) {
margin: EdgeInsets.symmetric(vertical:10.h,horizontal: 16.w), return Container(
child: Row( margin: EdgeInsets.symmetric(vertical: 10.h, horizontal: 16.w),
children: [ child: Row(
Expanded( children: [
flex:2, Expanded(
child: Text( flex: 2,
setMealDataList.productInfoList[0].productName, child: Text(
overflow: TextOverflow.ellipsis, e.productName,
maxLines: 1, overflow: TextOverflow.ellipsis,
style: TextStyle( maxLines: 1,
color: Color(0xffA29E9E), style: TextStyle(
fontSize: 14.sp, color: Color(0xffA29E9E),
fontWeight: MyFontWeight.regular, fontSize: 14.sp,
fontWeight: MyFontWeight.regular,
),
), ),
), ),
), Expanded(
Expanded(flex:3, flex: 3,
child: Text( child: Text(
"${(setMealDataList.productInfoList[0].skuName == "") ? "默认": setMealDataList.productInfoList[0].skuName}", "${(e.skuName == "") ? "默认" : e.skuName}",
overflow: TextOverflow.ellipsis,
maxLines: 1,
style: TextStyle(
color: Color(0xffA29E9E),
fontSize: 13.sp,
fontWeight: MyFontWeight.regular,
),
),
),
Text(
"x${e.buyNumber.toString()}",
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
maxLines: 1, maxLines: 1,
style: TextStyle( style: TextStyle(
color: Color(0xffA29E9E), color: Color(0xffFF7A1A),
fontSize: 13.sp, fontSize: 13.sp,
fontWeight: MyFontWeight.regular, fontWeight: MyFontWeight.regular,
), ),
), ),
), ],
Text( ),
setMealDataList.productInfoList[0].buyNumber.toString(), );
overflow: TextOverflow.ellipsis, }).toList(),);
maxLines: 1,
style: TextStyle(
color: Color(0xffFF7A1A),
fontSize: 13.sp,
fontWeight: MyFontWeight.regular,
),
),
],
),
);
} }
} }

1
lib/store/store_view/store_order_list.dart

@ -189,6 +189,7 @@ class _StoreOrderListPage extends State<StoreOrderListPage> {
.pushNamed('/router/shop_details_page', arguments: { .pushNamed('/router/shop_details_page', arguments: {
"id": e.id, "id": e.id,
"storeId": e.storeId, "storeId": e.storeId,
"isSetMeal":e.isSetMeal
}); });
widget.queryShoppingCart(); widget.queryShoppingCart();
} }

19
lib/utils/flutter_utils.dart

@ -28,6 +28,25 @@ class AppUtils {
return double.tryParse(valueStr.substring(0, valueStr.indexOf(".") + 3))??0; return double.tryParse(valueStr.substring(0, valueStr.indexOf(".") + 3))??0;
} }
///使16
static Color getLighterColor(String hexColor) {
// 16Color对象
Color color = Color(int.parse(hexColor.replaceAll("#", "FF"), radix: 16));
// RGB值
int red = color.red + 95;
int green = color.green + 95;
int blue = color.blue + 95;
// RGB值不超过255
red = red > 255 ? 255 : red;
green = green > 255 ? 255 : green;
blue = blue > 255 ? 255 : blue;
//
return Color.fromARGB(255, red, green, blue);
}
/// ///
static bool versionCompare(String localVersion, String serverVersion) { static bool versionCompare(String localVersion, String serverVersion) {
try { try {

67
lib/utils/upload_async.dart

@ -5,6 +5,7 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:image_pickers/image_pickers.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
import 'package:thumbnails/thumbnails.dart'; import 'package:thumbnails/thumbnails.dart';
@ -12,23 +13,65 @@ import '../community/release_dynamic.dart';
import '../retrofit/data/base_data.dart'; import '../retrofit/data/base_data.dart';
import '../retrofit/data/upload_result.dart'; import '../retrofit/data/upload_result.dart';
import '../retrofit/retrofit_api.dart'; import '../retrofit/retrofit_api.dart';
import '../view_widget/custom_image.dart';
import 'font_weight.dart';
class UploadAsync { class UploadAsync {
static void upload(int dynamicType, List<Medias> mediaPaths, static void upload(int dynamicType, List<Medias> mediaPaths,
String addressText, String dynamicText) async { String addressText, String dynamicText) async {
SmartDialog.show( SmartDialog.show(
widget: Container( widget: Container(
alignment: Alignment.centerRight, alignment: Alignment.centerRight,
margin: EdgeInsets.only( margin: EdgeInsets.only(
right: 10.w, right: 10.w,
),
child: CircularProgressIndicator(
strokeWidth: 4.0,
backgroundColor: Colors.green,
// value: 0.4,
valueColor: new AlwaysStoppedAnimation<Color>(Colors.grey),
),
), ),
child: Stack(
alignment: Alignment.center,
children: [
Container(
width: 50.h,
height: 70.h,
decoration: BoxDecoration(
color: Colors.grey, borderRadius: BorderRadius.circular(2)),
child: dynamicType == 0
? Expanded(child: Column(
children: [
Text(
dynamicText,
maxLines: 5,
overflow: TextOverflow.ellipsis,
style: TextStyle(
fontWeight: MyFontWeight.semi_bold,
fontSize: dynamicText.length > 10 ? (dynamicText.length > 20?8.sp:10.sp):15.sp,
color: Color(0xFFCDCCCC),
),
),
Expanded(child:
Container(
height: 20.h,
))
]))
: ClipRRect(
borderRadius: BorderRadius.circular(2),
child: Image.file(
File(mediaPaths[0].galleryMode == GalleryMode.video
? mediaPaths[0].thumbPath
: mediaPaths[0].path),
fit: BoxFit.cover,
width: double.infinity,
height: double.infinity,
),
),
),
CircularProgressIndicator(
strokeWidth: 3.0,
backgroundColor: Colors.white,
// value: 0.4,
valueColor: new AlwaysStoppedAnimation<Color>(Colors.grey),
),
],
),
),
maskWidgetTemp: SizedBox(), maskWidgetTemp: SizedBox(),
); );
var sp = await SharedPreferences.getInstance(); var sp = await SharedPreferences.getInstance();
@ -162,7 +205,7 @@ class UploadInstance {
return _instance; return _instance;
} }
void notifyAllObservers(){ void notifyAllObservers() {
_uploadObserverList.forEach((element) { _uploadObserverList.forEach((element) {
element.onUploadFinish(); element.onUploadFinish();
}); });

471
lib/view_widget/mine_vip_entry.dart

@ -31,7 +31,7 @@ class MineVipEntry extends StatelessWidget {
this.createTime = ""}); this.createTime = ""});
String topLeft = ""; String topLeft = "";
String levelText = "用户"; String levelText = "用户";
Color logoColor = Color(0xFFCACACA); Color logoColor = Color(0xFFCACACA);
Color levelTextColor = Color(0xFFCACACA); Color levelTextColor = Color(0xFFCACACA);
Color levelTextBackdrop = Color(0xFFFFF8EC); Color levelTextBackdrop = Color(0xFFFFF8EC);
@ -39,206 +39,315 @@ class MineVipEntry extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (userInfo != null && if (userInfo != null &&
userInfo.memberRankVo != null && userInfo.memberRankVo != null &&
ranks != null && ranks != null &&
ranks.length > 0) { ranks.length > 0) {
curLevel = (ranks.indexWhere((element) => element.id == userInfo.memberRankVo.id) + 1); curLevel = (ranks
vipLevel = curLevel; .indexWhere((element) => element.id == userInfo.memberRankVo.id) +
} 1);
vipLevel = curLevel;
}
if (curLevel == vipLevel) { if (curLevel == vipLevel) {
topLeft = S.of(context).dangqiandengji; topLeft = S.of(context).dangqiandengji;
} else if (vipLevel < curLevel) { } else if (vipLevel < curLevel) {
topLeft = S.of(context).shangyidengji; topLeft = S.of(context).shangyidengji;
} else { } else {
topLeft = S.of(context).zanweikaitong; topLeft = S.of(context).zanweikaitong;
} }
switch (vipLevel) { switch (vipLevel) {
case 1: case 2:
{ {
levelText = "${S.of(context).yinkahuiyuan}"; levelText = ranks[1].rankName;
logoColor = Color(0xFFA0C4E7); logoColor = Color(int.parse(
levelTextColor = Color(0xFF61ABF3); (ranks[1].textColor ?? "").replaceAll("#", "FF"),
levelTextBackdrop = Color(0xFFC1DBF4); radix: 16));
levelTextColor = Color(int.parse(
(ranks[1].textColor ?? "").replaceAll("#", "FF"),
radix: 16));
levelTextBackdrop = Color(int.parse(
(ranks[1].color ?? "").replaceAll("#", "FF"),
radix: 16));
break; break;
} }
case 2: case 3:
{ {
levelText = "${S.of(context).jinkahuiyuan}"; levelText = ranks[2].rankName;
logoColor = Color(0xFFFBB43A); logoColor = Color(int.parse(
levelTextColor = Color(0xFFFBB43A); (ranks[2].textColor ?? "").replaceAll("#", "FF"),
levelTextBackdrop = Color(0xFFFFECD2); radix: 16));
levelTextColor = Color(int.parse(
(ranks[2].textColor ?? "").replaceAll("#", "FF"),
radix: 16));
levelTextBackdrop = Color(int.parse(
(ranks[2].color ?? "").replaceAll("#", "FF"),
radix: 16));
break; break;
} }
case 3: case 4:
{
levelText = ranks[3].rankName;
logoColor = Color(int.parse(
(ranks[3].textColor ?? "").replaceAll("#", "FF"),
radix: 16));
levelTextColor = Color(int.parse(
(ranks[3].textColor ?? "").replaceAll("#", "FF"),
radix: 16));
levelTextBackdrop = Color(int.parse(
(ranks[3].color ?? "").replaceAll("#", "FF"),
radix: 16));
break;
}
case 5:
{ {
levelText = "${S.of(context).gongchuanghuiyuan}"; levelText = ranks[4].rankName;
logoColor = Color(0xFF352822); logoColor = Color(int.parse(
levelTextColor = Color(0xFF92755D); (ranks[4].textColor ?? "").replaceAll("#", "FF"),
levelTextBackdrop = Color(0xFFFFECD2); radix: 16));
levelTextColor = Color(int.parse(
(ranks[4].textColor ?? "").replaceAll("#", "FF"),
radix: 16));
levelTextBackdrop = Color(int.parse(
(ranks[4].color ?? "").replaceAll("#", "FF"),
radix: 16));
break; break;
} }
} }
Widget widget = Container( Widget widget = userInfo.memberRankVo.rankName != null
height:20.h, ? Container(
width: double.infinity, height: 20.h,
child: Row( width: double.infinity,
children: [ child: Row(
Container( children: [
height: double.infinity, Container(
padding: EdgeInsets.symmetric(horizontal:3.w,vertical:4.h), height: double.infinity,
decoration: BoxDecoration( padding: EdgeInsets.symmetric(horizontal: 3.w, vertical: 4.h),
color: logoColor, decoration: BoxDecoration(
borderRadius: BorderRadius.only( color: logoColor,
topLeft: Radius.circular(4), borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(4),), topLeft: Radius.circular(4),
boxShadow: [ bottomLeft: Radius.circular(4),
BoxShadow( ),
color: Color(0x08213303).withAlpha(12), boxShadow: [
offset: Offset(0, 2), BoxShadow(
blurRadius: 4, color: Color(0x08213303).withAlpha(12),
spreadRadius: 0, offset: Offset(0, 2),
), blurRadius: 4,
], spreadRadius: 0,
), ),
child: Image.asset( ],
"assets/image/mine_vip_logo.webp", ),
fit: BoxFit.cover, child: Image.asset(
// width: 13.w, "assets/image/mine_vip_logo.webp",
// height: 11.h, fit: BoxFit.cover,
), // width: 13.w,
), // height: 11.h,
Container( ),
height: double.infinity,
padding: EdgeInsets.symmetric(horizontal:3.w,vertical:3.h),
decoration: BoxDecoration(
color: levelTextBackdrop,
borderRadius: BorderRadius.only(
topRight: Radius.circular(4),
bottomRight: Radius.circular(4),),
boxShadow: [
BoxShadow(
color: Color(0x08213303).withAlpha(12),
offset: Offset(0, 2),
blurRadius: 4,
spreadRadius: 0,
), ),
Container(
height: double.infinity,
padding: EdgeInsets.symmetric(horizontal: 3.w, vertical: 3.h),
decoration: BoxDecoration(
color: levelTextBackdrop,
borderRadius: BorderRadius.only(
topRight: Radius.circular(4),
bottomRight: Radius.circular(4),
),
boxShadow: [
BoxShadow(
color: Color(0x08213303).withAlpha(12),
offset: Offset(0, 2),
blurRadius: 4,
spreadRadius: 0,
),
],
),
child: Row(
children: [
Text(
levelText,
textAlign: TextAlign.center,
style: TextStyle(
color: levelTextColor,
fontSize: 10.sp,
fontWeight: MyFontWeight.regular,
),
),
Image.asset(
"assets/image/icon_right.webp",
fit: BoxFit.cover,
width: 8,
height: 8,
color: levelTextColor,
),
],
),
)
], ],
), ),
child:Row( )
: Container(
height: 20.h,
width: double.infinity,
child: Row(
children: [ children: [
Text( Container(
levelText, height: double.infinity,
textAlign: TextAlign.center, padding: EdgeInsets.symmetric(horizontal: 3.w, vertical: 4.h),
style: TextStyle( decoration: BoxDecoration(
color: levelTextColor, color: Color(0xFFCACACA),
fontSize: 10.sp, borderRadius: BorderRadius.only(
fontWeight: MyFontWeight.regular, topLeft: Radius.circular(4),
bottomLeft: Radius.circular(4),
),
boxShadow: [
BoxShadow(
color: Color(0x08213303).withAlpha(12),
offset: Offset(0, 2),
blurRadius: 4,
spreadRadius: 0,
),
],
),
child: Image.asset(
"assets/image/mine_vip_logo.webp",
fit: BoxFit.cover,
// width: 13.w,
// height: 11.h,
), ),
), ),
Image.asset( Container(
"assets/image/icon_right.webp", height: double.infinity,
fit: BoxFit.cover, padding: EdgeInsets.symmetric(horizontal: 3.w, vertical: 3.h),
width: 8, decoration: BoxDecoration(
height: 8, color: Color(0xFFFFF8EC),
color: levelTextColor, borderRadius: BorderRadius.only(
), topRight: Radius.circular(4),
bottomRight: Radius.circular(4),
),
boxShadow: [
BoxShadow(
color: Color(0x08213303).withAlpha(12),
offset: Offset(0, 2),
blurRadius: 4,
spreadRadius: 0,
),
],
),
child: Row(
children: [
Text(
"开通会员",
textAlign: TextAlign.center,
style: TextStyle(
color: Color(0xFFCACACA),
fontSize: 10.sp,
fontWeight: MyFontWeight.regular,
),
),
Image.asset(
"assets/image/icon_right.webp",
fit: BoxFit.cover,
width: 8,
height: 8,
color: Color(0xFFCACACA),
),
],
),
)
], ],
), ),
) );
], // Container(
), // width: double.infinity,
); // padding: EdgeInsets.only(top: 12.h, bottom: 22.h, left: 12.w, right: 12.w),
// Container( // margin: EdgeInsets.only(top: 23.h,left: 13.5.w,right: 13.5.w,bottom:15.h),
// width: double.infinity, // decoration: BoxDecoration(
// padding: EdgeInsets.only(top: 12.h, bottom: 22.h, left: 12.w, right: 12.w), // color: Color(0xFF3D3D5D),
// margin: EdgeInsets.only(top: 23.h,left: 13.5.w,right: 13.5.w,bottom:15.h), // borderRadius: BorderRadius.circular(6),
// decoration: BoxDecoration( // boxShadow: [
// color: Color(0xFF3D3D5D), // BoxShadow(
// borderRadius: BorderRadius.circular(6), // color: Colors.black.withAlpha(12),
// boxShadow: [ // offset: Offset(0, 3),
// BoxShadow( // blurRadius: 14,
// color: Colors.black.withAlpha(12), // spreadRadius: 0,
// offset: Offset(0, 3), // )
// blurRadius: 14, // ],
// spreadRadius: 0, // ),
// ) // child: Column(
// ], // mainAxisAlignment: MainAxisAlignment.start,
// ), // crossAxisAlignment: CrossAxisAlignment.start,
// child: Column( // children: [
// mainAxisAlignment: MainAxisAlignment.start, // Row(
// crossAxisAlignment: CrossAxisAlignment.start, // children: [
// children: [ // Image.asset(
// Row( // "assets/image/vip_logo.webp",
// children: [ // width: 24,
// Image.asset( // height: 24,
// "assets/image/vip_logo.webp", // ),
// width: 24, // SizedBox(
// height: 24, // width: 5.w,
// ), // ),
// SizedBox( // Expanded(
// width: 5.w, // child: Text(
// ), // levelText,
// Expanded( // style: TextStyle(
// child: Text( // fontSize: 16.sp,
// levelText, // fontWeight: MyFontWeight.semi_bold,
// style: TextStyle( // color: Color(0xFFFFEAD2)),
// fontSize: 16.sp, // )),
// fontWeight: MyFontWeight.semi_bold, // Container(
// color: Color(0xFFFFEAD2)), // padding: EdgeInsets.fromLTRB(9.w, 4.h, 8.w, 4.h),
// )), // decoration: BoxDecoration(
// Container( // color: Color(0xFFFFECD2),
// padding: EdgeInsets.fromLTRB(9.w, 4.h, 8.w, 4.h), // borderRadius: BorderRadius.circular(10),
// decoration: BoxDecoration( // ),
// color: Color(0xFFFFECD2), // child: Text(
// borderRadius: BorderRadius.circular(10), // S.of(context).chakanquanyi,
// ), // style: TextStyle(
// child: Text( // fontSize: 12.sp,
// S.of(context).chakanquanyi, // fontWeight: MyFontWeight.semi_bold,
// style: TextStyle( // color: Color(0xFF92755D),
// fontSize: 12.sp, // ),
// fontWeight: MyFontWeight.semi_bold, // ),
// color: Color(0xFF92755D), // )
// ), // ],
// ), // ),
// ) // SizedBox(
// ], // height: 16.h,
// ), // ),
// SizedBox( // Container(
// height: 16.h, // height: 4.h,
// ), // child: ClipRRect(
// Container( // borderRadius: BorderRadius.circular(6.5),
// height: 4.h, // child: LinearProgressIndicator(
// child: ClipRRect( // value: rankMax > (rank ?? 0)
// borderRadius: BorderRadius.circular(6.5), // ? ((vipLevel < curLevel)
// child: LinearProgressIndicator( // ? rankMax / rankMax
// value: rankMax > (rank ?? 0) // : (rank ?? 0) / rankMax)
// ? ((vipLevel < curLevel) // : 0,
// ? rankMax / rankMax // backgroundColor: Color(0xFF222233),
// : (rank ?? 0) / rankMax) // color: Color(0xFFFFECD2),
// : 0, // ),
// backgroundColor: Color(0xFF222233), // ),
// color: Color(0xFFFFECD2), // ),
// ), // SizedBox(
// ), // height: 8.h,
// ), // ),
// SizedBox( // Text(
// height: 8.h, // rank > rankMax
// ), // ? S.of(context).dangqiandengji
// Text( // : "消费金额¥${rank.toStringAsFixed(2).toString()}${S.of(context).xiayidengji}还需¥${(rankMax - (rank ?? 0)).toStringAsFixed(2)}",
// rank > rankMax // style: TextStyle(
// ? S.of(context).dangqiandengji // color: Color(0xFFFFEAD2),
// : "消费金额¥${rank.toStringAsFixed(2).toString()}${S.of(context).xiayidengji}还需¥${(rankMax - (rank ?? 0)).toStringAsFixed(2)}", // fontWeight: MyFontWeight.light,
// style: TextStyle( // fontFamily: 'JDZhengHT',
// color: Color(0xFFFFEAD2), // fontSize: 14.sp,
// fontWeight: MyFontWeight.light, // ),
// fontFamily: 'JDZhengHT', // )
// fontSize: 14.sp, // ],
// ), // ));
// )
// ],
// ));
return GestureDetector( return GestureDetector(
onTap: () { onTap: () {
@ -258,7 +367,7 @@ class MineVipEntry extends StatelessWidget {
Navigator.of(context) Navigator.of(context)
.pushNamed('/router/mine_vip_core', arguments: { .pushNamed('/router/mine_vip_core', arguments: {
"rankLevel": curLevel, "rankLevel": curLevel,
"userInfo": userInfo.masterCardRankName, "userInfo": userInfo,
"createTime": (userInfo != null) ? "${userInfo.createTime}" : "", "createTime": (userInfo != null) ? "${userInfo.createTime}" : "",
"expendAmount": "expendAmount":
double.tryParse(userInfo?.expendAmount ?? "0").toInt(), double.tryParse(userInfo?.expendAmount ?? "0").toInt(),

133
lib/vip/vip_page.dart

@ -11,9 +11,12 @@ import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
import '../generated/l10n.dart';
import '../retrofit/data/base_data.dart'; import '../retrofit/data/base_data.dart';
import '../retrofit/data/user_info.dart';
import '../retrofit/retrofit_api.dart'; import '../retrofit/retrofit_api.dart';
import '../utils/flutter_utils.dart'; import '../utils/flutter_utils.dart';
import '../utils/font_weight.dart';
import '../view_widget/my_appbar.dart'; import '../view_widget/my_appbar.dart';
@ -30,6 +33,7 @@ class _VipPageState extends State<VipPage> with AutomaticKeepAliveClientMixin {
final RefreshController _refreshController = RefreshController(); final RefreshController _refreshController = RefreshController();
ApiService apiService; ApiService apiService;
VipCardHome vipHome; VipCardHome vipHome;
UserInfo userInfo;
@override @override
@ -41,9 +45,41 @@ class _VipPageState extends State<VipPage> with AutomaticKeepAliveClientMixin {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
queryVipHome(); // queryVipHome();
queryUserBalance();
}
///
queryUserBalance() async {
try{
if (apiService == null) {
SharedPreferences value = await SharedPreferences.getInstance();
apiService = ApiService(
Dio(),
context: context,
token: value.getString("token"),
showLoading: true
);
}
BaseData<UserInfo> baseData =
await apiService.queryInfo().catchError((onError) {
_refreshController.refreshFailed();
_refreshController.loadFailed();});
if (baseData != null && baseData.isSuccess) {
userInfo = baseData.data;
if (mounted) setState(() {});
_refreshController.refreshCompleted();
_refreshController.loadComplete();
}else {
SmartDialog.showToast(baseData.msg, alignment: Alignment.center);
_refreshController.refreshFailed();
_refreshController.loadFailed();
}
}finally{
setState((){});
}
} }
///Vip季卡
queryVipHome() async { queryVipHome() async {
try{ try{
if (apiService == null) { if (apiService == null) {
@ -68,6 +104,8 @@ class _VipPageState extends State<VipPage> with AutomaticKeepAliveClientMixin {
_refreshController.loadComplete(); _refreshController.loadComplete();
}else{ }else{
SmartDialog.showToast(baseData.msg ?? "", alignment: Alignment.center); SmartDialog.showToast(baseData.msg ?? "", alignment: Alignment.center);
_refreshController.loadFailed();
_refreshController.refreshFailed();
} }
}finally{ }finally{
setState((){}); setState((){});
@ -88,7 +126,7 @@ class _VipPageState extends State<VipPage> with AutomaticKeepAliveClientMixin {
header: MyHeader(), header: MyHeader(),
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
onRefresh: () { onRefresh: () {
queryVipHome(); queryUserBalance();
}, },
child: SingleChildScrollView( child: SingleChildScrollView(
child: Container( child: Container(
@ -96,14 +134,16 @@ class _VipPageState extends State<VipPage> with AutomaticKeepAliveClientMixin {
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
VipTop(vipHome,(){ VipTop(vipHome,
queryVipHome(); // (){queryVipHome();}
}), ),
// if(vipHome !=null)
// VipGoodsDiscount(vipHome),
if(vipHome !=null) ExclusiveCoupon(userInfo),
VipGoodsDiscount(vipHome),
ExclusiveCoupon(), vipRule(),
SizedBox(height: 24.h,) SizedBox(height: 24.h,)
], ],
@ -115,6 +155,83 @@ class _VipPageState extends State<VipPage> with AutomaticKeepAliveClientMixin {
); );
} }
///
Widget vipRule(){
return Container(
margin: EdgeInsets.only(left: 14.w, right: 14.w, bottom:40.h,top:8.h),
width: double.infinity,
padding: EdgeInsets.only(top:14.h, left:20.h, bottom:8.h, right:20.w),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(6.w),
color: Colors.white,
boxShadow: [
BoxShadow(
color: Colors.black.withAlpha(12),
offset: Offset(0, 3),
blurRadius: 14,
spreadRadius: 0,
)
],
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
Image.asset(
"assets/image/vip_title.webp",
fit: BoxFit.fill, //
height: 13.h,
width: 27.w,
),
SizedBox(
width: 4.w,
),
Text(
"会员卡说明",
style: TextStyle(
color: Colors.black,
fontSize: 15.sp,
fontWeight: MyFontWeight.semi_bold,
),
),
],
),
SizedBox(height: 12.h,),
Padding(padding:EdgeInsets.symmetric(vertical: 12.h),
child:Text(
"1.仅限使用储值金额消费时享受VIP权益(使用优惠券及其他支付方式均不享受VIP权益);",
style: TextStyle(
color: Color(0xFF6A6A6A),
fontSize: 13.sp,
height: 1.5.h,
fontWeight: MyFontWeight.regular,
),
)),
Padding(padding:EdgeInsets.symmetric(vertical:6.h),
child:Text(
"2.储值余额不足时不享受VIP权益;",
style: TextStyle(
color: Color(0xFF6A6A6A),
fontSize: 13.sp,
height: 1.5.h,
fontWeight: MyFontWeight.regular,
),
)),
Padding(padding:EdgeInsets.symmetric(vertical: 12.h),
child:Text(
"3.2023年6月1日前储值余额不享受VIP价格;",
style: TextStyle(
color: Color(0xFF6A6A6A),
fontSize: 13.sp,
height: 1.5.h,
fontWeight: MyFontWeight.regular,
),
)),
],
),);
}
@override @override
bool get wantKeepAlive => true; bool get wantKeepAlive => true;
} }

600
lib/vip/vip_view/exclusive_coupon.dart

@ -4,9 +4,13 @@ import 'package:huixiang/utils/font_weight.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import '../../generated/l10n.dart'; import '../../generated/l10n.dart';
import '../../retrofit/data/user_info.dart';
import '../../view_widget/my_appbar.dart'; import '../../view_widget/my_appbar.dart';
class ExclusiveCoupon extends StatefulWidget { class ExclusiveCoupon extends StatefulWidget {
final UserInfo userInfo;
ExclusiveCoupon(this.userInfo);
@override @override
State<StatefulWidget> createState() { State<StatefulWidget> createState() {
return _ExclusiveCoupon(); return _ExclusiveCoupon();
@ -16,291 +20,351 @@ class ExclusiveCoupon extends StatefulWidget {
class _ExclusiveCoupon extends State<ExclusiveCoupon> { class _ExclusiveCoupon extends State<ExclusiveCoupon> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Container( return Column(
margin: EdgeInsets.only(left: 14.w, right: 14.w, bottom: 40.h), children: [
width: double.infinity, (widget?.userInfo?.isVip ?? false)
padding: ? Row(
EdgeInsets.only(top: 20.h, left: 20.h, bottom: 10.h, right: 20.w), mainAxisAlignment: MainAxisAlignment.center,
decoration: BoxDecoration( crossAxisAlignment: CrossAxisAlignment.center,
borderRadius: BorderRadius.circular(6.w), children: [
color: Colors.white, Image.asset(
boxShadow: [ "assets/image/vip_discount_left.webp",
BoxShadow( width: 21.w,
color: Colors.black.withAlpha(12), height: 39.h,
offset: Offset(0, 3), fit: BoxFit.fill,
blurRadius: 14, ),
spreadRadius: 0, SizedBox(
) width: 11.w,
], ),
), Text(
child: Column( S.of(context).huixiangvipkazhuanxiang,
mainAxisAlignment: MainAxisAlignment.start, style: TextStyle(
crossAxisAlignment: CrossAxisAlignment.start, color: Color(0xff32A060),
children: [ fontSize: 15.sp,
Row( fontWeight: MyFontWeight.semi_bold,
children: [
SizedBox(
width: 7.w,
),
Image.asset(
"assets/image/vip_title.webp",
fit: BoxFit.fill, //
height: 13.h,
width: 27.w,
),
SizedBox(
width: 4.w,
), ),
Text( ),
S.of(context).zhuanxiangyouhuiquan, SizedBox(
style: TextStyle( width: 11.w,
color: Colors.black, ),
fontSize: 15.sp, Image.asset(
fontWeight: MyFontWeight.semi_bold, "assets/image/vip_discount_right.webp",
), width: 21.w,
height: 39.h,
fit: BoxFit.fill,
),
],
)
: Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Image.asset(
"assets/image/vip_lock.webp",
width: 20,
height: 20,
fit: BoxFit.cover,
),
SizedBox(
width: 2.w,
),
Text(
"解锁回乡VIP卡获取更多权益",
style: TextStyle(
color: Colors.black,
fontSize: 15.sp,
fontWeight: MyFontWeight.semi_bold,
), ),
GestureDetector( ),
behavior: HitTestBehavior.translucent, ],
onTap: () { ),
showAlertDialog(); Container(
}, margin: EdgeInsets.only(left: 14.w, right: 14.w, bottom:16.h,top: 17.h),
child: Container( width: double.infinity,
padding: EdgeInsets.only( padding:
left: 8.w, right: 30.w, top: 3.h, bottom: 3.h), EdgeInsets.only(top: 20.h, left: 20.h, bottom: 10.h, right: 20.w),
child: Image.asset( decoration: BoxDecoration(
"assets/image/vip_tips.webp", borderRadius: BorderRadius.circular(6.w),
color: Colors.white,
boxShadow: [
BoxShadow(
color: Colors.black.withAlpha(12),
offset: Offset(0, 3),
blurRadius: 14,
spreadRadius: 0,
)
],
),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
SizedBox(
width: 7.w,
),
Image.asset(
"assets/image/vip_title.webp",
fit: BoxFit.fill, // fit: BoxFit.fill, //
height: 14, height: 13.h,
width: 14, width: 27.w,
), ),
), SizedBox(
width: 4.w,
),
Text(
"会员卡专享",
style: TextStyle(
color: Colors.black,
fontSize: 15.sp,
fontWeight: MyFontWeight.semi_bold,
),
),
// GestureDetector(
// behavior: HitTestBehavior.translucent,
// onTap: () {
// showAlertDialog();
// },
// child: Container(
// padding: EdgeInsets.only(
// left: 8.w, right: 30.w, top: 3.h, bottom: 3.h),
// child: Image.asset(
// "assets/image/vip_tips.webp",
// fit: BoxFit.fill, //
// height: 14,
// width: 14,
// ),
// ),
// ),
],
), ),
], SizedBox(
), height: 10.h,
SizedBox( ),
height: 10.h, Container(
), height: 124.h,
Container( margin: EdgeInsets.only(bottom: 16.h),
height: 124.h, child: Stack(
margin: EdgeInsets.only(bottom: 16.h), children: [
child: Stack( Image.asset(
children: [ "assets/image/vip_shop_bj.webp",
Image.asset( fit: BoxFit.fill, //
"assets/image/vip_shop_bj.webp", height: double.infinity,
fit: BoxFit.fill, // width: double.infinity,
height: double.infinity, ),
width: double.infinity, Container(
), child: Row(
Container( mainAxisAlignment: MainAxisAlignment.start,
child: Row( crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.start, children: [
crossAxisAlignment: CrossAxisAlignment.center, Expanded(
children: [ child: Padding(
Expanded( padding: EdgeInsets.only(top: 25.h, left: 19.w),
child: Padding( child: Column(
padding: EdgeInsets.only(top: 25.h, left: 19.w), mainAxisAlignment: MainAxisAlignment.start,
child: Column( crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start, children: [
crossAxisAlignment: CrossAxisAlignment.start, Text(
children: [ "海峡姐妹饮品券",
Text( style: TextStyle(
"海峡姐妹饮品券", color: Color(0xff32A060),
style: TextStyle( fontSize: 15.sp,
color: Color(0xff32A060), fontWeight: MyFontWeight.semi_bold,
fontSize: 15.sp, ),
fontWeight: MyFontWeight.semi_bold,
),
),
SizedBox(
height: 5.h,
),
Text.rich(
TextSpan(
children: [
TextSpan(
text: "6",
style: TextStyle(
fontWeight: MyFontWeight.extra_bold,
fontSize: 36.sp,
fontFamily: 'JDZhengHT',
color: Color(0xffFF7E12),
), ),
), SizedBox(
TextSpan( height: 5.h,
text: "",
style: TextStyle(
fontSize: 24.sp,
color: Color(0xffFF7E12),
fontWeight: MyFontWeight.semi_bold,
), ),
), Text.rich(
], TextSpan(
), children: [
textDirection: TextDirection.ltr, TextSpan(
), text: "6",
], style: TextStyle(
), fontWeight: MyFontWeight.extra_bold,
)), fontSize: 36.sp,
Image.asset( fontFamily: 'JDZhengHT',
"assets/image/vip_shop_hx.webp", color: Color(0xffFF7E12),
fit: BoxFit.fill, // ),
height: 85, ),
width: 85, TextSpan(
text: "",
style: TextStyle(
fontSize: 24.sp,
color: Color(0xffFF7E12),
fontWeight: MyFontWeight.semi_bold,
),
),
],
),
textDirection: TextDirection.ltr,
),
],
),
)),
Image.asset(
"assets/image/vip_shop_hx.webp",
fit: BoxFit.fill, //
height: 85,
width: 85,
),
],
), ),
], )
), ],
)
],
),
),
Container(
height: 124.h,
margin: EdgeInsets.only(bottom: 16.h),
child: Stack(
children: [
Image.asset(
"assets/image/vip_shop_bj.webp",
fit: BoxFit.fill, //
height: double.infinity,
width: double.infinity,
), ),
Container( ),
child: Row( Container(
mainAxisAlignment: MainAxisAlignment.start, height: 124.h,
crossAxisAlignment: CrossAxisAlignment.center, margin: EdgeInsets.only(bottom: 16.h),
children: [ child: Stack(
Expanded( children: [
child: Padding( Image.asset(
padding: EdgeInsets.only(top: 25.h, left: 19.w), "assets/image/vip_shop_bj.webp",
child: Column( fit: BoxFit.fill, //
mainAxisAlignment: MainAxisAlignment.start, height: double.infinity,
crossAxisAlignment: CrossAxisAlignment.start, width: double.infinity,
children: [ ),
Text( Container(
"前进麦味烘焙券", child: Row(
style: TextStyle( mainAxisAlignment: MainAxisAlignment.start,
color: Color(0xff32A060), crossAxisAlignment: CrossAxisAlignment.center,
fontSize: 15.sp, children: [
fontWeight: MyFontWeight.semi_bold, Expanded(
), child: Padding(
), padding: EdgeInsets.only(top: 25.h, left: 19.w),
SizedBox( child: Column(
height: 5.h, mainAxisAlignment: MainAxisAlignment.start,
), crossAxisAlignment: CrossAxisAlignment.start,
Text.rich( children: [
TextSpan( Text(
children: [ "前进麦味烘焙券",
TextSpan( style: TextStyle(
text: "7", color: Color(0xff32A060),
style: TextStyle( fontSize: 15.sp,
fontWeight: MyFontWeight.extra_bold, fontWeight: MyFontWeight.semi_bold,
fontSize: 36.sp, ),
fontFamily: 'JDZhengHT',
color: Color(0xffFF7E12),
), ),
), SizedBox(
TextSpan( height: 5.h,
text: "",
style: TextStyle(
fontSize: 24.sp,
color: Color(0xffFF7E12),
fontWeight: MyFontWeight.semi_bold,
), ),
), Text.rich(
], TextSpan(
), children: [
textDirection: TextDirection.ltr, TextSpan(
), text: "7",
], style: TextStyle(
), fontWeight: MyFontWeight.extra_bold,
)), fontSize: 36.sp,
Image.asset( fontFamily: 'JDZhengHT',
"assets/image/vip_shop_qj.webp", color: Color(0xffFF7E12),
fit: BoxFit.fill, // ),
height: 85, ),
width: 85, TextSpan(
text: "",
style: TextStyle(
fontSize: 24.sp,
color: Color(0xffFF7E12),
fontWeight: MyFontWeight.semi_bold,
),
),
],
),
textDirection: TextDirection.ltr,
),
],
),
)),
Image.asset(
"assets/image/vip_shop_qj.webp",
fit: BoxFit.fill, //
height: 85,
width: 85,
),
],
), ),
], )
), ],
)
],
),
),
Container(
height: 124.h,
margin: EdgeInsets.only(bottom: 22.h),
child: Stack(
children: [
Image.asset(
"assets/image/vip_shop_bj.webp",
fit: BoxFit.fill, //
height: double.infinity,
width: double.infinity,
), ),
Container( ),
child: Row( Container(
mainAxisAlignment: MainAxisAlignment.start, height: 124.h,
crossAxisAlignment: CrossAxisAlignment.center, margin: EdgeInsets.only(bottom: 22.h),
children: [ child: Stack(
Expanded( children: [
child: Padding( Image.asset(
padding: EdgeInsets.only(top: 25.h, left: 19.w), "assets/image/vip_shop_bj.webp",
child: Column( fit: BoxFit.fill, //
mainAxisAlignment: MainAxisAlignment.start, height: double.infinity,
crossAxisAlignment: CrossAxisAlignment.start, width: double.infinity,
children: [ ),
Text( Container(
"门店火锅券", child: Row(
style: TextStyle( mainAxisAlignment: MainAxisAlignment.start,
color: Color(0xff32A060), crossAxisAlignment: CrossAxisAlignment.center,
fontSize: 15.sp, children: [
fontWeight: MyFontWeight.semi_bold, Expanded(
), child: Padding(
), padding: EdgeInsets.only(top: 25.h, left: 19.w),
SizedBox( child: Column(
height: 5.h, mainAxisAlignment: MainAxisAlignment.start,
), crossAxisAlignment: CrossAxisAlignment.start,
Text.rich( children: [
TextSpan( Text(
children: [ "门店火锅券",
TextSpan( style: TextStyle(
text: "8", color: Color(0xff32A060),
style: TextStyle( fontSize: 15.sp,
fontWeight: MyFontWeight.extra_bold, fontWeight: MyFontWeight.semi_bold,
fontSize: 36.sp, ),
fontFamily: 'JDZhengHT',
color: Color(0xffFF7E12),
), ),
), SizedBox(
TextSpan( height: 5.h,
text: "",
style: TextStyle(
fontSize: 24.sp,
color: Color(0xffFF7E12),
fontWeight: MyFontWeight.semi_bold,
), ),
), Text.rich(
], TextSpan(
), children: [
textDirection: TextDirection.ltr, TextSpan(
), text: "8",
], style: TextStyle(
), fontWeight: MyFontWeight.extra_bold,
)), fontSize: 36.sp,
Image.asset( fontFamily: 'JDZhengHT',
"assets/image/vip_shop_hg.webp", color: Color(0xffFF7E12),
fit: BoxFit.fill, // ),
height: 85, ),
width: 85, TextSpan(
text: "",
style: TextStyle(
fontSize: 24.sp,
color: Color(0xffFF7E12),
fontWeight: MyFontWeight.semi_bold,
),
),
],
),
textDirection: TextDirection.ltr,
),
],
),
)),
Image.asset(
"assets/image/vip_shop_hg.webp",
fit: BoxFit.fill, //
height: 85,
width: 85,
),
],
), ),
], )
), ],
) ),
], ),
), ],
), ),
], )
), ],
); );
} }

407
lib/vip/vip_view/vip_top.dart

@ -20,9 +20,9 @@ import 'package:tobias/tobias.dart' as tobias;
class VipTop extends StatefulWidget { class VipTop extends StatefulWidget {
final VipCardHome vipCardHome; final VipCardHome vipCardHome;
final Function queryVipHome; // final Function queryVipHome;
VipTop(this.vipCardHome, this.queryVipHome); VipTop(this.vipCardHome);
@override @override
State<StatefulWidget> createState() { State<StatefulWidget> createState() {
@ -39,16 +39,16 @@ class _VipTop extends State<VipTop> {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
payListen = weChatResponseEventHandler.listen((event) async { // payListen = weChatResponseEventHandler.listen((event) async {
print("payCallback: ${event.errCode}"); // print("payCallback: ${event.errCode}");
if (event.errCode == 0) { // if (event.errCode == 0) {
widget.queryVipHome(); // widget.queryVipHome();
SmartDialog.showToast("支付成功", alignment: Alignment.center); // SmartDialog.showToast("支付成功", alignment: Alignment.center);
} else { // } else {
SmartDialog.showToast("支付失败", alignment: Alignment.center); // SmartDialog.showToast("支付失败", alignment: Alignment.center);
return; // return;
} // }
}); // });
} }
rechargeVIP() async { rechargeVIP() async {
@ -96,7 +96,7 @@ class _VipTop extends State<VipTop> {
tobias.aliPay(baseData.data["body"]).then((payRes) { tobias.aliPay(baseData.data["body"]).then((payRes) {
if (payRes['resultStatus'] == 9000 || if (payRes['resultStatus'] == 9000 ||
payRes['resultStatus'] == '9000') { payRes['resultStatus'] == '9000') {
widget.queryVipHome(); // widget.queryVipHome();
SmartDialog.showToast("支付成功", SmartDialog.showToast("支付成功",
alignment: Alignment.center); alignment: Alignment.center);
} else { } else {
@ -129,131 +129,132 @@ class _VipTop extends State<VipTop> {
child: Column( child: Column(
children: [ children: [
vipCard(), vipCard(),
if(widget?.vipCardHome?.cards?.length != 0) // if(widget?.vipCardHome?.cards?.length != 0)
SizedBox( // SizedBox(
height: 15.h, // height: 15.h,
), // ),
(!(widget?.vipCardHome?.member?.isVip ?? false)) // (!(widget?.vipCardHome?.member?.isVip ?? false))
? (widget?.vipCardHome?.cards?.length == 0 ? Container():vipCardList()) // ? (widget?.vipCardHome?.cards?.length == 0 ? Container():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( // child: Text.rich(
TextSpan( // TextSpan(
children: [ // children: [
TextSpan( // TextSpan(
text: S // text: S
.of(context) // .of(context)
.yixianghuiyuanquanyi, // .yixianghuiyuanquanyi,
style: TextStyle( // style: TextStyle(
fontWeight: MyFontWeight.semi_bold, // fontWeight: MyFontWeight.semi_bold,
fontSize: 15.sp, // fontSize: 15.sp,
color: Color(0xff32A060), // color: Color(0xff32A060),
), // ),
), // ),
TextSpan( // TextSpan(
text: widget?.vipCardHome?.member // text: widget?.vipCardHome?.member
?.vipDuration // ?.vipDuration
.toString() ?? // .toString() ??
"0", // "0",
style: TextStyle( // style: TextStyle(
fontWeight: MyFontWeight.semi_bold, // fontWeight: MyFontWeight.semi_bold,
fontSize: 18.sp, // fontSize: 18.sp,
color: Color(0xffF96519), // color: Color(0xffF96519),
), // ),
), // ),
TextSpan( // TextSpan(
text: "", // text: "",
style: TextStyle( // style: TextStyle(
fontWeight: MyFontWeight.semi_bold, // fontWeight: MyFontWeight.semi_bold,
fontSize: 15.sp, // fontSize: 15.sp,
color: Color(0xff32A060), // color: Color(0xff32A060),
), // ),
), // ),
], // ],
), // ),
textDirection: TextDirection.ltr, // textDirection: TextDirection.ltr,
))), // ))),
SizedBox( // SizedBox(
width: 10.w, // width: 10.w,
), // ),
Expanded( // Expanded(
child: GestureDetector( // child: GestureDetector(
onTap: () { // onTap: () {
setState(() { // setState(() {
vipRenewShowBottomSheet(); // vipRenewShowBottomSheet();
}); // });
}, // },
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: Row( // child: Row(
mainAxisAlignment: // mainAxisAlignment:
MainAxisAlignment.center, // MainAxisAlignment.center,
crossAxisAlignment: // crossAxisAlignment:
CrossAxisAlignment.center, // CrossAxisAlignment.center,
children: [ // children: [
Text( // Text(
"${(widget?.vipCardHome?.member?.isVipSubscribe ?? false) ? "已开通自动续费" : "续费回乡VIP"}", // "${(widget?.vipCardHome?.member?.isVipSubscribe ?? false) ? "已开通自动续费" : "续费回乡VIP"}",
style: TextStyle( // style: TextStyle(
color: Color((widget // color: Color((widget
?.vipCardHome // ?.vipCardHome
?.member // ?.member
?.isVipSubscribe ?? // ?.isVipSubscribe ??
false) // false)
? 0xff3A3936 // ? 0xff3A3936
: 0xff32A060), // : 0xff32A060),
fontSize: 15.sp, // fontSize: 15.sp,
fontWeight: MyFontWeight.semi_bold, // fontWeight: MyFontWeight.semi_bold,
), // ),
), // ),
SizedBox( // SizedBox(
width: 6.w, // width: 6.w,
), // ),
Image.asset( // Image.asset(
"${(widget?.vipCardHome?.member?.isVipSubscribe ?? false) ? "assets/image/vip_xf.webp" : "assets/image/icon_right.webp"}", // "${(widget?.vipCardHome?.member?.isVipSubscribe ?? false) ? "assets/image/vip_xf.webp" : "assets/image/icon_right.webp"}",
width: 16, // width: 16,
height: 16, // height: 16,
fit: BoxFit.fill, // fit: BoxFit.fill,
color: Color(0xff32A060), // color: Color(0xff32A060),
), // ),
], // ],
))), // ))),
) // )
], // ],
), // ),
), // ),
rechargeGuide(),
], ],
), ),
) )
@ -261,6 +262,136 @@ class _VipTop extends State<VipTop> {
); );
} }
///
Widget rechargeGuide() {
return Container(
margin: EdgeInsets.only(left: 14.w, right: 14.w, bottom:21.h,top:16.h),
width: double.infinity,
padding: EdgeInsets.only(top:14.h, left:12.h, bottom:8.h, right:14.w),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(6.w),
color: Colors.white,
boxShadow: [
BoxShadow(
color: Colors.black.withAlpha(12),
offset: Offset(0, 3),
blurRadius: 14,
spreadRadius: 0,
)
],
),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Expanded(child:
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text.rich(
TextSpan(
children: [
TextSpan(
text: "充值",
style: TextStyle(
fontWeight: MyFontWeight.extra_bold,
fontSize: 18.sp,
fontFamily: 'JDZhengHT',
color: Color(0xFF262626),
),
),
TextSpan(
text: "¥200以上",
style: TextStyle(
fontSize: 18.sp,
color: Color(0xffFF7E12),
fontWeight: MyFontWeight.semi_bold,
),
),
TextSpan(
text: "即开通回乡VIP卡",
style: TextStyle(
fontSize: 18.sp,
color: Color(0xFF262626),
fontWeight: MyFontWeight.semi_bold,
),
),
],
),
textDirection: TextDirection.ltr,
),
Padding(
padding: EdgeInsets.only(top: 6.h, bottom: 10.h),
child: Text(
"享受多门店商品9.2折优惠价!",
style: TextStyle(
color: Color(0xFF32A060),
fontSize: 15.sp,
fontWeight: MyFontWeight.semi_bold,
),
)),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
"*活动一切解释权归海峡姐妹品牌公司所有",
style: TextStyle(
color: Color(0xFF151515),
fontSize: 8.sp,
fontWeight: MyFontWeight.semi_bold,
),
),
GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: (){
Navigator.of(context).pushNamed('/router/recharge_page');
},
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(100)),
border: Border.all(
width: 1.w,
color: Color(0xFF32A060),
style: BorderStyle.solid,
),
color: Color(0xFFFFFFFF),
),
padding: EdgeInsets.symmetric(vertical: 4.h,horizontal: 12.w),
child: Row(children: [
Text(
"去储值",
style: TextStyle(
color: Color(0xFF32A060),
fontSize: 14.sp,
fontWeight: MyFontWeight.regular,
),
),
Image.asset(
"assets/image/icon_right.webp",
width:13,
fit: BoxFit.fill,
height:13,
color: Color(0xFF32A060),
)
]),
),
)
],
)
],
)),
SizedBox(width: 11.h,),
Padding(padding:EdgeInsets.only(top:4.h),
child: Image.asset(
"assets/image/vip_cz.webp",
fit: BoxFit.fill, //
height:50.w,
width: 54.h,
),)
],
),
);
}
///vip卡 ///vip卡
Widget vipCard() { Widget vipCard() {
return Container( return Container(

2
lib/web/web_view/comment_list.dart

@ -128,7 +128,7 @@ class CommentListState extends State<CommentList> {
); );
}, },
), ),
if (memberList != null && memberList.length > 0) if (memberList != null && memberList.length >= 1)
Container( Container(
decoration: BoxDecoration( decoration: BoxDecoration(
color: Color(0xFFF2F2F2), color: Color(0xFFF2F2F2),

3
lib/web/web_view/input_comment.dart

@ -126,6 +126,7 @@ class _InputComment extends State<InputComment> {
), ),
if (widget.isKeyBoardShow) if (widget.isKeyBoardShow)
GestureDetector( GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () { onTap: () {
var commentText = widget.commentTextController.text; var commentText = widget.commentTextController.text;
if (commentText.trim() == "") { if (commentText.trim() == "") {
@ -134,7 +135,7 @@ class _InputComment extends State<InputComment> {
widget.queryMemberComment(commentText); widget.queryMemberComment(commentText);
}, },
child: Container( child: Container(
padding: EdgeInsets.symmetric(horizontal: 20.w), padding: EdgeInsets.symmetric(horizontal: 20.w,vertical:15.h),
child: Text( child: Text(
S.of(context).fasong, S.of(context).fasong,
style: TextStyle( style: TextStyle(

5
lib/web/web_view/web_header.dart

@ -47,8 +47,8 @@ class _WebHeader extends State<WebHeader> {
InkWell( InkWell(
child: Text( child: Text(
"${widget.activity != null ? (widget.activity.storeName ?? "") "${widget.activity != null ? (widget.activity.storeName ?? "")
: (widget.article != null && widget.article.author != null) : ((widget.article != null && widget.article.author != null)
? (widget.article.author.name ?? "") : ""}", ? (widget.article.author.name ?? "") : "")}",
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
fontSize: widget.fontSize - 2, fontSize: widget.fontSize - 2,
@ -85,6 +85,7 @@ class _WebHeader extends State<WebHeader> {
} }
}, },
), ),
if((widget?.activity?.storeName ?? "") != "" || (widget?.article?.author?.name ?? "") != "")
SizedBox( SizedBox(
width: 10.w, width: 10.w,
), ),

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.2.13+57 version: 3.2.14+58
environment: environment:
sdk: ">=2.7.0 <3.0.0" sdk: ">=2.7.0 <3.0.0"

Loading…
Cancel
Save