feat(apps): 重构 UI 架构为 presentation 层并新增 l10n 国际化支持

This commit is contained in:
qzl
2026-03-27 14:05:03 +08:00
parent b1f0eb8921
commit c592cc7854
178 changed files with 10748 additions and 5764 deletions
@@ -3,10 +3,11 @@ import 'dart:async';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:formz/formz.dart';
import 'package:equatable/equatable.dart';
import '../../../../core/api/api_exception.dart';
import '../../../../core/network/api_exception.dart';
import '../../../../core/l10n/l10n.dart';
import '../../data/auth_repository.dart';
import '../../data/models/auth_response.dart';
import '../../../../core/form_inputs/form_inputs.dart';
import '../../../../shared/forms/inputs.dart';
class LoginState extends Equatable {
static const defaultDialCode = '+86';
@@ -121,7 +122,7 @@ class LoginCubit extends Cubit<LoginState> {
Future<bool> sendCode() async {
if (!state.phone.isValid) {
emit(state.copyWith(errorMessage: '请输入有效手机号'));
emit(state.copyWith(errorMessage: L10n.current.authInvalidPhone));
return false;
}
if (!state.canSendCode) {
@@ -152,7 +153,9 @@ class LoginCubit extends Cubit<LoginState> {
if (isClosed) {
return false;
}
final message = e is ApiException ? e.message : '验证码发送失败';
final message = e is ApiException
? e.message
: L10n.current.authSendCodeFailed;
emit(state.copyWith(isSendingCode: false, errorMessage: message));
return false;
}