openxiangda 2.0.0-alpha.98 → 2.0.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/LICENSE +21 -0
- package/README.md +23 -20
- package/bin/distribution/commands.js +55 -0
- package/bin/distribution/launcher.js +49 -0
- package/bin/distribution/migrate.js +60 -0
- package/bin/distribution/releases.js +52 -0
- package/bin/distribution/skills.js +80 -0
- package/bin/distribution/update.js +68 -0
- package/bin/distribution/workspace.js +85 -0
- package/bin/run.js +9 -11
- package/dist/browser/AuthoritativeSelector.d.ts +3 -2
- package/dist/browser/AuthoritativeSelector.d.ts.map +1 -1
- package/dist/browser/AuthoritativeSelector.js +39 -24
- package/dist/browser/AuthoritativeSelector.js.map +1 -1
- package/dist/browser/Shell.d.ts.map +1 -1
- package/dist/browser/Shell.js +24 -18
- package/dist/browser/Shell.js.map +1 -1
- package/dist/browser/admin-information-architecture.d.ts +4 -2
- package/dist/browser/admin-information-architecture.d.ts.map +1 -1
- package/dist/browser/admin-information-architecture.js +2 -2
- package/dist/browser/admin-information-architecture.js.map +1 -1
- package/dist/browser/application.d.ts.map +1 -1
- package/dist/browser/application.js +3 -3
- package/dist/browser/application.js.map +1 -1
- package/dist/browser/components/platform-fields/AttachmentFileList.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/AttachmentFileList.js +5 -1
- package/dist/browser/components/platform-fields/AttachmentFileList.js.map +1 -1
- package/dist/browser/components/platform-fields/MobileFieldControls.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/MobileFieldControls.js +2 -2
- package/dist/browser/components/platform-fields/MobileFieldControls.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 +2 -2
- package/dist/browser/components/platform-fields/ResourceReferenceField.js.map +1 -1
- package/dist/browser/components/platform-fields/SubtableField.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/SubtableField.js +60 -80
- package/dist/browser/components/platform-fields/SubtableField.js.map +1 -1
- package/dist/browser/components/platform-fields/rich-text-value.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/rich-text-value.js +11 -1
- package/dist/browser/components/platform-fields/rich-text-value.js.map +1 -1
- package/dist/browser/components/resource/GeneratedResourceCrud.d.ts.map +1 -1
- package/dist/browser/components/resource/GeneratedResourceCrud.js +33 -114
- package/dist/browser/components/resource/GeneratedResourceCrud.js.map +1 -1
- package/dist/browser/components/resource/GeneratedResourceForm.d.ts +3 -1
- package/dist/browser/components/resource/GeneratedResourceForm.d.ts.map +1 -1
- package/dist/browser/components/resource/GeneratedResourceForm.js +11 -4
- package/dist/browser/components/resource/GeneratedResourceForm.js.map +1 -1
- package/dist/browser/components/resource/RecordChangeHistory.d.ts +12 -0
- package/dist/browser/components/resource/RecordChangeHistory.d.ts.map +1 -0
- package/dist/browser/components/resource/RecordChangeHistory.js +61 -0
- package/dist/browser/components/resource/RecordChangeHistory.js.map +1 -0
- package/dist/browser/components/resource/RecordDetailFrame.d.ts +30 -0
- package/dist/browser/components/resource/RecordDetailFrame.d.ts.map +1 -0
- package/dist/browser/components/resource/RecordDetailFrame.js +25 -0
- package/dist/browser/components/resource/RecordDetailFrame.js.map +1 -0
- package/dist/browser/components/resource/ResourceFormFrame.d.ts +2 -1
- package/dist/browser/components/resource/ResourceFormFrame.d.ts.map +1 -1
- package/dist/browser/components/resource/ResourceFormFrame.js +4 -4
- package/dist/browser/components/resource/ResourceFormFrame.js.map +1 -1
- package/dist/browser/components/resource/StandardResourcePages.d.ts +2 -4
- package/dist/browser/components/resource/StandardResourcePages.d.ts.map +1 -1
- package/dist/browser/components/resource/StandardResourcePages.js +8 -26
- package/dist/browser/components/resource/StandardResourcePages.js.map +1 -1
- package/dist/browser/components/resource/SurfaceFields.d.ts +5 -3
- package/dist/browser/components/resource/SurfaceFields.d.ts.map +1 -1
- package/dist/browser/components/resource/SurfaceFields.js +37 -12
- package/dist/browser/components/resource/SurfaceFields.js.map +1 -1
- package/dist/browser/components/resource/resource-import.d.ts +16 -1
- package/dist/browser/components/resource/resource-import.d.ts.map +1 -1
- package/dist/browser/components/resource/resource-import.js +58 -34
- package/dist/browser/components/resource/resource-import.js.map +1 -1
- package/dist/browser/components/resource/useResourceFormDrafts.d.ts.map +1 -1
- package/dist/browser/components/todo/ApplicationTodoCenterPage.d.ts +5 -2
- package/dist/browser/components/todo/ApplicationTodoCenterPage.d.ts.map +1 -1
- package/dist/browser/components/todo/ApplicationTodoCenterPage.js +19 -14
- package/dist/browser/components/todo/ApplicationTodoCenterPage.js.map +1 -1
- package/dist/browser/components/workflow/StandardWorkflowPages.d.ts +21 -5
- package/dist/browser/components/workflow/StandardWorkflowPages.d.ts.map +1 -1
- package/dist/browser/components/workflow/StandardWorkflowPages.js +175 -192
- package/dist/browser/components/workflow/StandardWorkflowPages.js.map +1 -1
- package/dist/browser/components/workflow/WorkflowRecordEditor.d.ts +2 -1
- package/dist/browser/components/workflow/WorkflowRecordEditor.d.ts.map +1 -1
- package/dist/browser/components/workflow/WorkflowRecordEditor.js +7 -4
- package/dist/browser/components/workflow/WorkflowRecordEditor.js.map +1 -1
- package/dist/browser/platform-client.d.ts +10 -4
- package/dist/browser/platform-client.d.ts.map +1 -1
- package/dist/browser/platform-client.js +78 -17
- package/dist/browser/platform-client.js.map +1 -1
- package/dist/browser/record-detail.css +115 -0
- package/dist/browser/runtime.d.ts.map +1 -1
- package/dist/browser/runtime.js +26 -2
- package/dist/browser/runtime.js.map +1 -1
- package/dist/browser/styles.css +1 -0
- package/dist/browser/workflow-launch.d.ts +4 -1
- package/dist/browser/workflow-launch.d.ts.map +1 -1
- package/dist/browser/workflow-launch.js +32 -0
- package/dist/browser/workflow-launch.js.map +1 -1
- package/dist/core.d.ts +1 -1
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js.map +1 -1
- package/documentation/AGENTS.md +26 -0
- package/documentation/administration.md +27 -0
- package/documentation/application-foundation.md +162 -0
- package/documentation/appspec.md +152 -0
- package/documentation/backend.md +132 -0
- package/documentation/concepts.md +61 -0
- package/documentation/data-authz.md +62 -0
- package/documentation/delivery.md +110 -0
- package/documentation/development.md +32 -0
- package/documentation/field-components.md +236 -0
- package/documentation/frontend.md +269 -0
- package/documentation/getting-started.md +66 -0
- package/documentation/interaction-patterns.md +56 -0
- package/documentation/manifest.json +120 -0
- package/documentation/product-design.md +142 -0
- package/documentation/public-access.md +167 -0
- package/documentation/reference/cli.md +27 -0
- package/documentation/reference/mcp.md +649 -0
- package/documentation/testing.md +63 -0
- package/documentation/upgrading.md +39 -0
- package/documentation/workflow-events.md +181 -0
- package/launcher-skill/openxiangda/SKILL.md +24 -0
- package/package.json +72 -9
- package/releases/2.0.0.json +50 -0
- package/skills/manifest.json +2 -2
- package/skills/openxiangda-v2/SKILL.md +64 -51
- package/skills/openxiangda-v2/agents/openai.yaml +2 -2
- package/skills/openxiangda-v2/references/administration.md +27 -0
- package/skills/openxiangda-v2/references/application-foundation.md +162 -0
- package/skills/openxiangda-v2/references/appspec.md +132 -47
- package/skills/openxiangda-v2/references/backend.md +101 -248
- package/skills/openxiangda-v2/references/cli.md +27 -0
- package/skills/openxiangda-v2/references/concepts.md +61 -0
- package/skills/openxiangda-v2/references/data-authz.md +36 -388
- package/skills/openxiangda-v2/references/delivery.md +110 -49
- package/skills/openxiangda-v2/references/development.md +32 -0
- package/skills/openxiangda-v2/references/field-components.md +236 -0
- package/skills/openxiangda-v2/references/frontend.md +254 -280
- package/skills/openxiangda-v2/references/getting-started.md +66 -0
- package/skills/openxiangda-v2/references/interaction-patterns.md +56 -0
- package/skills/openxiangda-v2/references/mcp.md +649 -0
- package/skills/openxiangda-v2/references/product-design.md +142 -0
- package/skills/openxiangda-v2/references/public-access.md +92 -84
- package/skills/openxiangda-v2/references/testing.md +45 -56
- package/skills/openxiangda-v2/references/upgrading.md +39 -0
- package/skills/openxiangda-v2/references/workflow-events.md +143 -266
- package/skills/openxiangda-v2/references/architecture.md +0 -9
- package/skills/openxiangda-v2/references/commands.md +0 -21
- package/skills/openxiangda-v2/references/discovery.md +0 -15
- package/skills/openxiangda-v2/references/workspace.md +0 -62
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
.oxa-record-detail { height: 100dvh; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; background: var(--ant-color-bg-layout, #f5f5f5); color: var(--ant-color-text); }
|
|
2
|
+
.oxa-record-detail.is-drawer { height: 100%; }
|
|
3
|
+
.oxa-record-detail-width { width: 100%; max-width: 1056px; margin: 0 auto; padding-inline: 28px; box-sizing: border-box; }
|
|
4
|
+
.oxa-record-detail-header, .oxa-record-detail-footer { background: var(--ant-color-bg-container, #fff); padding: 16px 0; }
|
|
5
|
+
.oxa-record-detail-header { min-height: 70px; box-sizing: border-box; border-bottom: 1px solid var(--ant-color-border-secondary); }
|
|
6
|
+
.oxa-record-detail-header > div, .oxa-record-detail-footer > div { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
|
|
7
|
+
.oxa-record-detail-heading { display: flex; align-items: center; gap: 12px; min-width: 0; }
|
|
8
|
+
.oxa-record-detail-heading h2 { font-size: 20px; line-height: 1.5; margin: 0; font-weight: 600; }
|
|
9
|
+
.oxa-record-detail-body { overflow: auto; min-height: 0; padding: 24px 0; }
|
|
10
|
+
.oxa-record-detail-hero { margin-bottom: 20px; }
|
|
11
|
+
.oxa-record-detail-hero > div:first-child { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
|
|
12
|
+
.oxa-record-detail-hero h1 { font-size: 23px; line-height: 1.45; font-weight: 600; margin: 0; overflow-wrap: anywhere; }
|
|
13
|
+
.oxa-record-detail-metadata { margin-top: 7px; font-size: 12px; color: var(--ant-color-text-secondary); line-height: 1.6; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
|
|
14
|
+
.oxa-record-detail-sections { display: grid; gap: 16px; }
|
|
15
|
+
.oxa-record-detail-card { background: var(--ant-color-bg-container, #fff); border: 1px solid var(--ant-color-border-secondary); border-radius: 8px; padding: 20px 22px; min-width: 0; }
|
|
16
|
+
.oxa-record-detail-card > h2 { font-size: 16px; line-height: 1.5; margin: 0 0 16px; padding-bottom: 12px; border-bottom: 1px solid var(--ant-color-border-secondary); font-weight: 600; }
|
|
17
|
+
.oxa-record-detail-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; row-gap: 18px; }
|
|
18
|
+
.oxa-record-detail-fields > div { min-width: 0; }
|
|
19
|
+
.oxa-record-detail-fields > .is-wide { grid-column: 1 / -1; }
|
|
20
|
+
.oxa-record-detail-label { font-size: 13px; color: var(--ant-color-text-secondary); margin-bottom: 8px; line-height: 1.5; }
|
|
21
|
+
.oxa-record-detail-value { line-height: 1.65; overflow-wrap: anywhere; }
|
|
22
|
+
.oxa-record-detail-footer { border-top: 1px solid var(--ant-color-border-secondary); padding-bottom: max(16px, env(safe-area-inset-bottom)); }
|
|
23
|
+
.oxa-record-detail-updated { font-size: 13px; color: var(--ant-color-text-secondary); }
|
|
24
|
+
.oxa-record-detail-actions { min-width: 0; display: flex; align-items: center; gap: 12px; }
|
|
25
|
+
.oxa-record-detail-actions .oxa-workflow-actions { position: relative; inset: auto; min-height: 0; padding: 0; border: 0; background: none; box-shadow: none; backdrop-filter: none; justify-content: flex-end; flex-wrap: wrap; }
|
|
26
|
+
.oxa-record-detail-actions .oxa-workflow-more-actions { left: auto; right: 0; bottom: 52px; transform: none; }
|
|
27
|
+
.oxa-record-detail .oxa-workflow-current-node { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; margin-bottom: 8px; border-radius: 6px; color: var(--ant-color-primary); background: var(--ant-color-primary-bg); }
|
|
28
|
+
.oxa-record-detail .oxa-workflow-current-node > span { display: flex; align-items: center; gap: 8px; }
|
|
29
|
+
.oxa-record-detail .oxa-workflow-timeline-card { box-shadow: none; border-radius: 8px; }
|
|
30
|
+
.oxa-record-detail .oxa-workflow-timeline-card .ant-card-head-title::before { display: none; }
|
|
31
|
+
.oxa-record-detail .oxa-audit-collapse { margin-top: 20px; background: var(--ant-color-bg-container); }
|
|
32
|
+
.oxa-record-detail-mobile .oxa-record-detail-header { padding: 12px 0; min-height: 56px; }
|
|
33
|
+
.oxa-record-detail-mobile .oxa-record-detail-width { padding-inline: 14px; }
|
|
34
|
+
.oxa-record-detail-mobile .oxa-record-detail-heading { gap: 4px; }
|
|
35
|
+
.oxa-record-detail-mobile .oxa-record-detail-heading h2 { font-size: 17px; }
|
|
36
|
+
.oxa-record-detail-mobile .oxa-record-detail-body { padding: 20px 0; }
|
|
37
|
+
.oxa-record-detail-mobile .oxa-record-detail-hero { padding: 0 4px; margin-bottom: 20px; }
|
|
38
|
+
.oxa-record-detail-mobile .oxa-record-detail-hero h1 { font-size: 20px; }
|
|
39
|
+
.oxa-record-detail-mobile .oxa-record-detail-metadata { font-size: 12px; }
|
|
40
|
+
.oxa-record-detail-mobile .oxa-record-detail-card { padding: 18px 16px; }
|
|
41
|
+
.oxa-record-detail-mobile .oxa-record-detail-fields { grid-template-columns: minmax(0, 1fr); gap: 14px; }
|
|
42
|
+
.oxa-record-detail-mobile .oxa-record-detail-sections { gap: 12px; }
|
|
43
|
+
.oxa-record-detail-mobile .oxa-record-detail-footer { padding: 12px 0 max(12px, env(safe-area-inset-bottom)); }
|
|
44
|
+
.oxa-record-detail-mobile .oxa-record-detail-updated { display: none; }
|
|
45
|
+
.oxa-record-detail-mobile .oxa-record-detail-actions { width: 100%; justify-content: flex-end; }
|
|
46
|
+
.oxa-record-detail-mobile .oxa-workflow-current-node { display: grid; font-size: 13px; padding: 12px; }
|
|
47
|
+
.oxa-record-detail-mobile .oxa-workflow-current-node > span { flex-wrap: wrap; }
|
|
48
|
+
|
|
49
|
+
.oxa-workflow-entry { height: 100%; min-height: 0; display: flex; flex-direction: column; }
|
|
50
|
+
.oxa-workflow-entry > .oxa-form-full { flex: 1; min-height: 0; margin: 0; }
|
|
51
|
+
.oxa-workflow-entry-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 24px; background: var(--ant-color-bg-container); }
|
|
52
|
+
.oxa-workflow-entry-header h3 { margin: 0; font-size: 20px; }
|
|
53
|
+
.oxa-mobile-page.oxa-mobile-entry.oxa-workflow-submission-mobile { margin: 0; max-width: none; }
|
|
54
|
+
.oxa-mobile-entry.oxa-workflow-submission-mobile > .oxa-mobile-header { display: flex; }
|
|
55
|
+
.oxa-file-field .oxa-file-dropzone-compact { width: fit-content; max-width: 100%; }
|
|
56
|
+
.oxa-file-field .oxa-file-dropzone-compact .ant-upload-drag { min-height: 0; width: auto; border-radius: 6px; background: var(--ant-color-bg-container); }
|
|
57
|
+
.oxa-file-field .oxa-file-dropzone-compact .ant-upload-btn { padding: 4px !important; }
|
|
58
|
+
.oxa-file-field .oxa-file-dropzone-compact .ant-upload-drag-container { display: flex; align-items: center; gap: 12px; padding-right: 12px; }
|
|
59
|
+
.oxa-file-upload-button { display: inline-flex; gap: 8px; align-items: center; white-space: nowrap; padding: 6px 14px; min-height: 32px; border: 1px solid var(--ant-color-border); border-radius: 6px; background: var(--ant-color-bg-container); box-sizing: border-box; }
|
|
60
|
+
.oxa-file-upload-hint, .oxa-file-limits { color: var(--ant-color-text-tertiary); font-size: 13px; }
|
|
61
|
+
.oxa-file-field .oxa-file-limits { margin-top: -4px; }
|
|
62
|
+
.oxa-subtable-inline { min-width: 0; }
|
|
63
|
+
.oxa-subtable-inline .oxa-subtable-scroll { overflow: auto; border: 1px solid var(--ant-color-border); border-radius: 6px; }
|
|
64
|
+
.oxa-subtable-inline table { width: 100%; border-collapse: collapse; text-align: left; }
|
|
65
|
+
.oxa-subtable-inline th { color: var(--ant-color-text-secondary); background: var(--ant-color-fill-alter); font-weight: 600; }
|
|
66
|
+
.oxa-subtable-inline td, .oxa-subtable-inline th { padding: 10px 12px; border-bottom: 1px solid var(--ant-color-border-secondary); min-width: 170px; }
|
|
67
|
+
.oxa-subtable-inline tbody tr:last-child td { border-bottom: 0; }
|
|
68
|
+
.oxa-subtable-inline .oxa-subtable-number { text-align: center; width: 48px; min-width: 48px; padding: 8px; }
|
|
69
|
+
.oxa-subtable-inline .ant-form-item { margin: 0; }
|
|
70
|
+
.oxa-subtable-inline .ant-form-item-label { display: none; }
|
|
71
|
+
.oxa-subtable-inline .ant-input-number, .oxa-subtable-inline .ant-picker { width: 100%; }
|
|
72
|
+
.oxa-subtable-inline .oxa-subtable-toolbar { margin: 12px 0 0; display: flex; align-items: center; justify-content: space-between; }
|
|
73
|
+
.oxa-subtable-inline.is-fullscreen { position: fixed; inset: 0; z-index: 1050; background: var(--ant-color-bg-container); padding: 24px; overflow: auto; }
|
|
74
|
+
|
|
75
|
+
.oxa-application-work-center { background: var(--ant-color-bg-container); padding: 24px; min-height: calc(100dvh - 112px); border: 1px solid var(--ant-color-border-secondary); border-radius: 8px; }
|
|
76
|
+
.oxa-application-work-center > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
|
|
77
|
+
.oxa-application-work-center h1 { font-size: 24px; margin: 0; font-weight: 600; }
|
|
78
|
+
.oxa-work-count { margin-left: 8px; padding: 1px 6px; border-radius: 4px; color: var(--ant-color-text-secondary); background: var(--ant-color-fill-tertiary); }
|
|
79
|
+
.oxa-application-work-center .oxa-work-item-link { height: auto; white-space: normal; padding: 0; text-align: left; }
|
|
80
|
+
.oxa-application-work-center-mobile { min-height: 100dvh; padding: 20px 16px; border: 0; border-radius: 0; background: var(--ant-color-bg-layout); }
|
|
81
|
+
.oxa-application-work-center-mobile h1 { font-size: 22px; }
|
|
82
|
+
.oxa-work-center-mobile-list { display: grid; gap: 12px; }
|
|
83
|
+
.oxa-work-center-item { width: 100%; text-align: left; border: 1px solid var(--ant-color-border-secondary); border-radius: 8px; background: var(--ant-color-bg-container); padding: 16px; font: inherit; color: inherit; cursor: pointer; }
|
|
84
|
+
.oxa-work-center-item > div { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
|
|
85
|
+
.oxa-work-center-item p, .oxa-work-center-item time { font-size: 13px; color: var(--ant-color-text-secondary); }
|
|
86
|
+
.oxa-work-center-item p { margin: 12px 0 8px; }
|
|
87
|
+
.oxa-file-field .oxa-file-dropzone-compact .ant-upload-drag { padding: 0; }
|
|
88
|
+
|
|
89
|
+
.oxa-record-detail-mobile .oxa-record-detail-actions { flex-wrap: nowrap; gap: 8px; position: relative; }
|
|
90
|
+
.oxa-record-detail-mobile .oxa-record-detail-actions > .ant-space { width: 100%; }
|
|
91
|
+
.oxa-record-detail-mobile .oxa-record-detail-actions > .ant-space > .ant-space-item { flex: 1; }
|
|
92
|
+
.oxa-record-detail-mobile .oxa-record-detail-actions .ant-btn { min-height: 44px; }
|
|
93
|
+
.oxa-record-detail-mobile .oxa-record-detail-actions > .ant-space .ant-btn { width: 100%; }
|
|
94
|
+
.oxa-record-detail-mobile .oxa-record-detail-actions > .oxa-workflow-actions { display: contents; }
|
|
95
|
+
.oxa-record-detail-mobile .oxa-record-detail-actions > .oxa-workflow-actions > .ant-btn { flex: 1; min-width: 0; padding-inline: 8px; }
|
|
96
|
+
.oxa-record-detail-mobile .oxa-record-detail-actions > .ant-btn { flex: 1; }
|
|
97
|
+
.oxa-record-detail .oxa-workflow-current-node.is-success { color: var(--ant-color-success-text); background: var(--ant-color-success-bg); }
|
|
98
|
+
.oxa-record-detail .oxa-workflow-current-node.is-error { color: var(--ant-color-error-text); background: var(--ant-color-error-bg); }
|
|
99
|
+
.oxa-record-detail .oxa-workflow-current-node.is-neutral { color: var(--ant-color-text-secondary); background: var(--ant-color-fill-alter); }
|
|
100
|
+
|
|
101
|
+
.oxa-record-detail.is-editing { grid-template-rows: auto minmax(0, 1fr); }
|
|
102
|
+
.oxa-record-detail.is-editing .oxa-record-detail-body { padding: 0; overflow: hidden; }
|
|
103
|
+
.oxa-record-detail.is-editing .oxa-record-detail-body > .oxa-record-detail-width { height: 100%; max-width: none; padding: 0; }
|
|
104
|
+
.oxa-record-detail.is-editing .oxa-form-full, .oxa-record-detail.is-editing .oxa-mobile-form { height: 100%; min-height: 0; display: flex; flex-direction: column; margin: 0; background: transparent; border: 0; border-radius: 0; }
|
|
105
|
+
.oxa-record-detail.is-editing .oxa-form-scroll { flex: 1; min-height: 0; overflow: auto; padding: 24px 28px; width: 100%; max-width: 1056px; box-sizing: border-box; margin: 0 auto; }
|
|
106
|
+
.oxa-record-detail.is-editing .oxa-form-sections { gap: 16px; }
|
|
107
|
+
.oxa-record-detail.is-editing .oxa-form-section { padding: 20px 22px; border: 1px solid var(--ant-color-border-secondary); border-radius: 8px; background: var(--ant-color-bg-container); }
|
|
108
|
+
.oxa-record-detail.is-editing .oxa-form-section h2 { font-size: 16px; margin-bottom: 16px; padding-bottom: 12px; }
|
|
109
|
+
.oxa-record-detail.is-editing .oxa-actions { position: static; flex: none; margin: 0; padding: 14px max(28px, calc((100vw - 1000px) / 2)); background: var(--ant-color-bg-container); }
|
|
110
|
+
.oxa-record-detail.is-drawer.is-editing .oxa-actions { padding-inline: 28px; }
|
|
111
|
+
.oxa-record-detail-mobile.is-editing .oxa-form-scroll { padding: 20px 14px; }
|
|
112
|
+
.oxa-record-detail-mobile.is-editing .oxa-form-sections { gap: 12px; }
|
|
113
|
+
.oxa-record-detail-mobile.is-editing .oxa-form-section { padding: 18px 16px; }
|
|
114
|
+
.oxa-record-detail-mobile.is-editing .oxa-actions { padding: 12px 16px max(12px, env(safe-area-inset-bottom)); flex-wrap: wrap; }
|
|
115
|
+
.oxa-record-detail-mobile.is-editing .oxa-actions > button { flex: 1; min-height: 44px; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/browser/runtime.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,+BAA+B,EAC/B,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/browser/runtime.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,+BAA+B,EAC/B,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAOL,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EAEL,KAAK,4CAA4C,EAClD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAExD,UAAU,YAAY;IACpB,QAAQ,EAAE,eAAe,CAAC;IAC1B,aAAa,EAAE,oBAAoB,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,YAAY,EAAE,kBAAkB,EAAE,CAAC;IACnC,WAAW,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACvC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CAC3C;AAID,MAAM,MAAM,+BAA+B,GACvC,iBAAiB,GACjB,WAAW,GACX,yBAAyB,CAAC;AAE9B,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,OAAO,GACb,+BAA+B,CASjC;AAoCD,wBAAgB,gCAAgC,CAAC,EAC/C,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,cAAc,GACf,EAAE;IACD,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,cAAc,EAAE,SAAS,4CAA4C,EAAE,CAAC;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,2BAA2B,GAAG,IAAI,CAAC;CACpD;;;;EAwBA;AAED,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,YAAiB,EACjB,cAAmB,EACnB,MAAW,EACX,YAAY,EACZ,aAAa,GACd,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC7C,cAAc,CAAC,EAAE,SAAS,4CAA4C,EAAE,CAAC;IACzE,MAAM,CAAC,EAAE,SAAS,gCAAgC,EAAE,CAAC;IACrD,YAAY,CAAC,EAAE,+BAA+B,GAAG,IAAI,CAAC;IACtD,aAAa,CAAC,EAAE,kBAAkB,CAAC;CACpC,2CAsNA;AA8JD,wBAAgB,UAAU,iBAIzB"}
|
package/dist/browser/runtime.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
2
2
|
import { Alert, Button, Result, Spin } from 'antd';
|
|
3
3
|
import { createContext, useContext, useEffect, useLayoutEffect, useMemo, useState, } from 'react';
|
|
4
4
|
import { Navigate, useLocation, useNavigate } from 'react-router-dom';
|
|
5
|
-
import { isApplicationUnauthenticatedError, createAnonymousPublicClient, loadRuntimeAuthorization, OpenXiangdaPlatformRequestError, subscribePlatformSessionInvalidation, } from './platform-client';
|
|
5
|
+
import { isApplicationUnauthenticatedError, createAnonymousPublicClient, loadRuntimeAuthorization, loadApplicationLoginSurface, OpenXiangdaPlatformRequestError, subscribePlatformSessionInvalidation, } from './platform-client';
|
|
6
6
|
import { applicationCode, applicationName, runtimeMount, setActivePerspectiveCode, } from './runtime-meta';
|
|
7
7
|
import { ApplicationLoginController, } from './authentication';
|
|
8
8
|
import { standardRouteManifestDeviceForViewport, } from './route-manifest';
|
|
@@ -155,7 +155,8 @@ export function RuntimeBoundary({ children, perspectives = [], authentication =
|
|
|
155
155
|
setAttempt(value => value + 1);
|
|
156
156
|
} })) : error &&
|
|
157
157
|
failureKind === 'unauthenticated' &&
|
|
158
|
-
deviceLoginContribution ? (_jsx(Navigate, { replace: true, to: `${deviceLoginContribution.surface.path}?returnTo=${encodeURIComponent(currentReturnTo)}` })) : error && failureKind === 'forbidden' ? (_jsx(Result, { status: "403", title: "\u5F53\u524D\u8D26\u53F7\u65E0\u6743\u8BBF\u95EE\u6B64\u5E94\u7528", subTitle: "\u5F53\u524D\u8EAB\u4EFD\u5DF2\u767B\u5F55\uFF0C\u4F46\u7F3A\u5C11\u8BBF\u95EE\u8BE5\u5E94\u7528\u6216\u5F53\u524D\u529F\u80FD\u6240\u9700\u7684\u6388\u6743\u3002", extra: _jsx(Button, { onClick: () => setAttempt(value => value + 1), children: "\u91CD\u65B0\u68C0\u67E5" }) })) : error ? (_jsx(Result, { status: "error", title: "\u767B\u5F55\u4E0E\u6743\u9650\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528", subTitle: "\u7F51\u7EDC\u6216\u5E73\u53F0\u670D\u52A1\u5F02\u5E38\uFF1B\u5F53\u524D\u4F1A\u8BDD\u4E0D\u4F1A\u56E0\u6B64\u88AB\u6E05\u9664\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002", extra: _jsx(Button, { onClick: () => setAttempt(value => value + 1), children: "\u91CD\u8BD5" }) })) : authorization?.state === 'unassigned' ? (_jsx(Result, { status: "403", title: "\u5C1A\u672A\u5206\u914D\u5E94\u7528\u89D2\u8272", subTitle: "\u8BF7\u8054\u7CFB\u5E94\u7528\u7BA1\u7406\u5458\uFF0C\u4E3A\u5F53\u524D\u7528\u6237\u5206\u914D\u81F3\u5C11\u4E00\u4E2A\u5F53\u524D\u73AF\u5883\u4E2D\u7684\u5E94\u7528\u89D2\u8272\u3002", extra: _jsx(Button, { onClick: () => setAttempt(value => value + 1), children: "\u91CD\u65B0\u68C0\u67E5" }) })) : identity && authorization ? (loginContribution ? (
|
|
158
|
+
deviceLoginContribution ? (_jsx(Navigate, { replace: true, to: `${deviceLoginContribution.surface.path}?returnTo=${encodeURIComponent(currentReturnTo)}` })) : error && failureKind === 'forbidden' ? (_jsx(Result, { status: "403", title: "\u5F53\u524D\u8D26\u53F7\u65E0\u6743\u8BBF\u95EE\u6B64\u5E94\u7528", subTitle: "\u5F53\u524D\u8EAB\u4EFD\u5DF2\u767B\u5F55\uFF0C\u4F46\u7F3A\u5C11\u8BBF\u95EE\u8BE5\u5E94\u7528\u6216\u5F53\u524D\u529F\u80FD\u6240\u9700\u7684\u6388\u6743\u3002", extra: _jsx(Button, { onClick: () => setAttempt(value => value + 1), children: "\u91CD\u65B0\u68C0\u67E5" }) })) : error ? (_jsx(Result, { status: "error", title: "\u767B\u5F55\u4E0E\u6743\u9650\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528", subTitle: "\u7F51\u7EDC\u6216\u5E73\u53F0\u670D\u52A1\u5F02\u5E38\uFF1B\u5F53\u524D\u4F1A\u8BDD\u4E0D\u4F1A\u56E0\u6B64\u88AB\u6E05\u9664\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002", extra: _jsx(Button, { onClick: () => setAttempt(value => value + 1), children: "\u91CD\u8BD5" }) })) : authorization?.state === 'unassigned' ? (_jsx(Result, { status: "403", title: "\u5C1A\u672A\u5206\u914D\u5E94\u7528\u89D2\u8272", subTitle: "\u8BF7\u8054\u7CFB\u5E94\u7528\u7BA1\u7406\u5458\uFF0C\u4E3A\u5F53\u524D\u7528\u6237\u5206\u914D\u81F3\u5C11\u4E00\u4E2A\u5F53\u524D\u73AF\u5883\u4E2D\u7684\u5E94\u7528\u89D2\u8272\u3002", extra: _jsx(Button, { onClick: () => setAttempt(value => value + 1), children: "\u91CD\u65B0\u68C0\u67E5" }) })) : identity && authorization ? (loginContribution ? (pendingRedirect ? _jsx("div", { className: "oxa-loading", children: _jsx(Spin, { description: "\u6B63\u5728\u8FD4\u56DE\u539F\u9875\u9762" }) }) :
|
|
159
|
+
_jsx(AuthenticatedLoginReturn, { returnTo: declaredReturnTo, device: loginContribution.surface.device })) : (_jsx(ActiveRuntime, { authorization: authorization, identityEpoch: identityEpoch, perspectives: perspectives, children: children }))) : (_jsx("div", { className: "oxa-loading", children: _jsx(Spin, { description: "\u6B63\u5728\u8BFB\u53D6\u5F53\u524D\u7528\u6237\u7684\u89D2\u8272\u5E76\u96C6\u4E0E\u6743\u9650" }) }))] }));
|
|
159
160
|
}
|
|
160
161
|
function AnonymousPublicRuntime({ children }) {
|
|
161
162
|
const environmentKey = runtimeMount()?.environmentKey || 'preproduction';
|
|
@@ -182,6 +183,29 @@ function AnonymousPublicRuntime({ children }) {
|
|
|
182
183
|
}), [authorization, identity]);
|
|
183
184
|
return _jsx(RuntimeContext.Provider, { value: value, children: children });
|
|
184
185
|
}
|
|
186
|
+
/** 已恢复身份时仍由平台校验原目标,不在登录页提前跳到默认首页。 */
|
|
187
|
+
function AuthenticatedLoginReturn({ returnTo, device }) {
|
|
188
|
+
const [attempt, setAttempt] = useState(0);
|
|
189
|
+
const key = JSON.stringify([returnTo, device, attempt]);
|
|
190
|
+
const [result, setResult] = useState();
|
|
191
|
+
useEffect(() => {
|
|
192
|
+
let active = true;
|
|
193
|
+
void loadApplicationLoginSurface({ returnTo, device }).then(surface => {
|
|
194
|
+
if (active)
|
|
195
|
+
setResult({ key, target: surface.returnTo });
|
|
196
|
+
}, () => {
|
|
197
|
+
if (active)
|
|
198
|
+
setResult({ key, failed: true });
|
|
199
|
+
});
|
|
200
|
+
return () => { active = false; };
|
|
201
|
+
}, [returnTo, device, key]);
|
|
202
|
+
const current = result?.key === key ? result : undefined;
|
|
203
|
+
if (current?.target)
|
|
204
|
+
return _jsx(Navigate, { replace: true, to: current.target });
|
|
205
|
+
if (current?.failed)
|
|
206
|
+
return _jsx(Result, { status: "error", title: "\u6682\u65F6\u65E0\u6CD5\u8FD4\u56DE\u539F\u9875\u9762", subTitle: "\u539F\u76EE\u6807\u5C1A\u672A\u901A\u8FC7\u5E73\u53F0\u6821\u9A8C\uFF0C\u8BF7\u91CD\u8BD5\u6216\u68C0\u67E5\u8BBF\u95EE\u5730\u5740\u3002", extra: _jsx(Button, { onClick: () => setAttempt(value => value + 1), children: "\u91CD\u8BD5" }) });
|
|
207
|
+
return _jsx("div", { className: "oxa-loading", children: _jsx(Spin, { description: "\u6B63\u5728\u8FD4\u56DE\u539F\u9875\u9762" }) });
|
|
208
|
+
}
|
|
185
209
|
function routePathForCode(routeCode, routes) {
|
|
186
210
|
return routes.find(item => item.route.code === routeCode)?.route.path;
|
|
187
211
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/browser/runtime.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/browser/runtime.tsx"],"names":[],"mappings":"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"}
|
package/dist/browser/styles.css
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { type BusinessProcessCommand, type SubjectProfile, type WorkflowNamedOperationLaunchIntent } from 'openxiangda-contracts/browser';
|
|
1
|
+
import { type BusinessProcessCommand, type DataFieldSurface, type SubjectProfile, type WorkflowNamedOperationLaunchIntent } from 'openxiangda-contracts/browser';
|
|
2
|
+
export declare function workflowContextScalarValue(field: Pick<DataFieldSurface, 'type' | 'options'>, value: string): unknown;
|
|
2
3
|
export interface WorkflowNamedOperationSubjectInput {
|
|
3
4
|
id: string;
|
|
4
5
|
revision: number;
|
|
@@ -39,4 +40,6 @@ export declare function buildWorkflowNamedOperationInput(intent: WorkflowNamedOp
|
|
|
39
40
|
* outcome and never causes the browser to synthesize a Workflow.
|
|
40
41
|
*/
|
|
41
42
|
export declare function parseWorkflowNamedOperationResult(intent: WorkflowNamedOperationLaunchIntent, result: Record<string, unknown>, expected: WorkflowNamedOperationExpectedResult): WorkflowNamedOperationResult;
|
|
43
|
+
/** 仅供已接受命令的状态读取;不用于提交、补充或显式重试命令。 */
|
|
44
|
+
export declare function processStatusReadRetryDelay(error: unknown, failures: number, elapsedMs: number): number | null;
|
|
42
45
|
//# sourceMappingURL=workflow-launch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-launch.d.ts","sourceRoot":"","sources":["../../src/browser/workflow-launch.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,kCAAkC,EACxC,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,kCAAkC;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oCAAoC;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,4BAA4B,GACpC;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,sBAAsB,CAAC;CACjC,GACD;IACE,IAAI,EAAE,4BAA4B,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAuBN;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,WAKf;AAqBD,gFAAgF;AAChF,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,kCAAkC,EAC1C,KAAK,EAAE;IACL,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,CAAC,EAAE,kCAAkC,CAAC;CAC9C,2BA4BF;AAOD;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,kCAAkC,EAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,EAAE,oCAAoC,GAC7C,4BAA4B,CA6C9B"}
|
|
1
|
+
{"version":3,"file":"workflow-launch.d.ts","sourceRoot":"","sources":["../../src/browser/workflow-launch.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,kCAAkC,EACxC,MAAM,+BAA+B,CAAC;AAEvC,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC,EACjD,KAAK,EAAE,MAAM,GACZ,OAAO,CAiBT;AAED,MAAM,WAAW,kCAAkC;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oCAAoC;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,4BAA4B,GACpC;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,sBAAsB,CAAC;CACjC,GACD;IACE,IAAI,EAAE,4BAA4B,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAuBN;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,WAKf;AAqBD,gFAAgF;AAChF,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,kCAAkC,EAC1C,KAAK,EAAE;IACL,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,CAAC,EAAE,kCAAkC,CAAC;CAC9C,2BA4BF;AAOD;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,kCAAkC,EAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,EAAE,oCAAoC,GAC7C,4BAA4B,CA6C9B;AAED,oCAAoC;AACpC,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO9G"}
|
|
@@ -1,4 +1,25 @@
|
|
|
1
1
|
import { SCHEMA_VERSIONS, } from 'openxiangda-contracts/browser';
|
|
2
|
+
export function workflowContextScalarValue(field, value) {
|
|
3
|
+
if (field.type === 'option.single') {
|
|
4
|
+
const option = field.options?.find(item => item.value === value);
|
|
5
|
+
if (!option)
|
|
6
|
+
throw new Error('OPENXIANGDA_WORKFLOW_LAUNCH_CONTEXT_VALUE_INVALID');
|
|
7
|
+
const { label, value: key, description, color } = option;
|
|
8
|
+
return { label, value: key, ...(description ? { description } : {}), ...(color ? { color } : {}) };
|
|
9
|
+
}
|
|
10
|
+
if (field.type === 'number.integer' || field.type === 'number.decimal') {
|
|
11
|
+
const parsed = Number(value);
|
|
12
|
+
if (!Number.isFinite(parsed))
|
|
13
|
+
throw new Error('OPENXIANGDA_WORKFLOW_LAUNCH_CONTEXT_VALUE_INVALID');
|
|
14
|
+
return parsed;
|
|
15
|
+
}
|
|
16
|
+
if (field.type === 'boolean') {
|
|
17
|
+
if (!['true', 'false'].includes(value))
|
|
18
|
+
throw new Error('OPENXIANGDA_WORKFLOW_LAUNCH_CONTEXT_VALUE_INVALID');
|
|
19
|
+
return value === 'true';
|
|
20
|
+
}
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
2
23
|
function canonicalWorkflowLaunchJson(value) {
|
|
3
24
|
if (Array.isArray(value)) {
|
|
4
25
|
return `[${value
|
|
@@ -128,4 +149,15 @@ export function parseWorkflowNamedOperationResult(intent, result, expected) {
|
|
|
128
149
|
command,
|
|
129
150
|
};
|
|
130
151
|
}
|
|
152
|
+
/** 仅供已接受命令的状态读取;不用于提交、补充或显式重试命令。 */
|
|
153
|
+
export function processStatusReadRetryDelay(error, failures, elapsedMs) {
|
|
154
|
+
if (failures > 5 || elapsedMs >= 60_000)
|
|
155
|
+
return null;
|
|
156
|
+
const status = error && typeof error === 'object' && 'status' in error ? Number(error.status) : 0;
|
|
157
|
+
const networkFailure = error instanceof TypeError || (error instanceof Error && error.name === 'TimeoutError');
|
|
158
|
+
if (!networkFailure && ![408, 429, 500, 502, 503, 504].includes(status))
|
|
159
|
+
return null;
|
|
160
|
+
const delay = Math.min(500 * 2 ** (failures - 1), 5000);
|
|
161
|
+
return elapsedMs + delay < 60_000 ? delay : null;
|
|
162
|
+
}
|
|
131
163
|
//# sourceMappingURL=workflow-launch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-launch.js","sourceRoot":"","sources":["../../src/browser/workflow-launch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,
|
|
1
|
+
{"version":3,"file":"workflow-launch.js","sourceRoot":"","sources":["../../src/browser/workflow-launch.ts"],"names":[],"mappings":"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"}
|
package/dist/core.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { DataAuditEntry, DataAuditPage, DataAggregateMeasureType, DataAggregatePage, DataAggregateQuery, DataBatchQueryItemResult, DataBatchQueryOperation, DataBatchQueryRequest, DataBatchQueryResult, DataExportRequest, DataFieldOption, DataFieldSourcePage, DataFieldSourceQuery, DataFieldSurface, DataFilePreview, DataFileRef, DataFileUploadPlan, DataPage, DataQuery, DataRecord, DataResourceSurface, DataTransactionOperation, DataTransactionRequest, DataTransactionResult, DataWhere, DirectoryEntry, DirectoryEntryPage, DirectoryResolveRequest, LabeledValue, NativeAuthorizationManagementCatalog, NativeAuthorizationMutationReceipt, NativeRoleManagementAction, NativeRoleManagementAuthority, NativeRoleManagementGrant, NativeRoleManagementGrantMutationResult, NativeRoleManagementGrantPage, NativeRoleMembership, NativeRoleMembershipMutationResult, NativeRoleMembershipPage, NativeScopeGrant, ResourceReferenceValue, RuntimeAuthorizationContext, RuntimeAuthorizationIdentity, StableAddressValue, StableLocationValue, SubjectProfile, WorkflowDetailNavigation, WorkflowBusinessData, WorkflowBusinessDataStatus, WorkflowCommandResult, WorkflowDetailSurfaceV2, WorkflowInstance, WorkflowSurface, WorkflowTask, WorkflowTimeline, WorkflowWorkCenterItem, } from 'openxiangda-contracts/browser';
|
|
1
|
+
export type { DataAuditEntry, DataAuditPage, DataAggregateMeasureType, DataAggregatePage, DataAggregateQuery, DataBatchQueryItemResult, DataBatchQueryOperation, DataBatchQueryRequest, DataBatchQueryResult, DataExportRequest, DataFieldOption, DataFieldSourcePage, DataFieldSourceQuery, DataFieldSourceLaunchBinding, DataFieldSurface, DataFilePreview, DataFileRef, DataFileUploadPlan, DataPage, DataQuery, DataRecord, DataResourceSurface, DataTransactionOperation, DataTransactionRequest, DataTransactionResult, DataWhere, DirectoryEntry, DirectoryEntryPage, DirectoryResolveRequest, LabeledValue, NativeAuthorizationManagementCatalog, NativeAuthorizationMutationReceipt, NativeRoleManagementAction, NativeRoleManagementAuthority, NativeRoleManagementGrant, NativeRoleManagementGrantMutationResult, NativeRoleManagementGrantPage, NativeRoleMembership, NativeRoleMembershipMutationResult, NativeRoleMembershipPage, NativeScopeGrant, ResourceReferenceValue, RuntimeAuthorizationContext, RuntimeAuthorizationIdentity, StableAddressValue, StableLocationValue, SubjectProfile, WorkflowDetailNavigation, WorkflowBusinessData, WorkflowBusinessDataStatus, WorkflowCommandResult, WorkflowDetailSurfaceV2, WorkflowInstance, WorkflowSurface, WorkflowTask, WorkflowTimeline, WorkflowWorkCenterItem, } from 'openxiangda-contracts/browser';
|
|
2
2
|
export * from './browser/platform-client';
|
|
3
3
|
export * from './browser/runtime-meta';
|
|
4
4
|
export * from './browser/components/platform-fields/resource-query';
|
package/dist/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,QAAQ,EACR,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,oCAAoC,EACpC,kCAAkC,EAClC,0BAA0B,EAC1B,6BAA6B,EAC7B,yBAAyB,EACzB,uCAAuC,EACvC,6BAA6B,EAC7B,oBAAoB,EACpB,kCAAkC,EAClC,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qDAAqD,CAAC;AACpE,mBAAmB,6DAA6D,CAAC"}
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,4BAA4B,EAC5B,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,QAAQ,EACR,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,oCAAoC,EACpC,kCAAkC,EAClC,0BAA0B,EAC1B,6BAA6B,EAC7B,yBAAyB,EACzB,uCAAuC,EACvC,6BAA6B,EAC7B,oBAAoB,EACpB,kCAAkC,EAClC,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qDAAqD,CAAC;AACpE,mBAAmB,6DAA6D,CAAC"}
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AA2DA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qDAAqD,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# 应用开发约定
|
|
2
|
+
|
|
3
|
+
<!-- OPENXIANGDA:BEGIN -->
|
|
4
|
+
## 平台约定
|
|
5
|
+
|
|
6
|
+
本项目使用 OpenXiangda 2.0。进入项目后以本地精确依赖和锁文件为准,使用 `pnpm openxiangda`;先运行 `context --json` 确认版本和绑定,使用 `docs` 按任务读取当前中文资料。
|
|
7
|
+
|
|
8
|
+
- 模型、页面、导航和权限由应用声明一次;编译器生成契约。业务代码不改生成结果、不创建 platform/data、不复制平台 Router、字段组件、客户端或权限状态。
|
|
9
|
+
- 当前用户、角色并集、数据授权和部署状态归平台;应用不保存凭据或授权快照。普通 CRUD 走 Data API,真实业务动作才按需启用 Nest。
|
|
10
|
+
- 标准业务字段使用 `openxiangda/field-kit`;PC 补充控件使用 antd,移动使用有作用域的 `openxiangda/mobile` 和 MobileSurface,不引入上游全局重置。
|
|
11
|
+
- 无账号表单读取 `docs public-access`,使用 frontend.publicAccess 和专用客户端;标准审批、通知和后端均按需启用。
|
|
12
|
+
- 日常使用 dev 和聚焦测试。只验证时使用 check;授权部署时直接 deploy,它已包含检查、测试和构建。生产必须指定成功测试运行并复用同一版本。
|
|
13
|
+
- deploy 默认持续反馈并跟踪平台结果;观察中断用 status <运行ID> --watch 继续,保留原运行,不重新构建。平台部署成功后仍需真实角色业务验收。
|
|
14
|
+
- 开发开始先同步远端默认主分支;同一工作区只有一个写者。发布前将本轮源码、生成契约与记录合入并推送主分支,从干净且同步的主分支冻结候选;任务分支已推送不等于已合入主线。不要覆盖其他会话改动或自动合并所有分支。
|
|
15
|
+
- 默认读取 AppSpec 当前规格、设计索引、活动变更和阶段缺口。新应用先用自然语言对话主动发现模块,完成本期 PRD、旅程、逐页交互、视觉/原型、权限与架构设计及实际确认,形成内容摘要绑定的评审基线后再制定实施计划和实现业务;参见 docs product-design 和 docs interaction-patterns。既有应用仅修订受影响设计,不把 AI 建议写成用户确认。总纲保存长期规则,本轮变更关联需求、任务、源码与 AC 验收;测试发布前完成设计与计划,生产晋级前保存绑定原测试运行及包摘要的实际验收报告。更新当前规则、验证与发布结果和交接后归档;不得编造确认或通过结果。
|
|
16
|
+
- 根据变化风险记录业务意图。无行为变化引用已有记录;已有授权和已确认意图不重复向用户请求机械确认。真实角色和浏览器验收与本地测试分别记录。
|
|
17
|
+
- 失败保留错误码、指针和原候选;查询平台状态后使用允许的恢复操作,不自动重放未知结果。
|
|
18
|
+
|
|
19
|
+
MCP 使用同一项目 CLI:`pnpm exec openxiangda --mcp-stdio --cwd <workspace>`。先读取 workspace_context,再按任务读取 docs_read 和当前契约。登录、创建及长期 dev 使用 CLI/终端。
|
|
20
|
+
|
|
21
|
+
详细用法:`pnpm openxiangda docs product-design`、`docs interaction-patterns`、`docs development`、`docs frontend`、`docs data-authz`、`docs administration`、`docs testing`、`docs delivery`。按需加载,无需每次通读全部资料。
|
|
22
|
+
<!-- OPENXIANGDA:END -->
|
|
23
|
+
|
|
24
|
+
## 项目自有约定
|
|
25
|
+
|
|
26
|
+
在此补充本项目的业务范围和团队要求;平台资料刷新保留本节内容。
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# 应用管理与有效配置
|
|
2
|
+
|
|
3
|
+
平台的应用管理控制台维护应用成员、角色授权和流程运行参数。应用自身声明的 `/admin` 业务菜单展示业务页面,两者职责不同。可见入口和可执行操作以当前用户与目标环境返回结果为准。
|
|
4
|
+
|
|
5
|
+
## 发现当前入口 {#context}
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pnpm openxiangda admin context --environment test --json
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
MCP 对应 `administration_context`。先检查返回的管理能力与入口,再进入平台标准管理页面。普通开发者不因拥有源码就自动获得成员管理或流程配置权限;拒绝时联系有权管理员,不伪造用户、租户或权限头。
|
|
12
|
+
|
|
13
|
+
## 查看流程节点配置 {#workflow}
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pnpm openxiangda admin workflow <workflowCode> --environment test --json
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
MCP 对应 `workflow_node_configurations`。workflowCode 来自当前应用声明。管理员运行配置可能已经覆盖开发默认值;不要只看本地文件推断线上处理人。已创建任务保留其冻结配置,后续节点进入采用适用的新运行配置,具体版本以接口返回为准。
|
|
20
|
+
|
|
21
|
+
生产读取必须显式指定 production。两个命令均为只读发现,成员/角色和流程参数修改通过已授权的标准管理入口执行。
|
|
22
|
+
|
|
23
|
+
## 业务页面中的角色管理 {#role-management}
|
|
24
|
+
|
|
25
|
+
确有业务需要时,使用 `openxiangda/core` 的角色管理 SDK。目录提供可管理角色、动作与授权范围;业务角色只能维护管理员已委托的范围。进一步委托要求 management.delegate,并受已有目标角色及动作子集限制。
|
|
26
|
+
|
|
27
|
+
成员和委托修改带 UUID operationId、原因,更新/撤销带最新 expectedRevision;冲突后重新读取。应用不另建授权表、选择 actor 或自行保存权限快照。SDK 和当前用户数据边界见[权限](./data-authz.md)。
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# 业务模块与标准 CRUD 基础
|
|
2
|
+
|
|
3
|
+
这是 2026-09-05 平台重构的首批能力。数据存储、页面选择和角色授权独立定义,仍编译到平台现有 Data API、Surface 和权限引擎。
|
|
4
|
+
|
|
5
|
+
## 从业务任务到模块
|
|
6
|
+
|
|
7
|
+
先确定用户要完成的任务,再选择页面。辅助数据模型不需要独立页面;复杂任务页可组合多个模型。简单应用显式选择标准 CRUD 即可。
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
// modules/records/models.ts
|
|
11
|
+
import { defineDataModel } from 'openxiangda/config';
|
|
12
|
+
|
|
13
|
+
export const records = defineDataModel({
|
|
14
|
+
code: 'records', name: '记录',
|
|
15
|
+
fields: [
|
|
16
|
+
{ code: 'title', label: '名称', type: 'text.short', required: true },
|
|
17
|
+
{ code: 'enabled', label: '启用', type: 'boolean' },
|
|
18
|
+
{ code: 'source_key', label: '来源标识', type: 'text.short', hidden: true },
|
|
19
|
+
],
|
|
20
|
+
});
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
// modules/records/index.ts
|
|
25
|
+
import { defineApplicationModule, defineResourceForm, defineResourceList } from 'openxiangda/config';
|
|
26
|
+
import { records } from './models';
|
|
27
|
+
|
|
28
|
+
export const recordsModule = defineApplicationModule({
|
|
29
|
+
code: 'records', models: [records],
|
|
30
|
+
crud: [{
|
|
31
|
+
model: records.code,
|
|
32
|
+
list: defineResourceList(records, { fields: ['title', 'enabled'], filterFields: ['enabled'] }),
|
|
33
|
+
form: defineResourceForm(records, { fields: ['title', 'enabled'] }),
|
|
34
|
+
}],
|
|
35
|
+
});
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
不写 `crud` 时仅注册数据模型;`crud: [{ model: records.code }]` 使用标准页面默认字段。列表默认列、表单、详情的字段选择均保持给定顺序。一个模型可以声明多套命名视图,各自配置字段、分组和操作入口,共用同一份数据和权限。
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
// openxiangda.config.ts
|
|
42
|
+
import { defineOpenXiangdaApp, resourceRoleCapabilities } from 'openxiangda/config';
|
|
43
|
+
import { recordsModule } from './modules/records';
|
|
44
|
+
|
|
45
|
+
const appCode = 'my-app';
|
|
46
|
+
export default defineOpenXiangdaApp({
|
|
47
|
+
app: { code: appCode, name: '我的应用' },
|
|
48
|
+
modules: [recordsModule],
|
|
49
|
+
frontend: { admin: { navigation: [] } },
|
|
50
|
+
authz: { capabilities: [], roles: [
|
|
51
|
+
{ code: 'reader', name: '查阅成员', capabilities: resourceRoleCapabilities(appCode, 'records', 'read') },
|
|
52
|
+
{ code: 'manager', name: '管理成员', capabilities: resourceRoleCapabilities(appCode, 'records', 'manage') },
|
|
53
|
+
] },
|
|
54
|
+
});
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
菜单单独规划;可使用现有 `suggestAdminNavigation` 提案后选择需要的条目。`read` 仅授予查看,`manage` 明确包含增删改查,也可传 `['read', 'create']`。页面生成不会改变角色权限。
|
|
58
|
+
|
|
59
|
+
## 同一模型的多套页面
|
|
60
|
+
|
|
61
|
+
例如简要登记只填写名称,完整管理填写名称和启用状态:
|
|
62
|
+
|
|
63
|
+
```ts
|
|
64
|
+
crud: [
|
|
65
|
+
{
|
|
66
|
+
model: records.code, code: 'quick', name: '简要登记',
|
|
67
|
+
list: defineResourceList(records, { fields: ['title'] }),
|
|
68
|
+
form: defineResourceForm(records, { fields: ['title'] }),
|
|
69
|
+
detail: defineResourceForm(records, { fields: ['title'] }),
|
|
70
|
+
sections: [{ title: '登记信息', fields: ['title'] }],
|
|
71
|
+
generated: { delete: false },
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
model: records.code, code: 'complete', name: '完整管理',
|
|
75
|
+
form: defineResourceForm(records, { fields: ['title', 'enabled'] }),
|
|
76
|
+
sections: [{ title: '基本信息', fields: ['title'] }, { title: '管理设置', fields: ['enabled'] }],
|
|
77
|
+
},
|
|
78
|
+
]
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
使用 `adminResourcePage('records', { viewCode: 'quick' })` 绑定菜单。平台生成
|
|
82
|
+
`/admin/resources/records/views/quick`、`/new`、`/:id`、`/:id/edit` 和对应移动地址;
|
|
83
|
+
抽屉全屏、新开页面及提交后的返回地址都保留当前视图。每个模型最多 20 个命名视图,
|
|
84
|
+
`code` 必须唯一且为小写短横线格式。省略 `code` 的一套视图保留原地址;只声明命名视图时不额外生成默认页面。
|
|
85
|
+
|
|
86
|
+
命名新建表单必须包含模型中可写的必填字段。仅用于局部编辑的表单可声明
|
|
87
|
+
`generated: { create: false }`。`mobile: { enabled: false }` 关闭该视图的移动页面。
|
|
88
|
+
视图不能重定义字段类型、权限或写入归属,也不能用隐藏字段代替授权。
|
|
89
|
+
个人显示列设置和草稿按视图隔离;列设置仍可主动选取允许展示的其它字段。
|
|
90
|
+
此能力要求匹配的服务端校验和 `AddFormDraftViewScope` SQL 迁移。
|
|
91
|
+
|
|
92
|
+
## 字段与控件
|
|
93
|
+
|
|
94
|
+
标准 PC 管理页沿用一行工具栏和可折叠菜单。新增、编辑默认在抽屉中进行,保存后刷新原列表并保留当前筛选和页码;也可使用已有整页录入地址。筛选、显示列、排序按需打开。默认列来自选定的业务字段,创建、更新时间需主动选择。列选择、拖动顺序与冻结立即预览,点击工具栏“保存”后记住个人配置;多排序按规则顺序生效。
|
|
95
|
+
|
|
96
|
+
在 `crud` 视图上声明共享的表单/详情分组,不向存储模型添加布局:
|
|
97
|
+
|
|
98
|
+
```ts
|
|
99
|
+
crud: [{
|
|
100
|
+
model: records.code,
|
|
101
|
+
form: defineResourceForm(records, { fields: ['title', 'enabled'] }),
|
|
102
|
+
sections: [
|
|
103
|
+
{ title: '基本信息', fields: ['title'] },
|
|
104
|
+
{ title: '使用设置', fields: ['enabled'] },
|
|
105
|
+
],
|
|
106
|
+
}]
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
分组只标记字段所属区域;表单/详情的 `fields` 仍决定展示集合及顺序,不会追加组内其它字段。普通小表单可省略分组。PC 每行最多两个普通字段,长文本、附件等复杂字段占整行;移动端使用单列。失败时保留输入并显示错误,未保存退出时提示确认。筛选可嵌套“满足全部/满足任一”,按字段类型提供运算符;查询、分页和导出使用同一条件树及多排序。批量扩展动作声明 `requiresSelection: true`,选择记录后才显示。
|
|
110
|
+
|
|
111
|
+
`hidden` 仅控制展示。`system` 表示由服务端维护,默认隐藏;业务需要展示的流水号、状态可显式 `hidden: false`。隐藏不会撤销 Data API 的读写授权;授权仍用现有字段 `access` 与行策略。普通必填字段不能从可新增表单中漏掉;内部必填值应有清晰的服务端赋值责任,不能靠隐藏字段绕过数据约束。
|
|
112
|
+
|
|
113
|
+
业务组件优先使用 `openxiangda/field-kit`,PC 补充使用 `antd`,移动端使用 `openxiangda/mobile` 封装的 Ant Design Mobile 控件。移动控件已覆盖文本、长文本、数字、布尔、静态选项、日期时间,以及人员/部门目录、动态资源引用和级联选择。选择弹层支持逐层浏览、搜索、翻页和已选项管理,点击确定才写回表单,关闭放弃本次修改。附件、图片、地址、子表和签名已提供移动交互,富文本在手机使用纯文本编辑并保留未修改 HTML;能力边界见[字段组件](./field-components.md)。共享值协议和表单控制器,不共享桌面弹层交互。
|
|
114
|
+
|
|
115
|
+
```tsx
|
|
116
|
+
import { MobileSurface, Input, Button } from 'openxiangda/mobile';
|
|
117
|
+
import 'openxiangda/mobile/styles.css';
|
|
118
|
+
|
|
119
|
+
// 在移动页面的最外层使用;标准 MobileSurfaceFieldControl 自带字段样式范围。
|
|
120
|
+
<MobileSurface>
|
|
121
|
+
<Input value={title} onChange={setTitle} aria-label="名称" />
|
|
122
|
+
<Button color="primary" onClick={save}>保存</Button>
|
|
123
|
+
</MobileSurface>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
平台按需加载移动组件,并在构建时限定上游基础样式的作用范围。此入口的 `Popup`、`Picker`、`DatePicker` 默认保留在当前页面中,保留组件样式作用范围。已有 `openxiangda/react/styles.css` 包含移动字段样式,不必重复导入。不要直接引入 `antd-mobile` 根入口,它会重置全页字体和链接。平台统一使用组件库默认外观,不再提供配色配置或外观偏好。
|
|
127
|
+
|
|
128
|
+
`openxiangda check` 检查应用前端 `src/` 中的原生录入元素。移动入口使用 `src/mobile/`、`Mobile*.tsx` 或 `*.mobile.tsx`,并检查其本地静态依赖;这是明确的源码约定,不是运行时授权或对动态代码的安全证明。平台组件内部的原生 DOM 不受应用规则限制。
|
|
129
|
+
|
|
130
|
+
## 开发与验收
|
|
131
|
+
|
|
132
|
+
普通 CRUD 可以省略 `backend`、`platform` 配置,`pnpm dev` 通过现有 connected development 连接平台。默认模板不包含后端源码;显式启用或声明需要应用代码执行的后端能力后,`pnpm openxiangda check` 或 `pnpm dev` 按需初始化源码与依赖,再启动 Nest。标准流程定义和激活由平台执行,不要求应用后端。
|
|
133
|
+
|
|
134
|
+
`appspec/app.md` 维护总纲和设计索引。新应用按[产品设计](./product-design.md)完成本期详细需求、任务旅程、逐页交互、权限与架构及实际确认基线,再制定实施计划;已有小变更只修订受影响材料。业务角色与权限由用户确认,技术 schema、接口和存储计划由平台产出;按业务规模拆分能力记录。
|
|
135
|
+
|
|
136
|
+
先读取 MCP 契约索引,再调用 `contract_describe` 并传入 `{ "selector": "permissions" }`,读取
|
|
137
|
+
`data.selection.permissionReview`。该产物使用 `openxiangda.permission-review/v2`,
|
|
138
|
+
`authority` 为 `declaration-projection`,并始终保留
|
|
139
|
+
`runtimeAuthorizationRequired: true`;`configDigest`、`contractDigest` 和
|
|
140
|
+
自身 `digest` 对应当前编译结果,便于在 appspec 中关联审核证据。
|
|
141
|
+
|
|
142
|
+
角色的 `capabilityCodes` 是编译后声明的能力集合,可通过能力代码关联页面、
|
|
143
|
+
资源操作和字段要求。运行时仍按当前用户的应用角色并集授权;
|
|
144
|
+
`deniedCapabilities` 只在编译时扣除该角色的 grant,不是跨角色的全局拒绝。
|
|
145
|
+
命名视图通过 `resourceCode` / `viewCode` 引用同一资源,字段策略只保存一次。
|
|
146
|
+
空字段策略显示为 `deny`,隐藏字段只代表展示选择。原始行谓词、scope 来源和
|
|
147
|
+
流程参与人绑定保留为待运行时求值的条件;静态能力匹配不代表真实请求允许。
|
|
148
|
+
该产物供审核使用,不写入角色、授权或另一份审批状态。
|
|
149
|
+
|
|
150
|
+
单元测试覆盖复杂业务规则、值转换和权限边界;接口测试覆盖存储、事务与策略;浏览器验收必须实际点击 PC/移动端的新增、选择、清空、保存、编辑和回显,并检查页面错误。组件模拟测试不等于已在远端真实业务环境验收。
|
|
151
|
+
|
|
152
|
+
## Alpha 应用迁移
|
|
153
|
+
|
|
154
|
+
依赖旧版“读权限自动附带写权限”的角色必须改成明确的 `manage` 或操作列表。原有 `data.resources` 可继续作为同一编译器的低层输入,按模块逐步拆分;不增加第二套资源存储。新增 `surface.fields.*.hidden` 与 `surface.list.fieldOrder` 需要配套平台版本,发布时必须固定匹配的服务端与工具链提交。
|
|
155
|
+
|
|
156
|
+
## 标准表单暂存
|
|
157
|
+
|
|
158
|
+
标准表单底部为“暂存 / 提交”。暂存允许必填项未完成,不写业务表、不启动流程;草稿箱可继续编辑或删除。草稿由平台当前用户、应用、环境和资源隔离,最多 20 份、90 天未更新过期。恢复编辑草稿保留原记录版本,提交仍检查冲突;正式提交与消耗草稿在同一 Data API 事务内完成。
|
|
159
|
+
|
|
160
|
+
PC 抽屉提供“全屏 / 新开页面 / 关闭”。全屏保留当前表单;新开页面先暂存,再通过草稿 ID 恢复,内容不放入 URL。移动录入使用平台移动字段的分组行式布局、简单标题和底部操作,不放“返回列表”或桌面输入控件;草稿箱和恢复确认使用底部弹层。
|
|
161
|
+
|
|
162
|
+
自定义表单可从 `openxiangda/react` 使用 `createResourceFormDraftClient(resourceCode, mode, recordId?, viewCode?)`,提供 `list/save/remove/submit`。命名视图只能恢复和提交属于当前视图的草稿;所有视图仍共用每人每个模型 20 份的上限。`save` 使用草稿 ID、expectedRevision 和可编辑字段值;`submit` 消费现有 DataTransactionOperation,不另建 CRUD 后端。此能力需要平台的 authenticated-form-drafts SQL 迁移及对应服务端版本,平台未升级时界面会明确显示暂存失败并保留输入。
|