diff --git a/lib/constants/api_v2.dart b/lib/constants/api_v2.dart index ea499dd..e7e1b20 100644 --- a/lib/constants/api_v2.dart +++ b/lib/constants/api_v2.dart @@ -85,6 +85,9 @@ class UserAPI { ///确认角色卡变动 String get confirmUserCardChange => '/v2/app/user/welfare/notice/look'; + + ///会员隐私开关 + String get securePhone => '/v2/app/user/secret'; } class BenefitAPI { diff --git a/lib/pages/user/account_and_safety/account_and_safety_page.dart b/lib/pages/user/account_and_safety/account_and_safety_page.dart index 5f85140..1928bf8 100644 --- a/lib/pages/user/account_and_safety/account_and_safety_page.dart +++ b/lib/pages/user/account_and_safety/account_and_safety_page.dart @@ -1,6 +1,8 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:recook/constants/api_v2.dart'; import 'package:recook/constants/header.dart'; +import 'package:recook/manager/http_manager.dart'; import 'package:recook/widgets/custom_app_bar.dart'; import 'package:recook/widgets/progress/re_toast.dart'; import 'package:recook/widgets/sc_tile.dart'; @@ -14,7 +16,13 @@ class AccountAndSafetyPage extends StatefulWidget { } class _AccountAndSafetyPageState extends State { - bool switchTest = false; + bool secureValue = false; + @override + void initState() { + super.initState(); + //TODO 初始化手机号显示开关数值 + } + @override Widget build(BuildContext context) { return Scaffold( @@ -48,11 +56,11 @@ class _AccountAndSafetyPageState extends State { materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, onPressed: () async { final cancel = ReToast.loading(text: '修改中'); - await Future.delayed(Duration(seconds: 2)); + secureValue = !secureValue; + await HttpManager.post( + APIV2.userAPI.securePhone, {'secure': secureValue ? 1 : 0}); cancel(); - setState(() { - switchTest = !switchTest; - }); + setState(() {}); }, child: Row( children: [ @@ -68,15 +76,15 @@ class _AccountAndSafetyPageState extends State { ], ).expand(), CupertinoSwitch( - value: switchTest, + value: secureValue, trackColor: Color(0xFFDB2D2D), onChanged: (state) async { final cancel = ReToast.loading(text: '修改中'); - await Future.delayed(Duration(seconds: 2)); + secureValue = !secureValue; + await HttpManager.post(APIV2.userAPI.securePhone, + {'secure': secureValue ? 1 : 0}); cancel(); - setState(() { - switchTest = !switchTest; - }); + setState(() {}); }, ), ], diff --git a/lib/pages/user/invite/group_invite_card.dart b/lib/pages/user/invite/group_invite_card.dart index fe16cdf..d4ade90 100644 --- a/lib/pages/user/invite/group_invite_card.dart +++ b/lib/pages/user/invite/group_invite_card.dart @@ -16,10 +16,15 @@ class GroupInviteCard extends StatelessWidget { final UserCommonModel model; const GroupInviteCard({Key key, @required this.model}) : super(key: key); _renderItem(String asset, String value) { + String displayValue = value; + if (displayValue?.isEmpty ?? true) { + displayValue = ' —'; + } return Row( children: [ Image.asset(asset, width: 10.w, height: 10.w), - value.text.size(11.sp).color(Color(0xFF999999)).make().expand(), + 2.wb, + displayValue.text.size(11.sp).color(Color(0xFF999999)).make().expand(), ], ).expand(); } @@ -184,7 +189,10 @@ class GroupInviteCard extends StatelessWidget { children: [ _renderItem( R.ASSETS_USER_ICON_GROUP_PNG, model.count.toString()), - _renderItem(R.ASSETS_USER_ICON_MONEY_PNG, 'TODO 销售额'), + _renderItem( + R.ASSETS_USER_ICON_MONEY_PNG, + model.amount.toStringAsFixed(2), + ), ], ), 16.hb, diff --git a/lib/pages/user/model/user_common_model.dart b/lib/pages/user/model/user_common_model.dart index 75a7df6..a3289ce 100644 --- a/lib/pages/user/model/user_common_model.dart +++ b/lib/pages/user/model/user_common_model.dart @@ -10,21 +10,24 @@ class UserCommonModel { int count; int roleLevel; int flag; + num amount; UserRoleLevel get roleLevelEnum => UserLevelTool.roleLevelEnum(roleLevel); bool get isRecommand => flag == 1; - UserCommonModel( - {this.userId, - this.headImgUrl, - this.nickname, - this.phone, - this.wechatNo, - this.remarkName, - this.count, - this.roleLevel, - this.flag}); + UserCommonModel({ + this.userId, + this.headImgUrl, + this.nickname, + this.phone, + this.wechatNo, + this.remarkName, + this.count, + this.roleLevel, + this.flag, + this.amount, + }); UserCommonModel.fromJson(Map json) { userId = json['userId']; @@ -36,6 +39,7 @@ class UserCommonModel { count = json['count']; roleLevel = json['roleLevel']; flag = json['flag']; + amount = json['amount']; } Map toJson() { diff --git a/lib/pages/user/user_page.dart b/lib/pages/user/user_page.dart index 3aae9a4..578f9ce 100644 --- a/lib/pages/user/user_page.dart +++ b/lib/pages/user/user_page.dart @@ -66,10 +66,18 @@ class _UserPageState extends BaseStoreState { double _target = 100; double _amount = 0; + int _cardType = 0; int _cardCount = 0; + bool get _fullCheck { + // bool isGold = UserLevelTool.currentRoleLevelEnum() == UserRoleLevel.Gold; + // bool isSilver = UserLevelTool.currentRoleLevelEnum() == UserRoleLevel.Silver; - GlobalKey _shopBenefitKey = - GlobalKey(); + if (_cardType == 1 || _cardType == 2) return true; + return false; + } + + // GlobalKey _shopBenefitKey = + // GlobalKey(); UseerIncomeDataModel _userIncomeDataModel; @override bool get wantKeepAlive => true; @@ -292,7 +300,10 @@ class _UserPageState extends BaseStoreState { UserLevelTool.currentRoleLevelEnum() == UserRoleLevel.Gold || UserLevelTool.currentRoleLevelEnum() == UserRoleLevel.Silver - ? ShopCheckView(target: _target, amount: _amount) + ? ShopCheckView( + target: _fullCheck ? _amount : _target, + amount: _amount, + ) : SizedBox(), ShopManagerView(), OrderCentralView( diff --git a/pubspec.lock b/pubspec.lock index c6904fa..4e7859a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -217,7 +217,7 @@ packages: name: code_builder url: "https://pub.flutter-io.cn" source: hosted - version: "3.6.0" + version: "3.7.0" collection: dependency: transitive description: @@ -231,7 +231,7 @@ packages: name: common_utils url: "https://pub.flutter-io.cn" source: hosted - version: "1.2.1" + version: "1.2.4" convert: dependency: transitive description: @@ -507,7 +507,7 @@ packages: name: flutter_txugcupload url: "https://pub.flutter-io.cn" source: hosted - version: "0.0.2" + version: "0.0.3" flutter_union_pay: dependency: "direct main" description: @@ -649,7 +649,7 @@ packages: name: io url: "https://pub.flutter-io.cn" source: hosted - version: "0.3.4" + version: "0.3.5" js: dependency: transitive description: @@ -671,6 +671,13 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "4.1.0" + logger: + dependency: transitive + description: + name: logger + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.0.0" logging: dependency: transitive description: @@ -749,7 +756,7 @@ packages: name: openinstall_flutter_plugin url: "https://pub.flutter-io.cn" source: hosted - version: "1.3.2" + version: "1.4.1" package_config: dependency: transitive description: @@ -842,7 +849,7 @@ packages: name: percent_indicator url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.9" + version: "2.1.9+1" permission_handler: dependency: "direct main" description: @@ -911,19 +918,10 @@ packages: power_logger: dependency: "direct main" description: - path: "." - ref: null-safety - resolved-ref: e07ea9aaa832772139172f2a83b5d2babc63fc7e - url: "http://159.75.73.143:8080/laiiihz/power_logger" - source: git - version: "0.1.3" - pretty_json: - dependency: transitive - description: - name: pretty_json + name: power_logger url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.0" + version: "1.0.1-nullsafety.1" process: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index aa213ee..e68cf9d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -231,10 +231,7 @@ dependencies: animations: device_info: ^2.0.0 clipboard_listener: ^1.0.0 - power_logger: - git: - url: http://159.75.73.143:8080/laiiihz/power_logger - ref: null-safety + power_logger: ^1.0.1-nullsafety.1 bot_toast: ^3.0.5 get: ^3.26.0