docs: 修正 Task 11 计划(补 Preview、按 R21 改写验证步骤、标注版本号手抄副本)

This commit is contained in:
2026-09-10 11:25:11 +08:00
parent 7b111b33f3
commit 430e669702
@@ -3661,6 +3661,11 @@ git add -A && git commit -m "feat: 实现设备页与设备设置子页(可交
<string name="profile_help_desc">常见问题与意见反馈</string> <string name="profile_help_desc">常见问题与意见反馈</string>
``` ```
> 这 12 条**每一条都有调用点**(已 grep 全计划核对),不是 `R25`/`R27` 那种「清单里混着死资源」的情况。
> 唯一要留意的是 `profile_check_update_desc` 里的 `0.1.0`:它是 `app/build.gradle.kts` 里 `versionName`
> 的一份**手抄副本**,改版本号时两处要一起改。这里不改成 `BuildConfig.VERSION_NAME` 是因为
> AGP 8.x 默认关闭 `buildConfig` 生成,为了一个展示串去开它不划算。Task 14 更新 README 版本时一并核对。
- [ ] **Step 2: 实现 `ProfileScreen.kt`** - [ ] **Step 2: 实现 `ProfileScreen.kt`**
```kotlin ```kotlin
@@ -3689,14 +3694,21 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.placeholder.ringhealth.R import com.placeholder.ringhealth.R
import com.placeholder.ringhealth.core.designsystem.MetricGreen import com.placeholder.ringhealth.core.designsystem.MetricGreen
import com.placeholder.ringhealth.core.designsystem.RingHealthTheme
import com.placeholder.ringhealth.core.designsystem.TextSecondary import com.placeholder.ringhealth.core.designsystem.TextSecondary
import com.placeholder.ringhealth.core.designsystem.component.HealthCard import com.placeholder.ringhealth.core.designsystem.component.HealthCard
import com.placeholder.ringhealth.core.designsystem.component.SectionHeader import com.placeholder.ringhealth.core.designsystem.component.SectionHeader
/** “我的”页。 */ /**
* “我的”页。全部为静态入口,无状态、无 ViewModel。
*
* 本页**不需要**再拆「有状态外壳 + 无状态内容」(ledger Ruling R26 的常规形状):
* 它本身就是无状态的,直接对它挂 `@Preview` 即可。
*/
@Composable @Composable
fun ProfileScreen(modifier: Modifier = Modifier) { fun ProfileScreen(modifier: Modifier = Modifier) {
LazyColumn( LazyColumn(
@@ -3786,15 +3798,30 @@ private fun ProfileEntry(
} }
} }
} }
@Preview(showBackground = true)
@Composable
private fun ProfileScreenPreview() {
RingHealthTheme {
ProfileScreen()
}
}
``` ```
- [ ] **Step 3: 构建 + 验证** - [ ] **Step 3: 构建 + 单测**
```bash ```bash
cd /d/cherry/repos/ring-health-app && ./gradlew assembleDebug cd /d/cherry/repos/ring-health-app && ./gradlew :app:testDebugUnitTest && ./gradlew assembleDebug
``` ```
Expected: “我的”Tab 显示头像卡与两组设置入口。 Expected: 两条命令均 `BUILD SUCCESSFUL`;全量测试仍为 15 项通过(本任务不新增测试,
只换掉一个页面的实现,纯 UI 且无 ViewModel 可测)。
界面上「“我的”Tab 显示头像卡与两组设置入口」**不在本步验证**(ledger Ruling R21:本机无模拟器与真机),
顺延到 Task 14 Step 3 的人工验收清单;本步能确认的是 `ProfileScreenPreview` 能在 Android Studio 中渲染
(R26 —— 这是本机唯一能看见界面的手段)。
> **不要用 `FROM-CACHE` 的绿当作证据。** 缓存命中时任务会标 `FROM-CACHE` 而不真正执行,看到就加 `--rerun`。
- [ ] **Step 4: Commit** - [ ] **Step 4: Commit**