docs(harmony): 记入"必须用系统方案"的要求与 WebUI→鸿蒙的做法对应表
用户:「鸿蒙也同步,但是鸿蒙要求用系统方案」。
已转给 dsh(线索 harmony-ui-alignment),并写进计划文档:
- **含义**:能交给系统的就交给系统 —— 用 ArkUI 的组件/材质/语义资源,
而不是把 WebUI 那套"手写 rgba + 自定义模糊 + 自制卡片"照搬。
系统材质会跟随深色模式、动效曲线与无障碍设置,手写的不会。
- **对应表**:`backgroundBlurStyle(BlurStyle.*)` 取代手写模糊;系统 `Tabs`/`TabBar`
取代自制导航条;`List`/`ListItem` 取代 `Scroll`+`Column`;组件自身的
`borderRadius`/`shadow` 取代 `.glass-card`;`$r('sys.color.*')` 语义色取代自切变量
(**顺带解决 WebUI 那个"半深不浅"的病根**);`animateTo`/`transition` 取代自定义动画。
- **对既有判据的影响(重要)**:`cross-client-theme.test.mjs` 钉的是三个**取值**。
改用系统资源后它应当变红 —— 那是预期的,届时要把它从"取值相同"改成"意图相同"
(品牌蓝仍须一致,材质与圆角允许各自跟随系统)。**必须两侧一起改**,
避免一边改了一半。
同时提醒 dsh 两条已同步的语义:列表项与顶部都是"每项一张卡/气泡"(不是通栏);
玻璃只出现在一层。
This commit is contained in:
@ -36,6 +36,28 @@
|
||||
与 WebUI 不同的写死色值,全部换成令牌(203 处)。
|
||||
- **修掉只剩第一个 tab 高亮的 bug**(`currentIndex === 0` 写死)。
|
||||
|
||||
## 二·五、做法上的一条硬要求:**用系统方案**
|
||||
|
||||
用户(2026-09-14):「鸿蒙也同步,但是**鸿蒙要求用系统方案**」。
|
||||
|
||||
含义:能交给系统的就交给系统 —— 用 ArkUI 的组件、材质与语义资源,
|
||||
而不是把 WebUI 那套"手写 rgba + 自定义模糊 + 自制卡片"照搬过来。
|
||||
系统材质会跟随深色模式、动效曲线与无障碍设置,手写的那套不会。
|
||||
|
||||
| WebUI 做法 | 鸿蒙应该用 |
|
||||
|---|---|
|
||||
| 手写 `rgba(...)` + `backdrop-filter` | `backgroundBlurStyle(BlurStyle.*)`(系统材质) |
|
||||
| 自制圆角导航条 | 系统 `Tabs` + `TabBar`(`barBackgroundBlurStyle`) |
|
||||
| 自制 `Scroll` + `Column` | 系统 `List` / `ListItem`(`divider` / `swipeAction`) |
|
||||
| `.glass-card` 手写边框阴影 | `.borderRadius()` + `.backgroundBlurStyle()` + `.shadow()` |
|
||||
| 自己切 CSS 变量做深色 | 系统语义色 `$r('sys.color.*')` 自动跟随 |
|
||||
| 自定义 transition | `animateTo` / `transition` / `geometryTransition` |
|
||||
|
||||
⚠ **影响既有判据**:`cross-client-theme.test.mjs` 目前钉的是三个**取值**
|
||||
(品牌蓝 / 圆角 14 / 导航玻璃 0.72)。改用系统资源后它应当变红 ——
|
||||
那是预期的,届时要把它从"取值相同"改成"**意图相同**"(品牌蓝仍须一致;
|
||||
材质与圆角允许各自跟随系统)。改判据需 WebUI 侧(pi)一起改。
|
||||
|
||||
## 三、分期(按"能独立验收"切)
|
||||
|
||||
**P1 设计语言(pi 已完成)** —— 令牌 + 颜色替换 + 编译通过。以下 P2–P6 归 dsh。
|
||||
|
||||
Reference in New Issue
Block a user