day3_commit1_fixed_loginauth
This commit is contained in:
parent
cd32de6116
commit
3f8e032428
@ -15,7 +15,7 @@ interface ApiService {
|
||||
suspend fun authenticate(
|
||||
@Query("login") login: String,
|
||||
@Query("password") password: String
|
||||
): Response<String> // Измените ResponseBody на String // Возвращаем ResponseBody вместо String
|
||||
): Response<Unit> // Измените Response<String> на Response<Unit>
|
||||
|
||||
// Другие методы...
|
||||
@GET("/api/{login}/info") // Получение информации о пользователе
|
||||
@ -25,7 +25,7 @@ interface ApiService {
|
||||
suspend fun getEmployeeInfo(@Path("login") login: String): Response<EmployeeData>
|
||||
|
||||
@PATCH("/api/open") // Открыть дверь
|
||||
suspend fun openDoor(@Body request: OpenDoorRequest): Response<String>
|
||||
suspend fun openDoor(@Body request: OpenDoorRequest): Response<Unit> // Измените Response<String> на Response<Unit>
|
||||
|
||||
@POST("/api/employee/toggleAccess") // Метод для блокировки/разблокировки доступа
|
||||
suspend fun toggleAccess(@Body request: ToggleAccessRequest): Response<Unit>
|
||||
|
@ -1,4 +1,4 @@
|
||||
package ru.myitschool.work.ui.Main
|
||||
package ru.myitschool.work.ui.main
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
|
@ -19,31 +19,39 @@ class LoginViewModel @Inject constructor(
|
||||
val state: StateFlow<LoginState> get() = _state
|
||||
|
||||
fun authenticate(username: String, password: String) {
|
||||
Log.d("LoginViewModel", "Authenticating user: $username") // Логируем начало аутентификации
|
||||
|
||||
if (isValidUsername(username)) {
|
||||
viewModelScope.launch {
|
||||
try {
|
||||
Log.d("LoginViewModel", "Sending authentication request to server") // Логируем отправку запроса
|
||||
val response = apiService.authenticate(username, password)
|
||||
Log.d("LoginViewModel", "Response code: ${response.code()}")
|
||||
Log.d("LoginViewModel", "Response code: ${response.code()}") // Логируем код ответа
|
||||
|
||||
// Проверяем код ответа
|
||||
when (response.code()) {
|
||||
200 -> {
|
||||
_state.value = LoginState(success = true) // Успешная авторизация
|
||||
Log.d("LoginViewModel", "Authentication successful") // Логируем успешную аутентификацию
|
||||
}
|
||||
400 -> {
|
||||
_state.value = LoginState(error = "Ошибка авторизации: Неверные учетные данные.")
|
||||
Log.d("LoginViewModel", "Authentication failed: Invalid credentials") // Логируем ошибку
|
||||
}
|
||||
else -> {
|
||||
_state.value = LoginState(error = "Ошибка авторизации: ${response.message()}")
|
||||
Log.d("LoginViewModel", "Authentication failed: ${response.message()}") // Логируем ошибку
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
_state.value = LoginState(error = "Ошибка сети. Проверьте подключение к интернету.")
|
||||
Log.e("LoginViewModel", "Network error: ${e.message}") // Логируем ошибку сети
|
||||
}
|
||||
}
|
||||
} else {
|
||||
_state.value = LoginState(error = "Неправильный логин")
|
||||
Log.d("LoginViewModel", "Invalid username: $username") // Логируем неправильный логин
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,7 @@
|
||||
|
||||
<fragment
|
||||
android:id="@+id/adminFragment"
|
||||
android:name="ru.myitschool.work.ui.admin.AdminFragment"
|
||||
android:name="ru.myitschool.work.ui.main.AdminFragment"
|
||||
android:label="Admin Fragment"
|
||||
tools:layout="@layout/fragment_admin" />
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user