Browse Source

Merge branch 'master' into dev

# Conflicts:
#	pubspec.lock
null_safety
w-R 4 years ago
parent
commit
43b756354f
  1. BIN
      assets/image/2x/icon_system_message.png
  2. BIN
      assets/image/2x/icon_system_order.png
  3. BIN
      assets/image/2x/icon_system_recharge.png
  4. BIN
      assets/image/3x/icon_system_message.png
  5. BIN
      assets/image/3x/icon_system_order.png
  6. BIN
      assets/image/3x/icon_system_recharge.png
  7. BIN
      assets/image/icon_system_message.png
  8. BIN
      assets/image/icon_system_order.png
  9. BIN
      assets/image/icon_system_recharge.png
  10. 13
      lib/generated/intl/messages_en.dart
  11. 13
      lib/generated/intl/messages_zh_CN.dart
  12. 13
      lib/generated/intl/messages_zh_Hans_CN.dart
  13. 15
      lib/generated/intl/messages_zh_Hant_CN.dart
  14. 15
      lib/generated/intl/messages_zh_TW.dart
  15. 130
      lib/generated/l10n.dart
  16. 4
      lib/home/home_page.dart
  17. 13
      lib/home/main_home_page.dart
  18. 65
      lib/home/points_mall_page.dart
  19. 15
      lib/l10n/intl_en.arb
  20. 14
      lib/l10n/intl_zh_CN.arb
  21. 14
      lib/l10n/intl_zh_Hans_CN.arb
  22. 16
      lib/l10n/intl_zh_Hant_CN.arb
  23. 14
      lib/l10n/intl_zh_TW.arb
  24. 4
      lib/main.dart
  25. 213
      lib/message/main_message_page.dart
  26. 53
      lib/message/mine_message.dart
  27. 2
      lib/message/real_time_info_page.dart
  28. 280
      lib/message/system_message.dart
  29. 10
      lib/mine/coupons_page.dart
  30. 55
      lib/mine/mine_wallet_page.dart
  31. 4
      lib/mine/recharge_page.dart
  32. 10
      lib/mine/roll_center_page.dart
  33. 8
      lib/mine/user_info_page.dart
  34. 138
      lib/mine/vip_balance_page.dart
  35. 4
      lib/mine/vip_detail_page.dart
  36. 2
      lib/order/exchange_history_page.dart
  37. 5
      lib/order/write_off_page.dart
  38. 3
      lib/retrofit/data/exchange_order.dart
  39. 86
      lib/retrofit/data/goods_category.dart
  40. 101
      lib/retrofit/data/message.dart
  41. 13
      lib/retrofit/retrofit_api.dart
  42. 763
      lib/retrofit/retrofit_api.g.dart
  43. 59
      lib/union/union_details_page.dart
  44. 2
      lib/utils/flutter_utils.dart
  45. 17
      lib/utils/font_weight.dart
  46. 151
      lib/view_widget/item_input_widget.dart
  47. 139
      lib/view_widget/message_item.dart
  48. 2
      lib/view_widget/mine_vip_view.dart
  49. 75
      lib/view_widget/new_coupon_widget.dart
  50. 322
      pubspec.lock
  51. 2
      pubspec.yaml

BIN
assets/image/2x/icon_system_message.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
assets/image/2x/icon_system_order.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

BIN
assets/image/2x/icon_system_recharge.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
assets/image/3x/icon_system_message.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
assets/image/3x/icon_system_order.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 643 B

BIN
assets/image/3x/icon_system_recharge.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
assets/image/icon_system_message.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 849 B

BIN
assets/image/icon_system_order.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 B

BIN
assets/image/icon_system_recharge.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 B

13
lib/generated/intl/messages_en.dart

