ソースを参照

修复类转换异常导致的登录异常

Frankensteinly 9 ヶ月 前
コミット
1883ff36d0

+ 4 - 4
app/src/main/java/com/grkj/iscs/util/NetApi.kt

@@ -43,8 +43,8 @@ object NetApi {
             ),
             { res, _, _ ->
                 res?.let {
-                    val newToken = it.toBean(Token::class.java)
-                    newToken.saveToSp(MyApplication.instance!!.applicationContext)
+                    val token: String? = getRefBean(it)
+                    Token(token!!, 0).saveToSp(MyApplication.instance!!.applicationContext)
                     callBack.invoke(true)
                 } ?: run {
                     callBack.invoke(false)
@@ -79,8 +79,8 @@ object NetApi {
             ),
             { res, _, _ ->
                 res?.let {
-                    val newToken = it.toBean(Token::class.java)
-                    newToken.saveToSp(MyApplication.instance!!.applicationContext)
+                    val token: String? = getRefBean(it)
+                    Token(token!!, 0).saveToSp(MyApplication.instance!!.applicationContext)
                     callBack.invoke(true)
                 } ?: run {
                     callBack.invoke(false)

+ 1 - 1
app/src/main/java/com/grkj/iscs/util/SPUtils.kt

@@ -18,7 +18,7 @@ object SPUtils {
 
     fun getLoginUser(context: Context): CardInfoRespVO? {
         val sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE)
-        if (sp.getLong(KEY_LOGIN_USER_USER_ID, 0) == 0L) {
+        if (sp.getString(KEY_LOGIN_USER_CARD_NFC, null) == null) {
             return null
         }
         return CardInfoRespVO(

+ 11 - 6
app/src/main/java/com/grkj/iscs/view/presenter/LoginPresenter.kt

@@ -3,18 +3,19 @@ package com.grkj.iscs.view.presenter
 import android.content.Context
 import com.grkj.iscs.BusinessManager
 import com.grkj.iscs.R
-import com.grkj.iscs.view.base.BasePresenter
 import com.grkj.iscs.extentions.removeLeadingZeros
 import com.grkj.iscs.extentions.toHexStrings
-import com.grkj.iscs.view.iview.ILoginView
 import com.grkj.iscs.modbus.ModBusController
 import com.grkj.iscs.model.DeviceConst.DEVICE_TYPE_CARD
 import com.grkj.iscs.model.DeviceConst.DEVICE_TYPE_KEY
 import com.grkj.iscs.model.DeviceConst.DEVICE_TYPE_LOCK
 import com.grkj.iscs.model.vo.card.CardInfoRespVO
+import com.grkj.iscs.util.Executor
 import com.grkj.iscs.util.NetApi
 import com.grkj.iscs.util.SPUtils
 import com.grkj.iscs.util.ToastUtils
+import com.grkj.iscs.view.base.BasePresenter
+import com.grkj.iscs.view.iview.ILoginView
 
 class LoginPresenter : BasePresenter<ILoginView>() {
 
@@ -44,13 +45,17 @@ class LoginPresenter : BasePresenter<ILoginView>() {
         NetApi.cardLogin(card) {
             if (it == true) {
                 NetApi.getCardInfoByLoginUser { itInfo ->
-                    itInfo?.let { info ->
-                        SPUtils.setLoginUser(mContext!!, info)
+                    Executor.runOnMain {
+                        itInfo?.let { info ->
+                            SPUtils.setLoginUser(mContext!!, info)
+                        }
+                        callBack.invoke(it, itInfo)
                     }
-                    callBack.invoke(it, itInfo)
                 }
             } else {
-                callBack.invoke(false, null)
+                Executor.runOnMain {
+                    callBack.invoke(false, null)
+                }
             }
         }
     }