# 家谱 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. 唯一所有者与目录边界 新流水线使用以下边界: ```text 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 首轮输出 同一次构建必须生成: 1. A01 独立透明 PNG 资产及尺寸、Alpha、SHA256 和文件体积报告。 2. 密码登录与短信验证码登录的 412×915 代表图。 3. 复杂状态联系表,至少覆盖密码隐藏、密码显示、短信默认和短信倒计时。 4. 320×568、360×640、360×800、412×915 四尺寸布局预览。 5. 可供 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 只有同时满足以下条件,纯代码流水线才可推广: 1. 同一清单能够稳定重复生成全部 A01 候选资产和预览。 2. 独立 PNG 与设计预览来自相同源像素,不再需要人工反向切图。 3. A01 真实运行截图与选定预览达到用户认可的视觉一致性。 4. 四档尺寸、约 1.3 倍字号、软键盘、安全区和 Android 复核有真实证据。 5. 用户明确确认 A01 基础版本通过。 未达到推广门槛时,只修正 A01 流水线和页面,不修改其他页面。