- apps/web-antd/src/components/iot-dag/ 7 文件
- DagCanvas.vue / DagCanvasToolbar.vue
- hooks/useDagState.ts(50 步撤销栈 + structuredClone 深拷贝)
- hooks/useDagShortcuts.ts(Del/Ctrl+Z/Ctrl+Y + input guard)
- types.ts(DagNode/DagEdge/DagCanvasProps + 6 emits)
- index.ts barrel + __tests__/DagCanvas.spec.ts(16 用例全绿)
- pnpm-workspace.yaml: catalog 新增 @vue-flow/{core,background,controls,minimap}
- apps/web-antd/package.json: 4 包全部 'catalog:' 引用
- i18n: zh-CN/en-US iot.dag.toolbar.* + iot.dag.canvas.* 同步
- Known Pitfalls 落地: ⚠️ catalog 约束 / 样式 import / TS 严格零 any
note: Acceptance #7 (Storybook/playground) 项目未集成 Storybook,
由 F7 规则链编辑页自然 dogfood。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
60 lines
1.3 KiB
JSON
60 lines
1.3 KiB
JSON
{
|
|
"auth": {
|
|
"login": "Login",
|
|
"register": "Register",
|
|
"codeLogin": "Code Login",
|
|
"qrcodeLogin": "Qr Code Login",
|
|
"forgetPassword": "Forget Password",
|
|
"profile": "Profile"
|
|
},
|
|
"dashboard": {
|
|
"title": "Dashboard",
|
|
"analytics": "Analytics",
|
|
"workspace": "Workspace"
|
|
},
|
|
"action": {
|
|
"action": "Action",
|
|
"add": "Add",
|
|
"edit": "Edit",
|
|
"delete": "Delete",
|
|
"save": "Save",
|
|
"import": "Import",
|
|
"export": "Export",
|
|
"submit": "Submit",
|
|
"cancel": "Cancel",
|
|
"confirm": "Confirm",
|
|
"reset": "Reset",
|
|
"search": "Search",
|
|
"more": "More"
|
|
},
|
|
"tenant": {
|
|
"placeholder": "Please select tenant",
|
|
"success": "Switch tenant success"
|
|
},
|
|
"mp": {
|
|
"upload": {
|
|
"invalidFormat": "Invalid {0} format!",
|
|
"maxSize": "{0} size cannot exceed {1}M!",
|
|
"image": "Image",
|
|
"video": "Video",
|
|
"voice": "Voice"
|
|
}
|
|
},
|
|
"iot": {
|
|
"dag": {
|
|
"toolbar": {
|
|
"zoomIn": "Zoom In",
|
|
"zoomOut": "Zoom Out",
|
|
"fitView": "Fit View",
|
|
"undo": "Undo (Ctrl+Z)",
|
|
"redo": "Redo (Ctrl+Y)",
|
|
"save": "Save"
|
|
},
|
|
"canvas": {
|
|
"readonly": "Read-only mode",
|
|
"empty": "Drag nodes to canvas to start"
|
|
}
|
|
}
|
|
}
|
|
}
|