更新
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
package com.taskttl.data.di
|
||||
|
||||
import com.taskttl.data.repository.impl.OnboardingRepositoryImpl
|
||||
import com.taskttl.data.repository.SettingsRepository
|
||||
import com.taskttl.data.repository.impl.SettingsRepositoryImpl
|
||||
import com.taskttl.data.repository.OnboardingRepository
|
||||
import com.taskttl.data.viewmodel.OnboardingViewModel
|
||||
import com.taskttl.data.viewmodel.SplashViewModel
|
||||
import com.taskttl.data.viewmodel.CategoryViewModel
|
||||
import com.taskttl.data.viewmodel.CountdownViewModel
|
||||
import com.taskttl.data.viewmodel.TaskViewModel
|
||||
import org.koin.core.KoinApplication
|
||||
import org.koin.core.context.startKoin
|
||||
import org.koin.core.module.Module
|
||||
import org.koin.core.module.dsl.singleOf
|
||||
import org.koin.core.module.dsl.viewModelOf
|
||||
import org.koin.dsl.bind
|
||||
import org.koin.dsl.module
|
||||
|
||||
expect fun platformModule(): Module
|
||||
|
||||
/**
|
||||
* 初始化Koin
|
||||
* @param [config] 配置
|
||||
*/
|
||||
fun initKoin(config: (KoinApplication.() -> Unit)? = null) {
|
||||
startKoin {
|
||||
config?.invoke(this)
|
||||
modules(repositoryModule, viewModelModule, platformModule(), dataModule)
|
||||
}
|
||||
}
|
||||
|
||||
/** 存储库模块 */
|
||||
val repositoryModule = module {
|
||||
singleOf(::OnboardingRepositoryImpl).bind(OnboardingRepository::class)
|
||||
singleOf(::SettingsRepositoryImpl).bind(SettingsRepository::class)
|
||||
}
|
||||
|
||||
/** 视图模型模块 */
|
||||
val viewModelModule = module {
|
||||
viewModelOf(::SplashViewModel)
|
||||
viewModelOf(::OnboardingViewModel)
|
||||
viewModelOf(::TaskViewModel)
|
||||
viewModelOf(::CategoryViewModel)
|
||||
viewModelOf(::CountdownViewModel)
|
||||
}
|
Reference in New Issue
Block a user