diff --git a/frontend/mobile-app/lib/core/services/deposit_service.dart b/frontend/mobile-app/lib/core/services/deposit_service.dart index 8f9b58ea..8ce0a8eb 100644 --- a/frontend/mobile-app/lib/core/services/deposit_service.dart +++ b/frontend/mobile-app/lib/core/services/deposit_service.dart @@ -7,12 +7,14 @@ import '../storage/storage_keys.dart'; class DepositAddressResponse { final String? kavaAddress; final String? bscAddress; + final String? dstAddress; final bool isValid; final String? message; DepositAddressResponse({ this.kavaAddress, this.bscAddress, + this.dstAddress, required this.isValid, this.message, }); @@ -21,6 +23,7 @@ class DepositAddressResponse { return DepositAddressResponse( kavaAddress: json['kavaAddress'], bscAddress: json['bscAddress'], + dstAddress: json['dstAddress'], isValid: json['isValid'] ?? false, message: json['message'], ); @@ -96,13 +99,16 @@ class DepositService { // 先尝试从本地存储读取 final kavaAddress = await _secureStorage.read(key: StorageKeys.walletAddressKava); final bscAddress = await _secureStorage.read(key: StorageKeys.walletAddressBsc); + final dstAddress = await _secureStorage.read(key: StorageKeys.walletAddressDst); if (kavaAddress != null && kavaAddress.isNotEmpty && - bscAddress != null && bscAddress.isNotEmpty) { - debugPrint('从本地存储获取充值地址: kava=$kavaAddress, bsc=$bscAddress'); + bscAddress != null && bscAddress.isNotEmpty && + dstAddress != null && dstAddress.isNotEmpty) { + debugPrint('从本地存储获取充值地址: kava=$kavaAddress, bsc=$bscAddress, dst=$dstAddress'); return DepositAddressResponse( kavaAddress: kavaAddress, bscAddress: bscAddress, + dstAddress: dstAddress, isValid: true, ); } @@ -120,8 +126,9 @@ class DepositService { if (addresses != null) { final kava = addresses['kava'] as String?; final bsc = addresses['bsc'] as String?; + final dst = addresses['dst'] as String?; - debugPrint('从服务器获取充值地址成功: kava=$kava, bsc=$bsc'); + debugPrint('从服务器获取充值地址成功: kava=$kava, bsc=$bsc, dst=$dst'); // 保存到本地存储 if (kava != null && kava.isNotEmpty) { @@ -130,12 +137,16 @@ class DepositService { if (bsc != null && bsc.isNotEmpty) { await _secureStorage.write(key: StorageKeys.walletAddressBsc, value: bsc); } + if (dst != null && dst.isNotEmpty) { + await _secureStorage.write(key: StorageKeys.walletAddressDst, value: dst); + } return DepositAddressResponse( kavaAddress: kava, bscAddress: bsc, - isValid: kava != null && bsc != null, - message: (kava == null || bsc == null) ? '部分地址未生成' : null, + dstAddress: dst, + isValid: kava != null && bsc != null && dst != null, + message: (kava == null || bsc == null || dst == null) ? '部分地址未生成' : null, ); } } else if (data != null && data['status'] == 'generating') { diff --git a/frontend/mobile-app/lib/features/deposit/presentation/pages/deposit_usdt_page.dart b/frontend/mobile-app/lib/features/deposit/presentation/pages/deposit_usdt_page.dart index 13b697b6..9822fe5f 100644 --- a/frontend/mobile-app/lib/features/deposit/presentation/pages/deposit_usdt_page.dart +++ b/frontend/mobile-app/lib/features/deposit/presentation/pages/deposit_usdt_page.dart @@ -9,6 +9,7 @@ import '../../../../core/di/injection_container.dart'; enum NetworkType { kava, bsc, + dst, } /// 充值 USDT 页面 @@ -36,6 +37,9 @@ class _DepositUsdtPageState extends ConsumerState { /// BSC 网络充值地址 String? _bscAddress; + /// DST 网络充值地址 + String? _dstAddress; + @override void initState() { super.initState(); @@ -71,6 +75,7 @@ class _DepositUsdtPageState extends ConsumerState { _kavaAddress = addressResponse.kavaAddress; _bscAddress = addressResponse.bscAddress; + _dstAddress = addressResponse.dstAddress; // 查询实时余额 try { @@ -115,6 +120,8 @@ class _DepositUsdtPageState extends ConsumerState { return _kavaAddress ?? ''; case NetworkType.bsc: return _bscAddress ?? ''; + case NetworkType.dst: + return _dstAddress ?? ''; } } @@ -287,7 +294,7 @@ class _DepositUsdtPageState extends ConsumerState { // KAVA 网络按钮 Expanded( child: _buildNetworkButton( - label: 'KAVA 网络', + label: 'KAVA', network: NetworkType.kava, isSelected: _selectedNetwork == NetworkType.kava, ), @@ -295,11 +302,19 @@ class _DepositUsdtPageState extends ConsumerState { // BSC 网络按钮 Expanded( child: _buildNetworkButton( - label: 'BSC 网络', + label: 'BSC', network: NetworkType.bsc, isSelected: _selectedNetwork == NetworkType.bsc, ), ), + // DST 网络按钮 + Expanded( + child: _buildNetworkButton( + label: 'DST', + network: NetworkType.dst, + isSelected: _selectedNetwork == NetworkType.dst, + ), + ), ], ), ),