修复启动时序、重构详情页布局、对接取消订单接口

1. 启动时序修复:Launcher 从 ActivationActivity 改为 HomeActivity,
   已激活用户直接进首页,不再闪现激活页
2. 详情页布局重构:左右分栏设计(左侧海报 + 右侧信息/操作),
   全屏背景图 + 渐变遮罩,TV 端焦点导航
3. 对接后端取消订单接口 POST /api/jst/daycard/cancel/{orderNo},
   用户关闭支付弹窗时自动取消未支付订单
This commit is contained in:
freeboss
2026-08-06 13:43:29 +08:00
parent e1a088ef8e
commit 198022477a
31 changed files with 16212 additions and 147 deletions

View File

@@ -3,6 +3,7 @@ package com.pukka.mediaapp.viewmodel
import android.util.Log
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.migu.bean.GetTopButtonBean
import com.pukka.mediaapp.model.LayoutSection
import com.pukka.mediaapp.model.NavItem
import com.pukka.mediaapp.network.MediaRepository
@@ -41,6 +42,7 @@ class HomeViewModel : ViewModel() {
fun loadNav() {
if (hasLoadedNav) return
viewModelScope.launch {
loadTopButton()
_loading.value = true
repository.getLayoutNav()
.onSuccess { response ->
@@ -91,6 +93,19 @@ class HomeViewModel : ViewModel() {
}
}
/** 顶部功能键数据(供 TopView.bindData 渲染) */
private val _topButton = MutableStateFlow<GetTopButtonBean?>(null)
val topButton: StateFlow<GetTopButtonBean?> = _topButton.asStateFlow()
/** 加载顶部功能键 */
fun loadTopButton() {
viewModelScope.launch {
repository.getTopButton()
.onSuccess { _topButton.value = it }
.onFailure { FileLogger.log("HomeVM", "顶部按钮加载失败: ${it.message}") }
}
}
/** 更新选中的导航索引 */
fun selectNav(index: Int) {
_selectedNavIndex.value = index