#first commit
This commit is contained in:
29
lib/features/auth/presentation/bloc/login_cubit.dart
Normal file
29
lib/features/auth/presentation/bloc/login_cubit.dart
Normal file
@@ -0,0 +1,29 @@
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
|
||||
import '../../domain/usecases/login_usecase.dart';
|
||||
import 'auth_cubit.dart';
|
||||
import 'login_state.dart';
|
||||
|
||||
class LoginCubit extends Cubit<LoginState> {
|
||||
final LoginUseCase loginUseCase;
|
||||
final AuthCubit authCubit;
|
||||
|
||||
LoginCubit(this.loginUseCase, this.authCubit) : super(LoginInitial());
|
||||
|
||||
/// Login
|
||||
/// @param username 用户名
|
||||
/// @param password 密码
|
||||
/// @param sourceType 登录来源: 1:web; 2:mobile; 3:mini_programs; 4:pc
|
||||
Future<void> login(String username, String password, sourceType) async {
|
||||
emit(LoginLoading());
|
||||
try {
|
||||
final resultUser = await loginUseCase.call(
|
||||
LoginParams(username, password, sourceType),
|
||||
);
|
||||
authCubit.loginSuccess(resultUser);
|
||||
emit(LoginSuccess(resultUser));
|
||||
} catch (e) {
|
||||
emit(LoginFailure(e.toString()));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user