Selaa lähdekoodia

登录弹框接入账号登录、刷卡登录

Frankensteinly 10 kuukautta sitten
vanhempi
sitoutus
3e1a7e0c14

+ 1 - 1
app/src/main/java/com/grkj/iscs/model/UrlConsts.kt

@@ -1,7 +1,7 @@
 package com.grkj.iscs.model
 
 object UrlConsts {
-        const val BASE_URL = "http://192.168.1.127:9190"
+        const val BASE_URL = "http://192.168.28.82:9190"
 //    const val BASE_URL = "http://192.168.1.11:9090"
     const val WEB_SOCKET = "ws://192.168.1.127:9090/websocket/iot/127"
 

+ 9 - 26
app/src/main/java/com/grkj/iscs/view/activity/LoginActivity.kt

@@ -1,5 +1,6 @@
 package com.grkj.iscs.view.activity
 
+import android.content.Intent
 import android.widget.ImageView
 import com.grkj.iscs.R
 import com.grkj.iscs.databinding.ActivityLoginBinding
@@ -28,7 +29,6 @@ class LoginActivity : BaseMvpActivity<ILoginView, LoginPresenter, ActivityLoginB
             Pair(getString(R.string.login_account), R.mipmap.login_account)
         )
 
-
         mBinding?.rvType?.adapter =
             object : CommonAdapter<Pair<String, Int>>(this, R.layout.item_rv_login, pairList) {
                 override fun convert(holder: ViewHolder, pair: Pair<String, Int>, position: Int) {
@@ -46,20 +46,6 @@ class LoginActivity : BaseMvpActivity<ILoginView, LoginPresenter, ActivityLoginB
 //        BusinessManager.connectDock(true)
 //        Executor.delayOnMain(2000) {
 //            handleLoading(false)
-//        }
-//
-//
-//        cardLoginDialog = CardLoginDialog(this) {
-//            presenter?.cardLogin(it) { itLoginRst, itCardInfo ->
-//                if (itLoginRst) {
-//                    cardLoginDialog?.dismiss()
-//                    val intent = Intent(this, HomeActivity::class.java)
-//                    if (itCardInfo != null) {
-//                        intent.putExtra("cardInfo", itCardInfo)
-//                    }
-//                    startActivity(intent)
-//                }
-//            }
 //        }
     }
 
@@ -68,17 +54,14 @@ class LoginActivity : BaseMvpActivity<ILoginView, LoginPresenter, ActivityLoginB
      */
     private fun showLoginDialog(loginType: Int) {
         cardLoginDialog ?: run {
-            cardLoginDialog = LoginDialog(this) {
-//                presenter?.cardLogin(it) { itLoginRst, itCardInfo ->
-//                    if (itLoginRst) {
-//                        cardLoginDialog?.dismiss()
-//                        val intent = Intent(this, HomeActivity::class.java)
-//                        if (itCardInfo != null) {
-//                            intent.putExtra("cardInfo", itCardInfo)
-//                        }
-//                        startActivity(intent)
-//                    }
-//                }
+            cardLoginDialog = LoginDialog(presenter, this) { isSuccess, cardInfoRespVO ->
+                if (isSuccess) {
+                    val intent = Intent(this, HomeActivity::class.java)
+                    if (cardInfoRespVO != null) {
+                        intent.putExtra("cardInfo", cardInfoRespVO)
+                    }
+                    startActivity(intent)
+                }
             }
         }
         cardLoginDialog?.showByType(loginType)

+ 21 - 3
app/src/main/java/com/grkj/iscs/view/dialog/LoginDialog.kt

@@ -8,9 +8,14 @@ import com.grkj.iscs.R
 import com.grkj.iscs.databinding.DialogLoginBinding
 import com.grkj.iscs.extentions.toByteArrays
 import com.grkj.iscs.extentions.toHexStrings
+import com.grkj.iscs.model.vo.card.CardInfoRespVO
+import com.grkj.iscs.util.NetApi
+import com.grkj.iscs.util.SPUtils
+import com.grkj.iscs.util.ToastUtils
 import com.grkj.iscs.view.base.BaseDialog
+import com.grkj.iscs.view.presenter.LoginPresenter
 
-class LoginDialog(ctx: Context, private var callBack: ((String) -> Unit)? = null) :
+class LoginDialog(val presenter: LoginPresenter?, val ctx: Context, private var callBack: ((Boolean, CardInfoRespVO?) -> Unit)? = null) :
     BaseDialog<DialogLoginBinding>(ctx) {
 
     private var cardNo = ""
@@ -25,7 +30,15 @@ class LoginDialog(ctx: Context, private var callBack: ((String) -> Unit)? = null
         get() = DialogLoginBinding.inflate(layoutInflater)
 
     override fun initView() {
-
+        mBinding?.tvLogin?.setOnClickListener {
+            presenter?.login(ctx, mBinding?.etAccount?.text.toString(), mBinding?.etPassword?.text.toString()) { isSuccess, cardInfoRespVO ->
+                if (isSuccess) {
+                    dismiss()
+                }
+                callBack?.invoke(isSuccess, cardInfoRespVO)
+            }
+        }
+        mBinding?.tvCancel?.setOnClickListener { dismiss() }
     }
 
     /**
@@ -63,7 +76,12 @@ class LoginDialog(ctx: Context, private var callBack: ((String) -> Unit)? = null
             // 检测到回车开始处理
             if (event.keyCode == 66) {
                 cardNo = cardNo.toLong().toByteArrays().toHexStrings(false)
-                callBack?.invoke(cardNo)
+                presenter?.cardLogin(cardNo) { isSuccess, cardInfoRespVO ->
+                    if (isSuccess) {
+                        dismiss()
+                    }
+                    callBack?.invoke(isSuccess, cardInfoRespVO)
+                }
                 // 重置cardNo
                 cardNo = ""
                 return super.dispatchKeyEvent(event)

+ 2 - 0
app/src/main/res/layout/dialog_login.xml

@@ -38,12 +38,14 @@
         android:padding="20dp">
 
         <EditText
+            android:id="@+id/et_account"
             style="@style/CommonEdit"
             android:layout_width="match_parent"
             android:layout_marginBottom="10dp"
             android:hint="@string/please_input_account" />
 
         <EditText
+            android:id="@+id/et_password"
             style="@style/CommonEdit"
             android:layout_width="match_parent"
             android:layout_marginBottom="10dp"