Newer
Older
SmartKitchen / app / src / main / java / com / casic / br / view / LoginActivity.kt
package com.casic.br.view

import android.content.Context
import com.casic.br.R
import com.casic.br.utils.LoadingDialogHub
import com.casic.br.utils.LocaleConstant
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.PageNavigationManager
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.tuya.smart.android.user.api.ILoginCallback
import com.tuya.smart.android.user.bean.User
import com.tuya.smart.home.sdk.TuyaHomeSdk
import kotlinx.android.synthetic.main.activity_login.*
import kotlinx.android.synthetic.main.activity_login.userPhoneView
import kotlinx.android.synthetic.main.activity_register.*

class LoginActivity : KotlinBaseActivity() {

    private val context: Context = this@LoginActivity

    override fun initLayoutView(): Int = R.layout.activity_login

    override fun setupTopBarLayout() {
        ImmersionBar.with(this).statusBarDarkFont(true).init()
    }

    override fun initData() {

    }

    override fun observeRequestState() {

    }

    override fun initEvent() {
        registerView.setOnClickListener {
            navigatePageTo<RegisterActivity>()
        }

        loginButton.setOnClickListener {
            val userPhone = userPhoneView.text.toString()
            if (userPhone.isBlank()) {
                "请输入手机号".show(this)
                return@setOnClickListener
            }
            val userPassword = passwordView.text.toString()
            if (userPassword.isBlank()) {
                "请输入密码".show(this)
                return@setOnClickListener
            }

            LoadingDialogHub.show(this, "登录中,请稍后")
            TuyaHomeSdk.getUserInstance()
                .loginWithPhonePassword("86", userPhone, userPassword, object : ILoginCallback {
                    override fun onSuccess(user: User?) {
                        SaveKeyValues.putValue(LocaleConstant.USER_IS_LOGIN, true)
                        LoadingDialogHub.dismiss()
                        navigatePageTo<MainActivity>()
                        PageNavigationManager.finishAllActivity()
                    }

                    override fun onError(code: String?, error: String?) {
                        SaveKeyValues.putValue(LocaleConstant.USER_IS_LOGIN, false)
                        LoadingDialogHub.dismiss()
                        "登录失败".show(context)
                    }
                })
        }
    }
}