This commit is contained in:
2025-10-12 22:08:39 +08:00
parent bf6748a2fe
commit ede72fdedc
52 changed files with 1325 additions and 247 deletions

View File

@@ -17,6 +17,16 @@ import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asSharedFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.launch
import org.jetbrains.compose.resources.getString
import taskttl.composeapp.generated.resources.Res
import taskttl.composeapp.generated.resources.countdown_add_failed
import taskttl.composeapp.generated.resources.countdown_add_success
import taskttl.composeapp.generated.resources.countdown_delete_failed
import taskttl.composeapp.generated.resources.countdown_delete_success
import taskttl.composeapp.generated.resources.countdown_load_failed
import taskttl.composeapp.generated.resources.countdown_query_failed
import taskttl.composeapp.generated.resources.countdown_update_failed
import taskttl.composeapp.generated.resources.countdown_update_success
/**
* 倒计时视图模型
@@ -73,7 +83,10 @@ class CountdownViewModel(
}
} catch (e: Exception) {
_state.value =
_state.value.copy(isLoading = false, error = e.message ?: "加载倒数日失败")
_state.value.copy(
isLoading = false,
error = e.message ?: getString(Res.string.countdown_load_failed)
)
}
}
}
@@ -85,7 +98,9 @@ class CountdownViewModel(
val countdown = countdownRepository.getCountdownById(countdownId)
_state.value = _state.value.copy(editingCountdown = countdown)
} catch (e: Exception) {
_state.value = _state.value.copy(error = e.message ?: "查询倒数日失败")
_state.value = _state.value.copy(
error = e.message ?: getString(Res.string.countdown_query_failed)
)
}
}
}
@@ -94,10 +109,12 @@ class CountdownViewModel(
viewModelScope.launch {
try {
countdownRepository.insertCountdown(countdown)
_effects.emit(CountdownEffect.ShowMessage("倒数日添加成功"))
_effects.emit(CountdownEffect.ShowMessage(getString(Res.string.countdown_add_success)))
_effects.emit(CountdownEffect.NavigateBack)
} catch (e: Exception) {
_state.value = _state.value.copy(error = e.message ?: "添加倒数日失败")
_state.value = _state.value.copy(
error = e.message ?: getString(Res.string.countdown_add_failed)
)
}
}
}
@@ -106,9 +123,11 @@ class CountdownViewModel(
viewModelScope.launch {
try {
countdownRepository.updateCountdown(countdown)
_effects.emit(CountdownEffect.ShowMessage("倒数日更新成功"))
_effects.emit(CountdownEffect.ShowMessage(getString(Res.string.countdown_update_success)))
} catch (e: Exception) {
_state.value = _state.value.copy(error = e.message ?: "更新倒数日失败")
_state.value = _state.value.copy(
error = e.message ?: getString(Res.string.countdown_update_failed)
)
}
}
}
@@ -117,9 +136,9 @@ class CountdownViewModel(
viewModelScope.launch {
try {
countdownRepository.deleteCountdown(countdownId)
_effects.emit(CountdownEffect.ShowMessage("倒数日删除成功"))
_effects.emit(CountdownEffect.ShowMessage(getString(Res.string.countdown_delete_success)))
} catch (e: Exception) {
_state.value = _state.value.copy(error = e.message ?: "删除倒数日失败")
_state.value = _state.value.copy(error = e.message ?: getString(Res.string.countdown_delete_failed))
}
}
}