适用:赵阳智脑 / 结算系统所有原型图、效果图、UI 方案图
来源:全部是真返工换来的,每条后面都标了触发它的那次事故。不是通用设计规范,别当参考读物。
版本:2026-08-15(在 2026-08-13 长官验收定稿版上,补入 08-15 新踩的 4 个坑)
⚠️ 下面是 dev2 这台云机的路径,你那台不一定一样。
先各跑一次确认存在;找不到就问,别硬画 —— 从零画必返工。
| 去哪看 | 是什么 | 确认命令 |
|---|---|---|
~/doctor-ai-brain/docs/superpowers/demos/*.html |
既有样板(本机实测 31 个,各机可能不同) | ls ~/doctor-ai-brain/docs/superpowers/demos \| wc -l |
~/zyai-handbook/LOCAL-DEV-RENDER-KIT/ui-mockups/ |
出图稿存档 | ls ~/zyai-handbook/LOCAL-DEV-RENDER-KIT/ui-mockups/ |
.../ui-mockups/trial-flow-v5-20260802.html |
间距节奏定稿,照它 | 同上目录里找 |
| 长官给过的历史效果图 | 口径基准 | 问长官要 |
⚠️ 代码路径同理:本文档写的 settlement/web/app/... 是仓库内相对路径,
先 git rev-parse --show-toplevel 拿到仓库根,别硬编码别人的绝对路径。
| 元素 | 去哪扒 |
|---|---|
| 状态胶囊四档 | settlement/web/app/admin/minicup/_components/minicup-ui.tsx → statusClass() |
| 橙提示条 | border-[#fde7c7] bg-[#fff8ed] text-[#9a4a00] rounded-[10px] px-3 py-2 |
| PC 绿按钮 | linear-gradient(135deg,#28b38d,#15846e) |
| 平台手机端 | 标题 #123d35 · 药丸边框 #9bdcc8 · 主按钮 linear-gradient(135deg, #18b58d, #078f76)出处: settlement/web/app/platform/minicup/platform-mobile.css:55(⚠️ 该文件里色值带空格,grep 时按 18b58d 单独搜,别连着写) |
🔴 PC 端和手机端是两套色系,别拿 PC 色画手机端(第 2 版效果图就栽在这)
碰到现有规则覆盖不到的新状态值:如实按现有规则渲染 + 标注"需扩展",不擅自配色。
(这么做反而挖出过真 bug:已支付/已退款 在 statusClass() 里双双落兜底灰、颜色分不出来
——那不是画图问题,是实施必须补的两行代码。)
触发:进度页效果图上画了「原价划线 + 现价」的价格块,实际代码里从来没有过价格
——代码里是一句话 + 一个按钮。图跟现网差了十万八千里,谁照着图做谁错。
每画一个界面块,先回答三个问题(回答不了就别画):
# ① 这个块现在真实长什么样?
grep -n "<关键文案>" settlement/web/app/<对应页面>/page.tsx
# ② 它现在什么条件下才显示?
grep -n "canGoPayment\|<控制它的变量>" <同上>
# ③ 我要画的字段,后端真给得出来吗?
grep -rn "<字段名>" settlement/backend/app/api/
图上每个"改动"都要能说清是相对什么的改动。说不清 = 你不知道现状 = 停下来先查。
| 项 | 标准 |
|---|---|
| 标注 | 只留一种:橙虚线框 2px dashed #e0762e + inset:-6px + 右上「新增」标签;移除项用删除线,不另加框 |
| 布局 | PC + 手机端并排看同一功能;或改动前 ‖ 改动后对照 |
| 说明 | 每节顶部一条橙条「本期改动」,带物理代码行号(如 review/page.tsx:641) |
| 手机帧 | 360px 宽 |
| 间距 | 照 trial-flow-v5 定稿:容器 1180 / radius 18 / padding 24·26·28 / gap 10-12 / 卡片 radius 12 padding 11×13 |
| 弹窗 | 单列(两列会把字段名和值拆到左右半屏,眼睛要横跨对应);宽度 700px,两窗并排正好 1180 |
| 措辞 | 长官口语不进图,转正式书面语("嫌不好看"→"经评审弃用";"退了得标记"→"须留痕可查") |
| 依赖 | 零外网 CDN —— 云机白名单挡 cdn.tailwindcss.com,用了渲染不出 = 等于没验 |
触发:为了让弹窗宽一点,用负 margin 强行撑到 1440,结果内容溢出屏幕左侧、字段被切。
整页维持 1180 基准。放不下就收窄内容或换布局,不许用负 margin / 绝对定位硬撑。
触发:同一个价格块,进度页写「赵阳智脑 ¥2,880」,支付页写「原价 ¥2,880 + ≈¥198/月」
——两处不一致,实施时不知道该照哪个。
改一处样式,grep 全图找出所有同类块,一起改。改完自查:
grep -c "<该元素特征串>" <图文件> # 数量对得上才算改全
# 先确认工具在不在(不在就走下面的降级路径)
ls ~/render-env/browse.js 2>/dev/null && node ~/render-env/browse.js <file> --desktop --script <steps.js>
⚠️ 不是所有云机都有 Chromium。没有的话如实说"我渲染不了",
把图交给长官或去 test 环境看 —— 绝不允许没渲染却说"已验收"。
(踩过:文档写着"验收通过",实际图根本没人打开过。)
⚠️ innerText 看不出间距(ml-2 的空隙在 innerText 里不存在),
别据此判断"文案粘一起了" —— 间距/字号只能看截图或 getComputedStyle。
脚本比 scrollWidth > clientWidth(排除绝对定位装饰造成的假阳性),必须报出:
真内容溢出 0 / 手机帧宽度集合 [360] / 溢出 0
触发:某节少一个
</div>,把后续所有节都吞进去了。
长官反馈"格式乱、更丑",查了半天才发现根因不是设计,是缺个闭合标签。
python3 -c "
s=open('<file>',encoding='utf-8').read()
print('div 开/闭:', s.count('<div'), s.count('</div>'), '差', s.count('<div')-s.count('</div>'))"
⚠️ 改动前后各跑一次,比的是差值有没有变——有些图本来就不平衡(浏览器会兜住),
不能拿"不为 0"直接判定是你改坏的。(08-15 实测:改前 -2,改后 -2,说明与本次改动无关。)
同一个事实,在图和方案文档里的说法必须一致。
(踩过:文档 §五写"已退款(橙)",与拍板的蓝色冲突。)
触发:
~/reports/不是 git 仓库,没有任何版本历史。
长官问"这块什么时候改的",我只能查到文件时间戳,中间改了几轮永远查不出来。
cp <图> /tmp/<图名>-backup-$(date +%H%M).html # 改之前
大改建议直接把图纳入 git 管理,别再靠时间戳考古。
触发:效果图画的是「资料待审核 + 未支付」也能看到付款卡片、可以去支付
(体现"付款与审核并行"),但代码里那张卡片只在资料已通过时才显示。
图和代码是两个逻辑,谁也没发现,直到逐条对功能才暴露。
图上每个卡片/区块旁边,要能回答:这个块在什么条件下显示?
条件与现网代码不一致时,必须在图上明确标出"需改显示时机",
否则实施只会照着改文案,逻辑还是老的 —— 那句"互不影响"就是假的。
图用来看效果,口径以方案文档为准。两者冲突时:
1. 先确认哪个是长官最后拍板的
2. 改的是两个,不是一个 —— 图改完,方案文档对应段落同步改
画之前 grep 后端接口确认字段真的返回。
(踩过反例:后端 payment_status 做完了、测试都绿了,前端两个页面一行没做
—— 图上画了、后端有了、前端漏了,没人发现,因为接口测试管不着前端有没有渲染。)
~/reports/,用 deliver <文件名> 出公网链接deliver 是云机自带脚本,你那台若 which deliver 为空,cp <文件> ~/reports/shared/,公网地址 = https://dev-tokyo.tail3912a6.ts.net/<文件名>https://dev-tokyo.tail3912a6.ts.net/...)100.113.74.62 那条要连 tailscale,长官打不开curl 返 200 就当没问题了 —— 自己机器上通不等于对方能打开)| 时间 | 事故 | 变成哪条 |
|---|---|---|
| 08-13 | 效果图返工 3 次(自配色 / PC 色画手机端) | 1.2 |
| 08-13 | 缺一个 </div>,整节被吞,误判成"设计难看" |
3.3 |
| 08-13 | 负 margin 撑到 1440,内容溢出被切 | 2.1 |
| 08-13 | 文档写"已退款(橙)"与拍板的蓝冲突 | 3.4 |
| 08-15 | 图上画了价格,代码里从来没有 | 1.3 |
| 08-15 | 同一价格块两处样式不一致 | 2.2 |
| 08-15 | 图画"可并行付款",代码要资料通过才显示 | 4.1 |
| 08-15 | 图没有版本历史,改动无法追溯 | 3.5 |
| 08-15 | 后端做完+测试全绿,前端整个没做,无人发现 | 4.3 |
| 08-15 | 给了内网链接,长官打不开 | 五 |