5.9 KiB
5.9 KiB
家谱 APP 纯代码资产流水线设计规格
日期:2026-07-15 当前试点:A01 登录页 状态:等待用户复核规格,尚未开始实现
1. 目标
建立一条不依赖 Photoshop、Figma 或人工反向切图的资产生产链。复杂国风位图只在缺失时由 ImageGen 生成一次原始母图;之后的透明处理、裁切、缩放、组合、预览和运行资产导出全部由代码完成。整页设计预览与 uni-app 使用的独立 PNG 必须来自同一批源像素和同一份布局清单。
首轮只验证 A01,不修改其他 52 页。成功标准不是脚本能够输出图片,而是 A01 的代码预览、独立资产、uni-app 真实运行画面和验收规划中的页面合同能够形成可重复验证的闭环。
2. 当前版本范围
- 基础版本固定使用当前浅色国风主题。
- 深色与跟随系统整体延期到下一版本,不阻塞本轮 53 页验收。
- 下一版本增加主题时必须另建全局主题合同,并对已冻结页面执行影响分析和真实截图回归。
- 当前只做页面样式、视觉状态和 Android 兼容性,不对接接口,不宣称 Mock 状态代表功能通过。
3. 保留现场
- 现有
docs/design/assets/a01-vnext/、PSD、Photoshop 脚本、候选图片和历史证据全部保留。 - 不删除、不移动、不覆盖旧实验文件。
- Photoshop 生产链停止扩展,新流水线不得引用 Photoshop COM、JSX 或 PSD 作为运行依赖。
- 旧文件是否归档必须等 A01 新流水线和真实页面通过后另行决定。
4. 唯一所有者与目录边界
新流水线使用以下边界:
design-pipeline/
manifests/ 页面、状态、图层、尺寸和导出合同
sources/ 经确认的原始母资产,只读输入
scripts/ Node.js 渲染、切图、校验和报告脚本
generated/ 可再生成的设计预览、联系表和检查报告
static/assets/ 用户确认后进入页面的正式运行资产
docs/design/screens/ 真实运行截图证据,不作为页面资源
页面清单是坐标、状态、源文件、目标文件、尺寸和复用关系的唯一机器可读所有者。脚本和页面不得重新硬编码同一套资产规则;uni-app 页面只消费已确认的正式运行资产及必要布局常量。
5. 技术结构
- Node.js:命令入口、清单读取、状态遍历、输出隔离和失败报告。
- Sharp/libvips:Alpha、裁切、合成、缩放、PNG 优化、尺寸与体积检查。
- JSON:页面画布、图层顺序、资产槽位、状态差异和导出规格。
- ImageGen:只生成缺失的完整复杂位图母资产;不生成带表单文字的整页截图,不重绘现有
brand-seal.png。 - uni-app:最终页面实现与真实交互状态;不把整页设计预览当运行资产。
6. A01 首轮输出
同一次构建必须生成:
- A01 独立透明 PNG 资产及尺寸、Alpha、SHA256 和文件体积报告。
- 密码登录与短信验证码登录的 412×915 代表图。
- 复杂状态联系表,至少覆盖密码隐藏、密码显示、短信默认和短信倒计时。
- 320×568、360×640、360×800、412×915 四尺寸布局预览。
- 可供 A01 契约测试读取的生成清单。
代码预览必须覆盖 A01 当前合同:现有 brand-seal.png、现有锁图标、保留中心瞳孔的闭眼图标、消息气泡加且仅加三点的短信图标、忘记密码位于密码横线下方,以及密码/短信两种独立状态。
7. 验收边界
- 代码生成图只用于选择和定位视觉问题,不计为真实运行证据。
- A01 实施后必须从真实路由进入,获取当前浅色国风主题的运行截图。
- 内部检查四档尺寸、默认字号与约 1.3 倍字号、状态栏、安全区、软键盘、返回手势和图片解码表现。
- 320×568 下品牌区、登录方式、当前表单、登录按钮、微信入口、注册、忘记密码和协议入口必须同屏可见且不依赖纵向滚动。
- 默认只向用户展示一张代表图;密码/短信等复杂状态使用一张联系表。
- H5 截图是候选证据,最终仍需 Android/HBuilderX 真机或模拟器复核。
- 用户明确确认前,A01 保持
[~],不得写成已验收或冻结。
8. 性能与工程约束
- 正式 PNG 按实际显示槽位输出,不让页面解码无必要的超大位图。
- 同一公共资产只保留一个正式来源;页面状态不得复制公共背景和按钮像素。
- 脚本拒绝覆盖已存在的版本化输出,失败时保留旧结果并返回非零退出码。
- 生成目录与正式运行目录严格分离;只有用户确认的资产才进入
static/assets/。 - 不使用整页截图作为运行资产,不用 CSS 或手写 SVG 假造完整卷轴、宗祠、牌匾、按钮和装饰面。
- 所有可见提示继续使用项目自定义组件,禁止以原生 UniApp 提示作为最终视觉。
9. 测试与证据
- 先建立纯代码流水线契约测试并确认因入口和清单缺失而失败。
- 最小实现后验证清单、源文件、四尺寸输出、状态输出、PNG 尺寸、Alpha、文件体积和哈希。
- A01 页面实施前先更新页面契约测试并确认 RED,实施后恢复 GREEN。
- 运行受影响测试、运行时 smoke、真实截图人工复核和
git diff --check。 - 不执行
git add、commit、push、reset、checkout、上传、worktree 或多代理。
10. 推广门槛
A01 只有同时满足以下条件,纯代码流水线才可推广:
- 同一清单能够稳定重复生成全部 A01 候选资产和预览。
- 独立 PNG 与设计预览来自相同源像素,不再需要人工反向切图。
- A01 真实运行截图与选定预览达到用户认可的视觉一致性。
- 四档尺寸、约 1.3 倍字号、软键盘、安全区和 Android 复核有真实证据。
- 用户明确确认 A01 基础版本通过。
未达到推广门槛时,只修正 A01 流水线和页面,不修改其他页面。