|
@@ -1,24 +1,25 @@
|
|
package com.zaojiao.app.feat.home.index
|
|
package com.zaojiao.app.feat.home.index
|
|
|
|
|
|
-import androidx.lifecycle.ViewModel
|
|
|
|
import androidx.lifecycle.viewModelScope
|
|
import androidx.lifecycle.viewModelScope
|
|
import com.zaojiao.app.core.auth.data.AuthRepository
|
|
import com.zaojiao.app.core.auth.data.AuthRepository
|
|
import com.zaojiao.app.core.auth.utils.AuthState
|
|
import com.zaojiao.app.core.auth.utils.AuthState
|
|
|
|
+import com.zaojiao.app.feat.design.viewmodel.BaseViewModel
|
|
import com.zaojiao.app.data.repo.BabyRepository
|
|
import com.zaojiao.app.data.repo.BabyRepository
|
|
import com.zaojiao.app.feat.home.index.state.HomeIndexBabyUiState
|
|
import com.zaojiao.app.feat.home.index.state.HomeIndexBabyUiState
|
|
|
|
+import com.zaojiao.app.feat.home.index.state.HomeIndexPageUiState
|
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
|
|
|
+import kotlinx.coroutines.delay
|
|
import kotlinx.coroutines.flow.SharingStarted
|
|
import kotlinx.coroutines.flow.SharingStarted
|
|
import kotlinx.coroutines.flow.StateFlow
|
|
import kotlinx.coroutines.flow.StateFlow
|
|
import kotlinx.coroutines.flow.combine
|
|
import kotlinx.coroutines.flow.combine
|
|
import kotlinx.coroutines.flow.stateIn
|
|
import kotlinx.coroutines.flow.stateIn
|
|
-import kotlinx.coroutines.launch
|
|
|
|
import javax.inject.Inject
|
|
import javax.inject.Inject
|
|
|
|
|
|
@HiltViewModel
|
|
@HiltViewModel
|
|
class HomeIndexViewModel @Inject constructor(
|
|
class HomeIndexViewModel @Inject constructor(
|
|
private val authRepository: AuthRepository,
|
|
private val authRepository: AuthRepository,
|
|
private val babyRepository: BabyRepository,
|
|
private val babyRepository: BabyRepository,
|
|
-) : ViewModel() {
|
|
+) : BaseViewModel<HomeIndexPageUiState>() {
|
|
val babyUiState: StateFlow<HomeIndexBabyUiState> =
|
|
val babyUiState: StateFlow<HomeIndexBabyUiState> =
|
|
combine(authRepository.state, babyRepository.current) { auth, baby ->
|
|
combine(authRepository.state, babyRepository.current) { auth, baby ->
|
|
when (auth) {
|
|
when (auth) {
|
|
@@ -44,21 +45,16 @@ class HomeIndexViewModel @Inject constructor(
|
|
initialValue = HomeIndexBabyUiState.None,
|
|
initialValue = HomeIndexBabyUiState.None,
|
|
)
|
|
)
|
|
|
|
|
|
- fun navToUserPage() = viewModelScope.launch {
|
|
+ override suspend fun initData(): HomeIndexPageUiState {
|
|
-// val isLogin = authRepository.checkHasLogin()
|
|
+ val list = listOf(
|
|
-//
|
|
+ "https://t7.baidu.com/it/u=1595072465,3644073269&fm=193&f=GIF",
|
|
-// if (isLogin) {
|
|
+ "https://t7.baidu.com/it/u=4198287529,2774471735&fm=193&f=GIF",
|
|
-// LJGNavigator.toBabyIndex()
|
|
+ "https://t7.baidu.com/it/u=1956604245,3662848045&fm=193&f=GIF",
|
|
-// } else {
|
|
+ "https://t7.baidu.com/it/u=2529476510,3041785782&fm=193&f=GIF",
|
|
-// thread {
|
|
+ )
|
|
-// AuthUtils.navToLogin().apply {
|
|
+
|
|
-// if (this != null) {
|
|
+ return HomeIndexPageUiState(
|
|
-// LJGNavigator.toBabyIndex()
|
|
+ bannerList = list
|
|
-// } else {
|
|
+ )
|
|
-//
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|