浏览代码

1. 用户信息处理

咸光金 4 年之前
父节点
当前提交
d5b18abc47

+ 7 - 0
app/src/main/java/com/quansu/heifengwuliu/activity/HomeActivity.kt

@@ -53,6 +53,13 @@ class HomeActivity : MBActivity<HomeVModel, ActivityHomeBinding>() {
 
 
     private fun initMainMenu() {
+
+        vm.user.observe(this) {
+
+
+        }
+
+
         val oneFragment = IndexFragment()
         val twoFragment = WayBillFragment()
         val threeFragment = MineFragment()

+ 16 - 11
app/src/main/java/com/quansu/heifengwuliu/repository/HomeRepository.kt

@@ -1,23 +1,28 @@
 package com.quansu.heifengwuliu.repository
 
+import android.annotation.SuppressLint
+import com.quansu.heifengwuliu.model.User
 import com.quansu.heifengwuliu.utils.net.NetEngine
 import com.ysnows.base.base.BRepository
+import io.reactivex.Observable
 
 class HomeRepository : BRepository() {
 
-    fun getUserInfo() {
-
-        lreq(NetEngine.service.getUser())
-                .doOnNext {
-                    if (it.ok()) {
-                            it.data()?.let { user ->
-                                user.save()
-                            }
+    @SuppressLint("CheckResult")
+    fun getUserInfo(): Observable<User?> {
+        return Observable.create<User?> { emitter ->
+            lreq(NetEngine.service.getUser())
+                    .doOnNext {
+                        if (it.ok()) {
+                            it.data()?.save()
+                            emitter.onNext(it.data()!!)
                         }
-                }
-                .subscribe();
-
+                    }
+                    .subscribe();
         }
 
 
+    }
+
+
 }

+ 7 - 3
app/src/main/java/com/quansu/heifengwuliu/vmodel/HomeVModel.kt

@@ -1,16 +1,20 @@
 package com.quansu.heifengwuliu.vmodel
 
-import androidx.lifecycle.LiveData
 import androidx.lifecycle.MutableLiveData
 import com.quansu.heifengwuliu.model.User
 import com.quansu.heifengwuliu.repository.HomeRepository
 import com.ysnows.base.base.BViewModel
 
 open class HomeVModel : BViewModel<HomeRepository>() {
-    val user: LiveData<User> = MutableLiveData<User>()
+    val user: MutableLiveData<User> = MutableLiveData<User>()
 
     fun getUserInfo() {
-        repository().getUserInfo()
+        repository()
+                .getUserInfo()
+                .doOnNext {
+                    user.value = it
+                }
+                .subscribe()
     }
 
 }