Files
monisuo/flutter_monisuo/lib/data/services/market_service.dart
sion ffac6fc267 refactor: 将前端从 uni-app x 重构为 Flutter
变更内容:
- 删除 uni-app x 项目 (app/ 目录)
- 新增 Flutter 项目 (flutter_monisuo/ 目录)
- 新增部署脚本 (deploy/ 目录)

Flutter 项目功能:
- 用户登录/注册
- 首页资产概览
- 行情币种列表
- 交易买卖操作
- 资产账户管理
- 充值/提现/划转
- 深色主题
- JWT Token 认证

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 00:21:21 +08:00

56 lines
1.8 KiB
Dart

import '../../core/constants/api_endpoints.dart';
import '../../core/network/dio_client.dart';
import '../models/coin.dart';
/// 行情服务
class MarketService {
final DioClient _client;
MarketService(this._client);
/// 获取币种列表
Future<ApiResponse<List<Coin>>> getCoinList() async {
final response = await _client.get<Map<String, dynamic>>(
ApiEndpoints.coinList,
);
if (response.success && response.data != null) {
final list = response.data!['list'] as List?;
final coins = list?.map((e) => Coin.fromJson(e as Map<String, dynamic>)).toList() ?? [];
return ApiResponse.success(coins, response.message);
}
return ApiResponse.fail(response.message ?? '获取币种列表失败');
}
/// 获取币种详情
Future<ApiResponse<Coin>> getCoinDetail(String code) async {
final response = await _client.get<Map<String, dynamic>>(
ApiEndpoints.coinDetail,
queryParameters: {'code': code},
);
if (response.success && response.data != null) {
return ApiResponse.success(
Coin.fromJson(response.data!),
response.message,
);
}
return ApiResponse.fail(response.message ?? '获取币种详情失败');
}
/// 搜索币种
Future<ApiResponse<List<Coin>>> searchCoins(String keyword) async {
final response = await _client.get<Map<String, dynamic>>(
ApiEndpoints.coinSearch,
queryParameters: {'keyword': keyword},
);
if (response.success && response.data != null) {
final list = response.data!['list'] as List?;
final coins = list?.map((e) => Coin.fromJson(e as Map<String, dynamic>)).toList() ?? [];
return ApiResponse.success(coins, response.message);
}
return ApiResponse.fail(response.message ?? '搜索失败');
}
}