[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-post-design-handoff-contract-zh-CN":3,"blog-adjacent-design-handoff-contract-zh-CN":29,"blog-related-design-handoff-contract-zh-CN":65},{"id":4,"slug":5,"title":6,"excerpt":7,"content":8,"cover":9,"tone":10,"author":11,"publishedAt":12,"updatedAt":13,"readingMinutes":14,"featured":15,"tags":16,"category":19,"seoSettings":28},6,"design-handoff-contract","从设计稿到设计系统：和研发协作的三个约定","间距不一致、状态没覆盖、组件重复实现，往往不是态度问题，而是没有写下共同约定。","\u003Cp>设计稿交付之后，真正的协作才刚开始。间距不一致、状态没覆盖、组件重复实现——这些问题很少是态度问题，而是双方没有在交付前写下共同的约定。\u003C\u002Fp>\n\u003Ch2>约定一：token 先行\u003C\u002Fh2>\n\u003Cp>颜色、字号、间距、圆角与阴影，先以 token 的形式确定下来。设计稿里出现的每一个值，都应该能在 token 表中找到对应项。这样研发在实现时不需要猜测，后续调整也能一处生效。\u003C\u002Fp>\n\u003Ch2>约定二：状态与边界一起交付\u003C\u002Fh2>\n\u003Cp>一个按钮不只是默认态，还有悬停、禁用、加载与错误；一个列表不只是有数据，还有空状态、超长文本与分页边界。把这些状态在交付时一并说明，能减少大量返工。\u003C\u002Fp>\n\u003Ch2>约定三：变更走同一入口\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>设计变更统一记录在同一个位置，说明影响范围；\u003C\u002Fli>\n\u003Cli>研发实现与设计稿不一致时，先确认是遗漏还是有意调整；\u003C\u002Fli>\n\u003Cli>新增组件必须补充使用说明与可访问性要求。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>设计系统真正的产出，不是一套组件，而是一种“下一次不用重新讨论”的协作习惯。\u003C\u002Fblockquote>\n\u003Cp>当约定被写下来并持续执行，设计与研发的关系会从“交付与验收”，变成共同对体验负责。\u003C\u002Fp>","","indigo","佳益方圆团队","2026-08-28T10:00:00+08:00","2026-10-18T15:58:14.717+08:00",1,false,[17,18],"设计系统","团队协作",{"id":14,"parentId":20,"slug":21,"name":22,"description":23,"icon":24,"cover":9,"tone":25,"kind":26,"sortOrder":27,"count":20},0,"engineering","技术专栏","架构设计、性能优化、AI 集成与跨端方案等一线技术实践，由研发团队持续分享。","cpu","blue","article",60,{},{"previous":30,"next":48},{"id":31,"slug":32,"title":33,"excerpt":34,"content":9,"cover":9,"tone":35,"author":11,"publishedAt":36,"updatedAt":36,"readingMinutes":14,"featured":15,"tags":37,"category":41},54,"permissions-are-product-design","权限设计其实是产品设计","权限不是技术附录，它决定了组织里每个人能看到什么、能做什么。","slate","2026-08-28T13:52:00+08:00",[38,39,40],"权限","产品设计","组织",{"id":42,"parentId":20,"slug":43,"name":44,"description":45,"icon":46,"cover":9,"tone":25,"kind":26,"sortOrder":47,"count":20},2,"product-thinking","产品思维","需求分析、用户体验与产品设计方法论，以及从业务问题到产品方案的思考过程。","lightbulb",50,{"id":49,"slug":50,"title":51,"excerpt":52,"content":9,"cover":9,"tone":35,"author":11,"publishedAt":53,"updatedAt":53,"readingMinutes":14,"featured":15,"tags":54,"category":58},74,"multi-vendor-integration","系统集成项目复盘：三家供应商一台戏","多方协作的项目里，最贵的成本是等待和扯皮，而不是开发。","2026-08-26T13:52:00+08:00",[55,56,57],"复盘","集成","多方协作",{"id":59,"parentId":20,"slug":60,"name":61,"description":62,"icon":63,"cover":9,"tone":25,"kind":26,"sortOrder":64,"count":20},3,"project-retrospective","项目复盘","从 0 到 1 的真实项目记录，完整呈现问题、方案、踩坑经验与最终结果。","clipboard-check",40,[66,78,89],{"id":67,"slug":68,"title":69,"excerpt":70,"content":9,"cover":9,"tone":71,"author":11,"publishedAt":72,"updatedAt":72,"readingMinutes":14,"featured":15,"tags":73,"category":77},30,"integration-api-pitfalls","企业系统集成：接口对接最容易踩的五个坑","接口文档写得再全，真正对接时仍然会卡在字段约定、超时和重复推送这些细节上。","cyan","2026-10-17T09:00:00+08:00",[74,75,76],"系统集成","接口","工程实践",{"id":14,"parentId":20,"slug":21,"name":22,"description":23,"icon":24,"cover":9,"tone":25,"kind":26,"sortOrder":27,"count":20},{"id":14,"slug":79,"title":80,"excerpt":81,"content":9,"cover":9,"tone":71,"author":11,"publishedAt":82,"updatedAt":83,"readingMinutes":42,"featured":84,"tags":85,"category":88},"why-enterprise-systems-age","为什么企业系统会在三年后开始“老化”","系统上线时功能齐全，三年后却处处别扭。问题往往不在代码，而在交付时被忽略的那些变化。","2026-10-16T09:30:00+08:00","2026-10-18T15:58:14.648+08:00",true,[86,87],"系统演进","架构设计",{"id":14,"parentId":20,"slug":21,"name":22,"description":23,"icon":24,"cover":9,"tone":25,"kind":26,"sortOrder":27,"count":20},{"id":90,"slug":91,"title":92,"excerpt":93,"content":9,"cover":9,"tone":25,"author":11,"publishedAt":94,"updatedAt":94,"readingMinutes":14,"featured":15,"tags":95,"category":99},31,"idempotent-design-basics","幂等设计：重复提交不只是用户手抖","网络重试、消息重投、用户连点，都会让同一个请求到达多次。幂等应该设计在接口里。","2026-10-05T10:13:00+08:00",[96,97,98],"接口设计","幂等","可靠性",{"id":14,"parentId":20,"slug":21,"name":22,"description":23,"icon":24,"cover":9,"tone":25,"kind":26,"sortOrder":27,"count":20}]