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

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
}