@ -89,6 +89,8 @@ class MessageLookup extends MessageLookupByLibrary {
"bangong" : MessageLookupByLibrary.simpleMessage("办公"), "bangong" : MessageLookupByLibrary.simpleMessage("办公"),
"bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("帮助与反馈"), "bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("帮助与反馈"),
"beizhu" : MessageLookupByLibrary.simpleMessage("备注"), "beizhu" : MessageLookupByLibrary.simpleMessage("备注"),
"biaojiweiyidu" : MessageLookupByLibrary.simpleMessage("标为已读"),
"bodadianhua" : MessageLookupByLibrary.simpleMessage("拨打电话"),
"brand_yixinhuixiang" : MessageLookupByLibrary.simpleMessage("一心回乡"), "brand_yixinhuixiang" : MessageLookupByLibrary.simpleMessage("一心回乡"),
"buzhichikaipiao" : MessageLookupByLibrary.simpleMessage("不支持开票"), "buzhichikaipiao" : MessageLookupByLibrary.simpleMessage("不支持开票"),
"chakangengduo" : MessageLookupByLibrary.simpleMessage("查看更多"), "chakangengduo" : MessageLookupByLibrary.simpleMessage("查看更多"),
@ -101,6 +103,7 @@ class MessageLookup extends MessageLookupByLibrary {
"chenggongdengluzhuce" : MessageLookupByLibrary.simpleMessage("成功登录注册,并绑定相关信息即可成为会员。"), "chenggongdengluzhuce" : MessageLookupByLibrary.simpleMessage("成功登录注册,并绑定相关信息即可成为会员。"),
"chengweidianpuzhuanshuhuiyuan" : MessageLookupByLibrary.simpleMessage("成为店铺专属会员,享专属权益"), "chengweidianpuzhuanshuhuiyuan" : MessageLookupByLibrary.simpleMessage("成为店铺专属会员,享专属权益"),
"chongzhi" : MessageLookupByLibrary.simpleMessage("充值"), "chongzhi" : MessageLookupByLibrary.simpleMessage("充值"),
"chongzhixiaoxi" : MessageLookupByLibrary.simpleMessage("充值消息"),
"chongzhizuixiaojine" : m1, "chongzhizuixiaojine" : m1,
"chuangjianshijian" : m2, "chuangjianshijian" : m2,
"chuangshirendegushi" : MessageLookupByLibrary.simpleMessage("创始人的故事"), "chuangshirendegushi" : MessageLookupByLibrary.simpleMessage("创始人的故事"),
@ -127,6 +130,7 @@ class MessageLookup extends MessageLookupByLibrary {
"dingdandaizhifu" : MessageLookupByLibrary.simpleMessage("订单待支付"), "dingdandaizhifu" : MessageLookupByLibrary.simpleMessage("订单待支付"),
"dingdanhao" : MessageLookupByLibrary.simpleMessage("订单号"), "dingdanhao" : MessageLookupByLibrary.simpleMessage("订单号"),
"dingdanqueren" : MessageLookupByLibrary.simpleMessage("订单确认"), "dingdanqueren" : MessageLookupByLibrary.simpleMessage("订单确认"),
"dingdanxiaoxi" : MessageLookupByLibrary.simpleMessage("订单消息"),
"dingdanyisongda" : MessageLookupByLibrary.simpleMessage("订单送达"), "dingdanyisongda" : MessageLookupByLibrary.simpleMessage("订单送达"),
"dingdanyituikuan" : MessageLookupByLibrary.simpleMessage("订单已退款"), "dingdanyituikuan" : MessageLookupByLibrary.simpleMessage("订单已退款"),
"dingdanyiwancheng" : MessageLookupByLibrary.simpleMessage("订单已完成"), "dingdanyiwancheng" : MessageLookupByLibrary.simpleMessage("订单已完成"),
@ -140,6 +144,7 @@ class MessageLookup extends MessageLookupByLibrary {
"duihuanliangdidaogao" : MessageLookupByLibrary.simpleMessage("兑换量从低到高"), "duihuanliangdidaogao" : MessageLookupByLibrary.simpleMessage("兑换量从低到高"),
"duihuanlianggaodaodi" : MessageLookupByLibrary.simpleMessage("兑换量从高到低"), "duihuanlianggaodaodi" : MessageLookupByLibrary.simpleMessage("兑换量从高到低"),
"duihuanlishi" : MessageLookupByLibrary.simpleMessage("兑换历史"), "duihuanlishi" : MessageLookupByLibrary.simpleMessage("兑换历史"),
"duihuanquan" : MessageLookupByLibrary.simpleMessage("兑换券"),
"duihuanshangpinxiangqing" : MessageLookupByLibrary.simpleMessage("兑换商品详情"), "duihuanshangpinxiangqing" : MessageLookupByLibrary.simpleMessage("兑换商品详情"),
"duihuanxinxi" : MessageLookupByLibrary.simpleMessage("兑换信息"), "duihuanxinxi" : MessageLookupByLibrary.simpleMessage("兑换信息"),
"fanhuiduihuanlishi" : MessageLookupByLibrary.simpleMessage("返回兑换历史"), "fanhuiduihuanlishi" : MessageLookupByLibrary.simpleMessage("返回兑换历史"),
@ -155,6 +160,7 @@ class MessageLookup extends MessageLookupByLibrary {
"geiwopingfen" : MessageLookupByLibrary.simpleMessage("给我评分"), "geiwopingfen" : MessageLookupByLibrary.simpleMessage("给我评分"),
"gengduo" : MessageLookupByLibrary.simpleMessage("更多"), "gengduo" : MessageLookupByLibrary.simpleMessage("更多"),
"gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多优惠券"), "gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多优惠券"),
"genghuantouxiang" : MessageLookupByLibrary.simpleMessage("更换头像"),
"gerenxinxi" : MessageLookupByLibrary.simpleMessage("个人信息"), "gerenxinxi" : MessageLookupByLibrary.simpleMessage("个人信息"),
"gong" : MessageLookupByLibrary.simpleMessage(""), "gong" : MessageLookupByLibrary.simpleMessage(""),
"gongjijianshangpin" : m5, "gongjijianshangpin" : m5,
@ -165,6 +171,7 @@ class MessageLookup extends MessageLookupByLibrary {
"guanyu" : MessageLookupByLibrary.simpleMessage("关于"), "guanyu" : MessageLookupByLibrary.simpleMessage("关于"),
"guanyuchuangshiren" : MessageLookupByLibrary.simpleMessage("关于创始人"), "guanyuchuangshiren" : MessageLookupByLibrary.simpleMessage("关于创始人"),
"guojiankangyoujishenghuo" : MessageLookupByLibrary.simpleMessage("过健康有机生活"), "guojiankangyoujishenghuo" : MessageLookupByLibrary.simpleMessage("过健康有机生活"),
"haimeiyouxiaoxi" : MessageLookupByLibrary.simpleMessage("还没有消息~"),
"haixiajiemei" : MessageLookupByLibrary.simpleMessage("海峡姐妹"), "haixiajiemei" : MessageLookupByLibrary.simpleMessage("海峡姐妹"),
"haowu" : MessageLookupByLibrary.simpleMessage("好物"), "haowu" : MessageLookupByLibrary.simpleMessage("好物"),
"heji" : MessageLookupByLibrary.simpleMessage("合计:"), "heji" : MessageLookupByLibrary.simpleMessage("合计:"),
@ -250,11 +257,13 @@ class MessageLookup extends MessageLookupByLibrary {
"mingxi" : MessageLookupByLibrary.simpleMessage("明细"), "mingxi" : MessageLookupByLibrary.simpleMessage("明细"),
"morenpaixu" : MessageLookupByLibrary.simpleMessage("默认排序"), "morenpaixu" : MessageLookupByLibrary.simpleMessage("默认排序"),
"muqianzanwuxingdianhuodong" : MessageLookupByLibrary.simpleMessage("目前暂无星店活动"), "muqianzanwuxingdianhuodong" : MessageLookupByLibrary.simpleMessage("目前暂无星店活动"),
"nihaimeiyouchongzhihuoxiaofeijilu" : MessageLookupByLibrary.simpleMessage("你在这儿还没有消费或充值记录哦~"),
"nindingweigongnengweikaiqi" : MessageLookupByLibrary.simpleMessage("您定位功能开关未开启,请点击去打開定位"), "nindingweigongnengweikaiqi" : MessageLookupByLibrary.simpleMessage("您定位功能开关未开启,请点击去打開定位"),
"nindingweiquanxianweiyunxu" : MessageLookupByLibrary.simpleMessage("您未开启位置权限,请点击确定申请权限"), "nindingweiquanxianweiyunxu" : MessageLookupByLibrary.simpleMessage("您未开启位置权限,请点击确定申请权限"),
"ninweidenglu" : MessageLookupByLibrary.simpleMessage("您未登录,请点击去登录"), "ninweidenglu" : MessageLookupByLibrary.simpleMessage("您未登录,请点击去登录"),
"ninyouyigedingdanyaolingqu" : MessageLookupByLibrary.simpleMessage("您有一个订单需要前往门店领取"), "ninyouyigedingdanyaolingqu" : MessageLookupByLibrary.simpleMessage("您有一个订单需要前往门店领取"),
"ninyouyigexindedingdan" : MessageLookupByLibrary.simpleMessage("您有一个新的订单"), "ninyouyigexindedingdan" : MessageLookupByLibrary.simpleMessage("您有一个新的订单"),
"paizhao" : MessageLookupByLibrary.simpleMessage("拍照"),
"peisong" : MessageLookupByLibrary.simpleMessage("配送"), "peisong" : MessageLookupByLibrary.simpleMessage("配送"),
"peisongfangshi" : MessageLookupByLibrary.simpleMessage("配送方式"), "peisongfangshi" : MessageLookupByLibrary.simpleMessage("配送方式"),
"peisongfei" : MessageLookupByLibrary.simpleMessage("配送费"), "peisongfei" : MessageLookupByLibrary.simpleMessage("配送费"),
@ -304,6 +313,7 @@ class MessageLookup extends MessageLookupByLibrary {
"querenchongzhi" : MessageLookupByLibrary.simpleMessage("确认充值"), "querenchongzhi" : MessageLookupByLibrary.simpleMessage("确认充值"),
"querenduihuan" : MessageLookupByLibrary.simpleMessage("确认兑换"), "querenduihuan" : MessageLookupByLibrary.simpleMessage("确认兑换"),
"querenshouhuo" : MessageLookupByLibrary.simpleMessage("确认收货"), "querenshouhuo" : MessageLookupByLibrary.simpleMessage("确认收货"),
"quhexiao" : MessageLookupByLibrary.simpleMessage("去核销"),
"quhuozhong" : MessageLookupByLibrary.simpleMessage("取货中"), "quhuozhong" : MessageLookupByLibrary.simpleMessage("取货中"),
"qujianma" : MessageLookupByLibrary.simpleMessage("取件码"), "qujianma" : MessageLookupByLibrary.simpleMessage("取件码"),
"quqiandao" : MessageLookupByLibrary.simpleMessage("去签到"), "quqiandao" : MessageLookupByLibrary.simpleMessage("去签到"),
@ -328,6 +338,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shanglajiazai" : MessageLookupByLibrary.simpleMessage("上拉加载"), "shanglajiazai" : MessageLookupByLibrary.simpleMessage("上拉加载"),
"shangpinjifen" : m20, "shangpinjifen" : m20,
"shangpinxiangqing" : MessageLookupByLibrary.simpleMessage("商品详情"), "shangpinxiangqing" : MessageLookupByLibrary.simpleMessage("商品详情"),
"shangyidengji" : MessageLookupByLibrary.simpleMessage("上一等级"),
"shenghuoyule" : MessageLookupByLibrary.simpleMessage("生活娱乐"), "shenghuoyule" : MessageLookupByLibrary.simpleMessage("生活娱乐"),
"shenmijifendali" : MessageLookupByLibrary.simpleMessage("神秘积分大礼"), "shenmijifendali" : MessageLookupByLibrary.simpleMessage("神秘积分大礼"),
"shenqingtuikuan" : MessageLookupByLibrary.simpleMessage("申请退款"), "shenqingtuikuan" : MessageLookupByLibrary.simpleMessage("申请退款"),
@ -388,10 +399,12 @@ class MessageLookup extends MessageLookupByLibrary {
"xiadanshijian" : MessageLookupByLibrary.simpleMessage("下单时间"), "xiadanshijian" : MessageLookupByLibrary.simpleMessage("下单时间"),
"xiadanshijian_" : m24, "xiadanshijian_" : m24,
"xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"), "xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"),
"xiangce" : MessageLookupByLibrary.simpleMessage("相册"),
"xiangji" : MessageLookupByLibrary.simpleMessage("相机"), "xiangji" : MessageLookupByLibrary.simpleMessage("相机"),
"xiangjitishixinxi" : MessageLookupByLibrary.simpleMessage("为了您可以在使用过程中进行分享,希望您使用HISAPP时让我们使用相机功能"), "xiangjitishixinxi" : MessageLookupByLibrary.simpleMessage("为了您可以在使用过程中进行分享,希望您使用HISAPP时让我们使用相机功能"),
"xiangqing" : MessageLookupByLibrary.simpleMessage("详情"), "xiangqing" : MessageLookupByLibrary.simpleMessage("详情"),
"xianshangfafang" : MessageLookupByLibrary.simpleMessage("线上发放"), "xianshangfafang" : MessageLookupByLibrary.simpleMessage("线上发放"),
"xianxiashiyong" : MessageLookupByLibrary.simpleMessage("线下使用"),
"xiaofei" : MessageLookupByLibrary.simpleMessage("消费"), "xiaofei" : MessageLookupByLibrary.simpleMessage("消费"),
"xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"), "xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"),
"xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"), "xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"),

13
lib/generated/intl/messages_zh_CN.dart

@ -89,6 +89,8 @@ class MessageLookup extends MessageLookupByLibrary {
"bangong" : MessageLookupByLibrary.simpleMessage("办公"), "bangong" : MessageLookupByLibrary.simpleMessage("办公"),
"bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("帮助与反馈"), "bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("帮助与反馈"),
"beizhu" : MessageLookupByLibrary.simpleMessage("备注"), "beizhu" : MessageLookupByLibrary.simpleMessage("备注"),
"biaojiweiyidu" : MessageLookupByLibrary.simpleMessage("标为已读"),
"bodadianhua" : MessageLookupByLibrary.simpleMessage("拨打电话"),
"brand_yixinhuixiang" : MessageLookupByLibrary.simpleMessage("一心回乡"), "brand_yixinhuixiang" : MessageLookupByLibrary.simpleMessage("一心回乡"),
"buzhichikaipiao" : MessageLookupByLibrary.simpleMessage("不支持开票"), "buzhichikaipiao" : MessageLookupByLibrary.simpleMessage("不支持开票"),
"chakangengduo" : MessageLookupByLibrary.simpleMessage("查看更多"), "chakangengduo" : MessageLookupByLibrary.simpleMessage("查看更多"),
@ -101,6 +103,7 @@ class MessageLookup extends MessageLookupByLibrary {
"chenggongdengluzhuce" : MessageLookupByLibrary.simpleMessage("成功登录注册,并绑定相关信息即可成为会员。"), "chenggongdengluzhuce" : MessageLookupByLibrary.simpleMessage("成功登录注册,并绑定相关信息即可成为会员。"),
"chengweidianpuzhuanshuhuiyuan" : MessageLookupByLibrary.simpleMessage("成为店铺专属会员,享专属权益"), "chengweidianpuzhuanshuhuiyuan" : MessageLookupByLibrary.simpleMessage("成为店铺专属会员,享专属权益"),
"chongzhi" : MessageLookupByLibrary.simpleMessage("充值"), "chongzhi" : MessageLookupByLibrary.simpleMessage("充值"),
"chongzhixiaoxi" : MessageLookupByLibrary.simpleMessage("充值消息"),
"chongzhizuixiaojine" : m1, "chongzhizuixiaojine" : m1,
"chuangjianshijian" : m2, "chuangjianshijian" : m2,
"chuangshirendegushi" : MessageLookupByLibrary.simpleMessage("创始人的故事"), "chuangshirendegushi" : MessageLookupByLibrary.simpleMessage("创始人的故事"),
@ -127,6 +130,7 @@ class MessageLookup extends MessageLookupByLibrary {
"dingdandaizhifu" : MessageLookupByLibrary.simpleMessage("订单待支付"), "dingdandaizhifu" : MessageLookupByLibrary.simpleMessage("订单待支付"),
"dingdanhao" : MessageLookupByLibrary.simpleMessage("订单号"), "dingdanhao" : MessageLookupByLibrary.simpleMessage("订单号"),
"dingdanqueren" : MessageLookupByLibrary.simpleMessage("订单确认"), "dingdanqueren" : MessageLookupByLibrary.simpleMessage("订单确认"),
"dingdanxiaoxi" : MessageLookupByLibrary.simpleMessage("订单消息"),
"dingdanyisongda" : MessageLookupByLibrary.simpleMessage("订单送达"), "dingdanyisongda" : MessageLookupByLibrary.simpleMessage("订单送达"),
"dingdanyituikuan" : MessageLookupByLibrary.simpleMessage("订单已退款"), "dingdanyituikuan" : MessageLookupByLibrary.simpleMessage("订单已退款"),
"dingdanyiwancheng" : MessageLookupByLibrary.simpleMessage("订单已完成"), "dingdanyiwancheng" : MessageLookupByLibrary.simpleMessage("订单已完成"),
@ -140,6 +144,7 @@ class MessageLookup extends MessageLookupByLibrary {
"duihuanliangdidaogao" : MessageLookupByLibrary.simpleMessage("兑换量从低到高"), "duihuanliangdidaogao" : MessageLookupByLibrary.simpleMessage("兑换量从低到高"),
"duihuanlianggaodaodi" : MessageLookupByLibrary.simpleMessage("兑换量从高到低"), "duihuanlianggaodaodi" : MessageLookupByLibrary.simpleMessage("兑换量从高到低"),
"duihuanlishi" : MessageLookupByLibrary.simpleMessage("兑换历史"), "duihuanlishi" : MessageLookupByLibrary.simpleMessage("兑换历史"),
"duihuanquan" : MessageLookupByLibrary.simpleMessage("兑换券"),
"duihuanshangpinxiangqing" : MessageLookupByLibrary.simpleMessage("兑换商品详情"), "duihuanshangpinxiangqing" : MessageLookupByLibrary.simpleMessage("兑换商品详情"),
"duihuanxinxi" : MessageLookupByLibrary.simpleMessage("兑换信息"), "duihuanxinxi" : MessageLookupByLibrary.simpleMessage("兑换信息"),
"fanhuiduihuanlishi" : MessageLookupByLibrary.simpleMessage("返回兑换历史"), "fanhuiduihuanlishi" : MessageLookupByLibrary.simpleMessage("返回兑换历史"),
@ -155,6 +160,7 @@ class MessageLookup extends MessageLookupByLibrary {
"geiwopingfen" : MessageLookupByLibrary.simpleMessage("给我评分"), "geiwopingfen" : MessageLookupByLibrary.simpleMessage("给我评分"),
"gengduo" : MessageLookupByLibrary.simpleMessage("更多"), "gengduo" : MessageLookupByLibrary.simpleMessage("更多"),
"gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多优惠券"), "gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多优惠券"),
"genghuantouxiang" : MessageLookupByLibrary.simpleMessage("更换头像"),
"gerenxinxi" : MessageLookupByLibrary.simpleMessage("个人信息"), "gerenxinxi" : MessageLookupByLibrary.simpleMessage("个人信息"),
"gong" : MessageLookupByLibrary.simpleMessage(""), "gong" : MessageLookupByLibrary.simpleMessage(""),
"gongjijianshangpin" : m5, "gongjijianshangpin" : m5,
@ -164,6 +170,7 @@ class MessageLookup extends MessageLookupByLibrary {
"guanlidizhi" : MessageLookupByLibrary.simpleMessage("管理地址"), "guanlidizhi" : MessageLookupByLibrary.simpleMessage("管理地址"),
"guanyu" : MessageLookupByLibrary.simpleMessage("关于"), "guanyu" : MessageLookupByLibrary.simpleMessage("关于"),
"guojiankangyoujishenghuo" : MessageLookupByLibrary.simpleMessage("过健康有机生活"), "guojiankangyoujishenghuo" : MessageLookupByLibrary.simpleMessage("过健康有机生活"),
"haimeiyouxiaoxi" : MessageLookupByLibrary.simpleMessage("还没有消息~"),
"haixiajiemei" : MessageLookupByLibrary.simpleMessage("海峡姐妹"), "haixiajiemei" : MessageLookupByLibrary.simpleMessage("海峡姐妹"),
"haowu" : MessageLookupByLibrary.simpleMessage("好物"), "haowu" : MessageLookupByLibrary.simpleMessage("好物"),
"heji" : MessageLookupByLibrary.simpleMessage("合计:"), "heji" : MessageLookupByLibrary.simpleMessage("合计:"),
@ -249,11 +256,13 @@ class MessageLookup extends MessageLookupByLibrary {
"mingxi" : MessageLookupByLibrary.simpleMessage("明细"), "mingxi" : MessageLookupByLibrary.simpleMessage("明细"),
"morenpaixu" : MessageLookupByLibrary.simpleMessage("默认排序"), "morenpaixu" : MessageLookupByLibrary.simpleMessage("默认排序"),
"muqianzanwuxingdianhuodong" : MessageLookupByLibrary.simpleMessage("目前暂无星店活动"), "muqianzanwuxingdianhuodong" : MessageLookupByLibrary.simpleMessage("目前暂无星店活动"),
"nihaimeiyouchongzhihuoxiaofeijilu" : MessageLookupByLibrary.simpleMessage("你在这儿还没有消费或充值记录哦~"),
"nindingweigongnengweikaiqi" : MessageLookupByLibrary.simpleMessage("您定位功能开关未开启,请点击去打開定位"), "nindingweigongnengweikaiqi" : MessageLookupByLibrary.simpleMessage("您定位功能开关未开启,请点击去打開定位"),
"nindingweiquanxianweiyunxu" : MessageLookupByLibrary.simpleMessage("您未开启位置权限,请点击确定申请权限"), "nindingweiquanxianweiyunxu" : MessageLookupByLibrary.simpleMessage("您未开启位置权限,请点击确定申请权限"),
"ninweidenglu" : MessageLookupByLibrary.simpleMessage("您未登录,请点击去登录"), "ninweidenglu" : MessageLookupByLibrary.simpleMessage("您未登录,请点击去登录"),
"ninyouyigedingdanyaolingqu" : MessageLookupByLibrary.simpleMessage("您有一个订单需要前往门店领取"), "ninyouyigedingdanyaolingqu" : MessageLookupByLibrary.simpleMessage("您有一个订单需要前往门店领取"),
"ninyouyigexindedingdan" : MessageLookupByLibrary.simpleMessage("您有一个新的订单"), "ninyouyigexindedingdan" : MessageLookupByLibrary.simpleMessage("您有一个新的订单"),
"paizhao" : MessageLookupByLibrary.simpleMessage("拍照"),
"peisong" : MessageLookupByLibrary.simpleMessage("配送"), "peisong" : MessageLookupByLibrary.simpleMessage("配送"),
"peisongfangshi" : MessageLookupByLibrary.simpleMessage("配送方式"), "peisongfangshi" : MessageLookupByLibrary.simpleMessage("配送方式"),
"peisongfei" : MessageLookupByLibrary.simpleMessage("配送费"), "peisongfei" : MessageLookupByLibrary.simpleMessage("配送费"),
@ -303,6 +312,7 @@ class MessageLookup extends MessageLookupByLibrary {
"querenchongzhi" : MessageLookupByLibrary.simpleMessage("确认充值"), "querenchongzhi" : MessageLookupByLibrary.simpleMessage("确认充值"),
"querenduihuan" : MessageLookupByLibrary.simpleMessage("确认兑换"), "querenduihuan" : MessageLookupByLibrary.simpleMessage("确认兑换"),
"querenshouhuo" : MessageLookupByLibrary.simpleMessage("确认收货"), "querenshouhuo" : MessageLookupByLibrary.simpleMessage("确认收货"),
"quhexiao" : MessageLookupByLibrary.simpleMessage("去核销"),
"quhuozhong" : MessageLookupByLibrary.simpleMessage("取货中"), "quhuozhong" : MessageLookupByLibrary.simpleMessage("取货中"),
"qujianma" : MessageLookupByLibrary.simpleMessage("取件码"), "qujianma" : MessageLookupByLibrary.simpleMessage("取件码"),
"quqiandao" : MessageLookupByLibrary.simpleMessage("去签到"), "quqiandao" : MessageLookupByLibrary.simpleMessage("去签到"),
@ -327,6 +337,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shanglajiazai" : MessageLookupByLibrary.simpleMessage("上拉加载"), "shanglajiazai" : MessageLookupByLibrary.simpleMessage("上拉加载"),
"shangpinjifen" : m20, "shangpinjifen" : m20,
"shangpinxiangqing" : MessageLookupByLibrary.simpleMessage("商品详情"), "shangpinxiangqing" : MessageLookupByLibrary.simpleMessage("商品详情"),
"shangyidengji" : MessageLookupByLibrary.simpleMessage("上一等级"),
"shenghuoyule" : MessageLookupByLibrary.simpleMessage("生活娱乐"), "shenghuoyule" : MessageLookupByLibrary.simpleMessage("生活娱乐"),
"shenmijifendali" : MessageLookupByLibrary.simpleMessage("神秘积分大礼"), "shenmijifendali" : MessageLookupByLibrary.simpleMessage("神秘积分大礼"),
"shenqingtuikuan" : MessageLookupByLibrary.simpleMessage("申请退款"), "shenqingtuikuan" : MessageLookupByLibrary.simpleMessage("申请退款"),
@ -387,10 +398,12 @@ class MessageLookup extends MessageLookupByLibrary {
"xiadanshijian" : MessageLookupByLibrary.simpleMessage("下单时间"), "xiadanshijian" : MessageLookupByLibrary.simpleMessage("下单时间"),
"xiadanshijian_" : m24, "xiadanshijian_" : m24,
"xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"), "xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"),
"xiangce" : MessageLookupByLibrary.simpleMessage("相册"),
"xiangji" : MessageLookupByLibrary.simpleMessage("相机"), "xiangji" : MessageLookupByLibrary.simpleMessage("相机"),
"xiangjitishixinxi" : MessageLookupByLibrary.simpleMessage("为了您可以在使用过程中进行分享,希望您使用HISAPP时让我们使用相机功能"), "xiangjitishixinxi" : MessageLookupByLibrary.simpleMessage("为了您可以在使用过程中进行分享,希望您使用HISAPP时让我们使用相机功能"),
"xiangqing" : MessageLookupByLibrary.simpleMessage("详情"), "xiangqing" : MessageLookupByLibrary.simpleMessage("详情"),
"xianshangfafang" : MessageLookupByLibrary.simpleMessage("线上发放"), "xianshangfafang" : MessageLookupByLibrary.simpleMessage("线上发放"),
"xianxiashiyong" : MessageLookupByLibrary.simpleMessage("线下使用"),
"xiaofei" : MessageLookupByLibrary.simpleMessage("消费"), "xiaofei" : MessageLookupByLibrary.simpleMessage("消费"),
"xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"), "xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"),
"xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"), "xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"),

13
lib/generated/intl/messages_zh_Hans_CN.dart

@ -89,6 +89,8 @@ class MessageLookup extends MessageLookupByLibrary {
"bangong" : MessageLookupByLibrary.simpleMessage("办公"), "bangong" : MessageLookupByLibrary.simpleMessage("办公"),
"bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("帮助与反馈"), "bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("帮助与反馈"),
"beizhu" : MessageLookupByLibrary.simpleMessage("备注"), "beizhu" : MessageLookupByLibrary.simpleMessage("备注"),
"biaojiweiyidu" : MessageLookupByLibrary.simpleMessage("标为已读"),
"bodadianhua" : MessageLookupByLibrary.simpleMessage("拨打电话"),
"brand_yixinhuixiang" : MessageLookupByLibrary.simpleMessage("一心回乡"), "brand_yixinhuixiang" : MessageLookupByLibrary.simpleMessage("一心回乡"),
"buzhichikaipiao" : MessageLookupByLibrary.simpleMessage("不支持开票"), "buzhichikaipiao" : MessageLookupByLibrary.simpleMessage("不支持开票"),
"chakangengduo" : MessageLookupByLibrary.simpleMessage("查看更多"), "chakangengduo" : MessageLookupByLibrary.simpleMessage("查看更多"),
@ -101,6 +103,7 @@ class MessageLookup extends MessageLookupByLibrary {
"chenggongdengluzhuce" : MessageLookupByLibrary.simpleMessage("成功登录注册,并绑定相关信息即可成为会员。"), "chenggongdengluzhuce" : MessageLookupByLibrary.simpleMessage("成功登录注册,并绑定相关信息即可成为会员。"),
"chengweidianpuzhuanshuhuiyuan" : MessageLookupByLibrary.simpleMessage("成为店铺专属会员,享专属权益"), "chengweidianpuzhuanshuhuiyuan" : MessageLookupByLibrary.simpleMessage("成为店铺专属会员,享专属权益"),
"chongzhi" : MessageLookupByLibrary.simpleMessage("充值"), "chongzhi" : MessageLookupByLibrary.simpleMessage("充值"),
"chongzhixiaoxi" : MessageLookupByLibrary.simpleMessage("充值消息"),
"chongzhizuixiaojine" : m1, "chongzhizuixiaojine" : m1,
"chuangjianshijian" : m2, "chuangjianshijian" : m2,
"chuangshirendegushi" : MessageLookupByLibrary.simpleMessage("创始人的故事"), "chuangshirendegushi" : MessageLookupByLibrary.simpleMessage("创始人的故事"),
@ -127,6 +130,7 @@ class MessageLookup extends MessageLookupByLibrary {
"dingdandaizhifu" : MessageLookupByLibrary.simpleMessage("订单待支付"), "dingdandaizhifu" : MessageLookupByLibrary.simpleMessage("订单待支付"),
"dingdanhao" : MessageLookupByLibrary.simpleMessage("订单号"), "dingdanhao" : MessageLookupByLibrary.simpleMessage("订单号"),
"dingdanqueren" : MessageLookupByLibrary.simpleMessage("订单确认"), "dingdanqueren" : MessageLookupByLibrary.simpleMessage("订单确认"),
"dingdanxiaoxi" : MessageLookupByLibrary.simpleMessage("订单消息"),
"dingdanyisongda" : MessageLookupByLibrary.simpleMessage("订单送达"), "dingdanyisongda" : MessageLookupByLibrary.simpleMessage("订单送达"),
"dingdanyituikuan" : MessageLookupByLibrary.simpleMessage("订单已退款"), "dingdanyituikuan" : MessageLookupByLibrary.simpleMessage("订单已退款"),
"dingdanyiwancheng" : MessageLookupByLibrary.simpleMessage("订单已完成"), "dingdanyiwancheng" : MessageLookupByLibrary.simpleMessage("订单已完成"),
@ -140,6 +144,7 @@ class MessageLookup extends MessageLookupByLibrary {
"duihuanliangdidaogao" : MessageLookupByLibrary.simpleMessage("兑换量从低到高"), "duihuanliangdidaogao" : MessageLookupByLibrary.simpleMessage("兑换量从低到高"),
"duihuanlianggaodaodi" : MessageLookupByLibrary.simpleMessage("兑换量从高到低"), "duihuanlianggaodaodi" : MessageLookupByLibrary.simpleMessage("兑换量从高到低"),
"duihuanlishi" : MessageLookupByLibrary.simpleMessage("兑换历史"), "duihuanlishi" : MessageLookupByLibrary.simpleMessage("兑换历史"),
"duihuanquan" : MessageLookupByLibrary.simpleMessage("兑换券"),
"duihuanshangpinxiangqing" : MessageLookupByLibrary.simpleMessage("兑换商品详情"), "duihuanshangpinxiangqing" : MessageLookupByLibrary.simpleMessage("兑换商品详情"),
"duihuanxinxi" : MessageLookupByLibrary.simpleMessage("兑换信息"), "duihuanxinxi" : MessageLookupByLibrary.simpleMessage("兑换信息"),
"fanhuiduihuanlishi" : MessageLookupByLibrary.simpleMessage("返回兑换历史"), "fanhuiduihuanlishi" : MessageLookupByLibrary.simpleMessage("返回兑换历史"),
@ -155,6 +160,7 @@ class MessageLookup extends MessageLookupByLibrary {
"geiwopingfen" : MessageLookupByLibrary.simpleMessage("给我评分"), "geiwopingfen" : MessageLookupByLibrary.simpleMessage("给我评分"),
"gengduo" : MessageLookupByLibrary.simpleMessage("更多"), "gengduo" : MessageLookupByLibrary.simpleMessage("更多"),
"gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多优惠券"), "gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多优惠券"),
"genghuantouxiang" : MessageLookupByLibrary.simpleMessage("更换头像"),
"gerenxinxi" : MessageLookupByLibrary.simpleMessage("个人信息"), "gerenxinxi" : MessageLookupByLibrary.simpleMessage("个人信息"),
"gong" : MessageLookupByLibrary.simpleMessage(""), "gong" : MessageLookupByLibrary.simpleMessage(""),
"gongjijianshangpin" : m5, "gongjijianshangpin" : m5,
@ -164,6 +170,7 @@ class MessageLookup extends MessageLookupByLibrary {
"guanlidizhi" : MessageLookupByLibrary.simpleMessage("管理地址"), "guanlidizhi" : MessageLookupByLibrary.simpleMessage("管理地址"),
"guanyu" : MessageLookupByLibrary.simpleMessage("关于"), "guanyu" : MessageLookupByLibrary.simpleMessage("关于"),
"guojiankangyoujishenghuo" : MessageLookupByLibrary.simpleMessage("过健康有机生活"), "guojiankangyoujishenghuo" : MessageLookupByLibrary.simpleMessage("过健康有机生活"),
"haimeiyouxiaoxi" : MessageLookupByLibrary.simpleMessage("还没有消息~"),
"haixiajiemei" : MessageLookupByLibrary.simpleMessage("海峡姐妹"), "haixiajiemei" : MessageLookupByLibrary.simpleMessage("海峡姐妹"),
"haowu" : MessageLookupByLibrary.simpleMessage("好物"), "haowu" : MessageLookupByLibrary.simpleMessage("好物"),
"heji" : MessageLookupByLibrary.simpleMessage("合计:"), "heji" : MessageLookupByLibrary.simpleMessage("合计:"),
@ -249,11 +256,13 @@ class MessageLookup extends MessageLookupByLibrary {
"mingxi" : MessageLookupByLibrary.simpleMessage("明细"), "mingxi" : MessageLookupByLibrary.simpleMessage("明细"),
"morenpaixu" : MessageLookupByLibrary.simpleMessage("默认排序"), "morenpaixu" : MessageLookupByLibrary.simpleMessage("默认排序"),
"muqianzanwuxingdianhuodong" : MessageLookupByLibrary.simpleMessage("目前暂无星店活动"), "muqianzanwuxingdianhuodong" : MessageLookupByLibrary.simpleMessage("目前暂无星店活动"),
"nihaimeiyouchongzhihuoxiaofeijilu" : MessageLookupByLibrary.simpleMessage("你在这儿还没有消费或充值记录哦~"),
"nindingweigongnengweikaiqi" : MessageLookupByLibrary.simpleMessage("您定位功能开关未开启,请点击去打開定位"), "nindingweigongnengweikaiqi" : MessageLookupByLibrary.simpleMessage("您定位功能开关未开启,请点击去打開定位"),
"nindingweiquanxianweiyunxu" : MessageLookupByLibrary.simpleMessage("您未开启位置权限,请点击确定申请权限"), "nindingweiquanxianweiyunxu" : MessageLookupByLibrary.simpleMessage("您未开启位置权限,请点击确定申请权限"),
"ninweidenglu" : MessageLookupByLibrary.simpleMessage("您未登录,请点击去登录"), "ninweidenglu" : MessageLookupByLibrary.simpleMessage("您未登录,请点击去登录"),
"ninyouyigedingdanyaolingqu" : MessageLookupByLibrary.simpleMessage("您有一个订单需要前往门店领取"), "ninyouyigedingdanyaolingqu" : MessageLookupByLibrary.simpleMessage("您有一个订单需要前往门店领取"),
"ninyouyigexindedingdan" : MessageLookupByLibrary.simpleMessage("您有一个新的订单"), "ninyouyigexindedingdan" : MessageLookupByLibrary.simpleMessage("您有一个新的订单"),
"paizhao" : MessageLookupByLibrary.simpleMessage("拍照"),
"peisong" : MessageLookupByLibrary.simpleMessage("配送"), "peisong" : MessageLookupByLibrary.simpleMessage("配送"),
"peisongfangshi" : MessageLookupByLibrary.simpleMessage("配送方式"), "peisongfangshi" : MessageLookupByLibrary.simpleMessage("配送方式"),
"peisongfei" : MessageLookupByLibrary.simpleMessage("配送费"), "peisongfei" : MessageLookupByLibrary.simpleMessage("配送费"),
@ -303,6 +312,7 @@ class MessageLookup extends MessageLookupByLibrary {
"querenchongzhi" : MessageLookupByLibrary.simpleMessage("确认充值"), "querenchongzhi" : MessageLookupByLibrary.simpleMessage("确认充值"),
"querenduihuan" : MessageLookupByLibrary.simpleMessage("确认兑换"), "querenduihuan" : MessageLookupByLibrary.simpleMessage("确认兑换"),
"querenshouhuo" : MessageLookupByLibrary.simpleMessage("确认收货"), "querenshouhuo" : MessageLookupByLibrary.simpleMessage("确认收货"),
"quhexiao" : MessageLookupByLibrary.simpleMessage("去核销"),
"quhuozhong" : MessageLookupByLibrary.simpleMessage("取货中"), "quhuozhong" : MessageLookupByLibrary.simpleMessage("取货中"),
"qujianma" : MessageLookupByLibrary.simpleMessage("取件码"), "qujianma" : MessageLookupByLibrary.simpleMessage("取件码"),
"quqiandao" : MessageLookupByLibrary.simpleMessage("去签到"), "quqiandao" : MessageLookupByLibrary.simpleMessage("去签到"),
@ -327,6 +337,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shanglajiazai" : MessageLookupByLibrary.simpleMessage("上拉加载"), "shanglajiazai" : MessageLookupByLibrary.simpleMessage("上拉加载"),
"shangpinjifen" : m20, "shangpinjifen" : m20,
"shangpinxiangqing" : MessageLookupByLibrary.simpleMessage("商品详情"), "shangpinxiangqing" : MessageLookupByLibrary.simpleMessage("商品详情"),
"shangyidengji" : MessageLookupByLibrary.simpleMessage("上一等级"),
"shenghuoyule" : MessageLookupByLibrary.simpleMessage("生活娱乐"), "shenghuoyule" : MessageLookupByLibrary.simpleMessage("生活娱乐"),
"shenmijifendali" : MessageLookupByLibrary.simpleMessage("神秘积分大礼"), "shenmijifendali" : MessageLookupByLibrary.simpleMessage("神秘积分大礼"),
"shenqingtuikuan" : MessageLookupByLibrary.simpleMessage("申请退款"), "shenqingtuikuan" : MessageLookupByLibrary.simpleMessage("申请退款"),
@ -387,10 +398,12 @@ class MessageLookup extends MessageLookupByLibrary {
"xiadanshijian" : MessageLookupByLibrary.simpleMessage("下单时间"), "xiadanshijian" : MessageLookupByLibrary.simpleMessage("下单时间"),
"xiadanshijian_" : m24, "xiadanshijian_" : m24,
"xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"), "xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"),
"xiangce" : MessageLookupByLibrary.simpleMessage("相册"),
"xiangji" : MessageLookupByLibrary.simpleMessage("相机"), "xiangji" : MessageLookupByLibrary.simpleMessage("相机"),
"xiangjitishixinxi" : MessageLookupByLibrary.simpleMessage("为了您可以在使用过程中进行分享,希望您使用HISAPP时让我们使用相机功能"), "xiangjitishixinxi" : MessageLookupByLibrary.simpleMessage("为了您可以在使用过程中进行分享,希望您使用HISAPP时让我们使用相机功能"),
"xiangqing" : MessageLookupByLibrary.simpleMessage("详情"), "xiangqing" : MessageLookupByLibrary.simpleMessage("详情"),
"xianshangfafang" : MessageLookupByLibrary.simpleMessage("线上发放"), "xianshangfafang" : MessageLookupByLibrary.simpleMessage("线上发放"),
"xianxiashiyong" : MessageLookupByLibrary.simpleMessage("线下使用"),
"xiaofei" : MessageLookupByLibrary.simpleMessage("消费"), "xiaofei" : MessageLookupByLibrary.simpleMessage("消费"),
"xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"), "xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"),
"xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"), "xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"),

15
lib/generated/intl/messages_zh_Hant_CN.dart

@ -89,6 +89,8 @@ class MessageLookup extends MessageLookupByLibrary {
"bangong" : MessageLookupByLibrary.simpleMessage("辦公"), "bangong" : MessageLookupByLibrary.simpleMessage("辦公"),
"bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("幫助與反饋"), "bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("幫助與反饋"),
"beizhu" : MessageLookupByLibrary.simpleMessage("備注"), "beizhu" : MessageLookupByLibrary.simpleMessage("備注"),
"biaojiweiyidu" : MessageLookupByLibrary.simpleMessage("標為已讀"),
"bodadianhua" : MessageLookupByLibrary.simpleMessage("撥打電話"),
"brand_yixinhuixiang" : MessageLookupByLibrary.simpleMessage("一心回鄉"), "brand_yixinhuixiang" : MessageLookupByLibrary.simpleMessage("一心回鄉"),
"buzhichikaipiao" : MessageLookupByLibrary.simpleMessage("不支持開票"), "buzhichikaipiao" : MessageLookupByLibrary.simpleMessage("不支持開票"),
"chakangengduo" : MessageLookupByLibrary.simpleMessage("查看更多"), "chakangengduo" : MessageLookupByLibrary.simpleMessage("查看更多"),
@ -101,6 +103,7 @@ class MessageLookup extends MessageLookupByLibrary {
"chenggongdengluzhuce" : MessageLookupByLibrary.simpleMessage("成功登录注册,并绑定相关信息即可成为会员。"), "chenggongdengluzhuce" : MessageLookupByLibrary.simpleMessage("成功登录注册,并绑定相关信息即可成为会员。"),
"chengweidianpuzhuanshuhuiyuan" : MessageLookupByLibrary.simpleMessage("成為專屬會員,享專屬權益"), "chengweidianpuzhuanshuhuiyuan" : MessageLookupByLibrary.simpleMessage("成為專屬會員,享專屬權益"),
"chongzhi" : MessageLookupByLibrary.simpleMessage("充值"), "chongzhi" : MessageLookupByLibrary.simpleMessage("充值"),
"chongzhixiaoxi" : MessageLookupByLibrary.simpleMessage("充值消息"),
"chongzhizuixiaojine" : m1, "chongzhizuixiaojine" : m1,
"chuangjianshijian" : m2, "chuangjianshijian" : m2,
"chuangshirendegushi" : MessageLookupByLibrary.simpleMessage("創始人的故事"), "chuangshirendegushi" : MessageLookupByLibrary.simpleMessage("創始人的故事"),
@ -127,6 +130,7 @@ class MessageLookup extends MessageLookupByLibrary {
"dingdandaizhifu" : MessageLookupByLibrary.simpleMessage("訂單待支付"), "dingdandaizhifu" : MessageLookupByLibrary.simpleMessage("訂單待支付"),
"dingdanhao" : MessageLookupByLibrary.simpleMessage("訂單號"), "dingdanhao" : MessageLookupByLibrary.simpleMessage("訂單號"),
"dingdanqueren" : MessageLookupByLibrary.simpleMessage("订单确认"), "dingdanqueren" : MessageLookupByLibrary.simpleMessage("订单确认"),
"dingdanxiaoxi" : MessageLookupByLibrary.simpleMessage("訂單消息"),
"dingdanyisongda" : MessageLookupByLibrary.simpleMessage("訂單送達"), "dingdanyisongda" : MessageLookupByLibrary.simpleMessage("訂單送達"),
"dingdanyituikuan" : MessageLookupByLibrary.simpleMessage("訂單已退款"), "dingdanyituikuan" : MessageLookupByLibrary.simpleMessage("訂單已退款"),
"dingdanyiwancheng" : MessageLookupByLibrary.simpleMessage("訂單已完成"), "dingdanyiwancheng" : MessageLookupByLibrary.simpleMessage("訂單已完成"),
@ -140,6 +144,7 @@ class MessageLookup extends MessageLookupByLibrary {
"duihuanliangdidaogao" : MessageLookupByLibrary.simpleMessage("兌換量從低到高"), "duihuanliangdidaogao" : MessageLookupByLibrary.simpleMessage("兌換量從低到高"),
"duihuanlianggaodaodi" : MessageLookupByLibrary.simpleMessage("兌換量從高到低"), "duihuanlianggaodaodi" : MessageLookupByLibrary.simpleMessage("兌換量從高到低"),
"duihuanlishi" : MessageLookupByLibrary.simpleMessage("兌換歷史"), "duihuanlishi" : MessageLookupByLibrary.simpleMessage("兌換歷史"),
"duihuanquan" : MessageLookupByLibrary.simpleMessage("兌換券"),
"duihuanshangpinxiangqing" : MessageLookupByLibrary.simpleMessage("兑换商品详情"), "duihuanshangpinxiangqing" : MessageLookupByLibrary.simpleMessage("兑换商品详情"),
"duihuanxinxi" : MessageLookupByLibrary.simpleMessage("兑换信息"), "duihuanxinxi" : MessageLookupByLibrary.simpleMessage("兑换信息"),
"fanhuiduihuanlishi" : MessageLookupByLibrary.simpleMessage("返回兌換歷史"), "fanhuiduihuanlishi" : MessageLookupByLibrary.simpleMessage("返回兌換歷史"),
@ -155,6 +160,7 @@ class MessageLookup extends MessageLookupByLibrary {
"geiwopingfen" : MessageLookupByLibrary.simpleMessage("給我評分"), "geiwopingfen" : MessageLookupByLibrary.simpleMessage("給我評分"),
"gengduo" : MessageLookupByLibrary.simpleMessage("更多"), "gengduo" : MessageLookupByLibrary.simpleMessage("更多"),
"gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多優惠券"), "gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多優惠券"),
"genghuantouxiang" : MessageLookupByLibrary.simpleMessage("更换头像"),
"gerenxinxi" : MessageLookupByLibrary.simpleMessage("個人信息"), "gerenxinxi" : MessageLookupByLibrary.simpleMessage("個人信息"),
"gong" : MessageLookupByLibrary.simpleMessage(""), "gong" : MessageLookupByLibrary.simpleMessage(""),
"gongjijianshangpin" : m5, "gongjijianshangpin" : m5,
@ -164,6 +170,7 @@ class MessageLookup extends MessageLookupByLibrary {
"guanlidizhi" : MessageLookupByLibrary.simpleMessage("管理地址"), "guanlidizhi" : MessageLookupByLibrary.simpleMessage("管理地址"),
"guanyu" : MessageLookupByLibrary.simpleMessage("關於"), "guanyu" : MessageLookupByLibrary.simpleMessage("關於"),
"guojiankangyoujishenghuo" : MessageLookupByLibrary.simpleMessage("過健康有機生活"), "guojiankangyoujishenghuo" : MessageLookupByLibrary.simpleMessage("過健康有機生活"),
"haimeiyouxiaoxi" : MessageLookupByLibrary.simpleMessage("還沒有消息~"),
"haixiajiemei" : MessageLookupByLibrary.simpleMessage("海峽姐妹"), "haixiajiemei" : MessageLookupByLibrary.simpleMessage("海峽姐妹"),
"haowu" : MessageLookupByLibrary.simpleMessage("好物"), "haowu" : MessageLookupByLibrary.simpleMessage("好物"),
"heji" : MessageLookupByLibrary.simpleMessage("合計:"), "heji" : MessageLookupByLibrary.simpleMessage("合計:"),
@ -249,11 +256,13 @@ class MessageLookup extends MessageLookupByLibrary {
"mingxi" : MessageLookupByLibrary.simpleMessage("明細"), "mingxi" : MessageLookupByLibrary.simpleMessage("明細"),
"morenpaixu" : MessageLookupByLibrary.simpleMessage("默認排序"), "morenpaixu" : MessageLookupByLibrary.simpleMessage("默認排序"),
"muqianzanwuxingdianhuodong" : MessageLookupByLibrary.simpleMessage("目前暫無星店活動"), "muqianzanwuxingdianhuodong" : MessageLookupByLibrary.simpleMessage("目前暫無星店活動"),
"nihaimeiyouchongzhihuoxiaofeijilu" : MessageLookupByLibrary.simpleMessage("你在這兒還沒有消費或充值紀錄喔~"),
"nindingweigongnengweikaiqi" : MessageLookupByLibrary.simpleMessage("您定位功能開關未開啟,請點擊去開啟定位"), "nindingweigongnengweikaiqi" : MessageLookupByLibrary.simpleMessage("您定位功能開關未開啟,請點擊去開啟定位"),
"nindingweiquanxianweiyunxu" : MessageLookupByLibrary.simpleMessage("您未开启位置权限,请点击确定申请权限"), "nindingweiquanxianweiyunxu" : MessageLookupByLibrary.simpleMessage("您未开启位置权限,请点击确定申请权限"),
"ninweidenglu" : MessageLookupByLibrary.simpleMessage("您未登錄,請點擊去登錄"), "ninweidenglu" : MessageLookupByLibrary.simpleMessage("您未登錄,請點擊去登錄"),
"ninyouyigedingdanyaolingqu" : MessageLookupByLibrary.simpleMessage("您有一個訂單需要前往門店領取"), "ninyouyigedingdanyaolingqu" : MessageLookupByLibrary.simpleMessage("您有一個訂單需要前往門店領取"),
"ninyouyigexindedingdan" : MessageLookupByLibrary.simpleMessage("您有一個新訂單"), "ninyouyigexindedingdan" : MessageLookupByLibrary.simpleMessage("您有一個新訂單"),
"paizhao" : MessageLookupByLibrary.simpleMessage("拍照"),
"peisong" : MessageLookupByLibrary.simpleMessage("配送"), "peisong" : MessageLookupByLibrary.simpleMessage("配送"),
"peisongfangshi" : MessageLookupByLibrary.simpleMessage("配送方式"), "peisongfangshi" : MessageLookupByLibrary.simpleMessage("配送方式"),
"peisongfei" : MessageLookupByLibrary.simpleMessage("配送費"), "peisongfei" : MessageLookupByLibrary.simpleMessage("配送費"),
@ -303,6 +312,7 @@ class MessageLookup extends MessageLookupByLibrary {
"querenchongzhi" : MessageLookupByLibrary.simpleMessage("確認充值"), "querenchongzhi" : MessageLookupByLibrary.simpleMessage("確認充值"),
"querenduihuan" : MessageLookupByLibrary.simpleMessage("确认兑换"), "querenduihuan" : MessageLookupByLibrary.simpleMessage("确认兑换"),
"querenshouhuo" : MessageLookupByLibrary.simpleMessage("確認收貨"), "querenshouhuo" : MessageLookupByLibrary.simpleMessage("確認收貨"),
"quhexiao" : MessageLookupByLibrary.simpleMessage("去核銷"),
"quhuozhong" : MessageLookupByLibrary.simpleMessage("取貨中"), "quhuozhong" : MessageLookupByLibrary.simpleMessage("取貨中"),
"qujianma" : MessageLookupByLibrary.simpleMessage("取件碼"), "qujianma" : MessageLookupByLibrary.simpleMessage("取件碼"),
"quqiandao" : MessageLookupByLibrary.simpleMessage("去簽到"), "quqiandao" : MessageLookupByLibrary.simpleMessage("去簽到"),
@ -327,6 +337,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shanglajiazai" : MessageLookupByLibrary.simpleMessage("上拉加載"), "shanglajiazai" : MessageLookupByLibrary.simpleMessage("上拉加載"),
"shangpinjifen" : m20, "shangpinjifen" : m20,
"shangpinxiangqing" : MessageLookupByLibrary.simpleMessage("商品詳情"), "shangpinxiangqing" : MessageLookupByLibrary.simpleMessage("商品詳情"),
"shangyidengji" : MessageLookupByLibrary.simpleMessage("上一等級"),
"shenghuoyule" : MessageLookupByLibrary.simpleMessage("生活娛樂"), "shenghuoyule" : MessageLookupByLibrary.simpleMessage("生活娛樂"),
"shenmijifendali" : MessageLookupByLibrary.simpleMessage("神秘積分大禮"), "shenmijifendali" : MessageLookupByLibrary.simpleMessage("神秘積分大禮"),
"shenqingtuikuan" : MessageLookupByLibrary.simpleMessage("申請退款"), "shenqingtuikuan" : MessageLookupByLibrary.simpleMessage("申請退款"),
@ -387,16 +398,18 @@ class MessageLookup extends MessageLookupByLibrary {
"xiadanshijian" : MessageLookupByLibrary.simpleMessage("下單時間"), "xiadanshijian" : MessageLookupByLibrary.simpleMessage("下單時間"),
"xiadanshijian_" : m24, "xiadanshijian_" : m24,
"xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"), "xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"),
"xiangce" : MessageLookupByLibrary.simpleMessage("相冊"),
"xiangji" : MessageLookupByLibrary.simpleMessage("相機"), "xiangji" : MessageLookupByLibrary.simpleMessage("相機"),
"xiangjitishixinxi" : MessageLookupByLibrary.simpleMessage("為了您可以在使用過程中進行分享,希望您使用HISAPP時讓我們使用相機功能 "), "xiangjitishixinxi" : MessageLookupByLibrary.simpleMessage("為了您可以在使用過程中進行分享,希望您使用HISAPP時讓我們使用相機功能 "),
"xiangqing" : MessageLookupByLibrary.simpleMessage("詳情"), "xiangqing" : MessageLookupByLibrary.simpleMessage("詳情"),
"xianshangfafang" : MessageLookupByLibrary.simpleMessage("綫上發放"), "xianshangfafang" : MessageLookupByLibrary.simpleMessage("綫上發放"),
"xianxiashiyong" : MessageLookupByLibrary.simpleMessage("線下使用"),
"xiaofei" : MessageLookupByLibrary.simpleMessage("消費"), "xiaofei" : MessageLookupByLibrary.simpleMessage("消費"),
"xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"), "xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"),
"xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"), "xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"),
"xiayidengji" : MessageLookupByLibrary.simpleMessage("下一等級"), "xiayidengji" : MessageLookupByLibrary.simpleMessage("下一等級"),
"xindianhuodong" : MessageLookupByLibrary.simpleMessage("星店活動"), "xindianhuodong" : MessageLookupByLibrary.simpleMessage("星店活動"),
"xitongtongzhi" : MessageLookupByLibrary.simpleMessage("通知"), "xitongtongzhi" : MessageLookupByLibrary.simpleMessage("通知"),
"xitongxiaoxi" : MessageLookupByLibrary.simpleMessage("系統消息"), "xitongxiaoxi" : MessageLookupByLibrary.simpleMessage("系統消息"),
"xuni" : MessageLookupByLibrary.simpleMessage("虛擬"), "xuni" : MessageLookupByLibrary.simpleMessage("虛擬"),
"yiduihuan" : MessageLookupByLibrary.simpleMessage("已兌換"), "yiduihuan" : MessageLookupByLibrary.simpleMessage("已兌換"),

15
lib/generated/intl/messages_zh_TW.dart

@ -89,6 +89,8 @@ class MessageLookup extends MessageLookupByLibrary {
"bangong" : MessageLookupByLibrary.simpleMessage("辦公"), "bangong" : MessageLookupByLibrary.simpleMessage("辦公"),
"bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("幫助與反饋"), "bangzhuyufankui" : MessageLookupByLibrary.simpleMessage("幫助與反饋"),
"beizhu" : MessageLookupByLibrary.simpleMessage("備注"), "beizhu" : MessageLookupByLibrary.simpleMessage("備注"),
"biaojiweiyidu" : MessageLookupByLibrary.simpleMessage("標為已讀"),
"bodadianhua" : MessageLookupByLibrary.simpleMessage("撥打電話"),
"brand_yixinhuixiang" : MessageLookupByLibrary.simpleMessage("一心回鄉"), "brand_yixinhuixiang" : MessageLookupByLibrary.simpleMessage("一心回鄉"),
"buzhichikaipiao" : MessageLookupByLibrary.simpleMessage("不支持開票"), "buzhichikaipiao" : MessageLookupByLibrary.simpleMessage("不支持開票"),
"chakangengduo" : MessageLookupByLibrary.simpleMessage("查看更多"), "chakangengduo" : MessageLookupByLibrary.simpleMessage("查看更多"),
@ -101,6 +103,7 @@ class MessageLookup extends MessageLookupByLibrary {
"chenggongdengluzhuce" : MessageLookupByLibrary.simpleMessage("成功登录注册,并绑定相关信息即可成为会员。"), "chenggongdengluzhuce" : MessageLookupByLibrary.simpleMessage("成功登录注册,并绑定相关信息即可成为会员。"),
"chengweidianpuzhuanshuhuiyuan" : MessageLookupByLibrary.simpleMessage("成為專屬會員,享專屬權益"), "chengweidianpuzhuanshuhuiyuan" : MessageLookupByLibrary.simpleMessage("成為專屬會員,享專屬權益"),
"chongzhi" : MessageLookupByLibrary.simpleMessage("充值"), "chongzhi" : MessageLookupByLibrary.simpleMessage("充值"),
"chongzhixiaoxi" : MessageLookupByLibrary.simpleMessage("充值消息"),
"chongzhizuixiaojine" : m1, "chongzhizuixiaojine" : m1,
"chuangjianshijian" : m2, "chuangjianshijian" : m2,
"chuangshirendegushi" : MessageLookupByLibrary.simpleMessage("創始人的故事"), "chuangshirendegushi" : MessageLookupByLibrary.simpleMessage("創始人的故事"),
@ -127,6 +130,7 @@ class MessageLookup extends MessageLookupByLibrary {
"dingdandaizhifu" : MessageLookupByLibrary.simpleMessage("訂單待支付"), "dingdandaizhifu" : MessageLookupByLibrary.simpleMessage("訂單待支付"),
"dingdanhao" : MessageLookupByLibrary.simpleMessage("訂單號"), "dingdanhao" : MessageLookupByLibrary.simpleMessage("訂單號"),
"dingdanqueren" : MessageLookupByLibrary.simpleMessage("订单确认"), "dingdanqueren" : MessageLookupByLibrary.simpleMessage("订单确认"),
"dingdanxiaoxi" : MessageLookupByLibrary.simpleMessage("訂單消息"),
"dingdanyisongda" : MessageLookupByLibrary.simpleMessage("訂單送達"), "dingdanyisongda" : MessageLookupByLibrary.simpleMessage("訂單送達"),
"dingdanyituikuan" : MessageLookupByLibrary.simpleMessage("訂單已退款"), "dingdanyituikuan" : MessageLookupByLibrary.simpleMessage("訂單已退款"),
"dingdanyiwancheng" : MessageLookupByLibrary.simpleMessage("訂單已完成"), "dingdanyiwancheng" : MessageLookupByLibrary.simpleMessage("訂單已完成"),
@ -140,6 +144,7 @@ class MessageLookup extends MessageLookupByLibrary {
"duihuanliangdidaogao" : MessageLookupByLibrary.simpleMessage("兌換量從低到高"), "duihuanliangdidaogao" : MessageLookupByLibrary.simpleMessage("兌換量從低到高"),
"duihuanlianggaodaodi" : MessageLookupByLibrary.simpleMessage("兌換量從高到低"), "duihuanlianggaodaodi" : MessageLookupByLibrary.simpleMessage("兌換量從高到低"),
"duihuanlishi" : MessageLookupByLibrary.simpleMessage("兌換歷史"), "duihuanlishi" : MessageLookupByLibrary.simpleMessage("兌換歷史"),
"duihuanquan" : MessageLookupByLibrary.simpleMessage("兌換券"),
"duihuanshangpinxiangqing" : MessageLookupByLibrary.simpleMessage("兑换商品详情"), "duihuanshangpinxiangqing" : MessageLookupByLibrary.simpleMessage("兑换商品详情"),
"duihuanxinxi" : MessageLookupByLibrary.simpleMessage("兑换信息"), "duihuanxinxi" : MessageLookupByLibrary.simpleMessage("兑换信息"),
"fanhuiduihuanlishi" : MessageLookupByLibrary.simpleMessage("返回兌換歷史"), "fanhuiduihuanlishi" : MessageLookupByLibrary.simpleMessage("返回兌換歷史"),
@ -155,6 +160,7 @@ class MessageLookup extends MessageLookupByLibrary {
"geiwopingfen" : MessageLookupByLibrary.simpleMessage("給我評分"), "geiwopingfen" : MessageLookupByLibrary.simpleMessage("給我評分"),
"gengduo" : MessageLookupByLibrary.simpleMessage("更多"), "gengduo" : MessageLookupByLibrary.simpleMessage("更多"),
"gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多優惠券"), "gengduoyouhuiquan" : MessageLookupByLibrary.simpleMessage("更多優惠券"),
"genghuantouxiang" : MessageLookupByLibrary.simpleMessage("更換頭像"),
"gerenxinxi" : MessageLookupByLibrary.simpleMessage("個人信息"), "gerenxinxi" : MessageLookupByLibrary.simpleMessage("個人信息"),
"gong" : MessageLookupByLibrary.simpleMessage(""), "gong" : MessageLookupByLibrary.simpleMessage(""),
"gongjijianshangpin" : m5, "gongjijianshangpin" : m5,
@ -164,6 +170,7 @@ class MessageLookup extends MessageLookupByLibrary {
"guanlidizhi" : MessageLookupByLibrary.simpleMessage("管理地址"), "guanlidizhi" : MessageLookupByLibrary.simpleMessage("管理地址"),
"guanyu" : MessageLookupByLibrary.simpleMessage("關於"), "guanyu" : MessageLookupByLibrary.simpleMessage("關於"),
"guojiankangyoujishenghuo" : MessageLookupByLibrary.simpleMessage("過健康有機生活"), "guojiankangyoujishenghuo" : MessageLookupByLibrary.simpleMessage("過健康有機生活"),
"haimeiyouxiaoxi" : MessageLookupByLibrary.simpleMessage("還沒有消息~"),
"haixiajiemei" : MessageLookupByLibrary.simpleMessage("海峽姐妹"), "haixiajiemei" : MessageLookupByLibrary.simpleMessage("海峽姐妹"),
"haowu" : MessageLookupByLibrary.simpleMessage("好物"), "haowu" : MessageLookupByLibrary.simpleMessage("好物"),
"heji" : MessageLookupByLibrary.simpleMessage("合計:"), "heji" : MessageLookupByLibrary.simpleMessage("合計:"),
@ -249,11 +256,13 @@ class MessageLookup extends MessageLookupByLibrary {
"mingxi" : MessageLookupByLibrary.simpleMessage("明細"), "mingxi" : MessageLookupByLibrary.simpleMessage("明細"),
"morenpaixu" : MessageLookupByLibrary.simpleMessage("默認排序"), "morenpaixu" : MessageLookupByLibrary.simpleMessage("默認排序"),
"muqianzanwuxingdianhuodong" : MessageLookupByLibrary.simpleMessage("目前暫無星店活動"), "muqianzanwuxingdianhuodong" : MessageLookupByLibrary.simpleMessage("目前暫無星店活動"),
"nihaimeiyouchongzhihuoxiaofeijilu" : MessageLookupByLibrary.simpleMessage("你在這兒還沒有消費或充值紀錄喔~"),
"nindingweigongnengweikaiqi" : MessageLookupByLibrary.simpleMessage("您定位功能開關未開啟,請點擊去開啟定位"), "nindingweigongnengweikaiqi" : MessageLookupByLibrary.simpleMessage("您定位功能開關未開啟,請點擊去開啟定位"),
"nindingweiquanxianweiyunxu" : MessageLookupByLibrary.simpleMessage("您未开启位置权限,请点击确定申请权限"), "nindingweiquanxianweiyunxu" : MessageLookupByLibrary.simpleMessage("您未开启位置权限,请点击确定申请权限"),
"ninweidenglu" : MessageLookupByLibrary.simpleMessage("您未登錄,請點擊去登錄"), "ninweidenglu" : MessageLookupByLibrary.simpleMessage("您未登錄,請點擊去登錄"),
"ninyouyigedingdanyaolingqu" : MessageLookupByLibrary.simpleMessage("您有一個訂單需要前往門店領取"), "ninyouyigedingdanyaolingqu" : MessageLookupByLibrary.simpleMessage("您有一個訂單需要前往門店領取"),
"ninyouyigexindedingdan" : MessageLookupByLibrary.simpleMessage("您有一個新訂單"), "ninyouyigexindedingdan" : MessageLookupByLibrary.simpleMessage("您有一個新訂單"),
"paizhao" : MessageLookupByLibrary.simpleMessage("拍照"),
"peisong" : MessageLookupByLibrary.simpleMessage("配送"), "peisong" : MessageLookupByLibrary.simpleMessage("配送"),
"peisongfangshi" : MessageLookupByLibrary.simpleMessage("配送方式"), "peisongfangshi" : MessageLookupByLibrary.simpleMessage("配送方式"),
"peisongfei" : MessageLookupByLibrary.simpleMessage("配送費"), "peisongfei" : MessageLookupByLibrary.simpleMessage("配送費"),
@ -303,6 +312,7 @@ class MessageLookup extends MessageLookupByLibrary {
"querenchongzhi" : MessageLookupByLibrary.simpleMessage("確認充值"), "querenchongzhi" : MessageLookupByLibrary.simpleMessage("確認充值"),
"querenduihuan" : MessageLookupByLibrary.simpleMessage("确认兑换"), "querenduihuan" : MessageLookupByLibrary.simpleMessage("确认兑换"),
"querenshouhuo" : MessageLookupByLibrary.simpleMessage("確認收貨"), "querenshouhuo" : MessageLookupByLibrary.simpleMessage("確認收貨"),
"quhexiao" : MessageLookupByLibrary.simpleMessage("去核銷"),
"quhuozhong" : MessageLookupByLibrary.simpleMessage("取貨中"), "quhuozhong" : MessageLookupByLibrary.simpleMessage("取貨中"),
"qujianma" : MessageLookupByLibrary.simpleMessage("取件碼"), "qujianma" : MessageLookupByLibrary.simpleMessage("取件碼"),
"quqiandao" : MessageLookupByLibrary.simpleMessage("去簽到"), "quqiandao" : MessageLookupByLibrary.simpleMessage("去簽到"),
@ -327,6 +337,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shanglajiazai" : MessageLookupByLibrary.simpleMessage("上拉加載"), "shanglajiazai" : MessageLookupByLibrary.simpleMessage("上拉加載"),
"shangpinjifen" : m20, "shangpinjifen" : m20,
"shangpinxiangqing" : MessageLookupByLibrary.simpleMessage("商品詳情"), "shangpinxiangqing" : MessageLookupByLibrary.simpleMessage("商品詳情"),
"shangyidengji" : MessageLookupByLibrary.simpleMessage("上一等級"),
"shenghuoyule" : MessageLookupByLibrary.simpleMessage("生活娛樂"), "shenghuoyule" : MessageLookupByLibrary.simpleMessage("生活娛樂"),
"shenmijifendali" : MessageLookupByLibrary.simpleMessage("神秘積分大禮"), "shenmijifendali" : MessageLookupByLibrary.simpleMessage("神秘積分大禮"),
"shenqingtuikuan" : MessageLookupByLibrary.simpleMessage("申請退款"), "shenqingtuikuan" : MessageLookupByLibrary.simpleMessage("申請退款"),
@ -387,16 +398,18 @@ class MessageLookup extends MessageLookupByLibrary {
"xiadanshijian" : MessageLookupByLibrary.simpleMessage("下單時間"), "xiadanshijian" : MessageLookupByLibrary.simpleMessage("下單時間"),
"xiadanshijian_" : m24, "xiadanshijian_" : m24,
"xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"), "xialashuaxin" : MessageLookupByLibrary.simpleMessage("下拉刷新"),
"xiangce" : MessageLookupByLibrary.simpleMessage("相冊"),
"xiangji" : MessageLookupByLibrary.simpleMessage("相機"), "xiangji" : MessageLookupByLibrary.simpleMessage("相機"),
"xiangjitishixinxi" : MessageLookupByLibrary.simpleMessage("為了您可以在使用過程中進行分享,希望您使用HISAPP時讓我們使用相機功能 "), "xiangjitishixinxi" : MessageLookupByLibrary.simpleMessage("為了您可以在使用過程中進行分享,希望您使用HISAPP時讓我們使用相機功能 "),
"xiangqing" : MessageLookupByLibrary.simpleMessage("詳情"), "xiangqing" : MessageLookupByLibrary.simpleMessage("詳情"),
"xianshangfafang" : MessageLookupByLibrary.simpleMessage("綫上發放"), "xianshangfafang" : MessageLookupByLibrary.simpleMessage("綫上發放"),
"xianxiashiyong" : MessageLookupByLibrary.simpleMessage("線下使用"),
"xiaofei" : MessageLookupByLibrary.simpleMessage("消費"), "xiaofei" : MessageLookupByLibrary.simpleMessage("消費"),
"xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"), "xiaofeijifen" : MessageLookupByLibrary.simpleMessage("消费积分"),
"xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"), "xiaoxi" : MessageLookupByLibrary.simpleMessage("消息"),
"xiayidengji" : MessageLookupByLibrary.simpleMessage("下一等級"), "xiayidengji" : MessageLookupByLibrary.simpleMessage("下一等級"),
"xindianhuodong" : MessageLookupByLibrary.simpleMessage("星店活動"), "xindianhuodong" : MessageLookupByLibrary.simpleMessage("星店活動"),
"xitongtongzhi" : MessageLookupByLibrary.simpleMessage("通知"), "xitongtongzhi" : MessageLookupByLibrary.simpleMessage("通知"),
"xitongxiaoxi" : MessageLookupByLibrary.simpleMessage("系統消息"), "xitongxiaoxi" : MessageLookupByLibrary.simpleMessage("系統消息"),
"xuni" : MessageLookupByLibrary.simpleMessage("虛擬"), "xuni" : MessageLookupByLibrary.simpleMessage("虛擬"),
"yiduihuan" : MessageLookupByLibrary.simpleMessage("已兌換"), "yiduihuan" : MessageLookupByLibrary.simpleMessage("已兌換"),

130
lib/generated/l10n.dart

@ -3795,6 +3795,116 @@ class S {
); );
} }
/// ``
String get shangyidengji {
return Intl.message(
'上一等级',
name: 'shangyidengji',
desc: '',
args: [],
);
}
/// ``
String get bodadianhua {
return Intl.message(
'拨打电话',
name: 'bodadianhua',
desc: '',
args: [],
);
}
/// ``
String get genghuantouxiang {
return Intl.message(
'更换头像',
name: 'genghuantouxiang',
desc: '',
args: [],
);
}
/// ``
String get paizhao {
return Intl.message(
'拍照',
name: 'paizhao',
desc: '',
args: [],
);
}
/// ``
String get xiangce {
return Intl.message(
'相册',
name: 'xiangce',
desc: '',
args: [],
);
}
/// `线使`
String get xianxiashiyong {
return Intl.message(
'线下使用',
name: 'xianxiashiyong',
desc: '',
args: [],
);
}
/// ``
String get duihuanquan {
return Intl.message(
'兑换券',
name: 'duihuanquan',
desc: '',
args: [],
);
}
/// ``
String get quhexiao {
return Intl.message(
'去核销',
name: 'quhexiao',
desc: '',
args: [],
);
}
/// ``
String get biaojiweiyidu {
return Intl.message(
'标为已读',
name: 'biaojiweiyidu',
desc: '',
args: [],
);
}
/// ``
String get dingdanxiaoxi {
return Intl.message(
'订单消息',
name: 'dingdanxiaoxi',
desc: '',
args: [],
);
}
/// ``
String get chongzhixiaoxi {
return Intl.message(
'充值消息',
name: 'chongzhixiaoxi',
desc: '',
args: [],
);
}
/// `` /// ``
String get shuaxin { String get shuaxin {
return Intl.message( return Intl.message(
@ -3815,6 +3925,26 @@ class S {
); );
} }
/// ``
String get nihaimeiyouchongzhihuoxiaofeijilu {
return Intl.message(
'你在这儿还没有消费或充值记录哦~',
name: 'nihaimeiyouchongzhihuoxiaofeijilu',
desc: '',
args: [],
);
}
/// ``
String get haimeiyouxiaoxi {
return Intl.message(
'还没有消息~',
name: 'haimeiyouxiaoxi',
desc: '',
args: [],
);
}
/// `使` /// `使`
String get privacy_policy4 { String get privacy_policy4 {
return Intl.message( return Intl.message(

4
lib/home/home_page.dart

@ -136,9 +136,7 @@ class _HomePage extends State<HomePage> with AutomaticKeepAliveClientMixin {
gooods.addAll(page.list.map((e) => Goods.fromJson(e))); gooods.addAll(page.list.map((e) => Goods.fromJson(e)));
setState(() {}); setState(() {});
} }
Future.delayed(Duration(milliseconds: 800), () { SmartDialog.dismiss();
SmartDialog.dismiss();
});
if (baseData != null && baseData.isSuccess) { if (baseData != null && baseData.isSuccess) {
refreshController.refreshCompleted(); refreshController.refreshCompleted();
if (mounted) setState(() {}); if (mounted) setState(() {});

13
lib/home/main_home_page.dart

@ -60,14 +60,15 @@ class _MainHomePage extends State<MainHomePage>
automaticallyImplyLeading: false, automaticallyImplyLeading: false,
actions: [ actions: [
Container( Container(
margin: EdgeInsets.only(right: 17), margin: EdgeInsets.only(right: 17.w),
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
Navigator.of(context).pushNamed("/router/msg_page"); // Navigator.of(context).pushNamed("/router/msg_page");
Navigator.of(context).pushNamed('/router/system_msg_page');
}, },
child: Image.asset( child: Image.asset(
"assets/image/icon_notices.png", "assets/image/icon_notices.png",
width: 24, width: 24.w,
height: 24.h, height: 24.h,
), ),
), ),
@ -79,15 +80,15 @@ class _MainHomePage extends State<MainHomePage>
isScrollable: true, isScrollable: true,
indicatorWeight: 2, indicatorWeight: 2,
indicatorColor: Color(0xFF39B54A), indicatorColor: Color(0xFF39B54A),
labelPadding: EdgeInsets.only(left: 8, right: 8), labelPadding: EdgeInsets.only(left: 8.w, right: 8.w),
indicatorSize: TabBarIndicatorSize.label, indicatorSize: TabBarIndicatorSize.label,
unselectedLabelStyle: TextStyle( unselectedLabelStyle: TextStyle(
fontSize: 16, fontSize: 16.sp,
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
), ),
labelStyle: TextStyle( labelStyle: TextStyle(
color: Colors.black, color: Colors.black,
fontSize: 17, fontSize: 17.sp,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
labelColor: Colors.black, labelColor: Colors.black,

65
lib/home/points_mall_page.dart

@ -10,6 +10,7 @@ import 'package:huixiang/main.dart';
import 'package:huixiang/retrofit/data/banner.dart'; import 'package:huixiang/retrofit/data/banner.dart';
import 'package:huixiang/retrofit/data/base_data.dart'; import 'package:huixiang/retrofit/data/base_data.dart';
import 'package:huixiang/retrofit/data/goods.dart'; import 'package:huixiang/retrofit/data/goods.dart';
import 'package:huixiang/retrofit/data/goods_category.dart';
import 'package:huixiang/retrofit/data/page.dart'; import 'package:huixiang/retrofit/data/page.dart';
import 'package:huixiang/retrofit/data/user_info.dart'; import 'package:huixiang/retrofit/data/user_info.dart';
import 'package:huixiang/retrofit/retrofit_api.dart'; import 'package:huixiang/retrofit/retrofit_api.dart';
@ -73,7 +74,8 @@ class _PointsMallPage extends State<PointsMallPage>
refreshUserInfo() { refreshUserInfo() {
SharedPreferences.getInstance().then((value) => { SharedPreferences.getInstance().then((value) => {
client = ApiService(Dio(), client = ApiService(Dio(),
context: context, token: value.getString('token')), context: context, token: value.getString('token'), showLoading: false),
SmartDialog.showLoading(msg: S.current.zhengzaijiazai),
creditGoods(categoryId), creditGoods(categoryId),
queryUser(), queryUser(),
}); });
@ -87,7 +89,8 @@ class _PointsMallPage extends State<PointsMallPage>
// //
bool orderDesc = true; bool orderDesc = true;
PageInfo page; PageInfo page;
List<Goods> gooods = []; List<Goods> goods = [];
List<GoodsCategory> gooodsCategorys = [];
UserInfo userinfo; UserInfo userinfo;
List<BannerData> bannerData = []; List<BannerData> bannerData = [];
@ -115,6 +118,25 @@ class _PointsMallPage extends State<PointsMallPage>
} }
creditGoods(categoryId) async { creditGoods(categoryId) async {
BaseData dataCategory = await client.goodsCategory({
"current": 1,
"map": {},
"model": {"pageNum": 1, "pageSize": 20, "searchKey": ""},
"order": "descending",
"size": 20,
"sort": "id"
}).catchError((onError) {
_refreshController.loadFailed();
_refreshController.refreshFailed();
});
if (dataCategory != null && dataCategory.isSuccess) {
PageInfo pageInfo = PageInfo.fromJson(dataCategory.data);
gooodsCategorys.clear();
gooodsCategorys.add(GoodsCategory(name: S.of(context).quanbu));
gooodsCategorys.addAll(pageInfo.records.map((e) => GoodsCategory.fromJson(e)).toList());
}
var param = { var param = {
"categoryId": categoryId ?? "", "categoryId": categoryId ?? "",
"orderDesc": orderDesc, "orderDesc": orderDesc,
@ -123,13 +145,17 @@ class _PointsMallPage extends State<PointsMallPage>
"pageSize": 10, "pageSize": 10,
"state": 1 "state": 1
}; };
BaseData baseData = await client.creditGoods(param); BaseData baseData = await client.creditGoods(param).catchError((onError) {
_refreshController.loadFailed();
_refreshController.refreshFailed();
});
SmartDialog.dismiss();
if (baseData != null && baseData.isSuccess) { if (baseData != null && baseData.isSuccess) {
page = PageInfo.fromJson(baseData.data); page = PageInfo.fromJson(baseData.data);
if (pageNum == 1) { if (pageNum == 1) {
gooods.clear(); goods.clear();
} }
gooods.addAll(page.list.map((e) => Goods.fromJson(e))); goods.addAll(page.list.map((e) => Goods.fromJson(e)));
setState(() { setState(() {
_refreshController.refreshCompleted(); _refreshController.refreshCompleted();
_refreshController.loadComplete(); _refreshController.loadComplete();
@ -145,10 +171,11 @@ class _PointsMallPage extends State<PointsMallPage>
} }
} }
int categoryId; String categoryId;
_refresh() { _refresh() {
pageNum = 1; pageNum = 1;
SmartDialog.showLoading(msg: S.current.zhengzaijiazai);
creditGoods(categoryId); creditGoods(categoryId);
queryUser(); queryUser();
} }
@ -174,6 +201,7 @@ class _PointsMallPage extends State<PointsMallPage>
controller: _refreshController, controller: _refreshController,
onRefresh: _refresh, onRefresh: _refresh,
onLoading: () { onLoading: () {
SmartDialog.showLoading(msg: S.current.zhengzaijiazai);
creditGoods(categoryId); creditGoods(categoryId);
}, },
child: SingleChildScrollView( child: SingleChildScrollView(
@ -194,7 +222,8 @@ class _PointsMallPage extends State<PointsMallPage>
Container( Container(
alignment: Alignment.centerLeft, alignment: Alignment.centerLeft,
child: DefaultTabController( child: DefaultTabController(
length: 4, length: gooodsCategorys == null
? 0 : gooodsCategorys.length,
child: TabBar( child: TabBar(
isScrollable: true, isScrollable: true,
// //
@ -211,14 +240,13 @@ class _PointsMallPage extends State<PointsMallPage>
unselectedLabelColor: Color(0xff4D4D4D), unselectedLabelColor: Color(0xff4D4D4D),
indicatorSize: TabBarIndicatorSize.label, indicatorSize: TabBarIndicatorSize.label,
// //
tabs: <Widget>[ tabs: gooodsCategorys == null
Tab(text: S.current.quanbu), ? []
Tab(text: S.current.yinshi), : gooodsCategorys
Tab(text: S.current.shenghuoyule), .map((e) => Tab(text: e.name))
Tab(text: S.current.bangong), .toList(),
],
onTap: (index) { onTap: (index) {
categoryId = index == 0 ? null : index; categoryId = gooodsCategorys[index].id;
pageNum = 1; pageNum = 1;
creditGoods(categoryId); creditGoods(categoryId);
}, },
@ -226,7 +254,7 @@ class _PointsMallPage extends State<PointsMallPage>
), ),
), ),
GridView.builder( GridView.builder(
itemCount: gooods.length, itemCount: goods == null ? 0 : goods.length,
padding: EdgeInsets.only( padding: EdgeInsets.only(
left: 16.w, right: 16.w, top: 16.h, bottom: 16.h), left: 16.w, right: 16.w, top: 16.h, bottom: 16.h),
shrinkWrap: true, shrinkWrap: true,
@ -247,7 +275,7 @@ class _PointsMallPage extends State<PointsMallPage>
onTap: () { onTap: () {
_toDetails(index); _toDetails(index);
}, },
child: buildItem(gooods[index]), child: buildItem(goods[index]),
); );
}) })
], ],
@ -259,7 +287,7 @@ class _PointsMallPage extends State<PointsMallPage>
_toDetails(index) async { _toDetails(index) async {
await Navigator.of(context).pushNamed('/router/integral_store_page', await Navigator.of(context).pushNamed('/router/integral_store_page',
arguments: {"goodsId": gooods[index].id}); arguments: {"goodsId": goods[index].id});
SharedPreferences sharedPreferences = await SharedPreferences.getInstance(); SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
String token = sharedPreferences.getString("token"); String token = sharedPreferences.getString("token");
if (token != null) queryUser(); if (token != null) queryUser();
@ -289,6 +317,7 @@ class _PointsMallPage extends State<PointsMallPage>
orderDesc = false; orderDesc = false;
break; break;
} }
SmartDialog.showLoading(msg: S.current.zhengzaijiazai);
creditGoods(categoryId); creditGoods(categoryId);
setState(() { setState(() {
_itemText = item; _itemText = item;
@ -547,7 +576,7 @@ class _PointsMallPage extends State<PointsMallPage>
bannerClick(bannerData[position]); bannerClick(bannerData[position]);
}, },
child: Container( child: Container(
margin: EdgeInsets.only(bottom: 40), margin: EdgeInsets.only(bottom: 40.h),
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(8))), borderRadius: BorderRadius.all(Radius.circular(8))),
child: MImage( child: MImage(

15
lib/l10n/intl_en.arb

@ -393,8 +393,23 @@
"jifenbuzu": "您的积分不足", "jifenbuzu": "您的积分不足",
"haowu": "好物", "haowu": "好物",
"huixiangtoutiao": "回乡头条", "huixiangtoutiao": "回乡头条",
"shangyidengji": "上一等级",
"bodadianhua": "拨打电话",
"genghuantouxiang": "更换头像",
"paizhao": "拍照",
"xiangce": "相册",
"xianxiashiyong": "线下使用",
"duihuanquan": "兑换券",
"quhexiao": "去核销",
"biaojiweiyidu": "标为已读",
"xitongtongzhi": "系统通知",
"dingdanxiaoxi": "订单消息",
"chongzhixiaoxi": "充值消息",
"shuaxin": "刷新", "shuaxin": "刷新",
"lijichongzhi": "立即充值", "lijichongzhi": "立即充值",
"nihaimeiyouchongzhihuoxiaofeijilu": "你在这儿还没有消费或充值记录哦~",
"haimeiyouxiaoxi": "还没有消息~",

14
lib/l10n/intl_zh_CN.arb

@ -394,8 +394,22 @@
"jifenbuzu": "您的积分不足", "jifenbuzu": "您的积分不足",
"haowu": "好物", "haowu": "好物",
"huixiangtoutiao": "回乡头条", "huixiangtoutiao": "回乡头条",
"shangyidengji": "上一等级",
"bodadianhua": "拨打电话",
"genghuantouxiang": "更换头像",
"paizhao": "拍照",
"xiangce": "相册",
"xianxiashiyong": "线下使用",
"duihuanquan": "兑换券",
"quhexiao": "去核销",
"biaojiweiyidu": "标为已读",
"xitongtongzhi": "系统通知",
"dingdanxiaoxi": "订单消息",
"chongzhixiaoxi": "充值消息",
"shuaxin": "刷新", "shuaxin": "刷新",
"lijichongzhi": "立即充值", "lijichongzhi": "立即充值",
"nihaimeiyouchongzhihuoxiaofeijilu": "你在这儿还没有消费或充值记录哦~",
"haimeiyouxiaoxi": "还没有消息~",

14
lib/l10n/intl_zh_Hans_CN.arb

@ -394,8 +394,22 @@
"jifenbuzu": "您的积分不足", "jifenbuzu": "您的积分不足",
"haowu": "好物", "haowu": "好物",
"huixiangtoutiao": "回乡头条", "huixiangtoutiao": "回乡头条",
"shangyidengji": "上一等级",
"bodadianhua": "拨打电话",
"genghuantouxiang": "更换头像",
"paizhao": "拍照",
"xiangce": "相册",
"xianxiashiyong": "线下使用",
"duihuanquan": "兑换券",
"quhexiao": "去核销",
"biaojiweiyidu": "标为已读",
"xitongtongzhi": "系统通知",
"dingdanxiaoxi": "订单消息",
"chongzhixiaoxi": "充值消息",
"shuaxin": "刷新", "shuaxin": "刷新",
"lijichongzhi": "立即充值", "lijichongzhi": "立即充值",
"nihaimeiyouchongzhihuoxiaofeijilu": "你在这儿还没有消费或充值记录哦~",
"haimeiyouxiaoxi": "还没有消息~",

16
lib/l10n/intl_zh_Hant_CN.arb

@ -386,8 +386,24 @@
"jifenbuzu": "您的積分不足", "jifenbuzu": "您的積分不足",
"haowu": "好物", "haowu": "好物",
"huixiangtoutiao": "回鄉頭條", "huixiangtoutiao": "回鄉頭條",
"shangyidengji": "上一等級",
"bodadianhua": "撥打電話",
"genghuantouxiang": "更换头像",
"paizhao": "拍照",
"xiangce": "相冊",
"xianxiashiyong": "線下使用",
"duihuanquan": "兌換券",
"quhexiao": "去核銷",
"biaojiweiyidu": "標為已讀",
"xitongtongzhi": "系統通知",
"dingdanxiaoxi": "订单消息",
"chongzhixiaoxi": "充值消息",
"dingdanxiaoxi": "訂單消息",
"chongzhixiaoxi": "充值消息",
"shuaxin": "刷新", "shuaxin": "刷新",
"lijichongzhi": "立即充值", "lijichongzhi": "立即充值",
"nihaimeiyouchongzhihuoxiaofeijilu": "你在這兒還沒有消費或充值紀錄喔~",
"haimeiyouxiaoxi": "還沒有消息~",

14
lib/l10n/intl_zh_TW.arb

@ -386,8 +386,22 @@
"jifenbuzu": "您的積分不足", "jifenbuzu": "您的積分不足",
"haowu": "好物", "haowu": "好物",
"huixiangtoutiao": "回鄉頭條", "huixiangtoutiao": "回鄉頭條",
"shangyidengji": "上一等級",
"bodadianhua": "撥打電話",
"genghuantouxiang": "更換頭像",
"paizhao": "拍照",
"xiangce": "相冊",
"xianxiashiyong": "線下使用",
"duihuanquan": "兌換券",
"quhexiao": "去核銷",
"biaojiweiyidu": "標為已讀",
"xitongtongzhi": "系統通知",
"dingdanxiaoxi": "訂單消息",
"chongzhixiaoxi": "充值消息",
"shuaxin": "刷新", "shuaxin": "刷新",
"lijichongzhi": "立即充值", "lijichongzhi": "立即充值",
"nihaimeiyouchongzhihuoxiaofeijilu": "你在這兒還沒有消費或充值紀錄喔~",
"haimeiyouxiaoxi": "還沒有消息~",

4
lib/main.dart

@ -196,7 +196,7 @@ Map<String, WidgetBuilder> routers = <String, WidgetBuilder>{
'/router/mine_card_invalid': (context, {arguments}) => MineCardInvalidPage(), '/router/mine_card_invalid': (context, {arguments}) => MineCardInvalidPage(),
'/router/vip_card_page': (context, {arguments}) => VipCardPage(), '/router/vip_card_page': (context, {arguments}) => VipCardPage(),
'/router/vip_details_page': (context, {arguments}) => VipDetailPage(arguments: arguments), '/router/vip_details_page': (context, {arguments}) => VipDetailPage(arguments: arguments),
'/router/vip_balance': (context, {arguments}) => VipBalancePage(), '/router/vip_balance': (context, {arguments}) => VipBalancePage(arguments:arguments),
'/router/coupons_page': (context, {arguments}) => CouponsPage(), '/router/coupons_page': (context, {arguments}) => CouponsPage(),
'/router/permission_setting': (context, {arguments}) => '/router/permission_setting': (context, {arguments}) =>
PermissionSettingPage(), PermissionSettingPage(),
@ -225,7 +225,7 @@ Map<String, WidgetBuilder> routers = <String, WidgetBuilder>{
'/router/mine_vip_level_page': (context, {arguments}) => MineVipLevelPage(arguments:arguments), '/router/mine_vip_level_page': (context, {arguments}) => MineVipLevelPage(arguments:arguments),
'/router/exchange_history_page': (context, {arguments}) => '/router/exchange_history_page': (context, {arguments}) =>
ExchangeHistoryPage(), ExchangeHistoryPage(),
'/router/write_off_page': (context, {arguments}) => WriteOffPage(), '/router/write_off_page': (context, {arguments}) => WriteOffPage(arguments:arguments),
'/router/write_off_success_page': (context, {arguments}) => '/router/write_off_success_page': (context, {arguments}) =>
WriteOffSuccessPage(), WriteOffSuccessPage(),
'/router/order_history_page': (context, {arguments}) => OrderHistoryPage(), '/router/order_history_page': (context, {arguments}) => OrderHistoryPage(),

213
lib/message/main_message_page.dart

@ -1,8 +1,8 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:huixiang/generated/l10n.dart'; import 'package:huixiang/generated/l10n.dart';
import 'package:huixiang/message/mine_message.dart'; import 'package:huixiang/message/mine_message.dart';
import 'package:huixiang/message/real_time_info_page.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:huixiang/view_widget/my_tab.dart'; import 'package:huixiang/utils/font_weight.dart';
import 'package:huixiang/view_widget/round_button.dart'; import 'package:huixiang/view_widget/round_button.dart';
class MainMessagePage extends StatefulWidget { class MainMessagePage extends StatefulWidget {
@ -26,114 +26,123 @@ class _MainMessagePage extends State<MainMessagePage>
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: Color(0xFFFFFFFF),
appBar: AppBar(
backgroundColor: Color(0xFFFFFFFF), backgroundColor: Color(0xFFFFFFFF),
elevation: 0, appBar: AppBar(
centerTitle: false, backgroundColor: Color(0xFFFFFFFF),
leading: GestureDetector( elevation: 0,
onTap: () { centerTitle: false,
Navigator.of(context).pop(); leading: GestureDetector(
}, onTap: () {
child: Container( Navigator.of(context).pop();
alignment: Alignment.centerRight, },
margin: EdgeInsets.only(left: 10), child: Container(
padding: EdgeInsets.all(6), alignment: Alignment.centerRight,
child: Icon( margin: EdgeInsets.only(left: 10),
Icons.arrow_back_ios, padding: EdgeInsets.all(6),
color: Colors.black, child: Icon(
size: 24, Icons.arrow_back_ios,
color: Colors.black,
size: 24,
),
), ),
), ),
titleSpacing: 2,
leadingWidth: 56,
automaticallyImplyLeading: true,
actions: [rightAction()],
title: Text(
S.of(context).xiaoxi,
style: TextStyle(color: Colors.black),
),
// bottom: PreferredSize(
// preferredSize: Size(double.infinity, 38),
// child: TabBar(
// controller: tabcontroller,
// isScrollable: true,
// indicatorWeight: 2,
// indicatorColor: Color(0xFF39B54A),
// labelPadding: EdgeInsets.only(left: 25, right: 25),
// indicatorPadding: EdgeInsets.only(left: 25, right: 25, top: 3),
// unselectedLabelStyle:
// TextStyle(fontSize: 16, fontWeight: FontWeight.normal),
// labelStyle: TextStyle(
// color: Colors.black,
// fontSize: 16,
// fontWeight: FontWeight.bold),
// labelColor: Colors.black,
// tabs: [
// MyTab(text: S.of(context).huodongzixun),
// MyTab(
// text: S.of(context).wodexiaoxi,
// ),
// ]),
// ),
), ),
titleSpacing: 2, body: MineMessagePage(_status),
leadingWidth: 56, // TabBarView(
automaticallyImplyLeading: true, // children: [
actions: [rightAction()], // RealTimeInfoPage(),
title: Text( // MineMessagePage(_status, (status) {
S.of(context).xiaoxi, // setState(() {
style: TextStyle(color: Colors.black), // _bgStatus = status;
), // });
bottom: PreferredSize( // })
preferredSize: Size(double.infinity, 38), // ],
child: TabBar( // controller: tabcontroller,
controller: tabcontroller, // ),
isScrollable: true, );
indicatorWeight: 2,
indicatorColor: Color(0xFF39B54A),
labelPadding: EdgeInsets.only(left: 25, right: 25),
indicatorPadding: EdgeInsets.only(left: 25, right: 25, top: 3),
unselectedLabelStyle:
TextStyle(fontSize: 16, fontWeight: FontWeight.normal),
labelStyle: TextStyle(
color: Colors.black,
fontSize: 16,
fontWeight: FontWeight.bold),
labelColor: Colors.black,
tabs: [
MyTab(text: S.of(context).huodongzixun),
MyTab(
text: S.of(context).wodexiaoxi,
),
]),
),
),
body: TabBarView(
children: [
RealTimeInfoPage(),
MineMessagePage(_status, (status) {
setState(() {
_bgStatus = status;
});
})
],
controller: tabcontroller,
),
);
} }
var _status = 0; var _status = 0;
var _bgStatus = false;
Widget rightAction() { Widget rightAction() {
if (_status == 0) { return Text(
return Container( S.of(context).biaojiweiyidu,
margin: EdgeInsets.only(right: 17), style: TextStyle(
child: GestureDetector( fontSize: 16.sp,
onTap: () { fontWeight: MyFontWeight.semi_bold,
setState(() { color: Color(0xFF353535),
_status = (_status + 1) % 2; ),
}); );
},
child: Image.asset( // if (_status == 0) {
"assets/image/icon_delete.png", // return Container(
width: 24, // margin: EdgeInsets.only(right: 17),
height: 24, // child: GestureDetector(
), // onTap: () {
), // setState(() {
); // _status = (_status + 1) % 2;
} else { // });
return GestureDetector( // },
onTap: () { // child: Image.asset(
setState(() { // "assets/image/icon_delete.png",
_status = (_status + 1) % 2; // width: 24,
}); // height: 24,
}, // ),
child: Container( // ),
margin: EdgeInsets.only(right: 17), // );
padding: EdgeInsets.only(top: 15, bottom: 15), // } else {
alignment: Alignment.center, // return GestureDetector(
child: RoundButton( // onTap: () {
text: S.of(context).wancheng, // setState(() {
textColor: _bgStatus ? Colors.white : Color(0xFFA0A0A0), // _status = (_status + 1) % 2;
backgroup: _bgStatus ? Color(0xFF32A060) : Color(0xFFD8D8D8), // });
fontSize: 14, // },
fontWeight: FontWeight.bold, // child: Container(
padding: EdgeInsets.only(left: 12, right: 12, top: 2, bottom: 2), // margin: EdgeInsets.only(right: 17),
radius: 12, // padding: EdgeInsets.only(top: 15, bottom: 15),
), // alignment: Alignment.center,
), // child: RoundButton(
); // text: S.of(context).wancheng,
} // textColor: _bgStatus ? Colors.white : Color(0xFFA0A0A0),
// backgroup: _bgStatus ? Color(0xFF32A060) : Color(0xFFD8D8D8),
// fontSize: 14,
// fontWeight: FontWeight.bold,
// padding: EdgeInsets.only(left: 12, right: 12, top: 2, bottom: 2),
// radius: 12,
// ),
// ),
// );
// }
} }
} }

53
lib/message/mine_message.dart

@ -2,63 +2,55 @@ import 'dart:collection';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:huixiang/view_widget/message_item.dart'; import 'package:huixiang/view_widget/message_item.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
class MineMessagePage extends StatefulWidget { class MineMessagePage extends StatefulWidget {
final int status; final int status;
final Function(bool) onChanged;
MineMessagePage(this.status, this.onChanged); MineMessagePage(this.status);
@override @override
State<StatefulWidget> createState() { State<StatefulWidget> createState() {
return _MineMessagePage(); return _MineMessagePage();
} }
} }
class _MineMessagePage extends State<MineMessagePage> { class _MineMessagePage extends State<MineMessagePage> {
Map<int, bool> map;
@override
void initState() {
super.initState();
map = HashMap();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return SingleChildScrollView( return SingleChildScrollView(
physics: BouncingScrollPhysics(),
child: Container( child: Container(
margin: EdgeInsets.only( margin: EdgeInsets.only(
left: 16, left: 16.w,
right: 16, right: 16.w,
top: 32, top: 22.h,
), ),
padding: EdgeInsets.only(top: 16, bottom: 16), padding: EdgeInsets.only(top: 16.h, bottom: 16.h),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
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,
)
], ],
borderRadius: BorderRadius.all(Radius.circular(8))), borderRadius: BorderRadius.circular(8.w)),
child: ListView.builder( child: ListView.builder(
itemCount: 12, itemCount: 1,
shrinkWrap: true, shrinkWrap: true,
physics: new NeverScrollableScrollPhysics(), physics: new NeverScrollableScrollPhysics(),
itemBuilder: (context, position) { itemBuilder: (context, position) {
return Container( return Container(
margin: EdgeInsets.only(top: 12, bottom: 12), margin: EdgeInsets.only(top: 12.h, bottom: 12.h),
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
Navigator.of(context).pushNamed('/router/system_msg_page'); Navigator.of(context).pushNamed('/router/system_msg_page');
}, },
child: MessageItem(widget.status, (check) { child: MessageItem(widget.status),
map[position] = check;
refreshStatus();
}),
), ),
); );
}), }),
@ -66,15 +58,4 @@ class _MineMessagePage extends State<MineMessagePage> {
); );
} }
refreshStatus() {
var isOneCheck = false;
map.forEach((key, value) {
if (value) {
isOneCheck = true;
}
});
if (widget.onChanged != null) {
widget.onChanged.call(isOneCheck);
}
}
} }

2
lib/message/real_time_info_page.dart

@ -29,7 +29,7 @@ class _RealTimeInfoPage extends State<RealTimeInfoPage> {
spreadRadius: 0) spreadRadius: 0)
], ],
borderRadius: BorderRadius.all(Radius.circular(8))), borderRadius: BorderRadius.all(Radius.circular(8))),
child: MessageItem(0, null), child: MessageItem(0),
); );
}), }),
); );

