对接我的余额接口

master
laiiihz 5 years ago
parent 9b1833e196
commit 0c4a6c8d9f

@ -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';
}

@ -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<UserBalancePage> {
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<UserBalancePage> {
[
'可使用(元)'.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(),

@ -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<UserBalanceInfoModel> info() async {
ResultData result = await HttpManager.post(APIV2.userAPI.balanceInfo, {});
return UserBalanceInfoModel.fromJson(result.data);
}
}

@ -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';

@ -0,0 +1,52 @@
class UserBalanceInfoModel {
String code;
String msg;
Data data;
UserBalanceInfoModel({this.code, this.msg, this.data});
UserBalanceInfoModel.fromJson(Map<String, dynamic> 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<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
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<String, dynamic> json) {
balance = json['balance'] ?? 0 + .0;
totalWithdraw = json['totalWithdraw'] ?? .0 + .0;
}
Data.zero() {
balance = 0;
totalWithdraw = 0;
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['balance'] = this.balance;
data['totalWithdraw'] = this.totalWithdraw;
return data;
}
}

@ -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:

@ -210,6 +210,8 @@ dependencies:
velocity_x: ^1.0.1
animations:
dev_dependencies:
flutter_test:
sdk: flutter

Loading…
Cancel
Save