111
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/// 资产总览模型
|
||||
/// 資產總覽模型
|
||||
class AssetOverview {
|
||||
final String totalAsset;
|
||||
final String fundBalance;
|
||||
@@ -22,7 +22,7 @@ class AssetOverview {
|
||||
}
|
||||
}
|
||||
|
||||
/// 资金账户模型
|
||||
/// 資金賬戶模型
|
||||
class AccountFund {
|
||||
final int id;
|
||||
final int userId;
|
||||
@@ -51,7 +51,7 @@ class AccountFund {
|
||||
}
|
||||
}
|
||||
|
||||
/// 交易账户模型(持仓)
|
||||
/// 交易賬戶模型(持倉)
|
||||
class AccountTrade {
|
||||
final int id;
|
||||
final int userId;
|
||||
@@ -78,7 +78,7 @@ class AccountTrade {
|
||||
});
|
||||
|
||||
factory AccountTrade.fromJson(Map<String, dynamic> json) {
|
||||
// 后端返回 value(当前价值),前端用 currentValue
|
||||
// 後端返回 value(當前價值),前端用 currentValue
|
||||
final quantityNum =
|
||||
double.tryParse(json['quantity']?.toString() ?? '0') ?? 0;
|
||||
final avgPriceNum =
|
||||
@@ -108,7 +108,7 @@ class AccountTrade {
|
||||
);
|
||||
}
|
||||
|
||||
/// 格式化盈亏率
|
||||
/// 格式化盈虧率
|
||||
String get formattedProfitRate {
|
||||
final prefix = profitRate >= 0 ? '+' : '';
|
||||
return '$prefix${profitRate.toStringAsFixed(2)}%';
|
||||
@@ -118,7 +118,7 @@ class AccountTrade {
|
||||
bool get isProfit => profitRate >= 0;
|
||||
}
|
||||
|
||||
/// 资金流水模型
|
||||
/// 資金流水模型
|
||||
class AccountFlow {
|
||||
final int id;
|
||||
final int userId;
|
||||
@@ -155,26 +155,26 @@ class AccountFlow {
|
||||
);
|
||||
}
|
||||
|
||||
/// 流水类型文字
|
||||
/// 流水類型文字
|
||||
String get flowTypeText {
|
||||
switch (flowType) {
|
||||
case '1':
|
||||
return '充值';
|
||||
case '2':
|
||||
return '提现';
|
||||
return '提現';
|
||||
case '3':
|
||||
return '转入交易账户';
|
||||
return '轉入交易賬戶';
|
||||
case '4':
|
||||
return '从交易账户转出';
|
||||
return '從交易賬戶轉出';
|
||||
case '5':
|
||||
return '卖出收入';
|
||||
return '賣出收入';
|
||||
case '6':
|
||||
return '买入支出';
|
||||
return '買入支出';
|
||||
default:
|
||||
return '未知';
|
||||
}
|
||||
}
|
||||
|
||||
/// 是否为收入
|
||||
/// 是否為收入
|
||||
bool get isIncome => ['1', '3', '5'].contains(flowType);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/// 币种模型
|
||||
/// 幣種模型
|
||||
class Coin {
|
||||
final int id;
|
||||
final String code;
|
||||
@@ -7,7 +7,7 @@ class Coin {
|
||||
final double price;
|
||||
final double? priceUsd;
|
||||
final double? priceCny;
|
||||
final int priceType; // 1=实时价格, 2=管理员设置
|
||||
final int priceType; // 1=實時價格, 2=管理員設置
|
||||
final double change24h;
|
||||
final double? high24h;
|
||||
final double? low24h;
|
||||
@@ -70,7 +70,7 @@ class Coin {
|
||||
};
|
||||
}
|
||||
|
||||
/// 显示图标(Unicode 符号)
|
||||
/// 顯示圖標(Unicode 符號)
|
||||
String get displayIcon {
|
||||
const icons = {
|
||||
'BTC': '\u20BF',
|
||||
@@ -85,22 +85,22 @@ class Coin {
|
||||
return icons[code] ?? '\u25CF';
|
||||
}
|
||||
|
||||
/// 格式化价格显示
|
||||
/// 格式化價格顯示
|
||||
String get formattedPrice {
|
||||
if (price >= 1000) return price.toStringAsFixed(2);
|
||||
if (price >= 1) return price.toStringAsFixed(4);
|
||||
return price.toStringAsFixed(6);
|
||||
}
|
||||
|
||||
/// 格式化涨跌幅
|
||||
/// 格式化漲跌幅
|
||||
String get formattedChange {
|
||||
final prefix = change24h >= 0 ? '+' : '';
|
||||
return '$prefix${change24h.toStringAsFixed(2)}%';
|
||||
}
|
||||
|
||||
/// 是否上涨
|
||||
/// 是否上漲
|
||||
bool get isUp => change24h >= 0;
|
||||
|
||||
/// 是否为实时价格
|
||||
/// 是否為實時價格
|
||||
bool get isRealtime => priceType == 1;
|
||||
}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
/// 交易订单模型
|
||||
/// 交易訂單模型
|
||||
class OrderTrade {
|
||||
final int id;
|
||||
final String orderNo;
|
||||
final int userId;
|
||||
final String coinCode;
|
||||
final int direction; // 1=买入, 2=卖出
|
||||
final int direction; // 1=買入, 2=賣出
|
||||
final String price;
|
||||
final String quantity;
|
||||
final String amount;
|
||||
final int status; // 1=待处理, 2=已完成, 3=已取消
|
||||
final int status; // 1=待處理, 2=已完成, 3=已取消
|
||||
final DateTime? createTime;
|
||||
final DateTime? updateTime;
|
||||
|
||||
@@ -47,13 +47,13 @@ class OrderTrade {
|
||||
}
|
||||
|
||||
/// 方向文字
|
||||
String get directionText => direction == 1 ? '买入' : '卖出';
|
||||
String get directionText => direction == 1 ? '買入' : '賣出';
|
||||
|
||||
/// 状态文字
|
||||
/// 狀態文字
|
||||
String get statusText {
|
||||
switch (status) {
|
||||
case 1:
|
||||
return '待处理';
|
||||
return '待處理';
|
||||
case 2:
|
||||
return '已完成';
|
||||
case 3:
|
||||
@@ -63,33 +63,33 @@ class OrderTrade {
|
||||
}
|
||||
}
|
||||
|
||||
/// 是否为买入
|
||||
/// 是否為買入
|
||||
bool get isBuy => direction == 1;
|
||||
}
|
||||
|
||||
/// 充提订单模型
|
||||
/// 充提訂單模型
|
||||
class OrderFund {
|
||||
final int id;
|
||||
final String orderNo;
|
||||
final int userId;
|
||||
final String username;
|
||||
final int type; // 1=充值, 2=提现
|
||||
final int type; // 1=充值, 2=提現
|
||||
final String amount;
|
||||
final String? fee; // 手续费
|
||||
final String? receivableAmount; // 应收款项
|
||||
final String? fee; // 手續費
|
||||
final String? receivableAmount; // 應收款項
|
||||
final int status;
|
||||
// 充值状态: 1=待付款, 2=待确认, 3=已完成, 4=已驳回, 5=已取消
|
||||
// 提现状态: 1=待审批, 2=已出款, 3=已驳回, 4=已取消, 5=待财务审核
|
||||
final int? walletId; // 冷钱包ID(充值)
|
||||
final String? walletAddress; // 钱包地址(充值/提现)
|
||||
final String? network; // 提现网络类型
|
||||
final String? withdrawContact; // 提现联系方式
|
||||
// 充值狀態: 1=待付款, 2=待確認, 3=已完成, 4=已駁回, 5=已取消
|
||||
// 提現狀態: 1=待審批, 2=已出款, 3=已駁回, 4=已取消, 5=待財務審核
|
||||
final int? walletId; // 冷錢包ID(充值)
|
||||
final String? walletAddress; // 錢包地址(充值/提現)
|
||||
final String? network; // 提現網絡類型
|
||||
final String? withdrawContact; // 提現聯繫方式
|
||||
final String remark;
|
||||
final String? rejectReason;
|
||||
final String? adminRemark;
|
||||
final DateTime? createTime;
|
||||
final DateTime? payTime; // 用户确认打款时间
|
||||
final DateTime? confirmTime; // 管理员确认时间
|
||||
final DateTime? payTime; // 用戶確認打款時間
|
||||
final DateTime? confirmTime; // 管理員確認時間
|
||||
|
||||
OrderFund({
|
||||
required this.id,
|
||||
@@ -143,72 +143,72 @@ class OrderFund {
|
||||
);
|
||||
}
|
||||
|
||||
/// 订单类型文字
|
||||
String get typeText => type == 1 ? '充值' : '提现';
|
||||
/// 訂單類型文字
|
||||
String get typeText => type == 1 ? '充值' : '提現';
|
||||
|
||||
/// 状态文字 (根据类型区分)
|
||||
/// 狀態文字 (根據類型區分)
|
||||
String get statusText {
|
||||
if (type == 1) {
|
||||
// 充值状态
|
||||
// 充值狀態
|
||||
switch (status) {
|
||||
case 1:
|
||||
return '待付款';
|
||||
case 2:
|
||||
return '待确认';
|
||||
return '待確認';
|
||||
case 3:
|
||||
return '已完成';
|
||||
case 4:
|
||||
return '已驳回';
|
||||
return '已駁回';
|
||||
case 5:
|
||||
return '已取消';
|
||||
default:
|
||||
return '未知';
|
||||
}
|
||||
} else {
|
||||
// 提现状态
|
||||
// 提現狀態
|
||||
switch (status) {
|
||||
case 1:
|
||||
return '待审批';
|
||||
return '待審批';
|
||||
case 2:
|
||||
return '已出款';
|
||||
case 3:
|
||||
return '已驳回';
|
||||
return '已駁回';
|
||||
case 4:
|
||||
return '已取消';
|
||||
case 5:
|
||||
return '待财务审核';
|
||||
return '待財務審核';
|
||||
default:
|
||||
return '未知';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// 是否为充值
|
||||
/// 是否為充值
|
||||
bool get isDeposit => type == 1;
|
||||
|
||||
/// 是否可取消
|
||||
/// 充值: 仅待付款可取消
|
||||
/// 提现: 仅待审批可取消
|
||||
/// 充值: 僅待付款可取消
|
||||
/// 提現: 僅待審批可取消
|
||||
bool get canCancel {
|
||||
if (type == 1) {
|
||||
return status == 1; // 充值待付款
|
||||
} else {
|
||||
return status == 1; // 提现待审批
|
||||
return status == 1; // 提現待審批
|
||||
}
|
||||
}
|
||||
|
||||
/// 是否可确认打款 (仅充值待付款)
|
||||
/// 是否可確認打款 (僅充值待付款)
|
||||
bool get canConfirmPay => type == 1 && status == 1;
|
||||
}
|
||||
|
||||
/// 冷钱包模型
|
||||
/// 冷錢包模型
|
||||
class ColdWallet {
|
||||
final int id;
|
||||
final String name;
|
||||
final String address;
|
||||
final String network;
|
||||
final bool isDefault;
|
||||
final int status; // 0=禁用, 1=启用
|
||||
final int status; // 0=禁用, 1=啟用
|
||||
final DateTime? createTime;
|
||||
|
||||
ColdWallet({
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/// 用户模型
|
||||
/// 用戶模型
|
||||
class User {
|
||||
final int id;
|
||||
final String username;
|
||||
@@ -62,21 +62,21 @@ class User {
|
||||
};
|
||||
}
|
||||
|
||||
/// 获取头像显示文字(用户名首字母)
|
||||
/// 獲取頭像顯示文字(用戶名首字母)
|
||||
String get avatarText =>
|
||||
username.isNotEmpty ? username.substring(0, 1).toUpperCase() : 'U';
|
||||
|
||||
/// KYC 状态文字
|
||||
/// KYC 狀態文字
|
||||
String get kycStatusText {
|
||||
switch (kycStatus) {
|
||||
case 0:
|
||||
return '未认证';
|
||||
return '未認證';
|
||||
case 1:
|
||||
return '审核中';
|
||||
return '審核中';
|
||||
case 2:
|
||||
return '已认证';
|
||||
return '已認證';
|
||||
case 3:
|
||||
return '认证失败';
|
||||
return '認證失敗';
|
||||
default:
|
||||
return '未知';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user