280
lib/message/system_message.dart

@ -1,5 +1,18 @@
import 'package:dio/dio.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.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/message.dart';
import 'package:huixiang/retrofit/data/page.dart';
import 'package:huixiang/retrofit/retrofit_api.dart';
import 'package:huixiang/utils/font_weight.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/no_data_view.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
class SystemMessagePage extends StatefulWidget { class SystemMessagePage extends StatefulWidget {
@override @override
@ -9,65 +22,129 @@ class SystemMessagePage extends StatefulWidget {
} }
class _SystemMessagePage extends State<SystemMessagePage> { class _SystemMessagePage extends State<SystemMessagePage> {
ApiService apiService;
@override
void initState() {
super.initState();
SharedPreferences.getInstance().then((value) {
apiService =
ApiService(Dio(), token: value.getString("token"), context: context);
queryMessage();
});
}
int pageNum = 1;
List<Message> messages = [];
_refresh() {
pageNum = 1;
queryMessage();
}
queryMessage() async {
BaseData baseData = await apiService.msgList({
"pageNum": pageNum,
"pageSize": 10,
"searchKey": "",
"state": "",
"typed": ""
}).catchError((onError) {
_refreshController.loadFailed();
_refreshController.refreshFailed();
});
if (baseData != null && baseData.isSuccess) {
PageInfo pageInfo = PageInfo.fromJson(baseData.data);
if (pageNum == 1) {
messages.clear();
}
messages.addAll(pageInfo.list.map((e) => Message.fromJson(e)).toList());
_refreshController.loadComplete();
_refreshController.refreshCompleted();
if (mounted) setState(() {});
if (pageNum * 10 > int.tryParse(pageInfo.total)) {
_refreshController.loadNoData();
} else {
pageNum += 1;
}
} else {
_refreshController.loadFailed();
_refreshController.refreshFailed();
}
}
RefreshController _refreshController = RefreshController();
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: MyAppBar(
title: Text( background: Color(0xFFF7F7F7),
S.of(context).xitongxiaoxi, leadingColor: Colors.black,
style: TextStyle(color: Colors.black), title: S.of(context).xitongxiaoxi,
), titleSize: 18.sp,
centerTitle: false, titleColor: Colors.black,
backgroundColor: Color(0xFFF7F7F7), ),
elevation: 0, body: SmartRefresher(
leading: GestureDetector( enablePullDown: true,
onTap: () { enablePullUp: true,
Navigator.of(context).pop(); header: MyHeader(),
physics: BouncingScrollPhysics(),
footer: CustomFooter(
loadStyle: LoadStyle.ShowWhenLoading,
builder: (BuildContext context, LoadStatus mode) {
return MyFooter(mode);
}, },
child: Container(
alignment: Alignment.centerRight,
margin: EdgeInsets.only(left: 10),
padding: EdgeInsets.all(6),
child: Icon(
Icons.arrow_back_ios,
color: Colors.black,
size: 24,
),
),
), ),
titleSpacing: 2, controller: _refreshController,
leadingWidth: 56, onRefresh: _refresh,
), onLoading: () {
body: Container( queryMessage();
margin: EdgeInsets.only(top: 16), },
child: ListView.builder( child: (messages == null || messages.length == 0)
itemCount: 3, ? NoDataView(
itemBuilder: (context, position) { isShowBtn: false,
return GestureDetector( text: S.of(context).haimeiyouxiaoxi,
onTap: () { fontSize: 16.sp,
Navigator.of(context).pushNamed('/router/exchange_order_details'); margin: EdgeInsets.only(top: 120.h),
}, )
child: buildMessageItem(), : ListView.builder(
); padding: EdgeInsets.only(top: 16),
}), itemCount: messages.length,
physics: NeverScrollableScrollPhysics(),
itemBuilder: (context, position) {
return GestureDetector(
onTap: () {
if (messages[position].typed == 2) {
Navigator.of(context)
.pushNamed('/router/exchange_order_details');
}
},
child: buildMessageItem(messages[position]),
);
}),
), ),
); );
} }
Widget buildMessageItem() { Widget buildMessageItem(Message message) {
return Container( return Container(
margin: EdgeInsets.only(left: 16, right: 16, top: 8, bottom: 8), margin: EdgeInsets.only(left: 16.w, right: 16.w, top: 8.h, bottom: 8.h),
padding: EdgeInsets.all(20), padding: EdgeInsets.all(20.w),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
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,
], )
borderRadius: BorderRadius.all(Radius.circular(8))), ],
borderRadius: BorderRadius.circular(8),
),
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
@ -79,55 +156,96 @@ class _SystemMessagePage extends State<SystemMessagePage> {
Row( Row(
children: [ children: [
Image.asset( Image.asset(
"assets/image/icon_system_notices.png", (message.typed == 1)
width: 24, ? "assets/image/icon_system_notices.png"
height: 24, : (message.typed == 2)
? "assets/image/icon_system_order.png"
: "assets/image/icon_system_recharge.png",
width: 24.w,
height: 24.h,
), ),
SizedBox( SizedBox(
width: 4, width: 4.w,
), ),
Text( Text(
S.of(context).xitongtongzhi, (message.typed == 1)
? S.of(context).xitongtongzhi
: (message.typed == 2)
? S.of(context).dingdanxiaoxi
: S.of(context).chongzhixiaoxi,
style: TextStyle( style: TextStyle(
fontSize: 14, fontSize: 14.sp,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: Color(0xFF060606)), color: Color(0xFF060606),
),
) )
], ],
), ),
Text( Text(
"2021.03.08 13:22", message.updateTime,
style: TextStyle(fontSize: 10, color: Color(0xFFA29E9E)), style: TextStyle(
fontSize: 10.sp,
color: Color(0xFFA29E9E),
),
), ),
], ],
), ),
Container( if (message.typed != 3)
margin: EdgeInsets.only(left: 28, top: 12), Container(
child: Text( margin: EdgeInsets.only(left: 28.w, top: 12.h),
S.of(context).ninyouyigexindedingdan, child: Text(
style: TextStyle(fontSize: 10, color: Color(0xFF353535)), S.of(context).ninyouyigexindedingdan,
style: TextStyle(
fontSize: 10.sp,
color: Color(0xFF353535),
),
),
)
else
Container(
margin: EdgeInsets.only(left: 28.w, top: 18.h),
child: Text(
message.title,
style: TextStyle(
fontSize: 20.sp,
fontWeight: MyFontWeight.semi_bold,
color: Color(0xFF353535),
),
),
), ),
), if (message.typed != 3)
Container( Container(
margin: EdgeInsets.only(left: 28, top: 22), margin: EdgeInsets.only(left: 28.w, top: 22.h),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
Text( Text(
S.of(context).chakangengduo, S.of(context).chakangengduo,
style: TextStyle( style: TextStyle(
fontSize: 12, fontSize: 12.sp,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: Color(0xFF353535)), color: Color(0xFF353535),
),
),
Icon(
Icons.keyboard_arrow_right,
color: Colors.black,
)
],
),
)
else
Container(
margin: EdgeInsets.only(left: 28.w, top: 22.h),
child: Text(
message.content,
style: TextStyle(
fontSize: 10.sp,
color: Color(0xFF353535),
), ),
Icon( ),
Icons.keyboard_arrow_right,
color: Colors.black,
)
],
), ),
)
], ],
), ),
); );

