You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.3 KiB
37 lines
1.3 KiB
package com.gyf.csams.account.model
|
|
|
|
import android.app.Activity
|
|
import android.app.Application
|
|
import android.os.Build
|
|
import com.gyf.csams.account.ui.LoginActivity
|
|
import com.gyf.lib.model.AbstractLoginViewModel
|
|
import com.gyf.lib.uikit.FormStatus
|
|
import com.gyf.lib.uikit.ValidStringForm
|
|
import com.gyf.lib.util.AccountApi
|
|
import com.gyf.lib.util.ClientType
|
|
|
|
data class ManagerVo(val account: String, val password: String, val device: String)
|
|
|
|
class LoginViewModel(application: Application) : AbstractLoginViewModel(application) {
|
|
override val id = ValidStringForm(formDesc = "管理帐号", textLength = 8)
|
|
override val password: ValidStringForm = ValidStringForm(formDesc = "管理密码", textLength = 8)
|
|
|
|
override val api: AccountApi = AccountApi.BackgroundLogin
|
|
|
|
override fun checkForm(): Boolean {
|
|
return id.statusForm.value == FormStatus.Valid && password.statusForm.value == FormStatus.Valid
|
|
}
|
|
|
|
override fun loginParam(): Any {
|
|
val account = "${id.formValue.value}"
|
|
val password = "${password.formValue.value}"
|
|
return ManagerVo(
|
|
account = account,
|
|
password = password,
|
|
device = "${Build.MANUFACTURER} ${Build.MODEL}"
|
|
)
|
|
}
|
|
|
|
override val clientType: ClientType = ClientType.Background
|
|
override val loginClass: Class<out Activity> = LoginActivity::class.java
|
|
} |