openxiangda 2.62.1 → 2.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/AuthoritativeSelector.d.ts +4 -3
- package/dist/browser/AuthoritativeSelector.d.ts.map +1 -1
- package/dist/browser/AuthoritativeSelector.js +25 -16
- package/dist/browser/AuthoritativeSelector.js.map +1 -1
- package/dist/browser/admin-contributions.d.ts +26 -0
- package/dist/browser/admin-contributions.d.ts.map +1 -1
- package/dist/browser/admin-contributions.js +30 -0
- package/dist/browser/admin-contributions.js.map +1 -1
- package/dist/browser/components/platform-fields/AttachmentFileList.d.ts +2 -1
- package/dist/browser/components/platform-fields/AttachmentFileList.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/AttachmentFileList.js +3 -3
- package/dist/browser/components/platform-fields/AttachmentFileList.js.map +1 -1
- package/dist/browser/components/platform-fields/ResourceReferenceField.d.ts +4 -2
- package/dist/browser/components/platform-fields/ResourceReferenceField.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/ResourceReferenceField.js +4 -4
- package/dist/browser/components/platform-fields/ResourceReferenceField.js.map +1 -1
- package/dist/browser/components/platform-fields/address-value.d.ts +2 -12
- package/dist/browser/components/platform-fields/address-value.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/address-value.js +1 -69
- package/dist/browser/components/platform-fields/address-value.js.map +1 -1
- package/dist/browser/components/platform-fields/cascade-value.d.ts +2 -5
- package/dist/browser/components/platform-fields/cascade-value.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/cascade-value.js +1 -46
- package/dist/browser/components/platform-fields/cascade-value.js.map +1 -1
- package/dist/browser/components/platform-fields/resource-query.d.ts +3 -19
- package/dist/browser/components/platform-fields/resource-query.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/resource-query.js +2 -153
- package/dist/browser/components/platform-fields/resource-query.js.map +1 -1
- package/dist/browser/components/resource/GeneratedResourceCrud.d.ts +393 -2
- package/dist/browser/components/resource/GeneratedResourceCrud.d.ts.map +1 -1
- package/dist/browser/components/resource/GeneratedResourceCrud.js +148 -71
- package/dist/browser/components/resource/GeneratedResourceCrud.js.map +1 -1
- package/dist/browser/components/resource/GeneratedResourceForm.d.ts.map +1 -1
- package/dist/browser/components/resource/GeneratedResourceForm.js +7 -1
- package/dist/browser/components/resource/GeneratedResourceForm.js.map +1 -1
- package/dist/browser/components/resource/RecordDetailFrame.d.ts +4 -1
- package/dist/browser/components/resource/RecordDetailFrame.d.ts.map +1 -1
- package/dist/browser/components/resource/RecordDetailFrame.js +4 -2
- package/dist/browser/components/resource/RecordDetailFrame.js.map +1 -1
- package/dist/browser/components/resource/SurfaceFields.d.ts +4 -1
- package/dist/browser/components/resource/SurfaceFields.d.ts.map +1 -1
- package/dist/browser/components/resource/SurfaceFields.js +8 -8
- package/dist/browser/components/resource/SurfaceFields.js.map +1 -1
- package/dist/browser/components/resource/useResourceFormDrafts.d.ts.map +1 -1
- package/dist/browser/components/workflow/StandardWorkflowPages.d.ts +5 -2
- package/dist/browser/components/workflow/StandardWorkflowPages.d.ts.map +1 -1
- package/dist/browser/components/workflow/StandardWorkflowPages.js +107 -64
- package/dist/browser/components/workflow/StandardWorkflowPages.js.map +1 -1
- package/dist/browser/components/workflow/WorkflowBusinessStepEditor.d.ts +11 -0
- package/dist/browser/components/workflow/WorkflowBusinessStepEditor.d.ts.map +1 -0
- package/dist/browser/components/workflow/WorkflowBusinessStepEditor.js +55 -0
- package/dist/browser/components/workflow/WorkflowBusinessStepEditor.js.map +1 -0
- package/dist/browser/components/workflow/WorkflowBusinessStepRecoveryPanel.d.ts.map +1 -1
- package/dist/browser/components/workflow/WorkflowBusinessStepRecoveryPanel.js +13 -8
- package/dist/browser/components/workflow/WorkflowBusinessStepRecoveryPanel.js.map +1 -1
- package/dist/browser/components/workflow/WorkflowConditionConfigurationEditor.d.ts +18 -0
- package/dist/browser/components/workflow/WorkflowConditionConfigurationEditor.d.ts.map +1 -0
- package/dist/browser/components/workflow/WorkflowConditionConfigurationEditor.js +30 -0
- package/dist/browser/components/workflow/WorkflowConditionConfigurationEditor.js.map +1 -0
- package/dist/browser/components/workflow/WorkflowConditionEditor.d.ts +9 -0
- package/dist/browser/components/workflow/WorkflowConditionEditor.d.ts.map +1 -0
- package/dist/browser/components/workflow/WorkflowConditionEditor.js +33 -0
- package/dist/browser/components/workflow/WorkflowConditionEditor.js.map +1 -0
- package/dist/browser/components/workflow/WorkflowConditionExamples.d.ts +11 -0
- package/dist/browser/components/workflow/WorkflowConditionExamples.d.ts.map +1 -0
- package/dist/browser/components/workflow/WorkflowConditionExamples.js +52 -0
- package/dist/browser/components/workflow/WorkflowConditionExamples.js.map +1 -0
- package/dist/browser/components/workflow/WorkflowDesigner.d.ts +14 -0
- package/dist/browser/components/workflow/WorkflowDesigner.d.ts.map +1 -0
- package/dist/browser/components/workflow/WorkflowDesigner.js +586 -0
- package/dist/browser/components/workflow/WorkflowDesigner.js.map +1 -0
- package/dist/browser/components/workflow/WorkflowDesignerAssistant.d.ts +16 -0
- package/dist/browser/components/workflow/WorkflowDesignerAssistant.d.ts.map +1 -0
- package/dist/browser/components/workflow/WorkflowDesignerAssistant.js +75 -0
- package/dist/browser/components/workflow/WorkflowDesignerAssistant.js.map +1 -0
- package/dist/browser/components/workflow/WorkflowDiagram.d.ts +8 -2
- package/dist/browser/components/workflow/WorkflowDiagram.d.ts.map +1 -1
- package/dist/browser/components/workflow/WorkflowDiagram.js +6 -6
- package/dist/browser/components/workflow/WorkflowDiagram.js.map +1 -1
- package/dist/browser/components/workflow/WorkflowDraftHandlingEditor.d.ts +19 -0
- package/dist/browser/components/workflow/WorkflowDraftHandlingEditor.d.ts.map +1 -0
- package/dist/browser/components/workflow/WorkflowDraftHandlingEditor.js +22 -0
- package/dist/browser/components/workflow/WorkflowDraftHandlingEditor.js.map +1 -0
- package/dist/browser/components/workflow/WorkflowFlowCanvas.d.ts +7 -0
- package/dist/browser/components/workflow/WorkflowFlowCanvas.d.ts.map +1 -1
- package/dist/browser/components/workflow/WorkflowFlowCanvas.js +84 -23
- package/dist/browser/components/workflow/WorkflowFlowCanvas.js.map +1 -1
- package/dist/browser/components/workflow/WorkflowNodeCard.d.ts +2 -1
- package/dist/browser/components/workflow/WorkflowNodeCard.d.ts.map +1 -1
- package/dist/browser/components/workflow/WorkflowNodeCard.js +12 -10
- package/dist/browser/components/workflow/WorkflowNodeCard.js.map +1 -1
- package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.d.ts +13 -2
- package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.d.ts.map +1 -1
- package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.js +70 -23
- package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.js.map +1 -1
- package/dist/browser/components/workflow/WorkflowNotificationEditor.d.ts +20 -0
- package/dist/browser/components/workflow/WorkflowNotificationEditor.d.ts.map +1 -0
- package/dist/browser/components/workflow/WorkflowNotificationEditor.js +18 -0
- package/dist/browser/components/workflow/WorkflowNotificationEditor.js.map +1 -0
- package/dist/browser/components/workflow/WorkflowParallelConfigurationEditor.d.ts +10 -0
- package/dist/browser/components/workflow/WorkflowParallelConfigurationEditor.d.ts.map +1 -0
- package/dist/browser/components/workflow/WorkflowParallelConfigurationEditor.js +24 -0
- package/dist/browser/components/workflow/WorkflowParallelConfigurationEditor.js.map +1 -0
- package/dist/browser/components/workflow/WorkflowPeopleSourceEditor.d.ts +9 -0
- package/dist/browser/components/workflow/WorkflowPeopleSourceEditor.d.ts.map +1 -0
- package/dist/browser/components/workflow/WorkflowPeopleSourceEditor.js +13 -0
- package/dist/browser/components/workflow/WorkflowPeopleSourceEditor.js.map +1 -0
- package/dist/browser/components/workflow/WorkflowReminderEditor.d.ts +9 -0
- package/dist/browser/components/workflow/WorkflowReminderEditor.d.ts.map +1 -0
- package/dist/browser/components/workflow/WorkflowReminderEditor.js +23 -0
- package/dist/browser/components/workflow/WorkflowReminderEditor.js.map +1 -0
- package/dist/browser/components/workflow/WorkflowReturnPolicyEditor.d.ts +8 -0
- package/dist/browser/components/workflow/WorkflowReturnPolicyEditor.d.ts.map +1 -0
- package/dist/browser/components/workflow/WorkflowReturnPolicyEditor.js +34 -0
- package/dist/browser/components/workflow/WorkflowReturnPolicyEditor.js.map +1 -0
- package/dist/browser/components/workflow/WorkflowTaskForm.d.ts +1 -4
- package/dist/browser/components/workflow/WorkflowTaskForm.d.ts.map +1 -1
- package/dist/browser/components/workflow/WorkflowTaskForm.js +5 -6
- package/dist/browser/components/workflow/WorkflowTaskForm.js.map +1 -1
- package/dist/browser/components/workflow/workflow-approval-presentation.d.ts +13 -0
- package/dist/browser/components/workflow/workflow-approval-presentation.d.ts.map +1 -0
- package/dist/browser/components/workflow/workflow-approval-presentation.js +21 -0
- package/dist/browser/components/workflow/workflow-approval-presentation.js.map +1 -0
- package/dist/browser/components/workflow/workflow-designer-presentation.d.ts +13 -0
- package/dist/browser/components/workflow/workflow-designer-presentation.d.ts.map +1 -0
- package/dist/browser/components/workflow/workflow-designer-presentation.js +69 -0
- package/dist/browser/components/workflow/workflow-designer-presentation.js.map +1 -0
- package/dist/browser/components/workflow/workflow-flow-layout.d.ts +21 -11
- package/dist/browser/components/workflow/workflow-flow-layout.d.ts.map +1 -1
- package/dist/browser/components/workflow/workflow-flow-layout.js +28 -18
- package/dist/browser/components/workflow/workflow-flow-layout.js.map +1 -1
- package/dist/browser/components/workflow/workflow-operation-layout.d.ts +6 -0
- package/dist/browser/components/workflow/workflow-operation-layout.d.ts.map +1 -0
- package/dist/browser/components/workflow/workflow-operation-layout.js +17 -0
- package/dist/browser/components/workflow/workflow-operation-layout.js.map +1 -0
- package/dist/browser/components/workflow/workflow-parallel-layout.d.ts +37 -0
- package/dist/browser/components/workflow/workflow-parallel-layout.d.ts.map +1 -0
- package/dist/browser/components/workflow/workflow-parallel-layout.js +176 -0
- package/dist/browser/components/workflow/workflow-parallel-layout.js.map +1 -0
- package/dist/browser/platform-client.d.ts +71 -3
- package/dist/browser/platform-client.d.ts.map +1 -1
- package/dist/browser/platform-client.js +54 -4
- package/dist/browser/platform-client.js.map +1 -1
- package/dist/browser/record-detail.css +4 -3
- package/dist/browser/styles.css +386 -1
- package/dist/browser/workflow-approval.css +205 -0
- package/dist/browser/workflow-operation-input.d.ts.map +1 -1
- package/dist/browser/workflow-operation-input.js +1 -0
- package/dist/browser/workflow-operation-input.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/core.d.ts +1 -0
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +1 -0
- package/dist/core.js.map +1 -1
- package/dist/react.d.ts +1 -0
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +1 -0
- package/dist/react.js.map +1 -1
- package/dist/resource.d.ts +22 -0
- package/dist/resource.d.ts.map +1 -0
- package/dist/resource.js +18 -0
- package/dist/resource.js.map +1 -0
- package/documentation/AGENTS.md +1 -1
- package/documentation/application-templates.md +37 -0
- package/documentation/field-components.md +10 -1
- package/documentation/frontend.md +14 -4
- package/documentation/getting-started.md +9 -7
- package/documentation/manifest.json +13 -7
- package/documentation/reference/cli.md +2 -0
- package/documentation/reference/mcp.md +238 -0
- package/documentation/workflow-events.md +33 -0
- package/package.json +26 -26
- package/releases/2.64.0.json +30 -0
- package/releases/2.65.0.json +30 -0
- package/skills/manifest.json +1 -1
- package/skills/openxiangda-v2/SKILL.md +7 -7
- package/skills/openxiangda-v2/references/application-templates.md +37 -0
- package/skills/openxiangda-v2/references/cli.md +2 -0
- package/skills/openxiangda-v2/references/field-components.md +10 -1
- package/skills/openxiangda-v2/references/frontend.md +14 -4
- package/skills/openxiangda-v2/references/getting-started.md +9 -7
- package/skills/openxiangda-v2/references/mcp.md +238 -0
- package/skills/openxiangda-v2/references/workflow-events.md +33 -0
- package/releases/2.20.1.json +0 -30
- package/releases/2.20.2.json +0 -30
- package/releases/2.20.3.json +0 -29
- package/releases/2.20.4.json +0 -30
- package/releases/2.31.5.json +0 -33
- package/releases/2.59.3.json +0 -36
- package/releases/2.60.0.json +0 -38
- package/releases/2.61.0.json +0 -39
- package/releases/2.61.1.json +0 -37
- package/releases/2.61.2.json +0 -32
- package/releases/2.61.3.json +0 -33
- package/releases/2.62.0.json +0 -40
- package/releases/2.62.1.json +0 -34
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "openxiangda.documentation/v1",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.65.0",
|
|
4
4
|
"topics": [
|
|
5
5
|
{
|
|
6
6
|
"id": "getting-started",
|
|
7
7
|
"title": "安装与开始开发",
|
|
8
8
|
"file": "getting-started.md",
|
|
9
|
-
"sha256": "
|
|
9
|
+
"sha256": "3ee403a88011c8b554e22326aaea7d7ee754f49e0fb3b3fa2cdb4e1e2c5c9b29"
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
12
|
"id": "product-design",
|
|
@@ -56,17 +56,23 @@
|
|
|
56
56
|
"file": "concepts.md",
|
|
57
57
|
"sha256": "2c1445e9c86baa864087da585c7d613fff61745cdd9ebb9c83dcd2c3579c3c4a"
|
|
58
58
|
},
|
|
59
|
+
{
|
|
60
|
+
"id": "application-templates",
|
|
61
|
+
"title": "源码模板与业务场景",
|
|
62
|
+
"file": "application-templates.md",
|
|
63
|
+
"sha256": "87fe39a04418d7225de53e8c0ab61ea457ba243e230019fe881676e3079cf34f"
|
|
64
|
+
},
|
|
59
65
|
{
|
|
60
66
|
"id": "frontend",
|
|
61
67
|
"title": "页面与标准组件扩展",
|
|
62
68
|
"file": "frontend.md",
|
|
63
|
-
"sha256": "
|
|
69
|
+
"sha256": "838ead2993a05103a9bc30c8164d0b43448f62ef36d10d3e7d677f63a022c370"
|
|
64
70
|
},
|
|
65
71
|
{
|
|
66
72
|
"id": "field-components",
|
|
67
73
|
"title": "字段、表单与移动控件",
|
|
68
74
|
"file": "field-components.md",
|
|
69
|
-
"sha256": "
|
|
75
|
+
"sha256": "9b8e7f431186289c7c56489a647ad948a6a2d40f817a6ce1ab3bf5b85c2c83f7"
|
|
70
76
|
},
|
|
71
77
|
{
|
|
72
78
|
"id": "data-authz",
|
|
@@ -84,7 +90,7 @@
|
|
|
84
90
|
"id": "workflow-events",
|
|
85
91
|
"title": "审批、事件与通知",
|
|
86
92
|
"file": "workflow-events.md",
|
|
87
|
-
"sha256": "
|
|
93
|
+
"sha256": "62e6ad70feb4a74e66b7b2fc0ab591fab244998044efa79340dd096dd53e92f2"
|
|
88
94
|
},
|
|
89
95
|
{
|
|
90
96
|
"id": "backend",
|
|
@@ -150,13 +156,13 @@
|
|
|
150
156
|
"id": "cli",
|
|
151
157
|
"title": "CLI 命令参考",
|
|
152
158
|
"file": "reference/cli.md",
|
|
153
|
-
"sha256": "
|
|
159
|
+
"sha256": "13821850bc6387d4c49605f8b5a3e795ee3f6a72780aa6ebe66ce54a8002bfbb"
|
|
154
160
|
},
|
|
155
161
|
{
|
|
156
162
|
"id": "mcp",
|
|
157
163
|
"title": "MCP 配置与工具参考",
|
|
158
164
|
"file": "reference/mcp.md",
|
|
159
|
-
"sha256": "
|
|
165
|
+
"sha256": "0cf65d3b1e47399360222c5bfa1732fe9e1c1e99eb79072574b5ce533999bb2a"
|
|
160
166
|
}
|
|
161
167
|
]
|
|
162
168
|
}
|
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
| `pnpm openxiangda context` | 只读 | 只读查看工作区、版本与平台绑定 |
|
|
9
9
|
| `pnpm openxiangda docs` | 只读 | 按主题和章节读取当前版本中文资料 |
|
|
10
10
|
| `pnpm openxiangda admin` | 远端变更 | 查看管理能力、自助操作契约,或按明确环境执行事件、密钥及通知操作 |
|
|
11
|
+
| `pnpm openxiangda template` | 只读 | 列出场景、模块、布局和风格模板 |
|
|
11
12
|
| `pnpm openxiangda create` | 远端变更 | 创建、绑定并初始化应用 |
|
|
13
|
+
| `pnpm openxiangda workflow` | 远端变更 | 导出流程、导入到源码、规划版本登记、查看状态并显式同步到目标环境 |
|
|
12
14
|
| `pnpm openxiangda source` | 远端变更 | 配置应用源码仓库、查看状态或提交推送 |
|
|
13
15
|
| `pnpm openxiangda dev` | 本地写入 | 连接平台测试数据启动本地 Web,按需启动 Nest |
|
|
14
16
|
| `pnpm openxiangda check` | 本地写入 | 生成契约并在目标平台预检后执行检查、测试和构建 |
|
|
@@ -59,6 +59,25 @@ MCP 使用项目锁定的根包;在客户端配置下列 stdio 启动参数,
|
|
|
59
59
|
}
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
+
## template_list
|
|
63
|
+
|
|
64
|
+
发现源码模板。列出业务场景、模块依赖、四类源码外壳和主题;创建使用 CLI,不执行远端操作。
|
|
65
|
+
|
|
66
|
+
- 只读:是
|
|
67
|
+
- 可替换文件或改变远端状态:否
|
|
68
|
+
- 幂等:否
|
|
69
|
+
|
|
70
|
+
输入参数:
|
|
71
|
+
|
|
72
|
+
```json
|
|
73
|
+
{
|
|
74
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
75
|
+
"type": "object",
|
|
76
|
+
"properties": {},
|
|
77
|
+
"additionalProperties": false
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
62
81
|
## workspace_context
|
|
63
82
|
|
|
64
83
|
查看工作区。首先读取当前项目、工具链版本和绑定,不运行构建或创建远端对象。
|
|
@@ -1356,6 +1375,225 @@ MCP 使用项目锁定的根包;在客户端配置下列 stdio 启动参数,
|
|
|
1356
1375
|
}
|
|
1357
1376
|
```
|
|
1358
1377
|
|
|
1378
|
+
## workflow_sync
|
|
1379
|
+
|
|
1380
|
+
同步流程到目标环境。按目标流程修订号显式同步,默认同时更新在途和新申请;复用发布及版本适用规则。保留指定人员边界。
|
|
1381
|
+
|
|
1382
|
+
- 只读:否
|
|
1383
|
+
- 可替换文件或改变远端状态:是
|
|
1384
|
+
- 幂等:是
|
|
1385
|
+
|
|
1386
|
+
输入参数:
|
|
1387
|
+
|
|
1388
|
+
```json
|
|
1389
|
+
{
|
|
1390
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1391
|
+
"type": "object",
|
|
1392
|
+
"properties": {
|
|
1393
|
+
"workflowCode": {
|
|
1394
|
+
"type": "string",
|
|
1395
|
+
"minLength": 1,
|
|
1396
|
+
"maxLength": 128
|
|
1397
|
+
},
|
|
1398
|
+
"fromEnvironment": {
|
|
1399
|
+
"type": "string",
|
|
1400
|
+
"enum": [
|
|
1401
|
+
"test",
|
|
1402
|
+
"production"
|
|
1403
|
+
]
|
|
1404
|
+
},
|
|
1405
|
+
"toEnvironment": {
|
|
1406
|
+
"type": "string",
|
|
1407
|
+
"enum": [
|
|
1408
|
+
"test",
|
|
1409
|
+
"production"
|
|
1410
|
+
]
|
|
1411
|
+
},
|
|
1412
|
+
"expectedSourceHeadRevision": {
|
|
1413
|
+
"type": "integer",
|
|
1414
|
+
"minimum": 1,
|
|
1415
|
+
"maximum": 9007199254740991
|
|
1416
|
+
},
|
|
1417
|
+
"expectedTargetHeadRevision": {
|
|
1418
|
+
"type": "integer",
|
|
1419
|
+
"minimum": 1,
|
|
1420
|
+
"maximum": 9007199254740991
|
|
1421
|
+
},
|
|
1422
|
+
"operationId": {
|
|
1423
|
+
"type": "string",
|
|
1424
|
+
"minLength": 1,
|
|
1425
|
+
"maxLength": 128
|
|
1426
|
+
},
|
|
1427
|
+
"reason": {
|
|
1428
|
+
"type": "string",
|
|
1429
|
+
"minLength": 1,
|
|
1430
|
+
"maxLength": 1000
|
|
1431
|
+
},
|
|
1432
|
+
"scope": {
|
|
1433
|
+
"type": "string",
|
|
1434
|
+
"enum": [
|
|
1435
|
+
"running_and_new",
|
|
1436
|
+
"new_only"
|
|
1437
|
+
]
|
|
1438
|
+
},
|
|
1439
|
+
"acknowledgeExceptions": {
|
|
1440
|
+
"type": "boolean"
|
|
1441
|
+
},
|
|
1442
|
+
"copyHandlingDefaults": {
|
|
1443
|
+
"type": "boolean"
|
|
1444
|
+
}
|
|
1445
|
+
},
|
|
1446
|
+
"required": [
|
|
1447
|
+
"workflowCode",
|
|
1448
|
+
"fromEnvironment",
|
|
1449
|
+
"toEnvironment",
|
|
1450
|
+
"expectedSourceHeadRevision",
|
|
1451
|
+
"expectedTargetHeadRevision",
|
|
1452
|
+
"operationId",
|
|
1453
|
+
"reason"
|
|
1454
|
+
],
|
|
1455
|
+
"additionalProperties": false
|
|
1456
|
+
}
|
|
1457
|
+
```
|
|
1458
|
+
|
|
1459
|
+
## workflow_export
|
|
1460
|
+
|
|
1461
|
+
导出流程到工作区。只读导出环境中的规范定义、绑定和办理设置摘要;不包含运行记录或环境内部标识。
|
|
1462
|
+
|
|
1463
|
+
- 只读:否
|
|
1464
|
+
- 可替换文件或改变远端状态:否
|
|
1465
|
+
- 幂等:否
|
|
1466
|
+
|
|
1467
|
+
输入参数:
|
|
1468
|
+
|
|
1469
|
+
```json
|
|
1470
|
+
{
|
|
1471
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1472
|
+
"type": "object",
|
|
1473
|
+
"properties": {
|
|
1474
|
+
"environment": {
|
|
1475
|
+
"default": "test",
|
|
1476
|
+
"description": "目标环境;默认 test,production 必须明确选择",
|
|
1477
|
+
"type": "string",
|
|
1478
|
+
"enum": [
|
|
1479
|
+
"test",
|
|
1480
|
+
"production"
|
|
1481
|
+
]
|
|
1482
|
+
},
|
|
1483
|
+
"workflowCode": {
|
|
1484
|
+
"type": "string",
|
|
1485
|
+
"minLength": 1
|
|
1486
|
+
},
|
|
1487
|
+
"out": {
|
|
1488
|
+
"type": "string",
|
|
1489
|
+
"minLength": 1
|
|
1490
|
+
}
|
|
1491
|
+
},
|
|
1492
|
+
"required": [
|
|
1493
|
+
"workflowCode",
|
|
1494
|
+
"out"
|
|
1495
|
+
],
|
|
1496
|
+
"additionalProperties": false
|
|
1497
|
+
}
|
|
1498
|
+
```
|
|
1499
|
+
|
|
1500
|
+
## workflow_import
|
|
1501
|
+
|
|
1502
|
+
把流程导入源码。验证代码能力和摘要后修改工作区显式流程声明,保留人员配置边界。
|
|
1503
|
+
|
|
1504
|
+
- 只读:否
|
|
1505
|
+
- 可替换文件或改变远端状态:是
|
|
1506
|
+
- 幂等:否
|
|
1507
|
+
|
|
1508
|
+
输入参数:
|
|
1509
|
+
|
|
1510
|
+
```json
|
|
1511
|
+
{
|
|
1512
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1513
|
+
"type": "object",
|
|
1514
|
+
"properties": {
|
|
1515
|
+
"path": {
|
|
1516
|
+
"type": "string",
|
|
1517
|
+
"minLength": 1
|
|
1518
|
+
},
|
|
1519
|
+
"adoptHandlingDefaults": {
|
|
1520
|
+
"default": false,
|
|
1521
|
+
"type": "boolean"
|
|
1522
|
+
}
|
|
1523
|
+
},
|
|
1524
|
+
"required": [
|
|
1525
|
+
"path"
|
|
1526
|
+
],
|
|
1527
|
+
"additionalProperties": false
|
|
1528
|
+
}
|
|
1529
|
+
```
|
|
1530
|
+
|
|
1531
|
+
## workflow_plan_registration
|
|
1532
|
+
|
|
1533
|
+
规划流程版本登记。服务器只读查询已有摘要和下一版本数字;write 只写源码版本数字,不写环境观察。
|
|
1534
|
+
|
|
1535
|
+
- 只读:否
|
|
1536
|
+
- 可替换文件或改变远端状态:否
|
|
1537
|
+
- 幂等:否
|
|
1538
|
+
|
|
1539
|
+
输入参数:
|
|
1540
|
+
|
|
1541
|
+
```json
|
|
1542
|
+
{
|
|
1543
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1544
|
+
"type": "object",
|
|
1545
|
+
"properties": {
|
|
1546
|
+
"environment": {
|
|
1547
|
+
"default": "test",
|
|
1548
|
+
"description": "目标环境;默认 test,production 必须明确选择",
|
|
1549
|
+
"type": "string",
|
|
1550
|
+
"enum": [
|
|
1551
|
+
"test",
|
|
1552
|
+
"production"
|
|
1553
|
+
]
|
|
1554
|
+
},
|
|
1555
|
+
"write": {
|
|
1556
|
+
"default": false,
|
|
1557
|
+
"type": "boolean"
|
|
1558
|
+
}
|
|
1559
|
+
},
|
|
1560
|
+
"additionalProperties": false
|
|
1561
|
+
}
|
|
1562
|
+
```
|
|
1563
|
+
|
|
1564
|
+
## workflow_status
|
|
1565
|
+
|
|
1566
|
+
查看流程源码同步状态。比较源声明、导入基线和环境摘要,显示待导回源码、待部署或冲突及未启用版本数量。
|
|
1567
|
+
|
|
1568
|
+
- 只读:是
|
|
1569
|
+
- 可替换文件或改变远端状态:否
|
|
1570
|
+
- 幂等:否
|
|
1571
|
+
|
|
1572
|
+
输入参数:
|
|
1573
|
+
|
|
1574
|
+
```json
|
|
1575
|
+
{
|
|
1576
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1577
|
+
"type": "object",
|
|
1578
|
+
"properties": {
|
|
1579
|
+
"environment": {
|
|
1580
|
+
"default": "test",
|
|
1581
|
+
"description": "目标环境;默认 test,production 必须明确选择",
|
|
1582
|
+
"type": "string",
|
|
1583
|
+
"enum": [
|
|
1584
|
+
"test",
|
|
1585
|
+
"production"
|
|
1586
|
+
]
|
|
1587
|
+
},
|
|
1588
|
+
"workflowCode": {
|
|
1589
|
+
"type": "string",
|
|
1590
|
+
"minLength": 1
|
|
1591
|
+
}
|
|
1592
|
+
},
|
|
1593
|
+
"additionalProperties": false
|
|
1594
|
+
}
|
|
1595
|
+
```
|
|
1596
|
+
|
|
1359
1597
|
## workflow_node_configurations
|
|
1360
1598
|
|
|
1361
1599
|
查看流程有效参数。修改已部署流程前,读取管理员维护的节点配置。已有任务和后续节点进入使用各自适用版本。
|
|
@@ -1212,3 +1212,36 @@ subject update和来源guards提交实际改变的派生字段;普通补填仍
|
|
|
1212
1212
|
不改变字段授权、审批参数或流程版本;不提供该选项的应用保持既有行为。
|
|
1213
1213
|
|
|
1214
1214
|
`commandHandlers.resubmit` 仅绑定固定 correction 节点的业务重校验。普通 `return_review` 任务继续由 Kernel 标准 `resubmit` 办理:Surface 不返回 correction operationCode,审批人不需要起草提交 capability。无需增加 `taskKinds` 字段、改动已有定义版本或重建在途实例;直接对普通退回任务调用 correction 业务动作仍被拒绝。
|
|
1215
|
+
|
|
1216
|
+
## 画布、源码与测试环境同步
|
|
1217
|
+
|
|
1218
|
+
管理员可以在画布修改节点和条件并直接发布。发布默认更新在途申请与新申请,当前已经进入的任务继续保留其人员、操作按钮、页面与字段权限;后续流转使用新版本。只让新申请生效、保留个别在途申请属于显式例外。
|
|
1219
|
+
|
|
1220
|
+
应用源码与画布共同引用同一份不可变定义和绑定登记。画布修改后,后续仅改页面或后端的应用部署会保留兼容的画布版本。两边都改了流程而基线不一致时,部署返回 `WORKFLOW_SOURCE_DIVERGED`,需要先把正式环境流程导回源码:
|
|
1221
|
+
|
|
1222
|
+
```sh
|
|
1223
|
+
pnpm openxiangda workflow export request-review --environment production --out platform/workflows/request-review.bundle.json
|
|
1224
|
+
pnpm openxiangda workflow import platform/workflows/request-review.bundle.json --to source
|
|
1225
|
+
pnpm openxiangda workflow plan-registration --environment test --write
|
|
1226
|
+
pnpm openxiangda workflow status --environment test
|
|
1227
|
+
```
|
|
1228
|
+
|
|
1229
|
+
`export` 包含规范定义、绑定、任务页面与代码步骤契约、办理设置摘要;不含申请、待办、审批日志、密钥或环境内部标识。源码本来声明的固定用户标识会保留;管理员实际指定人员的覆盖只导出数量。`import` 只改 `openxiangda.config.ts` 中显式的 `workflows` 声明及 `platform/workflows/<code>.lock.json`,保留其他代码。新增或变化的代码步骤、页面契约需要先由开发者补齐;缺少这些契约的导入会在写文件前拒绝。
|
|
1230
|
+
|
|
1231
|
+
可加 `--adopt-handling-defaults` 把办理模式与按钮开关、文案作为源码默认值。它保留原有必需动作,不把管理员指定人员复制成源码默认值。导入的摘要基线写在源码 activation 的 `sourceBase`;来源环境与修订号只保留在审计锁文件,不进入密封应用制品。锁文件与导出的规范文档可能包含合法源码用户引用,应按项目访问权限管理。
|
|
1232
|
+
|
|
1233
|
+
`plan-registration` 是服务器只读查询,返回相同内容已有的版本号或下一整数;`--write` 只把数字写入本机源码。最终准备仍检查编号冲突、内容冲突和跳号。准备成功但后续部署失败的版本保留为未启用的不可变登记,相同制品可复用这些数字;不会删除或重排。`status` 显示 `in_sync`、`behind`、`ahead`、`diverged`、`not_active` 和未启用登记数量。它没有远端写入。首次导入之前,状态比较使用目标环境当前应用版本的源码声明作为基线;跨环境导入的来源修订不会冒充目标环境基线。
|
|
1234
|
+
|
|
1235
|
+
如果只希望把正式环境的流程规则同步到已有测试环境,可先读取两边的 `status`,记录实际流程 Head 修订号,再显式执行同步:
|
|
1236
|
+
|
|
1237
|
+
```sh
|
|
1238
|
+
pnpm openxiangda workflow sync request-review --from production --to test \
|
|
1239
|
+
--expected-source-head 14 --expected-target-head 3 \
|
|
1240
|
+
--operation-id workflow-sync-20261012-01 --reason '同步正式环境流程到测试'
|
|
1241
|
+
```
|
|
1242
|
+
|
|
1243
|
+
示例修订号必须替换成实际读取值。源和目标必须属于同一应用且均有已启用流程。同步检查目标现有页面、代码步骤、角色与固定人员引用,复用源版本,并通过正常发布与在途适用规则生效。默认同时更新在途和新申请;`--new-only` 只更新新申请。存在不兼容在途申请时,在确认预览结果后加 `--acknowledge-exceptions`,这些申请继续保留原版本。
|
|
1244
|
+
|
|
1245
|
+
`--copy-handling-defaults` 可复制办理模式、按钮和角色覆盖;两边的指定人员覆盖都保持环境所有。源环境不被修改。同步后的目标画布草稿若基线已经过时,需要重读或合并,不能覆盖新的 Head。请求不确定时,保留相同操作标识、两个修订号和完整参数重试;不要换标识重做。CLI 与 MCP 共用这些权限、校验、幂等和发布入口。
|
|
1246
|
+
|
|
1247
|
+
部署前记录目标流程修订号,激活前再次核对。期间若有人发布了画布,激活返回 `WORKFLOW_SOURCE_HEAD_CHANGED`,应用 Head 与流程 Head 在同一事务回滚;已准备的不可变登记保留。同步成功、源码检查成功、包发布与真实审批验收分别核对。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openxiangda",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.65.0",
|
|
4
4
|
"description": "OpenXiangda 2.0 的统一命令、应用 SDK、MCP 与中文 AI 技能资料。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -52,7 +52,11 @@
|
|
|
52
52
|
"types": "./dist/testing.d.ts",
|
|
53
53
|
"import": "./dist/testing.js"
|
|
54
54
|
},
|
|
55
|
-
"./package.json": "./package.json"
|
|
55
|
+
"./package.json": "./package.json",
|
|
56
|
+
"./resource": {
|
|
57
|
+
"types": "./dist/resource.d.ts",
|
|
58
|
+
"import": "./dist/resource.js"
|
|
59
|
+
}
|
|
56
60
|
},
|
|
57
61
|
"bin": {
|
|
58
62
|
"openxiangda": "./bin/run.js"
|
|
@@ -87,13 +91,13 @@
|
|
|
87
91
|
"dayjs": "1.11.18",
|
|
88
92
|
"docx-preview": "0.3.7",
|
|
89
93
|
"elkjs": "0.12.0",
|
|
90
|
-
"openxiangda-cli": "2.
|
|
91
|
-
"openxiangda-contracts": "2.
|
|
92
|
-
"openxiangda-devkit-core": "2.
|
|
94
|
+
"openxiangda-cli": "2.9.3",
|
|
95
|
+
"openxiangda-contracts": "2.81.0",
|
|
96
|
+
"openxiangda-devkit-core": "2.62.0",
|
|
93
97
|
"openxiangda-legacy": "npm:openxiangda@1.0.269",
|
|
94
|
-
"openxiangda-mcp": "2.
|
|
95
|
-
"openxiangda-nest": "2.18.
|
|
96
|
-
"openxiangda-skill-kit": "2.3.
|
|
98
|
+
"openxiangda-mcp": "2.2.3",
|
|
99
|
+
"openxiangda-nest": "2.18.4",
|
|
100
|
+
"openxiangda-skill-kit": "2.3.104",
|
|
97
101
|
"xlsx": "https://github.com/1377385356/openxiangda/releases/download/vendor-mirror/xlsx-0.20.3.tgz"
|
|
98
102
|
},
|
|
99
103
|
"peerDependencies": {
|
|
@@ -159,37 +163,33 @@
|
|
|
159
163
|
},
|
|
160
164
|
"openxiangdaRelease": {
|
|
161
165
|
"schemaVersion": "openxiangda.release-notes/v1",
|
|
162
|
-
"version": "2.
|
|
166
|
+
"version": "2.65.0",
|
|
163
167
|
"status": "reviewed",
|
|
164
|
-
"title": "
|
|
165
|
-
"summary": "
|
|
166
|
-
"newFeatures": [
|
|
168
|
+
"title": "原生助手命令与工作流布局更新",
|
|
169
|
+
"summary": "发布已审阅的原生助手部分更新命令契约和工作流条件分支布局修复。",
|
|
170
|
+
"newFeatures": [
|
|
171
|
+
"原生助手更新使用有界 id、expectedRevision 和 data 命令结构。",
|
|
172
|
+
"保留字段声明必填属性并支持部分更新。"
|
|
173
|
+
],
|
|
167
174
|
"fixes": [
|
|
168
|
-
"
|
|
169
|
-
"统一修复浏览器端管理、工作流、资源批量、文件和草稿操作的 UUID 生成,避免同类私有 HTTP 部署故障。"
|
|
175
|
+
"修复 PC 工作流条件分支、默认分支和汇聚节点的对称布局。"
|
|
170
176
|
],
|
|
171
177
|
"affectedUsers": [
|
|
172
|
-
"
|
|
173
|
-
"使用工作流节点配置、路由、委托、恢复、资源批量和文件草稿等浏览器幂等操作的应用。"
|
|
178
|
+
"使用 OpenXiangda V2 原生助手或工作流画布的应用开发者"
|
|
174
179
|
],
|
|
175
180
|
"upgradeSteps": [
|
|
176
|
-
"
|
|
177
|
-
"部署后用 HTTP 预发入口保存一个工作流节点描述,确认后台 configuration.revision/history 有一次写入。",
|
|
178
|
-
"继续保留原请求 ID 语义,若结果未知只重试相同请求,不新建幂等键。"
|
|
181
|
+
"按同一候选版本更新 openxiangda、openxiangda-cli 与共享 contracts 包。"
|
|
179
182
|
],
|
|
180
183
|
"knownLimitations": [
|
|
181
|
-
"
|
|
182
|
-
"包版本升级和平台部署不替代真实角色权限、CAS 冲突和业务配置验收。"
|
|
184
|
+
"不改变既有业务数据、报销审批或财务提交副作用策略。"
|
|
183
185
|
],
|
|
184
186
|
"compatibility": {
|
|
185
|
-
"generation": "v2",
|
|
186
187
|
"node": ">=24",
|
|
187
|
-
"
|
|
188
|
-
"v1": "独立1.x维护包不变"
|
|
188
|
+
"pnpm": "10.15.1"
|
|
189
189
|
},
|
|
190
190
|
"issues": [],
|
|
191
|
-
"sha256": "
|
|
192
|
-
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.
|
|
191
|
+
"sha256": "02a56d082f6749c7949b47b8f7b03fd87b0a43475aead7f471eeb1b9a8533f6c",
|
|
192
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.65.0"
|
|
193
193
|
},
|
|
194
194
|
"scripts": {
|
|
195
195
|
"build": "node ../../scripts/prune-package-dist.mjs && tsc -p tsconfig.json && node scripts/copy-assets.mjs",
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
+
"version": "2.64.0",
|
|
4
|
+
"status": "reviewed",
|
|
5
|
+
"title": "工作流与原生任务能力更新",
|
|
6
|
+
"summary": "汇总已审阅的工作流画布、并行流程、源码助手契约和应用代理选择能力更新。",
|
|
7
|
+
"newFeatures": [
|
|
8
|
+
"增强工作流画布节点、并行流程和能力目录配置。",
|
|
9
|
+
"增加应用源码助手契约及代理选择能力。"
|
|
10
|
+
],
|
|
11
|
+
"fixes": [
|
|
12
|
+
"保持流程节点配置、提醒控制和发布后业务步骤的一致性。"
|
|
13
|
+
],
|
|
14
|
+
"affectedUsers": [
|
|
15
|
+
"使用 OpenXiangda V2 工作流或源码助手能力的应用开发者"
|
|
16
|
+
],
|
|
17
|
+
"upgradeSteps": [
|
|
18
|
+
"按同一候选版本更新 openxiangda、openxiangda-cli 与共享 contracts 包。"
|
|
19
|
+
],
|
|
20
|
+
"knownLimitations": [
|
|
21
|
+
"不改变既有应用的业务数据和财务副作用策略。"
|
|
22
|
+
],
|
|
23
|
+
"compatibility": {
|
|
24
|
+
"node": ">=24",
|
|
25
|
+
"pnpm": "10.15.1"
|
|
26
|
+
},
|
|
27
|
+
"issues": [],
|
|
28
|
+
"sha256": "3b23d18a5381652b20281527402e8cd406a8666a4c9c392f93131104660705bc",
|
|
29
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.64.0"
|
|
30
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
+
"version": "2.65.0",
|
|
4
|
+
"status": "reviewed",
|
|
5
|
+
"title": "原生助手命令与工作流布局更新",
|
|
6
|
+
"summary": "发布已审阅的原生助手部分更新命令契约和工作流条件分支布局修复。",
|
|
7
|
+
"newFeatures": [
|
|
8
|
+
"原生助手更新使用有界 id、expectedRevision 和 data 命令结构。",
|
|
9
|
+
"保留字段声明必填属性并支持部分更新。"
|
|
10
|
+
],
|
|
11
|
+
"fixes": [
|
|
12
|
+
"修复 PC 工作流条件分支、默认分支和汇聚节点的对称布局。"
|
|
13
|
+
],
|
|
14
|
+
"affectedUsers": [
|
|
15
|
+
"使用 OpenXiangda V2 原生助手或工作流画布的应用开发者"
|
|
16
|
+
],
|
|
17
|
+
"upgradeSteps": [
|
|
18
|
+
"按同一候选版本更新 openxiangda、openxiangda-cli 与共享 contracts 包。"
|
|
19
|
+
],
|
|
20
|
+
"knownLimitations": [
|
|
21
|
+
"不改变既有业务数据、报销审批或财务提交副作用策略。"
|
|
22
|
+
],
|
|
23
|
+
"compatibility": {
|
|
24
|
+
"node": ">=24",
|
|
25
|
+
"pnpm": "10.15.1"
|
|
26
|
+
},
|
|
27
|
+
"issues": [],
|
|
28
|
+
"sha256": "02a56d082f6749c7949b47b8f7b03fd87b0a43475aead7f471eeb1b9a8533f6c",
|
|
29
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.65.0"
|
|
30
|
+
}
|
package/skills/manifest.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
{
|
|
5
5
|
"name": "openxiangda-v2",
|
|
6
6
|
"description": "使用 OpenXiangda 2.0 从模糊业务想法、已有资料或具体变更出发,通过对话发现模块、完成详细产品设计,由当前 AI Agent 按需用 Image 2.5 等图片能力形成视觉参考,直接实现真实页面并在浏览器修正,再检查和交付应用;维护 1.x 应用时使用对应的 1.x 技能。",
|
|
7
|
-
"sha256": "
|
|
7
|
+
"sha256": "2d8f4a56a4e2996b573a81f6a3921abc921de976a0cc0c18e3e859fba67e0274"
|
|
8
8
|
}
|
|
9
9
|
]
|
|
10
10
|
}
|
|
@@ -7,11 +7,11 @@ description: 使用 OpenXiangda 2.0 从模糊业务想法、已有资料或具
|
|
|
7
7
|
|
|
8
8
|
## 应用结构基线(必须遵守)
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
有管理任务时选择后台源码模板;PC 用户端、移动用户端和登录外观分别选择布局与风格。先读取 [源码模板与业务场景](references/application-templates.md) 或 template list / MCP template_list,结合已确认业务选择初始化模块。已获开发与创建授权时直接执行,模板选择不增加确认步骤。
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
应用拥有外壳与页面源码,可修改、替换或重构。通过 ui.admin.shell 保持唯一后台,通过 resourcePages 贡献替换资源页面,从 openxiangda/resource 组合列表块与控制器。平台继续拥有路由、身份、授权、数据和登录行为;不复制这些权威。既有应用保留 SDK fallback,不强制换模板;没有管理任务的应用可不添加后台。
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
分别验证实际使用的后台、表单、列表及用户 PC/移动入口。图片只作为视觉参考,不代表运行或业务验收。
|
|
15
15
|
|
|
16
16
|
## 先理解任务
|
|
17
17
|
|
|
@@ -40,10 +40,10 @@ AI 接到新应用、页面或改版任务时,在同一个 OpenXiangda 工作
|
|
|
40
40
|
未创建工作区时使用本 Skill 随根包发布的精确版本:
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
pnpm dlx openxiangda@2.
|
|
44
|
-
pnpm dlx openxiangda@2.
|
|
45
|
-
pnpm dlx openxiangda@2.
|
|
46
|
-
pnpm dlx openxiangda@2.
|
|
43
|
+
pnpm dlx openxiangda@2.65.0 auth status --cwd <应用目录> --base-url <平台地址> --json
|
|
44
|
+
pnpm dlx openxiangda@2.65.0 login --cwd <应用目录> --base-url <平台地址>
|
|
45
|
+
pnpm dlx openxiangda@2.65.0 create <应用目录> --base-url <同一平台地址>
|
|
46
|
+
pnpm dlx openxiangda@2.65.0 skill install --force
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
创建前把产品要求的目标平台明确带入命令,不从旧登录态推断站点。已有工作区从原绑定恢复,平台不一致时先解决登录与目标,不改 link 文件跨站创建。
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# 源码模板与业务场景
|
|
2
|
+
|
|
3
|
+
## 选择与创建 {#create}
|
|
4
|
+
|
|
5
|
+
模板是应用源码的初始化,不是不可编辑的 SDK 页面。后台、PC 用户端、移动用户端和登录外观分别选择布局;公共登录行为继续由 SDK 提供。既有 builtin:application 保持基础空应用。
|
|
6
|
+
|
|
7
|
+
先运行 `openxiangda template list --json`,或读取 MCP template_list。已确定业务和授权创建时直接初始化,无需为模板选择增加确认。
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
openxiangda create ./visitor-app --base-url <测试平台> --scenario visitor
|
|
11
|
+
openxiangda create ./records-app --base-url <测试平台> --scenario crud --style graphite-blue
|
|
12
|
+
openxiangda create ./visitor-app --base-url <测试平台> --scenario visitor --admin topbar --pc workbench --mobile task-list --login centered
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
with/without 接受逗号分隔模块。未知场景、布局、风格、模块及缺失依赖在物化前报错。访客默认包含 time-slot、pass-and-checkin、party-directory、my-records;没有应用后端或工作流。移除依赖模块时必须同时移除依赖它的模块。创建到已有工作区只恢复原来源;不能换一套模板覆盖应用源码。
|
|
16
|
+
|
|
17
|
+
## 源码所有权 {#ownership}
|
|
18
|
+
|
|
19
|
+
后台外壳位于 apps/web/src/frames/admin/AdminShell.tsx;PC/移动 frame 位于同目录;登录布局位于 apps/web/src/login;样式位于 apps/web/src/theme;后台资源页位于 apps/web/src/admin。开发者可复制、修改、替换、重构,平台不会自动覆盖这些文件。通用模板修复由各应用选择采用。
|
|
20
|
+
|
|
21
|
+
唯一后台通过 ui.admin.shell 挂载,菜单和路径来自平台已授权模型。保留 SDK 的路由及权限边界。应用页面通过 resourcePages 的 resource/view/list/detail/form contribution 挂载;未声明的页面沿用 SDK fallback。用户端通过 standardUserSurfaces 和普通页面贡献使用同一个应用路由。
|
|
22
|
+
|
|
23
|
+
## 修改列表 {#resource-list}
|
|
24
|
+
|
|
25
|
+
从 openxiangda/resource 导入 useResourceListController 和 ResourceListActions、ResourceListQueryBar、ResourceListAdvancedFilter、ResourceListAppliedFilters、ResourceListTable、ResourceListBatchBar、ResourceListOverlays 等块。控制器拥有数据、查询、列偏好、选择和获准动作;页面决定布局。columnRenderers 可替换可读列展示。移动端使用 useMobileResourceListController 与对应块。SDK 默认页使用相同边界。
|
|
26
|
+
|
|
27
|
+
resourcePages: { visits: { default: { list: VisitListPage } } } 按资源和视图注册。应用组件获得 definition、paths、mode 和 variant;路由先核验生成声明、读取/动作能力,再渲染贡献页。隐藏列不授予权限,新增视觉动作仍由服务器校验。
|
|
28
|
+
|
|
29
|
+
模板带 check:imports,解析真实 TypeScript 导入并核验包 exports;不允许私有 dist/src 深导入。资源 detail/form 先提供已有块,独立控制器继续扩展。
|
|
30
|
+
|
|
31
|
+
## 登录与验收 {#login}
|
|
32
|
+
|
|
33
|
+
登录模板消费 SDK 提供的 methods、state、error、passwordLogin、startSso、startDingTalk。支持账号密码、组织配置的 SSO/钉钉、验证码挑战、恢复身份和错误反馈;不建立第二个登录态,不显示未配置的入口。
|
|
34
|
+
|
|
35
|
+
访客角色起点:host 可邀请且读取自己创建的记录;front_desk 可进入唯一后台并登记到访,数据范围由平台策略约束。区域及角色为示例,接入实际组织前按业务修改。简单 CRUD 场景提供表单、我的记录和后台数据管理。
|
|
36
|
+
|
|
37
|
+
验收分别记录本地编译、浏览器、测试平台、实际角色和业务回读。模板初始化和设计图不是已部署业务。先 check,再按已授权环境验证邀请→接待→状态回读,桌面及 390px 均覆盖。参考[页面与标准组件](frontend.md)、[无账号访问](public-access.md)和[校验](testing.md)。
|
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
| `pnpm openxiangda context` | 只读 | 只读查看工作区、版本与平台绑定 |
|
|
9
9
|
| `pnpm openxiangda docs` | 只读 | 按主题和章节读取当前版本中文资料 |
|
|
10
10
|
| `pnpm openxiangda admin` | 远端变更 | 查看管理能力、自助操作契约,或按明确环境执行事件、密钥及通知操作 |
|
|
11
|
+
| `pnpm openxiangda template` | 只读 | 列出场景、模块、布局和风格模板 |
|
|
11
12
|
| `pnpm openxiangda create` | 远端变更 | 创建、绑定并初始化应用 |
|
|
13
|
+
| `pnpm openxiangda workflow` | 远端变更 | 导出流程、导入到源码、规划版本登记、查看状态并显式同步到目标环境 |
|
|
12
14
|
| `pnpm openxiangda source` | 远端变更 | 配置应用源码仓库、查看状态或提交推送 |
|
|
13
15
|
| `pnpm openxiangda dev` | 本地写入 | 连接平台测试数据启动本地 Web,按需启动 Nest |
|
|
14
16
|
| `pnpm openxiangda check` | 本地写入 | 生成契约并在目标平台预检后执行检查、测试和构建 |
|
|
@@ -121,7 +121,16 @@ import { AttachmentFileList } from 'openxiangda/field-kit';
|
|
|
121
121
|
}
|
|
122
122
|
```
|
|
123
123
|
|
|
124
|
-
|
|
124
|
+
来源端点接受关键字和游标;页大小由 `source.pageSize` 固定。创建表单使用 `operation: 'create'` 和当前绑定值。
|
|
125
|
+
普通编辑表单使用 `operation: 'update', record: { id, expectedRevision }`,只传实际编辑的 `bindings`;平台以已保存记录合并这些编辑,检查行/字段更新权限及记录版本。没有编辑的绑定即使不可读,也由服务端参与查找,不返回它的原值。清空绑定传 `null`;最终提交仍由普通 Data API 验证必填和引用规则。
|
|
126
|
+
|
|
127
|
+
列表筛选使用 `operation: 'filter'`:只需要宿主资源及字段的读取权限,目标保持当前用户的读取投影和行策略。写入 `source.filters` 不参与筛选,所以历史停用或已不满足写入条件的引用仍可查询;调用中不能携带 `bindings`、`record`、`launch`、`action` 或任务上下文。如需只展示某一类身份,可声明至多 20 个常量条件,例如 `filterWhere: [{ field: 'kind', operator: 'eq', value: 'building' }]`;支持 `eq`/`in`,不接受字段绑定。没有目标资源读取权限时,不会返回候选。
|
|
128
|
+
|
|
129
|
+
普通生成表单自动传入保存上下文和实际编辑。自定义编辑表单通过 `SurfaceFieldRenderers.referenceBindings` 提供编辑值,`SurfaceFieldControl`/`MobileSurfaceFieldControl` 根据 `recordId` 和 `expectedRevision` 发送同样上下文。直接使用 `ResourceReferenceField` 时提供 `record` 和 `bindingEdits`。不传绑定编辑即使用保存值,不用把不可读字段填进浏览器。
|
|
130
|
+
|
|
131
|
+
目录筛选通过现有目录检索的 `purpose: 'filter'` 返回可选的历史停用项,并标明停用;普通成员选择仍只接受有效项。范围来源支持 `operation: 'filter'`,使用读取范围授权,包含停用身份;自定义范围筛选控件使用 `renderScopeFilter`,与编辑态 `renderScope` 分开。
|
|
132
|
+
|
|
133
|
+
含这些引用/目录字段或来源维度的编译包自动要求 `data.field-source-contexts` 版本 `1.0.0`,目标平台先升级后才能交付新包。
|
|
125
134
|
标准流程的具名动作发起表单由 `WorkflowSubmissionPage` 自动传递 `launch: { workflowCode, operationCode }`。
|
|
126
135
|
平台核对当前环境已部署的流程、动作、输入字段映射和当前用户动作权限;不要求额外授予宿主表单 CRUD 权限。
|
|
127
136
|
普通 CRUD 表单不传此绑定,继续检查对应创建/修改权限。自定义选择器可通过 `searchResource` 的同名选项传递
|