10
lib/mine/coupons_page.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/base_data.dart'; import 'package:huixiang/retrofit/data/base_data.dart';
import 'package:huixiang/retrofit/data/coupon.dart'; import 'package:huixiang/retrofit/data/coupon.dart';
@ -169,8 +170,13 @@ class _CouponsPage extends State<CouponsPage> {
if (type == 1) { if (type == 1) {
receiveCoupon(coupons[position].id); receiveCoupon(coupons[position].id);
} else { } else {
//Navigator.of(context).pushNamed('/router/mine_card') if (coupons[position].bizType == 5) {
showStoreSelector(coupons[position].storeList); Navigator.of(context).pushNamed('/router/write_off_page',arguments: {
"couponId":coupons[position].id
});
} else {
showStoreSelector(coupons[position].storeList);
}
} }
}, () { }, () {
setState(() { setState(() {

55
lib/mine/mine_wallet_page.dart

@ -8,6 +8,7 @@ import 'package:huixiang/retrofit/data/page.dart';
import 'package:huixiang/retrofit/data/user_bill.dart'; import 'package:huixiang/retrofit/data/user_bill.dart';
import 'package:huixiang/retrofit/data/user_info.dart'; 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/view_widget/classic_header.dart'; import 'package:huixiang/view_widget/classic_header.dart';
import 'package:huixiang/view_widget/my_footer.dart'; import 'package:huixiang/view_widget/my_footer.dart';
import 'package:huixiang/view_widget/round_button.dart'; import 'package:huixiang/view_widget/round_button.dart';
@ -168,7 +169,7 @@ class _MineWalletPage extends State<MineWalletPage> {
borderRadius: BorderRadius.all(Radius.circular(8)), borderRadius: BorderRadius.all(Radius.circular(8)),
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(
color: Colors.black.withAlpha(12), color: Colors.black.withAlpha(25),
offset: Offset(0, 3), offset: Offset(0, 3),
blurRadius: 14, blurRadius: 14,
spreadRadius: 0, spreadRadius: 0,
@ -189,25 +190,25 @@ class _MineWalletPage extends State<MineWalletPage> {
SizedBox( SizedBox(
height: 16.h, height: 16.h,
), ),
Row( // Row(
children: [ // children: [
Container( // Container(
width: 3.w, // width: 3,
height: 15.h, // height: 15,
color: Color(0xFF20662A), // color: Color(0xFF20662A),
), // ),
SizedBox( // SizedBox(
width: 3.w, // width: 3,
), // ),
Text( // Text(
"07/2021", // "09/2021",
style: TextStyle( // style: TextStyle(
color: Color(0xFF353535), // color: Color(0xFF353535),
fontSize: 14.sp, // fontSize: 14,
), // ),
), // ),
], // ],
), // ),
Container( Container(
margin: EdgeInsets.only(top: 14.h), margin: EdgeInsets.only(top: 14.h),
child: ListView.builder( child: ListView.builder(
@ -305,7 +306,7 @@ class _MineWalletPage extends State<MineWalletPage> {
borderRadius: BorderRadius.all(Radius.circular(8)), borderRadius: BorderRadius.all(Radius.circular(8)),
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(
color: Colors.black.withAlpha(12), color: Colors.black.withAlpha(25),
offset: Offset(0, 3), offset: Offset(0, 3),
blurRadius: 14, blurRadius: 14,
spreadRadius: 0, spreadRadius: 0,
@ -322,7 +323,7 @@ class _MineWalletPage extends State<MineWalletPage> {
child: Text( child: Text(
S.of(context).zhanghuyue, S.of(context).zhanghuyue,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: MyFontWeight.medium,
color: Color(0xFF353535), color: Color(0xFF353535),
fontSize: 16.sp, fontSize: 16.sp,
), ),
@ -358,7 +359,7 @@ class _MineWalletPage extends State<MineWalletPage> {
Text( Text(
"$mBalance", "$mBalance",
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.w500, fontWeight: MyFontWeight.medium,
color: Color(0xFF353535), color: Color(0xFF353535),
fontSize: 50.sp, fontSize: 50.sp,
), ),
@ -371,6 +372,7 @@ class _MineWalletPage extends State<MineWalletPage> {
style: TextStyle( style: TextStyle(
color: Color(0xFF20662A), color: Color(0xFF20662A),
fontSize: 16.sp, fontSize: 16.sp,
fontWeight: MyFontWeight.regular
), ),
), ),
SizedBox( SizedBox(
@ -381,15 +383,14 @@ class _MineWalletPage extends State<MineWalletPage> {
toRecharge(); toRecharge();
}, },
child: RoundButton( child: RoundButton(
width: 103.w, width: 104.w,
height: 30.h,
text: S.of(context).lijichongzhi, text: S.of(context).lijichongzhi,
textColor: Colors.white, textColor: Colors.white,
fontWeight: FontWeight.bold, fontWeight: MyFontWeight.semi_bold,
radius: 15, radius: 15,
backgroup: Color(0xFF32A060), backgroup: Color(0xFF32A060),
fontSize: 14.sp, fontSize: 14.sp,
padding: EdgeInsets.fromLTRB(24.w, 5.h, 24.w, 5.h), padding: EdgeInsets.symmetric(vertical: 5.h),
), ),
), ),
], ],

4
lib/mine/recharge_page.dart

@ -79,16 +79,14 @@ class _RechargePage extends State<RechargePage> {
S.of(context).qingshuruchongzhijine, S.of(context).qingshuruchongzhijine,
hintText: "", hintText: "",
controller: controller, controller: controller,
inputType: 1,
padding: EdgeInsets.all(20), padding: EdgeInsets.all(20),
heightPercentage: 0.16.sh,
errorText: S.of(context).chongzhizuixiaojine(10), errorText: S.of(context).chongzhizuixiaojine(10),
titleColor: Color(0xFF727272), titleColor: Color(0xFF727272),
errorTextColor: Color(0xFF32A060), errorTextColor: Color(0xFF32A060),
radius: 8, radius: 8,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 30.sp, fontSize: 27.sp,
color: color, color: color,
), ),
inputLimit: 12, inputLimit: 12,

10
lib/mine/roll_center_page.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/base_data.dart'; import 'package:huixiang/retrofit/data/base_data.dart';
import 'package:huixiang/retrofit/data/coupon.dart'; import 'package:huixiang/retrofit/data/coupon.dart';
@ -142,8 +143,13 @@ class _RollCenterPage extends State<RollCenterPage> {
if (type == 1) { if (type == 1) {
receiveCoupon(coupons[position].id); receiveCoupon(coupons[position].id);
} else { } else {
//Navigator.of(context).pushNamed('/router/mine_card') if (coupons[position].bizType == 5) {
showStoreSelector(coupons[position].storeList); Navigator.of(context).pushNamed('/router/write_off_page',arguments: {
"couponId":coupons[position].id
});
} else {
showStoreSelector(coupons[position].storeList);
}
} }
}, () { }, () {
setState(() { setState(() {

8
lib/mine/user_info_page.dart

@ -254,10 +254,10 @@ class _UserInfoPage extends State<UserInfoPage> {
context: context, context: context,
builder: (contetx) { builder: (contetx) {
return CupertinoActionSheet( return CupertinoActionSheet(
title: Text("更换头像"), title: Text(S.of(context).genghuantouxiang),
actions: [ actions: [
CupertinoActionSheetAction( CupertinoActionSheetAction(
child: Text('拍照'), child: Text(S.of(context).paizhao),
onPressed: () { onPressed: () {
openCamera(); openCamera();
Navigator.of(context).pop(); Navigator.of(context).pop();
@ -266,7 +266,7 @@ class _UserInfoPage extends State<UserInfoPage> {
isDestructiveAction: false, isDestructiveAction: false,
), ),
CupertinoActionSheetAction( CupertinoActionSheetAction(
child: Text('相册'), child: Text(S.of(context).xiangce),
onPressed: () { onPressed: () {
openStorage(); openStorage();
Navigator.of(context).pop(); Navigator.of(context).pop();
@ -279,7 +279,7 @@ class _UserInfoPage extends State<UserInfoPage> {
onPressed: () { onPressed: () {
Navigator.of(context).pop(); Navigator.of(context).pop();
}, },
child: Text("取消"), child: Text(S.of(context).quxiao),
isDestructiveAction: true, isDestructiveAction: true,
), ),
); );

138
lib/mine/vip_balance_page.dart

@ -3,13 +3,19 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.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/coupon.dart';
import 'package:huixiang/retrofit/data/page.dart'; import 'package:huixiang/retrofit/data/page.dart';
import 'package:huixiang/retrofit/data/user_bill.dart';
import 'package:huixiang/retrofit/retrofit_api.dart'; import 'package:huixiang/retrofit/retrofit_api.dart';
import 'package:huixiang/view_widget/no_data_view.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';
class VipBalancePage extends StatefulWidget { class VipBalancePage extends StatefulWidget {
final arguments;
VipBalancePage({this.arguments});
@override @override
State<StatefulWidget> createState() { State<StatefulWidget> createState() {
return _VipBalancePage(); return _VipBalancePage();
@ -26,45 +32,46 @@ class _VipBalancePage extends State<VipBalancePage> {
super.initState(); super.initState();
SharedPreferences.getInstance().then((value) => { SharedPreferences.getInstance().then((value) => {
apiService = ApiService(Dio(), context: context, token: value.getString('token')), apiService = ApiService(Dio(),
queryCard(), context: context, token: value.getString('token')),
}); queryBillInfo(),
});
_refreshController = RefreshController(initialRefresh: false); _refreshController = RefreshController(initialRefresh: false);
} }
int pageNum = 1; int current = 1;
List<Coupon> coupons = []; List<UserBill> userBills = [];
// void _onRefresh() async {
// pageNum = 1;
// queryCard();
// }
queryCard() async { queryBillInfo() async {
BaseData baseData = await apiService.queryCard({ BaseData baseData = await apiService.queryBillInfo({
"centre": true, "current": current,
"pageNum": pageNum, "model": {
"pageSize": 10, "category": "",
"searchKey": "", "mid": widget.arguments["storeId"],
"state": 3 "title": "bill_tenant_balance",
"type": ""
},
"order": "descending",
"size": 10,
"sort": "id"
}).catchError((error) { }).catchError((error) {
_refreshController.loadFailed(); _refreshController.loadFailed();
_refreshController.refreshFailed(); _refreshController.refreshFailed();
}); });
if (baseData != null && baseData.isSuccess) { if (baseData != null && baseData.isSuccess) {
PageInfo pageInfo = PageInfo.fromJson(baseData.data); PageInfo pageInfo = PageInfo.fromJson(baseData.data);
if (pageNum == 1) { if (current == 1) {
coupons.clear(); userBills.clear();
} }
coupons.addAll(pageInfo.list.map((e) => Coupon.fromJson(e))); userBills.addAll(pageInfo.records.map((e) => UserBill.fromJson(e)));
setState(() { setState(() {
_refreshController.refreshCompleted(); _refreshController.refreshCompleted();
_refreshController.loadComplete(); _refreshController.loadComplete();
if (pageInfo.pageNum == pageInfo.pages) { if (pageInfo.pageNum == pageInfo.pages) {
_refreshController.loadNoData(); _refreshController.loadNoData();
} else { } else {
pageNum += 1; current += 1;
} }
}); });
} else { } else {
@ -93,7 +100,7 @@ class _VipBalancePage extends State<VipBalancePage> {
}, },
child: Container( child: Container(
alignment: Alignment.centerRight, alignment: Alignment.centerRight,
margin: EdgeInsets.only(left: 10), margin: EdgeInsets.only(left: 10.w),
padding: EdgeInsets.all(6), padding: EdgeInsets.all(6),
child: Icon( child: Icon(
Icons.arrow_back_ios, Icons.arrow_back_ios,
@ -103,49 +110,56 @@ class _VipBalancePage extends State<VipBalancePage> {
), ),
), ),
titleSpacing: 2, titleSpacing: 2,
leadingWidth: 56, leadingWidth: 56.w,
), ),
body: Container( body: Container(
child: ListView.builder( child: (userBills == null || userBills.length == 0)
itemBuilder: (context, position) { ? NoDataView(
return balanceItem(); isShowBtn: false,
}, text: S.of(context).nihaimeiyouchongzhihuoxiaofeijilu,
itemCount: coupons.length, fontSize: 16.sp,
), margin: EdgeInsets.only(top: 120.h),
)
: ListView.builder(
itemBuilder: (context, position) {
return balanceItem(userBills[position]);
},
itemCount: userBills.length,
),
), ),
); );
} }
Widget balanceItem(){
Widget balanceItem(UserBill userBill) {
return Container( return Container(
margin: EdgeInsets.only(left: 16,right: 16), margin: EdgeInsets.only(left: 16.w, right: 16.w),
child: Column( child: Column(
// mainAxisAlignment: MainAxisAlignment.spaceAround,
// crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
Container( Container(
width: 19, width: 19.w,
height: 19, height: 19.h,
margin: EdgeInsets.only(left: 12, top: 12), margin: EdgeInsets.only(left: 12.w, top: 12.h),
alignment: Alignment.center, alignment: Alignment.center,
child: Image.asset( child: Image.asset(
"assets/image/icon_store_c.png", userBill.pm == 0
), ? "assets/image/icon_store_c.png"
: "assets/image/icon_wallet_recharge.png",
),
), ),
Expanded( Expanded(
child: Container( child: Container(
width: double.infinity, width: double.infinity,
margin: EdgeInsets.only(left: 6, top: 12), margin: EdgeInsets.only(left: 6.w, top: 12.h),
alignment: Alignment.centerLeft, alignment: Alignment.centerLeft,
child: Text( child: Text(
"门店消费", userBill.name,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 16, fontSize: 16.sp,
color: Color(0xFF353535), color: Color(0xFF353535),
), ),
), ),
@ -153,41 +167,49 @@ class _VipBalancePage extends State<VipBalancePage> {
flex: 1, flex: 1,
), ),
Padding( Padding(
padding: EdgeInsets.only(top: 12), padding: EdgeInsets.only(top: 12.h),
child: Text("-200", child: Text("${userBill.pm == 0 ? "-" : "+"}${userBill.number}",
style: TextStyle( style: TextStyle(fontSize: 16, color: Color(0xffF68034))),
fontSize: 16,
color: Color(0xffF68034))),
), ),
], ],
), ),
SizedBox(height: 8,), SizedBox(
height: 8.h,
),
Container( Container(
margin: EdgeInsets.only(left: 35), margin: EdgeInsets.only(left: 35.w),
child:Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text.rich( Text.rich(
TextSpan(children: [ TextSpan(children: [
TextSpan( TextSpan(
text: "2021-06-19 13:03", text: userBill.createTime,
style: TextStyle(fontSize: 14, color: Color(0xff727272)), style: TextStyle(
fontSize: 14.sp,
color: Color(0xff727272),
),
), ),
]), ]),
), ),
Text.rich( Text.rich(
TextSpan(children: [ TextSpan(children: [
TextSpan( TextSpan(
text: "余额:200.00", text: S.of(context).yue_(userBill.balance),
style: TextStyle(fontSize: 14,fontWeight: FontWeight.bold, color: Color(0xff727272)), style: TextStyle(
fontSize: 14.sp,
fontWeight: FontWeight.bold,
color: Color(0xff727272),
),
), ),
]), ]),
), ),
], ],
),), ),
),
Container( Container(
margin: EdgeInsets.only(left: 35,top: 12,bottom: 12), margin: EdgeInsets.only(left: 35.w, top: 12.h, bottom: 12.h),
height: 1, height: 1,
color: Color(0xFFF1F1F1), color: Color(0xFFF1F1F1),
), ),

4
lib/mine/vip_detail_page.dart

@ -296,7 +296,7 @@ class _VipDetailPage extends State<VipDetailPage> {
GestureDetector( GestureDetector(
onTap: () { onTap: () {
Navigator.of(context) Navigator.of(context)
.pushNamed('/router/vip_balance'); .pushNamed('/router/vip_balance', arguments: {"storeId":vipCard.id});
}, },
child: Row( child: Row(
children: [ children: [
@ -501,7 +501,7 @@ class _VipDetailPage extends State<VipDetailPage> {
SizedBox( SizedBox(
height: 8.h, height: 8.h,
), ),
Column( Row(
mainAxisAlignment: MainAxisAlignment.spaceAround, mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: goodsItem( children: goodsItem(

2
lib/order/exchange_history_page.dart

@ -298,7 +298,7 @@ class _ExchangeHistoryList extends State<ExchangeHistoryList> {
), ),
Expanded( Expanded(
child: Text( child: Text(
"武昌区凯德1818蓝调步行街(蔡明纬店旁)", exchangeOrder.address ?? "",
style: TextStyle( style: TextStyle(
color: Colors.black, color: Colors.black,
fontSize: 12.sp, fontSize: 12.sp,

5
lib/order/write_off_page.dart

@ -4,6 +4,11 @@ import 'package:huixiang/view_widget/round_button.dart';
import 'package:huixiang/view_widget/separator.dart'; import 'package:huixiang/view_widget/separator.dart';
class WriteOffPage extends StatefulWidget { class WriteOffPage extends StatefulWidget {
final arguments;
WriteOffPage({this.arguments});
@override @override
State<StatefulWidget> createState() { State<StatefulWidget> createState() {
return _WriteOffPage(); return _WriteOffPage();

3
lib/retrofit/data/exchange_order.dart

@ -12,6 +12,7 @@ class ExchangeOrder {
String mid; String mid;
String orderCode; String orderCode;
String amount; String amount;
String address;
int state; int state;
int useTyped; int useTyped;
int isDelete; int isDelete;
@ -27,6 +28,7 @@ class ExchangeOrder {
..mid = json['mid'] as String ..mid = json['mid'] as String
..orderCode = json['orderCode'] as String ..orderCode = json['orderCode'] as String
..amount = json['amount'] as String ..amount = json['amount'] as String
..address = json['address'] as String
..state = json['state'] as int ..state = json['state'] as int
..useTyped = json['useTyped'] as int ..useTyped = json['useTyped'] as int
..isDelete = json['isDelete'] as int ..isDelete = json['isDelete'] as int
@ -46,6 +48,7 @@ class ExchangeOrder {
'mid': this.mid, 'mid': this.mid,
'orderCode': this.orderCode, 'orderCode': this.orderCode,
'amount': this.amount, 'amount': this.amount,
'address': this.address,
'state': this.state, 'state': this.state,
'useTyped': this.useTyped, 'useTyped': this.useTyped,
'isDelete': this.isDelete, 'isDelete': this.isDelete,

86
lib/retrofit/data/goods_category.dart

@ -0,0 +1,86 @@
/// id : "1412705737469067264"
/// createTime : "2021-07-07 17:31:09"
/// createUser : "1"
/// updateTime : "2021-07-20 16:50:28"
/// updateUser : "1"
/// parentId : "0"
/// name : "饮食"
/// miniShow : 1
/// sortOrder : 1
/// isDelete : 0
class GoodsCategory {
String _id;
String _createTime;
String _createUser;
String _updateTime;
String _updateUser;
String _parentId;
String _name;
int _miniShow;
int _sortOrder;
int _isDelete;
String get id => _id;
String get createTime => _createTime;
String get createUser => _createUser;
String get updateTime => _updateTime;
String get updateUser => _updateUser;
String get parentId => _parentId;
String get name => _name;
int get miniShow => _miniShow;
int get sortOrder => _sortOrder;
int get isDelete => _isDelete;
GoodsCategory({
String id,
String createTime,
String createUser,
String updateTime,
String updateUser,
String parentId,
String name,
int miniShow,
int sortOrder,
int isDelete}){
_id = id;
_createTime = createTime;
_createUser = createUser;
_updateTime = updateTime;
_updateUser = updateUser;
_parentId = parentId;
_name = name;
_miniShow = miniShow;
_sortOrder = sortOrder;
_isDelete = isDelete;
}
GoodsCategory.fromJson(dynamic json) {
_id = json["id"];
_createTime = json["createTime"];
_createUser = json["createUser"];
_updateTime = json["updateTime"];
_updateUser = json["updateUser"];
_parentId = json["parentId"];
_name = json["name"];
_miniShow = json["miniShow"];
_sortOrder = json["sortOrder"];
_isDelete = json["isDelete"];
}
Map<String, dynamic> toJson() {
var map = <String, dynamic>{};
map["id"] = _id;
map["createTime"] = _createTime;
map["createUser"] = _createUser;
map["updateTime"] = _updateTime;
map["updateUser"] = _updateUser;
map["parentId"] = _parentId;
map["name"] = _name;
map["miniShow"] = _miniShow;
map["sortOrder"] = _sortOrder;
map["isDelete"] = _isDelete;
return map;
}
}

101
lib/retrofit/data/message.dart

@ -0,0 +1,101 @@
/// id : "1420215467561189376"
/// createTime : "2021-07-28 10:58:26"
/// createUser : "0"
/// updateTime : "2021-07-28 10:58:29"
/// updateUser : "0"
/// mid : "1406879717390286848"
/// title : "充值成功"
/// content : "你于2021-07-28 10:52:02充值0.01元,当前余额:0.08元。"
/// typed : 3
/// relational : ""
/// state : 1
/// isDelete : 0
class Message {
String _id;
String _createTime;
String _createUser;
String _updateTime;
String _updateUser;
String _mid;
String _title;
String _content;
int _typed;
String _relational;
int _state;
int _isDelete;
String get id => _id;
String get createTime => _createTime;
String get createUser => _createUser;
String get updateTime => _updateTime;
String get updateUser => _updateUser;
String get mid => _mid;
String get title => _title;
String get content => _content;
int get typed => _typed;
String get relational => _relational;
int get state => _state;
int get isDelete => _isDelete;
Message({
String id,
String createTime,
String createUser,
String updateTime,
String updateUser,
String mid,
String title,
String content,
int typed,
String relational,
int state,
int isDelete}){
_id = id;
_createTime = createTime;
_createUser = createUser;
_updateTime = updateTime;
_updateUser = updateUser;
_mid = mid;
_title = title;
_content = content;
_typed = typed;
_relational = relational;
_state = state;
_isDelete = isDelete;
}
Message.fromJson(dynamic json) {
_id = json["id"];
_createTime = json["createTime"];
_createUser = json["createUser"];
_updateTime = json["updateTime"];
_updateUser = json["updateUser"];
_mid = json["mid"];
_title = json["title"];
_content = json["content"];
_typed = json["typed"];
_relational = json["relational"];
_state = json["state"];
_isDelete = json["isDelete"];
}
Map<String, dynamic> toJson() {
var map = <String, dynamic>{};
map["id"] = _id;
map["createTime"] = _createTime;
map["createUser"] = _createUser;
map["updateTime"] = _updateTime;
map["updateUser"] = _updateUser;
map["mid"] = _mid;
map["title"] = _title;
map["content"] = _content;
map["typed"] = _typed;
map["relational"] = _relational;
map["state"] = _state;
map["isDelete"] = _isDelete;
return map;
}
}

13
lib/retrofit/retrofit_api.dart

@ -147,6 +147,10 @@ abstract class ApiService {
@POST("/creditGoods/list") @POST("/creditGoods/list")
Future<BaseData> creditGoods(@Body() Map<String, dynamic> param); Future<BaseData> creditGoods(@Body() Map<String, dynamic> param);
///
@POST("/creditGoodsCategory/page")
Future<BaseData> goodsCategory(@Body() Map<String, dynamic> param);
/// ///
@GET("/creditGoods/{id}") @GET("/creditGoods/{id}")
Future<BaseData> creditGoodsById(@Path("id") String id); Future<BaseData> creditGoodsById(@Path("id") String id);
@ -282,4 +286,13 @@ abstract class ApiService {
/// ///
@GET("/member/vipDetail/{id}") @GET("/member/vipDetail/{id}")
Future<BaseData> vipDetail(@Path("id") String id); Future<BaseData> vipDetail(@Path("id") String id);
///App消息列表
@POST("/app-msg/list")
Future<BaseData> msgList(@Body() Map<String, dynamic> param);
///App消息详情
@GET("/app-msg/{id}")
Future<BaseData> queryMsg(@Path("id") String id);
} }

763
lib/retrofit/retrofit_api.g.dart

@ -1,763 +0,0 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'retrofit_api.dart';
// **************************************************************************
// RetrofitGenerator
// **************************************************************************
class _ApiService implements ApiService {
_ApiService(this._dio, {this.baseUrl}) {
ArgumentError.checkNotNull(_dio, '_dio');
baseUrl ??= 'http://platform.test.api.lotus-wallet.com/app/';
}
final Dio _dio;
String baseUrl;
@override
Future<BaseData> upload(data, folderId) async {
ArgumentError.checkNotNull(data, 'data');
ArgumentError.checkNotNull(folderId, 'folderId');
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = FormData();
_data.files.add(MapEntry(
'file',
MultipartFile.fromFileSync(data.path,
filename: data.path.split(Platform.pathSeparator).last)));
if (folderId != null) {
_data.fields.add(MapEntry('folderId', folderId.toString()));
}
final _result = await _dio.request<Map<String, dynamic>>('/file/upload',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<dynamic> searchPoi(lat, lng, keywords, size, page) async {
ArgumentError.checkNotNull(lat, 'lat');
ArgumentError.checkNotNull(lng, 'lng');
ArgumentError.checkNotNull(keywords, 'keywords');
ArgumentError.checkNotNull(size, 'size');
ArgumentError.checkNotNull(page, 'page');
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request(
'https://restapi.amap.com/v3/place/around?key=542b46afa8e4b88fe1eb3c4d0ba0872f&location=$lat,$lng&keywords=$keywords&offset={size}&page={page}&extensions=all',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = _result.data;
return value;
}
@override
Future<BaseData> memberLogin(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/platform/memberLogin',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> sendVerify(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.fromJson(_result.data);
return value;
}
@override
Future<BaseData> creditGoods(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>>(
'/creditGoods/list',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> creditGoodsById(id) async {
ArgumentError.checkNotNull(id, 'id');
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>('/creditGoods/$id',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> queryInfo() async {
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>('/member/info',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> editInfo(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>>(
'/member/editMemberInfo',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> signInInfo() async {
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>(
'/member/signInInfo',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> signIn() async {
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>('/member/signIn',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> recharge(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>>('/wallet/recharge',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> receiveCoupon(couponId) async {
ArgumentError.checkNotNull(couponId, 'couponId');
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>(
'/coupon/receive?couponId=$couponId',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> creditOrderList(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>>(
'/creditOrder/list',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> creditOrder(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>>(
'/creditOrder/create',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> addAddress(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>>('/address/add',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> deleteAddress(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>>('/address/delete',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> queryAddress(id) async {
ArgumentError.checkNotNull(id, 'id');
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>(
'/address/detail/$id',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> queryMemberAddress() async {
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>(
'/address/queryMemberAddress',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> updateAddress(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>>('/address/update',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> queryCoupon(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>>(
'/coupon/centreList',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> queryCard(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>>(
'/coupon/packageList',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> queryStore(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>>('/store/list',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> informationList(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>>(
'/information/list',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> informationInfo(id) async {
ArgumentError.checkNotNull(id, 'id');
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>('/information/$id',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> creditOrderReceive(id) async {
ArgumentError.checkNotNull(id, 'id');
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>(
'/creditOrder/receive/$id',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> queryHome() async {
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>('/home/home',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> queryStoreInfo(id) async {
ArgumentError.checkNotNull(id, 'id');
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>('/store/$id',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> queryArticle(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>>(
'/information/list',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> queryBanner(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>>('/banner/page',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> queryHomeBrand() async {
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>('/home/brand',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> minLogin(storeId) async {
ArgumentError.checkNotNull(storeId, 'storeId');
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>(
'/auth/mini/login/$storeId',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> queryBillInfo(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>>('/member/listBill',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> rankList() async {
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>('/member/rankList',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> orderList(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>>('/order/list',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> orderDetail(id) async {
ArgumentError.checkNotNull(id, 'id');
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>(
'/order/orderDetail?id=$id',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> continuePay(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>>(
'/order/continuePay',
queryParameters: queryParameters,
options: RequestOptions(
method: 'POST',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> receiveToCard(id) async {
ArgumentError.checkNotNull(id, 'id');
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>(
'/creditOrder/receive/$id',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> vipList() async {
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>('/member/vipList',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
@override
Future<BaseData> vipDetail(id) async {
ArgumentError.checkNotNull(id, 'id');
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _data = <String, dynamic>{};
final _result = await _dio.request<Map<String, dynamic>>(
'/member/vipDetail/$id',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
data: _data);
final value = BaseData.fromJson(_result.data);
return value;
}
}

59
lib/union/union_details_page.dart

@ -26,6 +26,7 @@ import 'package:path_provider/path_provider.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 'package:pull_to_refresh/pull_to_refresh.dart'; import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'package:url_launcher/url_launcher.dart';
class UnionDetailsPage extends StatefulWidget { class UnionDetailsPage extends StatefulWidget {
final Map<String, dynamic> arguments; final Map<String, dynamic> arguments;
@ -218,10 +219,15 @@ class _UnionDetailsPage extends State<UnionDetailsPage> {
SizedBox( SizedBox(
width: 16.w, width: 16.w,
), ),
Image.asset( InkWell(
"assets/image/icon_union_call.png", onTap: () {
width: 24.w, showCallMobile();
height: 24.h, },
child: Image.asset(
"assets/image/icon_union_call.png",
width: 24.w,
height: 24.h,
),
) )
], ],
), ),
@ -540,7 +546,11 @@ class _UnionDetailsPage extends State<UnionDetailsPage> {
.couponVOList[position].bizType == .couponVOList[position].bizType ==
1) 1)
? "${double.tryParse(storeInfo.couponVOList[position].discountAmount).toInt()}" ? "${double.tryParse(storeInfo.couponVOList[position].discountAmount).toInt()}"
: "${storeInfo.couponVOList[position].discountPercent}", : (storeInfo != null &&
storeInfo.couponVOList != null &&
storeInfo
.couponVOList[position].bizType ==
5) ? S.of(context).duihuanquan : "${storeInfo.couponVOList[position].discountPercent / 10}",
style: TextStyle( style: TextStyle(
fontSize: 36.sp, fontSize: 36.sp,
color: Color(0xFFFF7A1A), color: Color(0xFFFF7A1A),
@ -1066,4 +1076,43 @@ class _UnionDetailsPage extends State<UnionDetailsPage> {
)) ))
.toList(); .toList();
} }
showCallMobile() {
showCupertinoModalPopup(
context: context,
builder: (contetx) {
return CupertinoActionSheet(
title: Text(S.of(context).bodadianhua),
actions: [
if (storeInfo != null && storeInfo.headMobile != null && storeInfo.headMobile != "")
CupertinoActionSheetAction(
child: Text(storeInfo.headMobile),
onPressed: () {
callMobile(storeInfo.headMobile);
Navigator.of(context).pop();
},
isDefaultAction: true,
isDestructiveAction: false,
),
],
cancelButton: CupertinoActionSheetAction(
onPressed: () {
Navigator.of(context).pop();
},
child: Text(S.of(context).quxiao),
isDestructiveAction: true,
),
);
});
}
callMobile(mobile) async {
String url = "tel:$mobile";
if (await canLaunch(url)) {
await launch(url);
} else {
throw 'Could not launch $url';
}
}
} }

2
lib/utils/flutter_utils.dart

@ -10,7 +10,7 @@ class AppUtils {
static double textScale(context) { static double textScale(context) {
double textScaleFactor = MediaQuery.of(context).textScaleFactor; double textScaleFactor = MediaQuery.of(context).textScaleFactor;
print("textScaleFactor: $textScaleFactor"); print("textScaleFactor: $textScaleFactor");
return textScaleFactor > 1.2 ? 1.2 : textScaleFactor; return textScaleFactor > 1.15 ? 1.15 : textScaleFactor;
} }

17
lib/utils/font_weight.dart

@ -0,0 +1,17 @@
import 'dart:ui';
class MyFontWeight {
static const FontWeight thin = FontWeight.w100;
static const FontWeight extra_light = FontWeight.w200;
static const FontWeight light = FontWeight.w300;
static const FontWeight regular = FontWeight.w400;
static const FontWeight medium = FontWeight.w500;
static const FontWeight semi_bold = FontWeight.w600;
static const FontWeight bold = FontWeight.w700;
static const FontWeight extra_bold = FontWeight.w800;
static const FontWeight black = FontWeight.w900;
}

151
lib/view_widget/item_input_widget.dart

@ -1,6 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:huixiang/utils/font_weight.dart';
import 'package:huixiang/view_widget/border_text.dart'; import 'package:huixiang/view_widget/border_text.dart';
class ItemInputWidget extends StatelessWidget { class ItemInputWidget extends StatelessWidget {
@ -25,8 +26,6 @@ class ItemInputWidget extends StatelessWidget {
final String errorText; final String errorText;
final Color errorTextColor; final Color errorTextColor;
final Color titleColor; final Color titleColor;
final int inputType;
final double heightPercentage;
final double radius; final double radius;
final EdgeInsets padding; final EdgeInsets padding;
final TextInputType textInputType; final TextInputType textInputType;
@ -47,20 +46,18 @@ class ItemInputWidget extends StatelessWidget {
this.errorText = "", this.errorText = "",
this.errorTextColor = const Color(0xFFFF441A), this.errorTextColor = const Color(0xFFFF441A),
this.titleColor = Colors.black, this.titleColor = Colors.black,
this.heightPercentage,
this.padding = this.padding =
const EdgeInsets.only(left: 20, right: 21, top: 16, bottom: 4), const EdgeInsets.only(left: 20, right: 21, top: 16, bottom: 4),
this.btnText, this.btnText,
this.inputType = 0,
this.textInputFormatter, this.textInputFormatter,
this.isShowBtn = false, this.isShowBtn = false,
}); });
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
var color = Color(0xFFA29E9E); var color = Color(0xFFF7F7F7);
if (inputState == 0) { if (inputState == 0) {
color = Color(0xFFA29E9E); color = Color(0xFFF7F7F7);
} else if (inputState == 1) { } else if (inputState == 1) {
color = Color(0xFF37A546); color = Color(0xFF37A546);
} else { } else {
@ -72,8 +69,7 @@ class ItemInputWidget extends StatelessWidget {
); );
return Container( return Container(
height: heightPercentage, margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 12.h, bottom: 4.h),
margin: EdgeInsets.only(left: 20, right: 20, top: 12, bottom: 4),
padding: padding, padding: padding,
decoration: BoxDecoration( decoration: BoxDecoration(
boxShadow: [ boxShadow: [
@ -98,102 +94,59 @@ class ItemInputWidget extends StatelessWidget {
color: titleColor, color: titleColor,
), ),
), ),
if (inputType == 1) SizedBox(
SizedBox( height: 5.h,
height: 5, ),
),
Container( Container(
height: inputType == 1 ? 30 : 0.03.sh, alignment: Alignment.centerLeft,
child: Row( child: Stack(
mainAxisAlignment: MainAxisAlignment.start, alignment: Alignment.centerLeft,
crossAxisAlignment: CrossAxisAlignment.end,
mainAxisSize: MainAxisSize.max,
children: [ children: [
Expanded( Container(
child: Container( width: 20.w,
alignment: Alignment.centerLeft, alignment: Alignment.centerLeft,
child: Stack( child: Text(
alignment: Alignment.centerLeft, "¥",
children: [ style: TextStyle(
if (inputType == 1) fontWeight: MyFontWeight.medium,
Container( color: style.color,
alignment: Alignment.centerLeft, fontSize: 26.sp,
child: Text(
"¥",
style: TextStyle(
fontWeight: FontWeight.bold,
color: style.color,
fontSize: 26.sp,
),
),
margin: EdgeInsets.only(left: 5),
),
Container(
child: TextField(
controller: controller,
style: style,
onChanged: onChanged,
keyboardType: textInputType,
decoration: InputDecoration(
errorBorder: inputBorder,
focusedBorder: inputBorder,
enabledBorder: inputBorder,
hintText: hintText,
contentPadding: EdgeInsets.only(
top: 12,
bottom: 12,
left: inputType == 1 ? 22 : 0,
),
hintStyle: TextStyle(
fontSize: 10,
color: Color(0xFFA29E9E),
),
),
textInputAction: TextInputAction.next,
inputFormatters: [
LengthLimitingTextInputFormatter(inputLimit),
textInputFormatter
],
cursorColor: Colors.grey,
maxLines: 1,
minLines: 1,
),
),
],
), ),
), ),
flex: 5, margin: EdgeInsets.only(left: 5, bottom: 12.h),
), ),
if (isShowBtn ?? false) Container(
Expanded( height: 0.035.sh,
flex: 3, child: TextField(
child: Row( controller: controller,
mainAxisAlignment: MainAxisAlignment.end, style: style,
crossAxisAlignment: CrossAxisAlignment.end, onChanged: onChanged,
children: [ keyboardType: textInputType,
InkWell( decoration: InputDecoration(
onTap: onTap, errorBorder: inputBorder,
child: Container( focusedBorder: inputBorder,
margin: EdgeInsets.only(left: 20), enabledBorder: inputBorder,
child: BorderText( hintText: hintText,
text: btnText, contentPadding: EdgeInsets.only(
borderColor: btnState == 0 top: 12.h,
? Color(0xFF32A060) bottom: 12.h,
: Color(0xFFFE951E), left: 24.w,
borderWidth: 1, ),
radius: 2, hintStyle: TextStyle(
padding: EdgeInsets.only( fontSize: 10.sp,
left: 8, right: 8, top: 4, bottom: 4), color: Color(0xFFA29E9E),
fontSize: 10, ),
textColor: btnState == 0
? Color(0xFF32A060)
: Color(0xFFFE951E),
),
),
),
],
), ),
) textInputAction: TextInputAction.next,
inputFormatters: [
LengthLimitingTextInputFormatter(inputLimit),
textInputFormatter
],
cursorColor: Colors.grey,
maxLines: 1,
minLines: 1,
),
),
], ],
), ),
), ),
@ -203,7 +156,7 @@ class ItemInputWidget extends StatelessWidget {
errorText ?? "", errorText ?? "",
style: TextStyle( style: TextStyle(
color: errorTextColor, color: errorTextColor,
fontSize: 12, fontSize: 12.sp,
), ),
), ),
) )

139
lib/view_widget/message_item.dart

@ -1,9 +1,11 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:huixiang/generated/l10n.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
class MessageItem extends StatefulWidget { class MessageItem extends StatefulWidget {
final Function(bool) onChanged; final int stStatus;
final int stststatus;
MessageItem(this.stststatus, this.onChanged); MessageItem(this.stStatus);
@override @override
_MessageItemState createState() => _MessageItemState(); _MessageItemState createState() => _MessageItemState();
@ -14,76 +16,82 @@ class _MessageItemState extends State<MessageItem> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Row( return Row(
children: [ children: [
if (widget.stststatus != 0) checkView(), if (widget.stStatus != 0) checkView(),
Container( Container(
margin: EdgeInsets.only(left: widget.stststatus == 0 ? 16 : 0), margin: EdgeInsets.only(left: widget.stStatus == 0 ? 16 : 0),
child: Image.network( child: Image.network(
"https://t7.baidu.com/it/u=1297102096,3476971300&fm=193&f=GIF", "https://t7.baidu.com/it/u=1297102096,3476971300&fm=193&f=GIF",
width: 44, width: 44.w,
fit: BoxFit.cover, fit: BoxFit.cover,
height: 44, height: 44.h,
), ),
), ),
Expanded( Expanded(
flex: 1, flex: 1,
child: Container( child: Container(
margin: EdgeInsets.only(left: 16, right: 16), margin: EdgeInsets.only(left: 16, right: 16),
height: 44, height: 44.h,
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.spaceAround, mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
Text( Text(
"海峡姐妹", S.of(context).xitongtongzhi,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 14, fontSize: 14.sp,
color: Color(0xFF060606)), color: Color(0xFF060606)),
), ),
Text( Text(
"2021.03.08 13:22", "2021.03.08 13:22",
style: style: TextStyle(
TextStyle(fontSize: 10, color: Color(0xFFA29E9E)), fontSize: 10.sp,
color: Color(0xFFA29E9E),
), ),
], ),
), ],
Row( ),
mainAxisAlignment: MainAxisAlignment.spaceBetween, Row(
crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ crossAxisAlignment: CrossAxisAlignment.center,
Expanded( children: [
flex: 1, Expanded(
child: Text( flex: 1,
"2021由她上,三八妇女节感恩回馈!三八妇女节,五一劳动节,六一儿童节", child: Text(
overflow: TextOverflow.ellipsis, "2021由她上,三八妇女节感恩回馈!三八妇女节,五一劳动节,六一儿童节",
style: TextStyle( overflow: TextOverflow.ellipsis,
fontSize: 10, color: Color(0xFF353535)), style: TextStyle(
)), fontSize: 10.sp,
if (widget.stststatus == 0) color: Color(0xFF353535),
Container( ),
width: 10, )),
height: 10, if (widget.stStatus == 0)
alignment: Alignment.center, Container(
margin: EdgeInsets.only(left: 17), width: 10.w,
decoration: BoxDecoration( height: 10.h,
color: Colors.red, alignment: Alignment.center,
borderRadius: margin: EdgeInsets.only(left: 17),
BorderRadius.all(Radius.circular(5))), decoration: BoxDecoration(
child: Text( color: Colors.red,
"1", borderRadius: BorderRadius.circular(5)),
style: TextStyle( child: Text(
fontSize: 7, color: Color(0xFFFFFFFF)), "1",
style: TextStyle(
fontSize: 7,
color: Color(0xFFFFFFFF),
), ),
) ),
], )
), ],
], ),
), ],
)), ),
),
),
], ],
); );
} }
@ -96,9 +104,6 @@ class _MessageItemState extends State<MessageItem> {
setState(() { setState(() {
_isCheck = !_isCheck; _isCheck = !_isCheck;
}); });
if (widget.onChanged != null) {
widget.onChanged.call(_isCheck);
}
}, },
child: Container( child: Container(
padding: EdgeInsets.all(16), padding: EdgeInsets.all(16),

2
lib/view_widget/mine_vip_view.dart

@ -34,6 +34,8 @@ class MineVipView extends StatelessWidget {
if (curLevel == vipLevel) { if (curLevel == vipLevel) {
topLeft = S.of(context).dangqiandengji; topLeft = S.of(context).dangqiandengji;
} else if(vipLevel < curLevel) {
topLeft = S.of(context).shangyidengji;
} else { } else {
topLeft = S.of(context).xiayidengji; topLeft = S.of(context).xiayidengji;
} }

75
lib/view_widget/new_coupon_widget.dart

@ -256,6 +256,36 @@ class NewCouponWidget extends StatelessWidget {
), ),
], ],
); );
} else if (coupon.bizType == 5) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Expanded(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
S.of(context).duihuanquan,
style: TextStyle(
fontSize: 25.sp,
fontWeight: FontWeight.bold,
color: Color(0xff32A060),
),
),
],
),
),
Text(
S.of(context).xianxiashiyong,
style: TextStyle(
fontSize: 12.sp,
fontWeight: FontWeight.bold,
color: Color(0xff32A060),
),
),
],
);
} else { } else {
return Column( return Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
@ -269,8 +299,8 @@ class NewCouponWidget extends StatelessWidget {
children: [ children: [
Text( Text(
coupon != null coupon != null
? double.tryParse("${coupon.discountPercent}" ?? "0") ? double.tryParse(
.toInt() "${coupon.discountPercent / 10.0}" ?? "0")
.toString() .toString()
: "", : "",
style: TextStyle( style: TextStyle(
@ -353,33 +383,36 @@ class NewCouponWidget extends StatelessWidget {
} else { } else {
if (coupon != null && coupon.status == 1) { if (coupon != null && coupon.status == 1) {
return Align( return Align(
alignment: Alignment.centerRight, alignment: Alignment.centerRight,
child: InkWell( child: InkWell(
onTap: () { onTap: () {
callback(type); callback(type);
}, },
child: Container( child: Container(
padding: EdgeInsets.fromLTRB(16.w, 2.h, 16.w, 2.h), padding: EdgeInsets.fromLTRB(16.w, 2.h, 16.w, 2.h),
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(10.5)), borderRadius: BorderRadius.circular(10.5),
color: Color(0xFF32A060), color: Color(0xFF32A060),
), ),
child: Text( child: Text(
S.of(context).qushiyong, (coupon.bizType == 5)
style: TextStyle( ? S.of(context).quhexiao
fontSize: 12.sp, : S.of(context).qushiyong,
color: Colors.white, style: TextStyle(
), fontSize: 12.sp,
color: Colors.white,
), ),
), ),
)); ),
),
);
} else if (coupon != null && coupon.status == 2) { } else if (coupon != null && coupon.status == 2) {
return Align( return Align(
alignment: Alignment.centerRight, alignment: Alignment.centerRight,
child: Container( child: Container(
padding: EdgeInsets.fromLTRB(16.w, 2.h, 16.w, 2.h), padding: EdgeInsets.fromLTRB(16.w, 2.h, 16.w, 2.h),
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(10.5)), borderRadius: BorderRadius.circular(10.5),
// border: Border.all( // border: Border.all(
// width: 1, color: Color(0xFFA0A0A0), style: BorderStyle.solid) // width: 1, color: Color(0xFFA0A0A0), style: BorderStyle.solid)
color: Color(0xFFA0A0A0), color: Color(0xFFA0A0A0),

322
pubspec.lock

File diff suppressed because it is too large Load Diff

2
pubspec.yaml

@ -72,7 +72,7 @@ dependencies:
shared_preferences: ^2.0.6 shared_preferences: ^2.0.6
flutter_smart_dialog: ^2.1.6 flutter_smart_dialog: ^2.1.6
# url_launcher: ^6.0.5 url_launcher: ^6.0.5
# app_links: ^2.1.0 # app_links: ^2.1.0
# crop_image: ^1.0.1 # crop_image: ^1.0.1

Loading…
Cancel
Save