只更新指定页面,排除设计资产实例
本页展示随包原生输入和验收参考。目标产品运行状态:未运行。表格与图片不代表产品已经生成的结果。
input.csv / practice-data.json
本课实际输入字段
| route | type | apply |
|---|---|---|
| /booking | SCREEN | True |
| /tickets | SCREEN | False |
| design-board | DESIGN_SYSTEM_INSTANCE | False |
排除非页面实例
reference.csv:作者验收映射,不是目标API回包
| selection | requestKeys | unchangedRoute |
|---|---|---|
| ["/booking"] | ||
| ["id", "sourceScreen"] | ||
| /tickets |
规则与输入文件原文
{
"inputRows": [
{
"route": "/booking",
"type": "SCREEN",
"apply": true
},
{
"route": "/tickets",
"type": "SCREEN",
"apply": false
},
{
"route": "design-board",
"type": "DESIGN_SYSTEM_INSTANCE",
"apply": false
}
],
"referenceRows": [
{
"selection": [
"/booking"
]
},
{
"requestKeys": [
"id",
"sourceScreen"
]
},
{
"unchangedRoute": "/tickets"
}
],
"invalidRows": [
{
"selection": [
"design-board"
],
"error": "not a real screen"
},
{
"requestKeys": [
"id",
"sourceScreen",
"width"
],
"error": "unsupported position/size field"
}
],
"notes": [
"全部输入为作者自制教学资料,不含真实客户或账号。",
"referenceRows是校验基准,不是目标模型预测或识别结果;targetProduct=not_run。"
],
"files": {
"input.json": "[\n {\n \"route\": \"/booking\",\n \"type\": \"SCREEN\",\n \"apply\": true\n },\n {\n \"route\": \"/tickets\",\n \"type\": \"SCREEN\",\n \"apply\": false\n },\n {\n \"route\": \"design-board\",\n \"type\": \"DESIGN_SYSTEM_INSTANCE\",\n \"apply\": false\n }\n]\n",
"reference.json": "{\n \"identity\": \"作者验收参考,非模型返回\",\n \"rows\": [\n {\n \"selection\": [\n \"/booking\"\n ]\n },\n {\n \"requestKeys\": [\n \"id\",\n \"sourceScreen\"\n ]\n },\n {\n \"unchangedRoute\": \"/tickets\"\n }\n ]\n}\n",
"invalid.json": "{\n \"identity\": \"作者构造负例,非实际错误回包\",\n \"rows\": [\n {\n \"selection\": [\n \"design-board\"\n ],\n \"error\": \"not a real screen\"\n },\n {\n \"requestKeys\": [\n \"id\",\n \"sourceScreen\",\n \"width\"\n ],\n \"error\": \"unsupported position/size field\"\n }\n ]\n}\n",
"case.md": "# Stitch应用设计系统:只更新指定页面,排除设计资产实例\n\nStitch应用设计系统重点检查选择范围。本课让预约页跟随新品牌,保留票务页旧版,并排除画布里的DESIGN_SYSTEM_INSTANCE以避免错误请求。\n\n## 列出项目实例\n\n从get_project读取screenInstances,保存id、sourceScreen和type。\n\n同一资源可能有画布实例,不凭画布坐标认定它是可编辑页面。\n\n## 写明应用范围\n\n在清单标记预约页apply=true,票务页apply=false。\n\n先确定业务范围再提交请求,避免全选后再试图恢复。\n\n## 排除非页面实例\n\n过滤type为DESIGN_SYSTEM_INSTANCE的对象。\n\n设计系统本身不是目标屏幕,不应出现在selectedScreenInstances里。\n\n## 压缩选择字段\n\n为请求每项仅保留id和sourceScreen。\n\n把x、y、width、height留在本地台账,不传给官方apply工具。\n\n## 应用并读回\n\n调用当前SDK的designSystem.apply或对应MCP工具,保存返回屏幕。\n\n失败先查看字段和身份,不连续重复写请求制造多个结果。\n\n## 比较选中与未选中\n\n检查预约页主色改变,同时票务页仍保留旧色。\n\n若未选中页也变化,保留证据并检查是否操作了共享源或选错实例。\n\n## 保存范围验收\n\n交付选择清单、请求字段和实际前后图。\n\n没有执行云端时本地样例仅证明选区规则,不声称页面已更新。\n\n身份:输入与参考为作者材料;localCli有实测记录时仅证明对应CLI运行,目标云端与模型推理未执行。\n"
}
}应当保留的约束
| selection | requestKeys | unchangedRoute |
|---|---|---|
| ["/booking"] | ||
| ["id", "sourceScreen"] | ||
| /tickets |
故意构造的错误样例
| selection | error | requestKeys |
|---|---|---|
| ["design-board"] | not a real screen | |
| unsupported position/size field | ["id", "sourceScreen", "width"] |
先保存真实产品输出,再逐项对照。actualOutput / actualResult 在未执行时保持 not_run,不能把这里的期望值复制成已测结果。