This commit is contained in:
sion
2026-04-04 21:19:29 +08:00
parent 2850629e0d
commit 37290e7846
166 changed files with 1303 additions and 220663 deletions

View File

@@ -7,6 +7,7 @@ class User {
final String? phone;
final String? email;
final int kycStatus;
final String? referralCode;
final int status;
final DateTime? lastLoginTime;
final DateTime? createTime;
@@ -19,6 +20,7 @@ class User {
this.phone,
this.email,
required this.kycStatus,
this.referralCode,
required this.status,
this.lastLoginTime,
this.createTime,
@@ -33,6 +35,7 @@ class User {
phone: json['phone'] as String?,
email: json['email'] as String?,
kycStatus: json['kycStatus'] as int? ?? 0,
referralCode: json['referralCode'] as String?,
status: json['status'] as int? ?? 1,
lastLoginTime: json['lastLoginTime'] != null
? DateTime.tryParse(json['lastLoginTime'])
@@ -52,6 +55,7 @@ class User {
'phone': phone,
'email': email,
'kycStatus': kycStatus,
'referralCode': referralCode,
'status': status,
'lastLoginTime': lastLoginTime?.toIso8601String(),
'createTime': createTime?.toIso8601String(),

View File

@@ -2,16 +2,16 @@ import '../../core/constants/api_endpoints.dart';
import '../../core/network/api_response.dart';
import '../../core/network/dio_client.dart';
/// 福利服务
/// 福利中心服务
class BonusService {
final DioClient _client;
BonusService(this._client);
/// 查询新人福利状态
Future<ApiResponse<Map<String, dynamic>>> getStatus() async {
/// 获取福利中心状态
Future<ApiResponse<Map<String, dynamic>>> getWelfareStatus() async {
final response = await _client.get<Map<String, dynamic>>(
ApiEndpoints.bonusStatus,
ApiEndpoints.bonusWelfare,
);
if (response.success && response.data != null) {
return ApiResponse.success(response.data!, response.message);
@@ -19,10 +19,26 @@ class BonusService {
return ApiResponse.fail(response.message ?? '获取福利状态失败');
}
/// 领取新人福利
Future<ApiResponse<Map<String, dynamic>>> claim() async {
/// 领取首充福利
Future<ApiResponse<Map<String, dynamic>>> claimNewUserBonus() async {
return _client.post<Map<String, dynamic>>(
ApiEndpoints.bonusClaim,
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,
},
);
}
}

View File

@@ -22,14 +22,24 @@ class UserService {
);
}
/// 用户注册
/// 用户注册multipart含身份证图片和可选推广码
Future<ApiResponse<Map<String, dynamic>>> register(
String username,
String password,
) async {
return _client.post<Map<String, dynamic>>(
String password, {
String? referralCode,
required Uint8List frontBytes,
required Uint8List backBytes,
}) async {
final formData = FormData.fromMap({
'username': username,
'password': password,
if (referralCode != null && referralCode.isNotEmpty) 'referralCode': referralCode,
'front': MultipartFile.fromBytes(frontBytes, filename: 'front.jpg'),
'back': MultipartFile.fromBytes(backBytes, filename: 'back.jpg'),
});
return _client.upload<Map<String, dynamic>>(
ApiEndpoints.register,
data: {'username': username, 'password': password},
formData: formData,
);
}