From 0c4a6c8d9f6b623bfd22415e9637a85aa78d1703 Mon Sep 17 00:00:00 2001 From: laiiihz Date: Fri, 8 Jan 2021 09:20:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E6=88=91=E7=9A=84=E4=BD=99?= =?UTF-8?q?=E9=A2=9D=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/constants/api_v2.dart | 9 +++- .../user/banlance/user_balance_page.dart | 23 +++++++- .../user/functions/user_balance_func.dart | 10 ++++ .../user/functions/user_benefit_func.dart | 1 - .../user/model/user_balance_info_model.dart | 52 +++++++++++++++++++ pubspec.lock | 7 +++ pubspec.yaml | 2 + 7 files changed, 99 insertions(+), 5 deletions(-) create mode 100644 lib/pages/user/functions/user_balance_func.dart create mode 100644 lib/pages/user/model/user_balance_info_model.dart diff --git a/lib/constants/api_v2.dart b/lib/constants/api_v2.dart index 582d2ac..818b85c 100644 --- a/lib/constants/api_v2.dart +++ b/lib/constants/api_v2.dart @@ -3,7 +3,12 @@ class APIV2 { } class UserAPI { - ///我的收益 - String get userBenefit => '/v2/app/user/income'; + String get userBenefit => '/v2/app/user/income'; + + ///余额信息 + String get balanceInfo => '/v2/app/user/balance/info'; + + ///月余额记录信息 + String get balanceMonthHistory => '/v2/app/user/balance/month_history'; } diff --git a/lib/pages/user/banlance/user_balance_page.dart b/lib/pages/user/banlance/user_balance_page.dart index 9ae56a5..743ffb0 100644 --- a/lib/pages/user/banlance/user_balance_page.dart +++ b/lib/pages/user/banlance/user_balance_page.dart @@ -1,6 +1,8 @@ import 'package:flutter/material.dart'; import 'package:recook/constants/header.dart'; import 'package:recook/manager/user_manager.dart'; +import 'package:recook/pages/user/functions/user_balance_func.dart'; +import 'package:recook/pages/user/model/user_balance_info_model.dart'; import 'package:recook/pages/user/user_cash_withdraw_page.dart'; import 'package:recook/widgets/custom_image_button.dart'; import 'package:recook/widgets/recook/recook_scaffold.dart'; @@ -15,6 +17,13 @@ class UserBalancePage extends StatefulWidget { } class _UserBalancePageState extends State { + UserBalanceInfoModel _model = UserBalanceInfoModel.zero(); + @override + void initState() { + super.initState(); + UserBalanceFunc.info().then((model) => setState(() => _model = model)); + } + @override Widget build(BuildContext context) { return RecookScaffold( @@ -51,13 +60,23 @@ class _UserBalancePageState extends State { [ '可使用(元)'.text.size(14.sp).color(Color(0xFF333333)).make(), 4.hb, - '680.00X'.text.size(30).color(Color(0xFFD40000)).make(), + _model.data.balance + .toStringAsFixed(2) + .text + .size(30) + .color(Color(0xFFD40000)) + .make(), ].column(crossAlignment: CrossAxisAlignment.start), Spacer(), [ '累计提现(元)'.text.size(14.sp).color(Color(0xFF333333)).make(), 4.hb, - '680.00X'.text.size(30).black.make(), + _model.data.totalWithdraw + .toStringAsFixed(2) + .text + .size(30) + .black + .make(), ].column(crossAlignment: CrossAxisAlignment.end), 16.wb, ].row(), diff --git a/lib/pages/user/functions/user_balance_func.dart b/lib/pages/user/functions/user_balance_func.dart new file mode 100644 index 0000000..154a95f --- /dev/null +++ b/lib/pages/user/functions/user_balance_func.dart @@ -0,0 +1,10 @@ +import 'package:recook/constants/api_v2.dart'; +import 'package:recook/manager/http_manager.dart'; +import 'package:recook/pages/user/model/user_balance_info_model.dart'; + +class UserBalanceFunc { + static Future info() async { + ResultData result = await HttpManager.post(APIV2.userAPI.balanceInfo, {}); + return UserBalanceInfoModel.fromJson(result.data); + } +} diff --git a/lib/pages/user/functions/user_benefit_func.dart b/lib/pages/user/functions/user_benefit_func.dart index cc0f5f4..07a0232 100644 --- a/lib/pages/user/functions/user_benefit_func.dart +++ b/lib/pages/user/functions/user_benefit_func.dart @@ -1,4 +1,3 @@ -import 'package:recook/constants/api.dart'; import 'package:recook/constants/api_v2.dart'; import 'package:recook/manager/http_manager.dart'; import 'package:recook/pages/user/model/user_benefit_model.dart'; diff --git a/lib/pages/user/model/user_balance_info_model.dart b/lib/pages/user/model/user_balance_info_model.dart new file mode 100644 index 0000000..282dd1b --- /dev/null +++ b/lib/pages/user/model/user_balance_info_model.dart @@ -0,0 +1,52 @@ +class UserBalanceInfoModel { + String code; + String msg; + Data data; + + UserBalanceInfoModel({this.code, this.msg, this.data}); + + UserBalanceInfoModel.fromJson(Map json) { + code = json['code']; + msg = json['msg']; + data = json['data'] != null ? new Data.fromJson(json['data']) : null; + } + UserBalanceInfoModel.zero() { + code = ''; + msg = ''; + data = Data.zero(); + } + + Map toJson() { + final Map data = new Map(); + data['code'] = this.code; + data['msg'] = this.msg; + if (this.data != null) { + data['data'] = this.data.toJson(); + } + return data; + } +} + +class Data { + double balance; + double totalWithdraw; + + Data({this.balance, this.totalWithdraw}); + + Data.fromJson(Map json) { + balance = json['balance'] ?? 0 + .0; + totalWithdraw = json['totalWithdraw'] ?? .0 + .0; + } + + Data.zero() { + balance = 0; + totalWithdraw = 0; + } + + Map toJson() { + final Map data = new Map(); + data['balance'] = this.balance; + data['totalWithdraw'] = this.totalWithdraw; + return data; + } +} diff --git a/pubspec.lock b/pubspec.lock index 1d089d3..2f7481e 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -36,6 +36,13 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "0.36.4" + animations: + dependency: "direct main" + description: + name: animations + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.1.2" args: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 9e16f06..df1b053 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -210,6 +210,8 @@ dependencies: velocity_x: ^1.0.1 + animations: + dev_dependencies: flutter_test: sdk: flutter