This commit is contained in:
Horis
2025-06-01 20:36:09 +08:00
parent 3c7f9630c9
commit f0cbfade5a
2 changed files with 10 additions and 4 deletions
@@ -16,9 +16,11 @@ class SourceLoginActivity : VMBaseActivity<ActivitySourceLoginBinding, SourceLog
override val viewModel by viewModels<SourceLoginViewModel>() override val viewModel by viewModels<SourceLoginViewModel>()
override fun onActivityCreated(savedInstanceState: Bundle?) { override fun onActivityCreated(savedInstanceState: Bundle?) {
viewModel.initData(intent) { source -> viewModel.initData(intent, success = { source ->
initView(source) initView(source)
} }, error = {
finish()
})
} }
private fun initView(source: BaseSource) { private fun initView(source: BaseSource) {
@@ -2,11 +2,12 @@ package io.legado.app.ui.login
import android.app.Application import android.app.Application
import android.content.Intent import android.content.Intent
import com.script.rhino.runScriptWithContext
import io.legado.app.base.BaseViewModel import io.legado.app.base.BaseViewModel
import io.legado.app.constant.AppLog
import io.legado.app.data.appDb import io.legado.app.data.appDb
import io.legado.app.data.entities.BaseSource import io.legado.app.data.entities.BaseSource
import io.legado.app.exception.NoStackTraceException import io.legado.app.exception.NoStackTraceException
import com.script.rhino.runScriptWithContext
import io.legado.app.utils.toastOnUi import io.legado.app.utils.toastOnUi
class SourceLoginViewModel(application: Application) : BaseViewModel(application) { class SourceLoginViewModel(application: Application) : BaseViewModel(application) {
@@ -14,7 +15,7 @@ class SourceLoginViewModel(application: Application) : BaseViewModel(application
var source: BaseSource? = null var source: BaseSource? = null
var headerMap: Map<String, String> = emptyMap() var headerMap: Map<String, String> = emptyMap()
fun initData(intent: Intent, success: (bookSource: BaseSource) -> Unit) { fun initData(intent: Intent, success: (bookSource: BaseSource) -> Unit, error: () -> Unit) {
execute { execute {
val sourceKey = intent.getStringExtra("key") val sourceKey = intent.getStringExtra("key")
?: throw NoStackTraceException("没有参数") ?: throw NoStackTraceException("没有参数")
@@ -33,6 +34,9 @@ class SourceLoginViewModel(application: Application) : BaseViewModel(application
} else { } else {
context.toastOnUi("未找到书源") context.toastOnUi("未找到书源")
} }
}.onError {
error.invoke()
AppLog.put("登录 UI 初始化失败\n$it", it, true)
} }
} }