Files
monisuo/flutter_monisuo/lib/data/services/bonus_service.dart

45 lines
1.2 KiB
Dart
Raw Normal View History

2026-03-29 16:15:07 +08:00
import '../../core/constants/api_endpoints.dart';
import '../../core/network/api_response.dart';
import '../../core/network/dio_client.dart';
2026-04-04 21:19:29 +08:00
/// 福利中心服务
2026-03-29 16:15:07 +08:00
class BonusService {
final DioClient _client;
BonusService(this._client);
2026-04-04 21:19:29 +08:00
/// 获取福利中心状态
Future<ApiResponse<Map<String, dynamic>>> getWelfareStatus() async {
2026-03-29 16:15:07 +08:00
final response = await _client.get<Map<String, dynamic>>(
2026-04-04 21:19:29 +08:00
ApiEndpoints.bonusWelfare,
2026-03-29 16:15:07 +08:00
);
if (response.success && response.data != null) {
return ApiResponse.success(response.data!, response.message);
}
return ApiResponse.fail(response.message ?? '获取福利状态失败');
}
2026-04-04 21:19:29 +08:00
/// 领取首充福利
Future<ApiResponse<Map<String, dynamic>>> claimNewUserBonus() async {
2026-03-29 16:15:07 +08:00
return _client.post<Map<String, dynamic>>(
ApiEndpoints.bonusClaim,
2026-04-04 21:19:29 +08:00
data: {'type': 'new_user'},
);
}
/// 领取推广奖励
Future<ApiResponse<Map<String, dynamic>>> claimReferralBonus(
int referredUserId,
int milestone,
) async {
return _client.post<Map<String, dynamic>>(
ApiEndpoints.bonusClaim,
data: {
'type': 'referral',
'referredUserId': referredUserId,
'milestone': milestone,
},
2026-03-29 16:15:07 +08:00
);
}
}