53 lines
2.0 KiB
Kotlin
53 lines
2.0 KiB
Kotlin
import androidx.lifecycle.ViewModel
|
|
import androidx.lifecycle.viewModelScope
|
|
import kotlinx.coroutines.delay
|
|
import kotlinx.coroutines.launch
|
|
data class LoginRequest(
|
|
val email: String,
|
|
val password: String
|
|
)
|
|
|
|
data class LoginResponse(
|
|
val token: String
|
|
)
|
|
class AuthViewModel : ViewModel() {
|
|
|
|
fun login(email: String, password: String, callback: (Boolean, String?) -> Unit) {
|
|
viewModelScope.launch {
|
|
if (email.isBlank() || password.isBlank()) {
|
|
callback(false, "Email หรือ Password ว่าง")
|
|
return@launch
|
|
}
|
|
|
|
// จำลองการเรียก API ที่ใช้เวลาประมาณ 2 วินาที
|
|
delay(2000)
|
|
|
|
|
|
|
|
// ตัวอย่าง login จำลอง: email = admin@example.com, password = 1234
|
|
if (email == "test@test.com" && password == "1234") {
|
|
callback(true, null)
|
|
} else {
|
|
callback(false, "อีเมลหรือรหัสผ่านไม่ถูกต้อง")
|
|
}
|
|
}
|
|
// try {
|
|
// val response = ApiClient.authApi.login(LoginRequest(email, password))
|
|
// if (response.isSuccessful) {
|
|
// val token = response.body()?.token
|
|
// if (!token.isNullOrBlank()) {
|
|
// // ✅ login สำเร็จ
|
|
// callback(true, null)
|
|
// } else {
|
|
// callback(false, "ไม่พบ token")
|
|
// }
|
|
// } else {
|
|
// callback(false, "อีเมลหรือรหัสผ่านไม่ถูกต้อง")
|
|
// }
|
|
// } catch (e: Exception) {
|
|
// callback(false, "เกิดข้อผิดพลาดในการเชื่อมต่อ: ${e.localizedMessage}")
|
|
// }
|
|
// }
|
|
}
|
|
}
|