27 lines
1.5 KiB
Markdown
27 lines
1.5 KiB
Markdown
---
|
||||
|
|
alwaysApply: false
|
|||
|
|
paths: ["**/*.html", "**/*.css", "**/*.js"]
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# 前端改动:强制基线
|
|||
|
|
|
|||
|
|
**动手前先读** `dsh-server-docs/06-工作台UI规范.md`(设计 Token / 布局 / 组件 / 交互 / 9 条已知坑)。
|
|||
|
|
**冲突时以该文件的实测 Token 为准**,不要用通用审美覆盖它。
|
|||
|
|
|
|||
|
|
## 三条硬要求
|
|||
|
|
|
|||
|
|
1. **静态文件改完即时生效,不要重启服务** —— `web/*.html`、`.css`、client bundle 由门户直出,
|
|||
|
|
重启 `dshs` 是**无谓的中断**(⚠️ R8 已修正:开发环境服务器 ⇒ 不必等确认;但**无收益的重启按 R11 仍属劣化,别做**)。
|
|||
|
|
只有改 `src/**`(TS)才需要 `npm run build` + 重启。
|
|||
|
|
2. **验证注入脚本必须三条齐全**:
|
|||
|
|
`curl -L --compressed -c jar -b jar -H "Accept: text/html" <URL>`
|
|||
|
|
—— 缺任一条都会拿到 gzip 字节流,`grep` 关键字永远搜不到(会误判"注入没生效")。
|
|||
|
|
3. **视觉判断**辅以 `impeccable`(Operate 模式)与 `taste-skill`(反 AI 味)。
|
|||
|
|
|
|||
|
|
## 已知坑(别重踩)
|
|||
|
|
|
|||
|
|
- `main#view` 高度必须是 `calc(100vh - 55px)`(55 是实测值,写 54 会多出第二层滚动条)。
|
|||
|
|
- **"视口自适应高度"要上下都算** —— 只看列表上方会算漏下方(按钮行 + card padding + `#view` padding-bottom),
|
|||
|
|
实测正解是 `calc(100vh - 520px)`。
|
|||
|
|
- `.modal-mask` 是 `display:flex` → 必须显式写 `[hidden] { display: none }`,否则弹窗关不掉。
|
|||
|
|
- `.tab` 有胶囊式与下划线式**两套同名定义**,新页面另起类名(如 `.pg-tab`)。
|