Android Feature Optimization and Updates
Build Android Release / Build Android (push) Failing after 7s

This commit is contained in:
2026-05-21 10:31:43 +08:00
parent 31acfd4e13
commit 1d9e0a831f
19 changed files with 2506 additions and 562 deletions
+59 -1
View File
@@ -1,3 +1,4 @@
import '../data/models/login_config_model.dart';
import '../data/models/user_model.dart';
import 'api_service.dart';
import '../core/utils/app_logger.dart';
@@ -24,16 +25,73 @@ class AuthService {
return response as Map<String, bool>;
}
/// 获取登录配置(是否需要验证码、是否允许注册等)
Future<LoginConfigModel> getLoginConfig() async {
final response = await ApiService.instance.get<Map<String, dynamic>>(
'/site/config/login',
noAuth: true,
);
final data = response['data'];
if (data is Map<String, dynamic>) {
return LoginConfigModel.fromJson(data);
}
if (data is Map) {
return LoginConfigModel.fromJson(Map<String, dynamic>.from(data));
}
return LoginConfigModel.fromJson(response);
}
/// 获取图形验证码
Future<Map<String, String>> getCaptcha() async {
final response = await ApiService.instance.get<Map<String, dynamic>>(
'/site/captcha',
noAuth: true,
);
final data = response['data'] is Map
? Map<String, dynamic>.from(response['data'] as Map)
: response;
return {
'image': data['image'] as String? ?? '',
'ticket': data['ticket'] as String? ?? '',
};
}
/// 获取站点基础配置,用于判断验证码类型。
Future<Map<String, dynamic>> getBasicSiteConfig() async {
final response = await ApiService.instance.get<Map<String, dynamic>>(
'/site/config/basic',
noAuth: true,
);
AppLogger.d('AuthService -> 站点基础配置响应: $response');
final data = response['data'];
if (data is Map<String, dynamic>) {
return data;
}
if (data is Map) {
return Map<String, dynamic>.from(data);
}
return response;
}
/// 密码登录
Future<LoginResponseModel> passwordLogin({
required String email,
required String password,
String? captcha,
String? ticket,
}) async {
final data = <String, dynamic>{
'email': email,
'password': password,
...captcha != null ? {'captcha': captcha} : {},
if (captcha != null && captcha.isNotEmpty) 'captcha': captcha,
if (ticket != null && ticket.isNotEmpty) 'ticket': ticket,
};
final response = await ApiService.instance.post<Map<String, dynamic>>(